999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python在智能IO模塊上的應用

2019-04-17 08:05:00萬偉軍
通信電源技術 2019年3期
關鍵詞:按鈕程序智能

萬偉軍

(江蘇聯合職業技術學院 無錫機電分院,江蘇 無錫 214000)

0 引 言

目前,工業網絡通信程序多采用C#編寫,以實現上位機與智能模塊建立的通信。Python語言具備簡單易懂的編寫模式和功能齊全的擴展庫,易于實現工業網絡通信程序的編寫。

1 智能IO模塊的介紹

智能IO模塊采用意法半導體公司的STM32F407為控制核心,可實現16位輸入信號采集和7位輸出控制。輸入/輸出電路采用EL357NC進行信號隔離,以保證模塊工作穩定。同時,智能IO模塊采用MAX1487芯片實現串口通信,通過ARM程序實現主從設備間的RS485通信。該智能模塊可代替PLC的基本功能,通過內部ARM較靈活的程序開發功能實現設備的智能化,并降低設備制造成本。

2 Python控制程序的編寫

Python語言具有功能強大的第三方開發的庫文件,可實現網絡通信、界面顯示等功能。Python功能庫中可實現的Modbus通信協議有Modbus_tk、Pymodbus及Minimalmodbus。本文使用Modbus_tk庫實現上位機與智能模塊間的數據交換[1]。

2.1 Modbus_tk庫中的函數分析

Modbus_tk庫是一個全功能Modbus的Python擴展庫,通過調用內部函數實現Modbus通信。Python的Modbus_tk庫函數與Modbus協議部分功能碼之間的對應關系,如表1所示。

通信本質上,Modbus是一種串口通信,主從設備間進行通信前必須建立鏈接。使用Modbus_tk庫文件建立通信關系的程序,如下:

def connect():

logger=modbus_tk.utils.create_logger( "console ")

master=modbus_rtu.RtuMaster(serial.Serial(port= "C OM3 ",baudrate=19200,bytesize=8,parity= "N ",stopbits=1,xo nxoff=0))

master.set_timeout(5.0)

表1 Modbus功能碼與Python的Modbus_tk庫函數對照表

master.set_verbose(True)

logger.info( "connected ")

此程序中,通過modbus_rtu.RtuMaster()函數設定了串口、波特率及字節長度等。執行此程序,主從設備之間建立了通信關系,后續程序只需調用功能函數就能實現對應功能[2]。

2.2 輸入信號檢測與顯示程序舉例

為實現輸入信號的顯示與輸出控制,可使用Python的tkinter進行GUI開發。為實現輸入信號顯示與標簽,可使用Label控件。程序如下:

photo_r=PhotoImage(f i le= "r.gif ")

photo_y=PhotoImage(f i le= "y.gif ") #加載顯示圖片

lab0=Label(root,text= "X0 ")

lab0.place(x=10,y=10) #創建X0標簽文字

label_x0=Label(root,image=photo_y)

label_x0.place(x=10,y=30) #X0無輸入時,顯示黃色指示燈

def input_x(): #輸入檢測與顯示程序函數input_x()

connect() #使用connect()函數建立主從設備通信鏈接

logger.info(master.execute(1,cst.READ_DISCRETE_INPUTS,0,16))

in_x=master.execute(1,cst.READ_DISCRETE_INPUTS,0,16)

If in_x[0]==1: #判斷X0是否有輸入,有輸入顯示紅燈,沒輸入顯示黃燈

label_x0.conf i g(imag=photo_r) #顯示紅燈

else:

label_x0.conf i g(imag=photo_y) #顯示黃燈

在master.execute(1,cst.READ_DISCRETE_INPUTS,0,16)語句中,master.execute()函數內部參數的具體含義,如圖1所示。

圖1 master.execute()函數內部參數的具體含義

模塊地址由每個智能IO模塊的內部ARM設定。本功能指令是讀取Modbus離散輸入量,讀取地址從0開始,共讀取16位數據。為保證實時讀取輸入數據,程序必須間隔一定時間執行input_x()函數。函數調用可采用多線程定時方式,也可使用Python的APScheduler定時任務框架。

2.3 輸出控制程序舉例

為實現交互界面,輸出控制程序可采用tkinter的Checkbutton控件。控制程序如下:

global y0

