LabVIEW在串口通信中的應用

發(fā)布時(shí)間:2011-11-14 11:58    發(fā)布者:滿(mǎn)天星的愿望
關(guān)鍵詞: LabVIEW , 串口通信
首先介紹了LabVIEW的環(huán)境及VISA串口通信函數的功能;其次引入了本文的采集對象JCZ型智能轉矩轉速傳感器,并對其性能、物理結構及串行通信特點(diǎn)進(jìn)行了說(shuō)明,利用LabVIEW的開(kāi)發(fā)平臺編寫(xiě)通信源程序,實(shí)時(shí)采集轉矩和轉速,并計算功率值,最后把轉矩、轉速和功率數據以動(dòng)態(tài)曲線(xiàn)的方式在同一張圖表中顯示出來(lái)。經(jīng)過(guò)實(shí)驗驗證,該程序操作方便,采集數據準確,運行安全可靠,動(dòng)態(tài)曲線(xiàn)顯示直觀(guān),可真正在生產(chǎn)實(shí)際中使用。

LabVIEW是當今最流行的圖形化編程環(huán)境,由于其采用圖形化的編程方式,因此也被稱(chēng)作G語(yǔ)言(graphical language)。LabVIEW是目前國際上唯一的基于數據流的編譯型開(kāi)發(fā)軟件,與基于文本的編程語(yǔ)言不同,LabVIEW的程序由圖形語(yǔ)言構成,用簡(jiǎn)單或圖標提示的方法選擇功能(圖形),并用線(xiàn)條把各種功能(圖形)連接起來(lái)的簡(jiǎn)單圖形編程方式,使得不熟悉編程的工程技術(shù)人員都可以按照測試要求和任務(wù)快速“畫(huà)”出自己的程序,“畫(huà)”出儀器面板,從而大大提高了工作效率,減輕了科研和工程技術(shù)人員的工作量。由于LabVIEW軟件簡(jiǎn)潔直觀(guān),功能強大靈活,目前廣泛應用于自動(dòng)化測量系統、工業(yè)過(guò)程自動(dòng)化、實(shí)驗室仿真等各個(gè)領(lǐng)域。

在LabVIEW中編制的程序叫做虛擬儀器程序,簡(jiǎn)稱(chēng)VI。一個(gè)VI包括前面板和框圖程序。前面板類(lèi)似實(shí)際儀表面板,可以放置諸如旋鈕、按鈕和文本框等控制和顯示元件?驁D程序是實(shí)現程序功能的核心部分,包括以圖標為代表的常數、函數和VI程序等,并通過(guò)連線(xiàn)引導數據流,編寫(xiě)和調試程序都很直觀(guān)方便。

一 : LabVIEW串口通信介紹

儀器控制是LabVIEW最具競爭力的核心技術(shù)之一。在安裝了適當的硬件驅動(dòng)程序之后,LabVIEW能輕松實(shí)現與任何NI提供的硬件設備通信。不僅如此,通過(guò)通用的驅動(dòng)程序(DAQmx)或接口,例如VISA、IVI、OPC、ActiveX、DLL等,LabVIEW幾乎能與任何廠(chǎng)商甚至自制的硬件通信。

LabVIEW通過(guò)VISA與串行接口儀器通信。VISA是應用于儀器編程的標準I/O應用程序接口(API),它本身并不具有儀器編程能力,而是為用戶(hù)提供了一套獨立的可方便調用的標準I/O底層函數。無(wú)論對于GPIB、串口還是其他接口,用戶(hù)只要調用這些標準函數,則VISA就會(huì )根據實(shí)際接口類(lèi)型自動(dòng)調取相應的接口驅動(dòng)程序例程,方便實(shí)現上層應用程序與接口總線(xiàn)儀器的通信。在LabVIEW里使用VISA,必須安裝NI-VISA程序包,安裝后,與串口通信相關(guān)的VISA函數位于Functions->ALL Functions->Instrument I/O->Serial子模板上,如圖1所示。

此主題相關(guān)圖片如下:



圖1  VISA串口通信函數

此模板共有8個(gè)操作函數,其中,第一行的4個(gè)函數在串口通信中經(jīng)常應用。下面簡(jiǎn)單介紹這4個(gè)常用的VISA串口函數。

