基于LabVIEW的仿真系統(tǒng)的設(shè)計
0引言
隨著現(xiàn)代科學(xué)技術(shù)的進步,現(xiàn)在設(shè)備結(jié)構(gòu)越來越復(fù)雜、智能化程度也越來越高、操作規(guī)程要求嚴格,對操作人員的水平要求很高。若結(jié)合實際裝備進行訓(xùn)練則受到場地、經(jīng)費和裝備自身維護保養(yǎng)情況的限制。而模擬訓(xùn)練以安全、經(jīng)濟、可控、可多次重復(fù)、無風險、不受氣候條件和場地空間的限制,因而設(shè)計一套適用于操作訓(xùn)練的模擬仿真系統(tǒng)是十分必要的。但是由于許多設(shè)備的特定儀表,不容易購買,使用其他的儀表造成外形的誤差及功能差距,但是隨著美國國家儀器公司NI(NationalInstruments)提出的虛擬測量儀器(VI)概念,引發(fā)了傳統(tǒng)儀器領(lǐng)域的一場重大變革,使得計算機和網(wǎng)絡(luò)技術(shù)得以長驅(qū)直入儀器領(lǐng)域,和儀器技術(shù)結(jié)合起來,徹底打破了傳統(tǒng)儀器只能由生產(chǎn)廠家定義,而用戶無法改變的局面[1]。LabVIEW是NI公司研制的圖形化編程軟件,是目前最為成功、應(yīng)用最為廣泛的虛擬儀器軟件開發(fā)環(huán)境[2]。LabVIEW是一個技術(shù)領(lǐng)先的圖形化編程語言和開發(fā)環(huán)境,應(yīng)用范圍覆蓋了從產(chǎn)品設(shè)計到制造的整個開發(fā)過程,被譽為“工程師的語言”[3]。虛擬儀器系統(tǒng)總體上由硬件和軟件2個部分組成[4]。硬件部分由計算機、模塊化功能硬件組成,根據(jù)其模塊化功能硬件的不同,有多種構(gòu)成方式。軟件部分是以儀器驅(qū)動、接口軟件和應(yīng)用程序為基礎(chǔ),控制實現(xiàn)數(shù)據(jù)采集、分析、處理、顯示等功能。我們可以自主的設(shè)計各種類型的虛擬儀表及顯示界面。實際的仿真系統(tǒng)中包括數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)傳輸協(xié)議、數(shù)據(jù)解析及數(shù)據(jù)顯示等部分。
1數(shù)據(jù)的采集
在實際的采集系統(tǒng)中,交流電流或電壓互感器的二次輸出信號一般都要經(jīng)整流變?yōu)橹绷餍盘?。采用二極管直接整流方式由于二極管的正向壓降會影響低端精度。所以在要求較高的場合采取有源整流方式。本文采用的有源整流方案電路圖如圖1所示。R1為取樣電阻根據(jù)互感器技術(shù)指標選取。二級管型號為IN4148,IC為LM324工作電源為±5V,P1、P2接口接互感器。
圖1有源整流電路圖
本系統(tǒng)的交流電壓互感器使用北京耀華德昌電子有限公司的TV16E型環(huán)氧灌封精密電壓互感器;交流電流互感器使用北京耀華德昌電子有限公司的TA3523FT型環(huán)氧灌封四量程電流互感器;直流電流互感器采集使用成都晶峰電子有限公司生產(chǎn)的JT0.01T19型電流互感器。
2數(shù)據(jù)的傳輸與解析
互感器采集的數(shù)據(jù)經(jīng)采集板變成0~5V的直流信號,然后經(jīng)過控制采集板,該電路板高精度的A/D轉(zhuǎn)換芯片可以實現(xiàn)模擬信號到數(shù)字信號的轉(zhuǎn)換,數(shù)字信號進入到高精度AVR單片機中進行數(shù)據(jù)處理,通過可靠的UART串口通信方式將數(shù)據(jù)實時的傳送到上位機,然后產(chǎn)生一系列字符串。通過不斷讀取采集板采集到的數(shù)據(jù),然后數(shù)據(jù)通過網(wǎng)卡實現(xiàn)與LabVIEW的通信。
由于UDP協(xié)議的傳輸數(shù)據(jù)前源端和終端不需要建立連接,因而不需要維護連接狀態(tài),包括收發(fā)狀態(tài),所以一臺服務(wù)器可同時向多個客戶機傳輸相同的消息。盡管UDP傳輸性能不可靠,但在數(shù)據(jù)傳輸?shù)膶崟r性和準確性要求不是很嚴格的場合下,UDP是廣播信息的一個理想?yún)f(xié)議[5]。本系統(tǒng)要求整體能實時顯示,UDP完全可以完全滿足使用。
由于本系統(tǒng)使用的是顯示,采用的是使用UDP協(xié)議接收數(shù)據(jù)程序,如圖2主要包括打開UDP、讀取UDP數(shù)據(jù)和關(guān)閉UDP三部分。
圖2UDP協(xié)議接收數(shù)據(jù)程序
在接收數(shù)據(jù)前首先打開一個UDP端口,將端口(指定本地主機要創(chuàng)建UDP套接字連接的端口)設(shè)置為6350,網(wǎng)絡(luò)地址,連接ID不用設(shè)置,應(yīng)用一個while循環(huán)實現(xiàn)數(shù)據(jù)接收。UDPRead是接收數(shù)據(jù)的核心函數(shù),最大值設(shè)置為400,超時等待時間為1毫秒。關(guān)閉UDP的端口依次與讀取UDP數(shù)據(jù)中的端口相連。
通過UDP協(xié)議將數(shù)據(jù)傳輸?shù)絃abVIEW中,通過編寫的解析程序,如圖3所示,將接收到的字符串解析成各個虛擬儀表需要顯示的數(shù)據(jù),然后通過虛擬儀表顯示出來。
圖3數(shù)據(jù)解析程序
3數(shù)據(jù)的顯示
由于選擇的儀器的特殊形狀與特殊性能,沒有現(xiàn)成的虛擬儀表,仿真時需要自己制作。
3.1虛擬儀表的制作
選擇要用的儀表的照片,用Photoshop畫出來。打開LabVIEW,然后點擊“編輯”至“導(dǎo)如圖片至剪切板”中,然后ctrl+v復(fù)制到LabVIEW前面板,如圖4(a)所示;在數(shù)值控件中,選擇“量表”,然后將量程選擇到合適的位置,如圖4(b)所示;點擊右鍵到“標尺”選擇“樣式”中空白的那一個,然后再打開工具選板,將表盤及表框顏色改為透明色,將指針改變成需要的顏色(黑色)如圖4(c)所示;將量表與指針結(jié)合,將圖片移動至前面,然后將三者鎖定在一起。這樣一個合適的虛擬儀表界面就做出來了如圖4(d)所示。其余的儀表依照此總做法。
圖4虛擬儀表的制作過程
從圖4(a)中發(fā)現(xiàn),表盤的讀數(shù)不是線性的,要構(gòu)建面板的數(shù)學(xué)模型,實踐表明采用分段函數(shù)進行表示是一種方便、簡潔、高效的方法,圖4中電流表在程序框圖中的部分程序如圖5所示。
圖5非線性儀表的部分程序
以此我們可以運用數(shù)學(xué)運算給出表盤的函數(shù)表達式,然后運用條件語句分段(部分)表示出來。這樣我們可以準確、形象的驅(qū)動指針的動作。
3.2、顯示界面的實現(xiàn)與顯示
將所有制做的虛擬儀表組合到一個前面板上,將UDP協(xié)議數(shù)據(jù)接收程序、儀表程序、數(shù)據(jù)解析程序等整合到一個程序框圖中。數(shù)據(jù)經(jīng)過數(shù)據(jù)采集板采集變換、工控機控制采集、UART串口通信方式將數(shù)據(jù)實時的傳送到上位機,然后產(chǎn)生一系列字符串進入程序,運行程序后的情況如圖6所示。
圖6電源車仿真設(shè)備的運行顯示界面
結(jié)束語
本系統(tǒng)應(yīng)用于某半實物電源車仿真系統(tǒng)中,外觀上美觀大方、與原機器適配;運行中系統(tǒng)穩(wěn)定、數(shù)據(jù)丟包少、顯示準確。為應(yīng)用LabVIEW做顯示界面提供參考。