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

        ?

        基于Python實現(xiàn)設(shè)備控制臺的集中控制和管理

        2016-07-20 21:02:10張西波
        計算技術(shù)與自動化 2016年2期
        關(guān)鍵詞:串口通信面向?qū)ο?/a>線程

        摘 要:利用Nport6650串口服務(wù)器連接不同通信設(shè)備的控制臺,把控制臺的串口信號轉(zhuǎn)換為IP信號送到電腦上,在電腦上安裝Nport 6650 的驅(qū)動程序,映射通信設(shè)備的控制臺為電腦上的虛擬串口。使用Python編寫腳本程序,通過程序打開不同的虛擬串口連到不同設(shè)備的控制臺,從而實現(xiàn)對設(shè)備的集中控制和管理。

        關(guān)鍵詞:控制臺;Python;面向?qū)ο?;線程 ;串口服務(wù)器;串口通信

        中圖分類號:TP393.0 文獻標(biāo)識碼:A

        1 引 言

        隨著民航的發(fā)展,航班量的迅速增加,對通信設(shè)備正常率要求的提高,如何快速判斷出運行設(shè)備的故障點成為解決故障的關(guān)鍵點。判斷故障的常用方式是通過登錄設(shè)備的控制端,通過對設(shè)備命令行的操作來發(fā)現(xiàn)故障。控制臺方式是最基本、最簡單的方式,基本智能化的設(shè)備自身都帶有一個控制臺??刂婆_物理接口實質(zhì)上就是一個RJ45接口形式的串口,通過console線連接到電腦,使用超級終端軟件來對設(shè)備進行配置和管理。本文實現(xiàn)一種通過串口服務(wù)器把通信設(shè)備的控制臺都集中連接,然后通過串口服務(wù)器把RS232信號轉(zhuǎn)變成網(wǎng)絡(luò)信號,通過網(wǎng)線傳到遠端的電腦,在遠端的電腦上,通過選擇python編制圖形化程序的菜單,選擇不同菜單切換到不同設(shè)備的控制臺,從而實現(xiàn)遠程對設(shè)備的集中配置、管理和排故操作。

        2 控制系統(tǒng)的架構(gòu)

        利用串口服務(wù)器提供的串口轉(zhuǎn)網(wǎng)絡(luò)功能,將RS232串口信號轉(zhuǎn)換成TCP/IP網(wǎng)絡(luò)信號,實現(xiàn)RS232串口與TCP/IP網(wǎng)絡(luò)接口的數(shù)據(jù)雙向透明傳輸,使得串口設(shè)備能夠立即具備TCP/IP網(wǎng)絡(luò)接口功能,連接網(wǎng)絡(luò)進行數(shù)據(jù)通信,極大的擴展串口設(shè)備的通信距離。由于串口服務(wù)器上有32個串口,很容易增加設(shè)備到系統(tǒng)中,系統(tǒng)的結(jié)構(gòu)如圖1所示。

        圖1 系統(tǒng)結(jié)構(gòu)示意圖

        3 硬件組成

        系統(tǒng)硬件由一臺串口服務(wù)器和一臺電腦組成,使用時,先要在電腦上安裝串口服務(wù)器的驅(qū)動程序、配置電腦和串口服務(wù)器的ip地址,以及配置串口通信參數(shù)。

        網(wǎng)絡(luò)配置:我們使用的串口服務(wù)器是moxa Nport6650,首先配置串口服務(wù)器網(wǎng)口的ip地址和電腦網(wǎng)口的ip地址。配置完后,在電腦上安裝串口服務(wù)器的驅(qū)動程序,安裝過程中根據(jù)提示,輸入串口服務(wù)器的ip地址,軟件自動找到串口服務(wù)器上串口,正確安裝后,能在電腦的設(shè)備管理器中找到虛擬的串口。

        計算技術(shù)與自動化2016年6月

        第35卷第2期張西波:基于Python實現(xiàn)設(shè)備控制臺的集中控制和管理

        串口服務(wù)器上串口通信參數(shù)的配置:網(wǎng)頁登錄到串口服務(wù)器,里面可以配置的參數(shù)有很多,主要配置串口的操作模式和通信參數(shù),其它的參數(shù)可以使用缺省參數(shù)。在serial port setting下選擇操作模式設(shè)置application為device control,設(shè)置mode:RealCOM其余的選擇缺省。串口服務(wù)器上串口的通信參數(shù)設(shè)為9600、8個數(shù)據(jù)位、1個停止位無奇偶校驗(設(shè)備控制臺的通信參數(shù)一般是9600bps,具體速率根據(jù)實際工作情況設(shè)定)。

        4 軟件設(shè)計

        4.1 界面部分的設(shè)計

        集中控制臺軟件使用Python開發(fā),使用圖形界面,方便操作,采用面向?qū)ο蟮姆椒▉碓O(shè)計和實現(xiàn),軟件由ConsoleForm.py和monitor_main.py兩個文件組成。界面的處理部分在ConsoleForm.py中實現(xiàn),通信處理和菜單響應(yīng)的實際處理部分在monitor_main.py中實現(xiàn)。Python作為一種“膠水性”的語言,提供了眾多圖形界面開發(fā)庫,非常適合GUI的快速開發(fā),界面部分我選擇wxPython。wxPython是Python語言下的一套優(yōu)秀GUI圖形庫,允許程序員很方便的創(chuàng)建完整的、功能健全的GUI用戶界面,它具有非常優(yōu)秀的跨平臺能力。wxPython應(yīng)用采用事件驅(qū)動的方式來實現(xiàn)用戶界面和wxPython系統(tǒng)的交互,通過使用wx.EvtHandler類中的Bind方法可以將綁定事件的類型、事件對象和事件處理函數(shù)關(guān)聯(lián)起來。事件驅(qū)動的流程大致是開始初始化等待,大部分時間花在等待和響應(yīng)。事件驅(qū)動就是不斷的循環(huán),從隊列中抓取消息,然后再進行處理。

        4.2 與設(shè)備console口交互部分的設(shè)計

        控制臺工作的模式基本都是采用命令和響應(yīng)模式,用戶輸入一行命令然后回車,設(shè)備就根據(jù)你的輸入來響應(yīng)你,執(zhí)行成功或者失敗都有信息發(fā)給你,在程序的實現(xiàn)上就是一個串口接收和處理程序,為了提高程序的響應(yīng)速度,對接收的處理使用線程方式,只要接收到數(shù)據(jù)就產(chǎn)生一個接收事件,程序就馬上把接收到的數(shù)據(jù)顯示出來。對不同設(shè)備控制臺的切換實際就是打開串口服務(wù)器映射到電腦上的不同虛擬串口。異步串口通信使用pySerial模塊,pySerial封裝了對串口的訪問。在windows和linux操作系統(tǒng)平臺上都有統(tǒng)一的調(diào)用接口。通過python屬性訪問串口設(shè)置,通信支持不同的字節(jié)大小、停止位、校驗位和流控設(shè)置,可以有或者沒有接收超時,有類似文件操作的API:read和write。支持二進制傳輸,沒有null消除,沒有cr-lf轉(zhuǎn)換。線程使用threading模塊,ComPortThread工作線程不停查詢被監(jiān)視串口,如果接收到數(shù)據(jù),就產(chǎn)生串口接收事件,接收事件處理程序?qū)?shù)據(jù)在文本控件窗口顯示。同線程的協(xié)調(diào)使用threading.Event, threading.Event可以使一個線程等待其它線程的通知機制來協(xié)調(diào)工作線程的操作,一旦一個線程開始執(zhí)行,它就處于"alive"狀態(tài),除非線程執(zhí)行完畢,或者引發(fā)了一個未處理的異常。

        4.3 程序關(guān)鍵處理部分

        class TerminalFrame(consoleForm.MyFrame1):

        def OnNorth(self,event): #切換到華北語音數(shù)據(jù)網(wǎng)

        self.__changeConsole('com5')

        def OnOa(self,event): #切換到OA路由器

        self.__changeConsole('com2')

        def OnKey(self,event):

        if self.serial.isOpen():#judge port is open?

        code=event.GetKeyCode()

        if code<256:

        if code==13:

        self.serial.write('\\r')

        else:

        char=chr(code)

        self.serial.write(char)

        def OnSerialRead(self,event):

        text=event.data

        self.text_ctrl_output.AppendText(text)

        def ComPortThread(self):

        while self.alive.isSet(): #loop while alive event is true

        text=self.serial.read(1) #read one,with timeout

        if text:

        n=self.serial.inWaiting()

        if n:

        text=text+self.serial.read(n)

        event=SerialRxEvent(self.GetId(),text)

        self.GetEventHandler().AddPendingEvent(event)

        #~self.OnSerialRead(text)

        5 結(jié)束語

        使用該設(shè)計方案完成OA路由器、華北語音數(shù)據(jù)網(wǎng)和ATM交換機控制臺的集中連接,在實際的應(yīng)用中運行良好,使用方便。由于串口服務(wù)器有很多的串口,可以很容易接入更多基于串口通信設(shè)備的控制臺,實現(xiàn)更多設(shè)備的集中配置和管理。方案中使用ip技術(shù),有效解決機房和機務(wù)值班室距離遠,在故障時,機務(wù)員不能及時分析、查找和處理故障的問題。

        參考文獻

        [1] 馬宏杰.附錄一.ASCII字符碼/十六進/十進制對照表[J].微機通信原理與實用技術(shù),1994,10:313.

        [2] 周偉.Python的GUI程序設(shè)計[J].python開發(fā)技術(shù)詳解,2009,8:192-217.

        [3] pyserial在線文檔[DB/OL].http://pythonhosted.org/pyserial/

        猜你喜歡
        串口通信面向?qū)ο?/a>線程
        面向?qū)ο蟮挠嬎銠C網(wǎng)絡(luò)設(shè)計軟件系統(tǒng)的開發(fā)
        電子測試(2018年15期)2018-09-26 06:01:34
        面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
        淺談linux多線程協(xié)作
        基于Qt和Flash的嵌入式Linux軟件架構(gòu)設(shè)計
        串口通信在智能家居監(jiān)控系統(tǒng)中的應(yīng)用
        基于OpenCV的室內(nèi)照明智能控制系統(tǒng)設(shè)計與實現(xiàn)
        科技視界(2016年13期)2016-06-13 22:01:19
        面向?qū)ο骔eb開發(fā)編程語言的的評估方法
        面向?qū)ο笮畔⑻崛≈杏跋穹指顓?shù)的選擇
        河南科技(2014年10期)2014-02-27 14:09:03
        Linux線程實現(xiàn)技術(shù)研究
        么移動中間件線程池并發(fā)機制優(yōu)化改進
        九九99久久精品午夜剧场免费| 成人影院在线视频免费观看| 国语自产精品视频在线看| 人妻夜夜爽天天爽三区| 欧美日韩亚洲国产精品| 99热国产在线| 偷拍一区二区三区在线观看| 亚洲国产免费不卡视频| 麻豆亚洲av熟女国产一区二| 亚洲成人色区| 男女一级毛片免费视频看| 中文字幕在线观看乱码一区| 在线视频自拍视频激情| 亚洲综合网国产精品一区| 影音先锋色小姐| 亚洲av成人无码久久精品| 精品国产性色av网站| 区二区三区亚洲精品无| 成人自拍小视频在线看| 热re99久久精品国99热| 国产成人午夜精华液| 国产视频最新| 久久精品国产福利亚洲av | 亚洲丰满熟女一区二亚洲亚洲| 国产 精品 自在 线免费| 免费观看激色视频网站 | 天天碰免费上传视频| 亚洲色无码播放| 国内精品91久久久久| 国产人妖av在线观看| 久久精品国产成人午夜福利| 亚洲 自拍 另类小说综合图区| 亚洲中文字幕无码中字| 成人影院免费观看在线播放视频 | 日本高清视频wwww色| 狠狠色丁香久久婷婷综合蜜芽五月| 精品国免费一区二区三区| 亚洲精彩av大片在线观看| 暖暖 免费 高清 日本 在线| 中文字幕人妻丝袜乱一区三区 | 亚洲人妻精品一区二区三区|