1 VISA配置串口 設定波特率、數據位、停止位、奇偶校驗位、流控制、超時(shí)處理、終止符和終止符使能等參數,將VISA資源名稱(chēng)指定的串口按特定設置初始化。 注意:超時(shí)(TIMEOUT)和終止符兩個(gè)參數。TIMEOUT默認10秒;終止符是0X0A(),默認是使能狀態(tài)。另外,回車(chē)0X0D()也經(jīng)常作為終止符。采用二進(jìn)制通信,就要特別注意終止符的情況。因為0A對應的十進(jìn)制是10,0D是13,當傳輸的二進(jìn)制對應的十進(jìn)制剛好為10或13時(shí),如果不禁止終止符,會(huì )導致“VISA讀取”提前結束,產(chǎn)生錯誤的結果。因此,經(jīng)常要把“啟動(dòng)終止符”的布爾輸入設置為“F”。

2 VISA寫(xiě)入 將“寫(xiě)入緩沖區”的數據寫(xiě)入VISA資源名稱(chēng)指定的串口。 注意:MSCOMM串口通信可以選擇文本或二進(jìn)制方式接收或發(fā)送數據,但是,VISA通信接收或發(fā)送數據都是字符串(ASCII)。若接收或發(fā)送的字符串是“1、2、3、4”,在內存中存儲的是ASCII,因為“1”=31(十六進(jìn)制)、“2”=32(十六進(jìn)制)、“3”=33(十六進(jìn)制)和“4”=34(十六進(jìn)制),所以串口緩存接收/發(fā)送的數據實(shí)際是16進(jìn)制的31、32、33、34。
      
3 VISA讀取從VISA資源名稱(chēng)所指定的串口中讀取指定字節的數據,并將數據返回至讀取緩沖區。有時(shí)不知道串口緩存區有多少字節的數據,以防字節總數設置錯誤,這時(shí)字節總數可以用屬性節點(diǎn)獲取,即把屬性節點(diǎn)輸出端子接入“VISA讀取”節點(diǎn)的輸入端子“字節總數”。
      
4 VISA關(guān)閉關(guān)閉VISA資源名稱(chēng)指定的串口會(huì )話(huà)句柄或事件對象。

二:串口通信編程實(shí)踐

JCZ型智能轉矩轉速傳感器是湖南湘儀動(dòng)力測試儀器有限公司利用美國ECHELON公司的LonWorks技術(shù)在原JC型轉矩轉速傳感器基礎上設計制造的新一代產(chǎn)品,它的外形結構如圖2所示。JCZ型智能轉矩轉速傳感器具有高精度、高可靠性的優(yōu)點(diǎn),同時(shí),它還具有自動(dòng)零點(diǎn)補償,自動(dòng)隨環(huán)境溫度修正傳感器系數等智能化特性,在轉速很低時(shí)也能精確測量轉速。當使用LonWorks網(wǎng)絡(luò )傳輸時(shí),通訊距離可達到2公里,還可以很方便地與計算機及其它智能傳感器或智能節點(diǎn)組成測控網(wǎng)絡(luò )系統。目前,JCZ型智能轉矩轉速傳感器在電機、風(fēng)機、機車(chē)、汽車(chē)、礦山機械等許多生產(chǎn)部門(mén)中廣泛應用。

此主題相關(guān)圖片如下:



圖2  JCZ型智能轉矩轉速傳感器外形結構圖

JCZ型轉矩轉速傳感器的基本原理是:通過(guò)彈性軸、兩組磁電信號發(fā)生器,把被測轉矩、轉速轉換成具有相位差的兩組交流電信號,這兩組交流電信號的頻率相同且與軸的轉速成正比,而其相位差的變化部分又與被測轉矩成正比。因此,通過(guò)分析這兩組交流電的頻率和相差信號就可以實(shí)現轉矩和轉速的測量。電信號處理部分是以ECHELON公司的3150神經(jīng)元芯片為核心組成,把電信號處理成可利用雙絞線(xiàn)等傳輸介質(zhì)進(jìn)行網(wǎng)絡(luò )傳輸的網(wǎng)絡(luò )變量,或者處理成直接可與計算機RS-232串口通信的信號。本文JCZ型轉矩轉速傳感器使用異步串行通信接口,其數據格式為1個(gè)起始位,8位數據,無(wú)校驗位,1個(gè)停止位,波特率為4800bps。因此,設置完串口通信參數后,通過(guò)專(zhuān)門(mén)配置的信號線(xiàn),此傳感器的輸出信號就可以送到計算機中。

