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

基于LABVIEW的上位機串口通信程序設計

2018-06-11 11:05:50湯佳明安偉
電子設計工程 2018年11期

湯佳明,安偉

(江南大學機械工程學院,江蘇無錫214122)

隨著工業自動化進程的不斷深入,虛擬儀器的使用越來越普遍,上位機作為虛擬儀器的一部分在工業生產與科學研究領域也被廣泛得使用,在測控與軟件設計方面已有了許多成功實例。上位機的功能是發出指令并傳送至下位機端,在這一過程中,數據的傳輸與反饋需要監控,故根據需求設計相關的上位機程序顯得很有必要。

LABVIEW作為一款已被廣泛使用的虛擬儀器開發平臺,在教學、研究、測試和生產自動化領域被廣泛應用[1]。其圖形化編程界面與常規編程語言的不同在于以圖形數據流代替了代碼,這對于從事工程應用的工程師而言簡潔易懂,故可靈活迅速地開發上位機軟件。同時,LABVIEW提供很多外觀與傳統儀器(如示波器、萬用表)類似的控件,可以方便地創建用戶界面[2]。通過LABVIEW搭建的控制系統,軟件程序是其核心[3]。本文基于串口通信原理,編寫了上位機通信監控程序,并對其進行模擬通信驗證。

1 串口配置

本文設計的上位機軟件程序是基于串口通信方式,串口通信是一種在計算機與計算機之間或者計算機與外圍設備之間傳送數據的常用方法[4],通常應用于傳統儀器的控制和緩慢變化信號的采集[5]。

在本文的串口通信過程中,上位機寫入的為字符類型的數據,而后軟件將字符按照單個的字節位發送至接收端,作為接收端的下位機一方再將這些位組成完整的字節,從而完成數據的傳送。通常采用美國信息交換標準代碼(American Standard Code for Information Interchange,ASCII)表示數據位對應的值,當傳輸特定文件時則會使用二進制數據類型。在串口通信中,數據位是數據幀格式的一部分,完整的數據幀一般涵蓋了起始位、數據位、校驗位與停止位。校驗位根據字符編碼中“1”的數目用于檢查數據的準確性。

在通信傳輸過程中,按照相同的通信規則規定上位機與下位機端口的性質,即對兩者的通信端口進行初始化設置,按要求設置通信端口的傳輸速度、單位、起始位、停止位和校驗位等參數,這一過程由LABVIEW中的虛擬儀器軟件架構(Virtual Instrument Software Architecture,VISA)模塊實現。VISA作為一個綜合軟件包模塊,可在任何平臺、總線和環境下對串口進行配置、編程和調試[6]。同時,VISA也是測試程序與數據傳輸中總線的中間層,為應用程序和儀器總線的通信建立了通道,是應用于儀器編程的標準I/O應用程序接口[7]。同時,如前所述,VISA的串口配置要與下位機的串口配置一一對應[8]。VISA模塊的串口初始化配置如圖1所示。

圖1 串口參數配置

由于串口參數類型不同,在此通過數據簇模塊設定。簇為一種數據類型,相當于文本編程語言中的結構體變量,是由不同類型的數據組成的集合[9]。由上到下依次為波特率、數據位、校驗位、停止位、流控制位,經“解除捆綁”后分割為獨立的參數,通過串口資源名稱模塊選擇串口。

2 數據通信

在上位機監控模式中,上位機與下位機之間的數據通信是整個系統的基礎,這方面也有許多應用實例[10]。本文在此設計了兩種數據通信模式,一種為單點通信,即將單個或少量特定數據字符寫入后發送至下位機端;另一種為表格通信,即將大量以Excel表格文件形式匯總的數據讀取轉換后發送至下位機端。設定的上位機端串口數據通信流程如圖2所示。

圖2 串口通信流程

初始階段虛擬串口設置主要通過VSPD軟件實現,串口參數配置與串口通信終止字符類型設置兩者均相同,通過模式選擇按鈕選擇不同的通信方式,表格通信較單點通信的區別在于表格文件的讀取與數據的轉換,兩種方式的實現過程將在下文詳細闡述。

