亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Python在智能IO模塊上的應用

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

        萬偉軍

        (江蘇聯(lián)合職業(yè)技術(shù)學院 無錫機電分院,江蘇 無錫 214000)

        0 引 言

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

        1 智能IO模塊的介紹

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

        2 Python控制程序的編寫

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

        2.1 Modbus_tk庫中的函數(shù)分析

        Modbus_tk庫是一個全功能Modbus的Python擴展庫,通過調(diào)用內(nèi)部函數(shù)實現(xiàn)Modbus通信。Python的Modbus_tk庫函數(shù)與Modbus協(xié)議部分功能碼之間的對應關系,如表1所示。

        通信本質(zhì)上,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庫函數(shù)對照表

        master.set_verbose(True)

        logger.info( "connected ")

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

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

        為實現(xiàn)輸入信號的顯示與輸出控制,可使用Python的tkinter進行GUI開發(fā)。為實現(xiàn)輸入信號顯示與標簽,可使用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) #創(chuàng)建X0標簽文字

        label_x0=Label(root,image=photo_y)

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

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

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

        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()函數(shù)內(nèi)部參數(shù)的具體含義,如圖1所示。

        圖1 master.execute()函數(shù)內(nèi)部參數(shù)的具體含義

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

        2.3 輸出控制程序舉例

        為實現(xiàn)交互界面,輸出控制程序可采用tkinter的Checkbutton控件??刂瞥绦蛉缦拢?/p>

        global y0

        y0=IntVar() #創(chuàng)建變量y0

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

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

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

        #創(chuàng)建復選按鈕ck,并設定其屬性,y0變量存儲復選按鈕設定值,同時調(diào)用y_out函數(shù)

        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()函數(shù)內(nèi)部參數(shù)的具體含義,如圖2所示。

        圖2 master.execute()函數(shù)內(nèi)部參數(shù)的具體含義圖

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

        3 結(jié) 論

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

        猜你喜歡
        按鈕程序智能
        哪個是門鈴真正的按鈕
        當你面前有個按鈕
        試論我國未決羈押程序的立法完善
        人大建設(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
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進
        亚洲天堂中文字幕君一二三四| 少妇夜夜春夜夜爽试看视频| 精品人妻av一区二区三区| 在厨房被c到高潮a毛片奶水| 插我一区二区在线观看| 好屌草这里只有精品| 图图国产亚洲综合网站| 久久久亚洲精品蜜臀av| 中文字幕一区乱码在线观看| 一本色道久久亚洲加勒比| 女女女女女裸体处开bbb| 国产av日韩a∨亚洲av电影| 精品中文字幕久久久久久| 成年女人午夜特黄特色毛片免| 91色综合久久熟女系列| 亚洲av无码码潮喷在线观看 | 中文无码久久精品| 俺来也俺去啦久久综合网| 久久精品午夜免费看| 视频在线播放观看免费| 日本精品一区二区三区试看 | 亚洲色偷偷综合亚洲av伊人| 囯产精品无码一区二区三区| 无遮挡很爽视频在线观看| 国产极品大奶在线视频| 国产欧美日韩综合精品一区二区| 久久人人妻人人做人人爽| 亚洲av无码av在线播放| 国产精品青草久久久久婷婷| 青青草一级视频在线观看| 日韩av一区二区蜜桃| 国产黄大片在线观看| 秋霞午夜无码鲁丝片午夜精品| 国产精品亚洲av国产| 日韩中文字幕在线丰满| 欧美日韩精品一区二区视频| 亚洲成a∨人片在无码2023| 亚洲天堂av免费在线看| 午夜国产在线精彩自拍视频| 在厨房拨开内裤进入毛片 | 亚洲av无码av吞精久久|