好男人香蕉影院-久草资源在线-欧美绿帽交换xxx-国产又粗又硬-亚洲第一黄色-免费看91视频-国产成人综合久久精品推-欧美v日韩-在线观看 中文字幕-亚洲不卡在线观看-日韩欧美国产综合-av网址观看-久久性感美女视频-久久精品一区二区三区四区-久久av网站-日韩中文字幕免费在线-欧美特黄一级大片

歡迎來到圖頁網

掃碼關注

圖頁網
微信掃碼關注

 
 

LabVIEW與多臺AI-501儀表的通迅設計

??2018-09-18 閱讀:737
 摘要:本項目使用RS232-RS485轉換器把PC與多臺AI-501儀表連接,并通過LabVIEW編程對這些儀表的進行溫度適時監(jiān)視。使用這個方法,同樣可以對其它AI系列儀表進行LabVIEW的通迅編程。

關鍵詞:RS232-RS485轉換器 LabVIEW 串口初始化函數(shù)(VISA Configure Serial Port) 串口寫函數(shù)(VISA Write) 串口讀函數(shù)(VISA Read) 字符處理

引言:宇電AI系列儀表在國內市場上是有口皆碑的,而且服務質量也是國內首屈一指。但是在宇電的網站上只有用VB編寫的通訊代碼,而有部分網友希望得到LabVIEW編寫的通訊源代碼。最近我實驗室購入10個AI-501用于設備烘烤的溫度顯示,于是趁此機會,我用LabVIEW編寫了10個儀表的通訊代碼,得到每個儀表的溫度(PV值)并顯示在計算機上。希望這個程序能給大家一點幫助,其中的錯誤也歡迎大家批評指正。

      本論文分兩部分:第一、計算機和多臺AI-501的硬件連接;第二、LabVIEW的程序設計。

一、計算機和10臺AI-501儀表的硬件連接

      使用RS232-RS485轉換器可以很方便的連接計算機和10臺AI-501。具體方案如圖1。RS232-RS485轉換器的RS232端接到計算機,所有儀表并聯(lián)在RS485的A、B端,并設置不同的地址。我設置的10臺AI-501地址分別是:1,2,3,4,5,6,7,8,9,10。

 

AI系列儀表數(shù)據(jù)格式為1個起始位,8位數(shù)據(jù),無校驗位,1個或2個停止位,波特率4800~19200 bit/S。考慮到10臺儀表的數(shù)量,為了通訊快速,本項目我使用19200bit/S,經過試驗,效果很好。

二、LabVIEW的程序設計

LabVIEW是美國NI公司開發(fā)的一款非常優(yōu)秀的圖形化編程語言。與基于文本的編程語言不同,LabVIEW的程序編寫由圖形語言(G語言)、圖標和連線代替文本形式,它使用數(shù)據(jù)流編程方法描述程序的執(zhí)行,更加顯得直觀,操作更加方便簡單。

LabVIEW用戶界面主要包括前面板和圖形代碼窗口。前面板類似實際儀表面板,可以放置包括諸如旋鈕、按鈕和文本框等控制和顯示元件。圖形代碼窗口包括以圖標為代表的常數(shù)、函數(shù)和VI程序等,并通過連線引導數(shù)據(jù)流,編寫和調試程序都很直觀方便。

本程序的前面板如圖2。

本程序的圖形代碼窗口如圖4.1和4.2。在圖形代碼窗口,為了完成對串口的初始化、寫和讀,分別用到串口初始化函數(shù)(VISA Configure Serial Port)、串口寫函數(shù)(VISA Write)和串口讀函數(shù)(VISA Read)。另外,由于得到的數(shù)據(jù)為16進制,還用到了一些字節(jié)處理函數(shù),使之換算成10進制顯示在程序前面板。

      在以下代碼的介紹中,以地址為1的AI-501為例,其它儀表可以直接拷貝得到,把地址改變即可。

      1、 串口的初始化:按如圖4.1A設置串口初始化函數(shù)(VISA Configure Serial Port)。其中ASRL6::INSTR表示我計算機擴張出來的COM6口;Enable Termination設置成False,否則在讀到回車字節(jié)的時候會中斷讀串口數(shù)據(jù)。

2、 往串口寫入讀取型號特征的命令:調用串口寫函數(shù)(VISA Write函數(shù))共10臺AI501,地址1-10,要發(fā)送的讀命令如下表。需要注意,如圖4.1B,寫入的字符串為Hex Display。右鍵點擊與VISA Write函數(shù)連接的 String Constant,選擇Hex Display,直接輸入8181521500005315,即讀取地址為1的儀表型號特征。其它地址如下表類推。

AI-501儀表地址     命令(16進制)

1                             8181521500005315

2                             8282521500005415

3                             8383521500005515

4                             8484521500005615

5                             8585521500005715

6                             8686521500005815

7                             8787521500005915

8                             8888521500005A15

9                             8989521500005B15

10                             8A8A521500005C15

       3、讀取串口數(shù)據(jù):命令發(fā)送成功后,調用串口讀函數(shù)(VISA Read函數(shù))對串口讀取10字節(jié),如圖4.2C。因為無論是讀還是寫,儀表都返回以下10個字節(jié)數(shù)據(jù)(參見《AIBUS通訊協(xié)議說明(V7.0)》)

4、16進制數(shù)據(jù)轉換成10進制數(shù)據(jù):如圖4.2D,由于讀取串口得到的10字節(jié)數(shù)據(jù)前2字節(jié)表示PV值的信息,故調用String Subset函數(shù)取出第1、第2字節(jié)。再調用String To Byte Array函數(shù)使第1、第2字節(jié)轉換成Byte Array的第0、第1元素。最后調用Index Array函數(shù)把兩元素提取出來成為單獨的10進制數(shù)。我設置的溫度為1位小數(shù),所以正確的溫度是10進制情況下

PV=(第一字節(jié)+第二字節(jié)*256)/10

數(shù)據(jù)轉換之后,輸出到前面板相應的顯示件,即為圖1樣式。以上是一個儀表的代碼,其它儀表除讀命令不同外,代碼一致,直接拷貝即可。

 

結語:本項目對AI-501儀表進行了簡單的LabVIEW通訊編程,還有很多擴張的余地,比如數(shù)據(jù)存盤,繪制溫度曲線,實現(xiàn)遠程監(jiān)控等等。 參考文獻:

1. 《AIBUS通訊協(xié)議說明(V7.0)》

免責聲明:
本站部份內容系網友自發(fā)上傳與轉載,不代表本網贊同其觀點;
如涉及內容、版權等問題,請在30日內聯(lián)系,我們將在第一時間刪除內容!

相關資訊圖條

    圖頁網
    保靖县| 彭水| 神农架林区| 互助| 成安县| 梁山县| 文安县| 千阳县| 南通市| 玉环县| 务川| 汾西县| 通化市| 彭泽县| 东莞市| 道真| 闻喜县| 谢通门县| 昭通市| 延庆县| 偏关县| 沧源| 财经| 无极县| 柳河县| 宿迁市| 叙永县| 柘城县| 临朐县| 长阳| 河间市| 延长县| 靖边县| 阳城县| 山西省| 乡城县| 蒙城县| 交口县| 凤凰县| 巴彦县| 都匀市|