y0=IntVar() #創建變量y0

def y_out(): #輸處控制程序函數y_out()

connect() #使用connect()函數建立主從設備通信鏈接

logger.info(master.execute(1,cst.WRITE_SINGLE_COIL,0, output_value=y0.get())

#創建復選按鈕ck,并設定其屬性,y0變量存儲復選按鈕設定值,同時調用y_out函數

ck=Checkbutton(text= "y0 ",variable=y0,command=y_out)

ck.place(x=10,y=120)

在logger.info(master.execute(1,cst.WRITE_SINGLE_COIL,0,output_value=y0.get()))語 句 中,master.execute()函數內部參數的具體含義,如圖2所示。

圖2 master.execute()函數內部參數的具體含義圖

模塊地址由每個智能IO模塊的內部ARM設定。本功能指令是執行Modbus內部單線圈狀態設定功能。單線圈地址確定了智能IO模塊的輸出口位置,即y0口。單線圈狀態值由復選按鈕設定值決定。復選按鈕被選中,設定值為1;復選按鈕未被選中,設定值為0。執行此程序,當Python編寫的GUI界面中的復選按鈕被選中時,智能IO模塊的y0口導通[3]。

3 結 論

本文采用Python的Modbus_tk庫實現智能IO模塊與上位機之間的數據通信,語言簡潔易懂,且Python擴展庫功能強大,可簡單實現各種工業控制功能。

猜你喜歡
按鈕程序智能
這些按鈕能隨便按嗎?
當你面前有個按鈕
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 午夜视频在线观看区二区| 高潮毛片无遮挡高清视频播放| 亚洲日本精品一区二区| 在线观看亚洲天堂| 国产成人精品视频一区视频二区| 999福利激情视频| 亚洲一区二区在线无码| 精品免费在线视频| 国产亚洲欧美在线中文bt天堂| 激情爆乳一区二区| 亚洲精品无码久久毛片波多野吉| 欧美日韩国产一级| 日韩一级毛一欧美一国产| 毛片大全免费观看| 男人天堂亚洲天堂| 国产欧美在线观看一区| 91免费观看视频| 99视频精品全国免费品| 婷婷五月在线视频| 91视频免费观看网站| 国产亚洲视频中文字幕视频| 91九色国产在线| 亚洲欧美一区二区三区麻豆| 人妻一区二区三区无码精品一区| 亚洲欧美一区二区三区麻豆| 国模粉嫩小泬视频在线观看| 国产地址二永久伊甸园| 欧美国产视频| 免费在线不卡视频| 欧美日韩福利| 亚洲欧美综合精品久久成人网| yy6080理论大片一级久久| 在线免费观看AV| 欧美特级AAAAAA视频免费观看| 国产麻豆aⅴ精品无码| 一边摸一边做爽的视频17国产| 国产激情在线视频| 国产主播在线观看| 在线欧美一区| 女同久久精品国产99国| 久久久久亚洲av成人网人人软件| 国产精品99久久久| 国产亚洲成AⅤ人片在线观看| 99热这里只有精品2| 欧洲一区二区三区无码| 亚洲欧美精品日韩欧美| 成人午夜精品一级毛片| 99热在线只有精品| 热99精品视频| 国产本道久久一区二区三区| 欧美日韩国产成人高清视频| 国产精品浪潮Av| 亚洲性视频网站| 国产成人禁片在线观看| 97精品久久久大香线焦| 亚洲欧洲一区二区三区| 69免费在线视频| 免费av一区二区三区在线| av在线手机播放| 白浆免费视频国产精品视频| 欧美中文一区| 久久国产精品波多野结衣| 麻豆精品视频在线原创| 国产成a人片在线播放| 国产成人毛片| 最新亚洲人成无码网站欣赏网| 国产精品黑色丝袜的老师| 久久99精品久久久久纯品| 91黄视频在线观看| 在线观看精品国产入口| 白浆视频在线观看| 国产网友愉拍精品视频| 久久公开视频| 亚洲妓女综合网995久久| 国产精品第三页在线看| 亚洲日韩精品伊甸| 亚洲va在线观看| 中文精品久久久久国产网址 | 中日韩欧亚无码视频| 自拍偷拍欧美| 国产日韩AV高潮在线| 热这里只有精品国产热门精品|