2.1 單點通信

在LABVIEW平臺控制的串行通信過程中,數據格式是以字符串形式構成的[11]。實際使用過程中,上位機端需要根據需求發送單個或少量數據至下位機端,故在此設計了單點通信模式。單點通信程序如圖3所示:整個程序包含在一個條件判斷結構體(Case Structure)中,根據選擇按鈕的開關狀態決定程序的運行與停止。首先進行串口參數配置,包含輸出與輸入端口兩個。其次,是設置VISA傳輸中的終止字符類型,在此用到了字節屬性模塊,用于在傳輸完畢下位機端收到的字符串后增加指定的結束字符,例如換行、回車或者空字符等類型,例如本程序框圖中字節屬性模塊設定了終止字符(Term Char)判斷、終止字符使能(Term Char En)開關、寫入結束模式(ASRL End Out)3個屬性功能。需要注意的是,字節屬性模塊同時也用于檢測串口數據的存在,起到判斷的作用[12]。由于端口數據收發之間有延時,故需要加入計時功能,通過寫函數模塊(VISA Write)寫入數據后延時500ms再經由讀函數模塊(VISA Write)讀出串口數據。由于加入了結束字符,因此讀出的字符會比寫入的字符多一位,故將寫入的數據字節數與讀出的數據字節數進行比較時兩者不相等,若前者小于后者且與前面板顯示結果一致,則表明通信正常,若兩個結果不同則表明通信異常。在串口通信結束后必須關閉串口,因此使用串口關閉函數(VISA Close)執行這一功能。

圖3 單點通信

2.2 表格通信

在實際使用過程中,往往需要發送大量數據至下位機,這些數據通常以表格文件形式存儲,如此一來發送更加便捷,因此針對這一需求本文也設計了表格數據通信功能,程序分為表格數據的讀取與數據的轉換通信兩部分。

2.2.1 表格數據讀取

表格數據通信的首要條件是上位機能夠讀取表格文件,在此本文通過ActiveX控件讀取表格文件內容。ActiveX控件是一類面向對象程序技術和工具的策略性軟件組件的簡稱,涉及的主要技術內容為部件對象模型(Component Object Model,COM),通過使用ActiveX組件,可以在開發工具中增添特定的功能。在LABVIEW環境下,通過打開ActiveX生成主對象,再由其生成所需子對象,通過設置和調用這些對象的屬性來實現程序所需功能[13]。

由于自帶相關的ActiveX控件,因此LABVIEW在處理Excel表格文件時直接采用該控件即可[14]。首先打開自動化引用模塊并創建自動化引用句柄[15],作用為通過引用句柄找到指定文件路徑下的文件;隨后通過屬性節點與調用節點找到用戶指定表格文件中的表單號(Sheet);最后將表單范圍內的數據值以數組格式輸出前面板顯示。表格文件讀取及顯示程序如圖4所示。

2.2.2 表格數據通信

由于串口通信接受字符串數據格式,因此需先將從表格中讀取的、以數組形式呈現的表格數據轉化為字符串形式發送,這一過程由“數組至字符串轉換”模塊實現。表格數據通信程序如圖5所示。

表格數據通信程序結構與單點通信大致相同,同樣在此增加了延時與字節比較功能。

3 模擬通信

由于串口通信至少需要一對串口互相連接、傳輸數據,為方便快捷地對上位機程序進行模擬驗證、降低實驗成本,在此使用了專用的串口調試軟件:虛擬串口驅動(Virtual Serial Port Driver,VSPD)。VSPD可通過虛擬出成對的相互連接的串口,用于模擬上位機與下位機或者外部串行設備的通信通道[16-17]。

圖4 表格數據讀取

圖5 表格數據通信

模擬通信分為兩部分,單點模擬通信與表格模擬通信,其中單點通信以COM2為上位機發送端口,設定COM3為下位機接收端口;表格通信以COM4為上位機發送端口,設定COM5為下位機接收端口。上位機監控界面模擬通信結果與VSPD串口收發字符統計如圖6、圖7所示。

圖6 上位機監控界面顯示