JCZ型轉矩轉速傳感器發(fā)送16進(jìn)制顯示的字符串來(lái)表示各種指令代碼及數據,每次發(fā)送的數據包共計21字節,起始段為字符A,占1字節;接下分別為轉矩和轉速,每個(gè)數據占10字節,具體如下表所示:

頭“A”(1byte)轉矩數據   (10byte)轉速數據 (10byte)


假如串口接收的一個(gè)數據包為41 34 31 2E 31 38 37 31 30 30 30 32 36 2E 32 33 36 30 30 30 30等21字節十六進(jìn)制數。其中,頭字節41,剛好是字符A的十六進(jìn)制表示;接下從34 31~30這10字節,為字符顯示的字符串41.235的十六進(jìn)制表示,而41.235即為實(shí)際轉矩數據;從32、36~30這最后10個(gè)字節轉換為字符顯示的字符串后可得到實(shí)際的轉速值。因此,要注意把串口接收的數據包先進(jìn)行字節分離,再分別轉換為字符顯示的字符串,所得到值才是實(shí)際的物理量。

通過(guò)分析JCZ型轉矩轉速傳感器的串行通信特點(diǎn),結合VISA串口函數的功能,特設計圖3所示的程序代碼流程圖。

此主題相關(guān)圖片如下:



圖3  串口通信程序流程代碼     

圖4為本串口通信程序的前面板!皠(dòng)態(tài)參數曲線(xiàn)顯示”圖表為Chart控件,其波形顯示模式模擬波形記錄儀、心電圖等的工作方式。轉矩、轉速、功率實(shí)時(shí)曲線(xiàn)在圖表上動(dòng)態(tài)顯示,圖表的最右邊顯示最新采集的數據,而歷史數據則連續不停地往左邊移動(dòng)。圖表的正上方是三個(gè)數據輸出文本框,分別顯示當前采集的轉矩、轉速和功率物理量。當參數測試完畢后,點(diǎn)擊“退出程序”控件程序退出。


此主題相關(guān)圖片如下:


圖4   串口通信程序的前面板

圖5為此程序的框圖程序,程序采用流行的主/從結構(Master/Slave)設計模式。JCZ型智能轉矩轉速傳感器在上電的情況下,默認地不斷往計算機串口發(fā)送21字節的16進(jìn)制格式數據。為了完成串口的初始化、讀,分別用到串口初始化函數(VISA Configure Serial Port)和串口讀函數(VISA Read)。另外,由于得到的數據為16進(jìn)制數,利用“電子表格字符串至數組轉換”函數,使之換算成一維標量數組,得到實(shí)際的轉矩、轉速物理量的數組表示,再由轉矩和轉速計算出相應的功率值(注:功率=扭矩X轉速XK,本文k=1/9.55,所求功率的單位是瓦特W),之后轉矩、轉速和功率數組合并并通過(guò)自動(dòng)索引隧道進(jìn)入for循環(huán)中,由“創(chuàng )建波形”節點(diǎn)創(chuàng )建波形數據,最后,波形數據流入Chart圖表中動(dòng)態(tài)顯示。

此主題相關(guān)圖片如下:



圖5  框圖程序

三 結論

利用LabVIEW的VISA函數開(kāi)發(fā)串口通信程序,簡(jiǎn)單方便。本程序人機界面設計合理,操作方便,波形曲線(xiàn)顯示直觀(guān)。經(jīng)過(guò)實(shí)驗驗證,此程序數據采集可靠、運行效率高,可作為獲取和分析轉矩和轉速很好的測量工具。當然程序還有很多擴展的余地,比如數據存盤(pán),實(shí)現遠程監控,筆者希望以后繼續完善。
本文地址:http://selenalain.com/thread-79288-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页