基于LabVIEWRT的數(shù)據(jù)實時傳輸系統(tǒng)
在仿真系統(tǒng)諸如分布式仿真系統(tǒng)、半實物仿真系統(tǒng)中, 數(shù)據(jù)通訊的正確性、快速性和可靠性對仿真的質(zhì)量有著至關(guān)重要的決定影響。而通訊的實時性能與各部分的數(shù)據(jù)傳輸速度密切相關(guān), 其中包括了硬件以及軟件上各方面的因素。以往在硬件上采取的措施常常是研制高速的數(shù)字 /模擬量接口設(shè)備等, 但這種方法存在很多缺陷, 如缺乏通用性、傳輸距離受較大限制等等。而隨著各種實時網(wǎng)絡(luò)產(chǎn)品的開發(fā), 其在仿真系統(tǒng)中的應(yīng)用也愈加增多。這些產(chǎn)品的共同特點就是通訊速率快、傳輸距離長、通用性好, 并且可以連接多個節(jié)點組成一個實時網(wǎng)絡(luò),因而具有十分優(yōu)越的應(yīng)用性。本文根據(jù)實際仿真設(shè)備通訊的需求, 利用反射內(nèi)存VM IP-CI- 5565及其集線器 VM I ACC - 5595組建了一個數(shù)據(jù)傳輸網(wǎng)絡(luò)。并結(jié)合虛擬儀器編程語言LabVIEW( RT ), 編制了數(shù)據(jù)采集/傳送軟件。通過從硬件以及軟件上多方面對提升系統(tǒng)實時性能的考慮, 使得系統(tǒng)具有良好的工作表現(xiàn), 從而組建了一個具有較好適用性以及擴展性的通訊系統(tǒng)。
本文引用地址:http://www.ex-cimer.com/article/201701/337322.htm1 系統(tǒng)硬件組建
1 1 1 實時通訊網(wǎng)絡(luò)與反射內(nèi)存
實時通訊網(wǎng)絡(luò)是用于需要較高實時性要求的應(yīng)用領(lǐng)域的專用網(wǎng)絡(luò)通訊技術(shù), 一般采用基于高速網(wǎng)絡(luò)的共享存儲器技術(shù)實現(xiàn)。它除了具有嚴格的傳輸確定性和可預(yù)測性外, 還具有速度高、通信協(xié)議簡單、宿主機負載輕、軟硬件平臺適應(yīng)性強、可靠的傳輸糾錯能力、支持中斷信號的傳輸?shù)忍攸c。實時通訊網(wǎng)絡(luò)可廣泛用于各種領(lǐng)域, 例如實時的飛行仿真器、核電站仿真器、電訊、高速過程控制 (軋鋼廠和制鋁廠 )、高速測試和測量以及軍事系統(tǒng)。VMIPCI-5565是 VMIC公司生產(chǎn)的基于 PCI總線的反射內(nèi)存卡, 它使用光纖進行數(shù)據(jù)的傳輸, 從而不存在電磁輻射,也不受到來自無線電的電子 /電磁干擾, 具有很好的安全性和可靠性。另外, 5565采取了高性能的 H ub (網(wǎng)絡(luò)集線器 ) 結(jié)構(gòu)配置成實時網(wǎng)絡(luò), 可以實現(xiàn)多達 256個節(jié)點的計算機內(nèi)存共享, 可以實現(xiàn)高速的實時數(shù)據(jù)通信[ 1]。因而, 其對于分布式仿真系統(tǒng)來說, 具有良好的應(yīng)用價值。 VMIPCI- 5565組建的網(wǎng)絡(luò)結(jié)構(gòu)如圖 1所示。
圖 1反射內(nèi)存網(wǎng)絡(luò)組建結(jié)構(gòu)
1 1 2 VM IACC- 5595的內(nèi)部結(jié)構(gòu)與系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)反射內(nèi)存卡 VM IPC I- 5565對應(yīng)的網(wǎng)絡(luò)集線器型號為 VMIACC-5595 , 它是一個8端口并且通過層疊可以實現(xiàn) 256節(jié)點網(wǎng)絡(luò)的網(wǎng)絡(luò)集線器。而由于 VM I ACC - 5595獨 特的內(nèi)部結(jié)構(gòu) [ 2], 使得在配置網(wǎng)絡(luò)時會發(fā)現(xiàn)整個網(wǎng)絡(luò)的實時性能有一定的差異。根據(jù) VM IACC - 5595內(nèi)部結(jié)構(gòu)圖[ 2]可知, 在利用其組建網(wǎng)絡(luò)時, 縱使從外部看網(wǎng)絡(luò)是星形結(jié)構(gòu), 但內(nèi)部依然是雙環(huán)形結(jié)構(gòu)。VM I ACC - 5595簡化的內(nèi)部結(jié)構(gòu)如圖 2所示。
圖 2 簡化的 VM I ACC- 5595單機結(jié)構(gòu)
可見由于 VM I ACC- 5595內(nèi)部存在由 0、1、 2 、 3和 4、 5 、6、7節(jié)點組成的兩個環(huán)形, 數(shù)據(jù)在任意兩節(jié)點之間傳送的時間并不像嚴格意義上的星形結(jié)構(gòu)那樣完全相同。如數(shù)據(jù)從 0節(jié)點傳向 1節(jié)點和傳向 3節(jié)點所費時間理論上應(yīng)該是 1 /3關(guān)系,這樣的差異在實際網(wǎng)絡(luò)節(jié)點功能配置時是不得不考慮的。通過分析可以發(fā)現(xiàn), 在設(shè)計網(wǎng)絡(luò)時需要著重考慮節(jié)點 3和節(jié)點 0、節(jié)點 7和節(jié)點 4的內(nèi)在關(guān)系, 這樣可以即滿足設(shè)計需求, 又能夠減少數(shù)據(jù)在反射內(nèi)存網(wǎng)絡(luò)上的傳輸延遲。即根據(jù)節(jié)點對數(shù)據(jù)的要求來配置節(jié)點的位置, 若節(jié)點以發(fā)送數(shù)據(jù)為主則應(yīng)配置在 3或 7節(jié)點, 而以接受處理為主要任務(wù)的節(jié)點則應(yīng)配置在 4或 0節(jié)點。當存在數(shù)據(jù)向其它網(wǎng)絡(luò)轉(zhuǎn)接或集中處理節(jié)點時, 這點的考慮就會更加重要。后經(jīng)實驗證明, 不同配置的網(wǎng)絡(luò)在 100個 32位精度數(shù)據(jù)傳輸時間上的差異在 10微秒級左右, 而隨著數(shù)據(jù)量的增加時間差異會更加顯著。在本系統(tǒng)中, 把主要產(chǎn)生數(shù)據(jù)的設(shè)備) ) ) /海鷹仿真機 0和 /銀河仿真工作站0 (或數(shù)據(jù)采集計算機 ) 置于 3 、 7節(jié)點,而把數(shù)據(jù)處理設(shè)備如 SG I圖形工作站、干擾與背景實時控制計算機等配置與其它節(jié)點。這樣, 從節(jié)點的功能配置上力求到了最優(yōu)化。
2 系統(tǒng)軟件實現(xiàn)
2 1 1 LabVIEW 編程環(huán)境及其實時組件 (RT)
系統(tǒng)中數(shù)據(jù)采集 /傳送程序利用 LabVIEW ( RT) 編制而成。 LabV I EW 是由美國NI公司推出了一種優(yōu)秀的面向?qū)ο蟮膱D形化編程語言, 目前正被大量用于開發(fā)數(shù)據(jù)監(jiān)測、數(shù)據(jù)測量采集系統(tǒng)、工業(yè)自動控制相同和數(shù)據(jù)分析系統(tǒng)等領(lǐng)域。LabV IEW 的實時組件 LabV I EW Rea l- T i m e ( RT) 是為了滿足測控領(lǐng)域中日益增多的實時性需求而出現(xiàn)的。與 Lab -V I EW 不同, RT的工作模式為: 在宿主機上開發(fā)應(yīng)用程序,然后下載到目標計算機上去運行。目標機可以是 N I公司專門研制的 RT目標智能板卡, 也可以是通用的計算機, 但目標機上運行的卻是一個專門下載 (預(yù)先安裝 ) 的實時系統(tǒng)。比如文中系統(tǒng)所采取的 LabVIEW RT 810版本, 其目標機上運行的是 N I基于實時系統(tǒng) Pharap改造開發(fā)的實時系統(tǒng)。由于目標機運行的與本身操作系統(tǒng)無關(guān), RT工作模式就具有較好的適用性[3]
。
應(yīng)用 LabV IEW RT環(huán)境編程時, 必須的步驟如下:
( 1) 配置目標計算機 [4]。包括設(shè)置第一啟動盤 (根據(jù)下一步的啟動方式?jīng)Q定是硬盤還是軟盤 ), 屏蔽無關(guān)的操作、中斷如 USB功能等, 以使目標機啟動在實時狀態(tài)下及盡量增強目標機的實時性能。
評論