在顯示界面中,單點通信的中止字符為十六進制顯示的字符“A”,對應ASCII碼表中換行鍵,即下位機讀出完畢后自動換行;表格通信中的終止字符為“0”,對應為空字符,因此讀取的字節數均比寫入的多了一位。兩對虛擬串口發送與接收的數據字節數一致,說明通信內容完整。模擬通信結果表明,設計的上位機串口通信監控程序能夠準確地在端口間傳送數據。

圖7 VSPD串口收發字節統計

4 結論

文中說明了基于串口通信原理的上位機監控程序的設計過程。使用LABVIEW開發上位機通信監控界面軟件,解決了工程設計中實現簡易的串口通信的問題,不僅能夠簡化軟件開發流程和減少硬件成本,而且具有良好的擴展性。文中設計了單點數據通信和表格數據通信兩種通信模式。前者采用Case條件選擇結構選定模式,通過VISA函數配置模塊配置參數、VISA字節模塊設置終止格式,根據字節數判斷通信是否正常。后者相比前者的不同之處在于:在數據發送與顯示過程之前需通過ActiveX控件讀取表格文件并轉化為字符串數據,然后進行正常的通信??傮w而言,該上位機軟件實現了所需功能,但包含的通信模式較少,只能作為簡單的數據通信工具使用,對后續的深入開發具有一定的參考價值。

主站蜘蛛池模板: 亚洲AV成人一区二区三区AV| 香蕉久人久人青草青草| 成人免费一区二区三区| 美女被狂躁www在线观看| 中国国产一级毛片| 欧美精品亚洲二区| 国产成人91精品| 亚洲色婷婷一区二区| 亚洲一区波多野结衣二区三区| 国产成人超碰无码| 亚洲第一视频网| 国产日韩精品欧美一区喷| 国内精自视频品线一二区| 无码视频国产精品一区二区| 亚洲成人播放| 午夜欧美理论2019理论| 国产激情国语对白普通话| 成人精品在线观看| 黄片一区二区三区| 中文字幕va| 国产精品久久久久鬼色| 欧美午夜在线播放| 最新加勒比隔壁人妻| 毛片基地视频| 国产亚洲精品91| 激情综合五月网| 日韩精品无码一级毛片免费| 噜噜噜久久| 在线观看亚洲人成网站| 久久国产精品影院| 伊人久久大香线蕉aⅴ色| 视频一区视频二区中文精品| 精品国产www| 丁香六月综合网| 国产麻豆精品在线观看| 亚洲精品动漫| 亚洲精选无码久久久| 无码网站免费观看| 免费 国产 无码久久久| 国产麻豆福利av在线播放| 日本少妇又色又爽又高潮| 欧美一级高清视频在线播放| 亚洲精品福利网站| 色视频国产| 欧美激情,国产精品| 亚洲人成网线在线播放va| 无码高潮喷水在线观看| 亚洲91在线精品| 日韩在线观看网站| 国产精品无码影视久久久久久久| 3D动漫精品啪啪一区二区下载| 日本道中文字幕久久一区| 国产午夜在线观看视频| 亚洲第一极品精品无码| 99中文字幕亚洲一区二区| 欧美特级AAAAAA视频免费观看| 国产精品亚洲专区一区| 一级不卡毛片| 久久久久亚洲Av片无码观看| 三上悠亚一区二区| 中文无码精品a∨在线观看| 国产欧美日韩一区二区视频在线| 久久国产热| 女同国产精品一区二区| 狠狠五月天中文字幕| 色综合天天娱乐综合网| 色偷偷一区二区三区| 就去吻亚洲精品国产欧美| aaa国产一级毛片| 91无码人妻精品一区| 亚洲三级网站| 91九色国产porny| 欧美国产精品不卡在线观看| 欧美中文字幕在线二区| 天堂岛国av无码免费无禁网站| 亚洲国产精品成人久久综合影院 | 大香网伊人久久综合网2020| 亚洲成a人片77777在线播放| 特级欧美视频aaaaaa| 99精品视频播放| 亚洲国产精品无码AV| 亚洲美女久久|