新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 基于LabVIEWRT的數(shù)據(jù)實時傳輸系統(tǒng)

基于LabVIEWRT的數(shù)據(jù)實時傳輸系統(tǒng)

作者: 時間:2017-01-09 來源:網(wǎng)絡 收藏

( 2) 連接啟動宿主機與目標計算機, 并使目標機運行在實時狀態(tài)下。宿主機與目標機的連接可以是普通的網(wǎng)絡連接。使目標計算機運行在實時狀態(tài)下則有從硬盤啟動和從軟盤啟動兩種方式, 啟動軟盤及硬盤的設置均在 NI產(chǎn)品隨帶的硬件操作環(huán)境 MAX下設置, 具體步驟可見文獻 [ 4]。本文所設置的目標機是一個數(shù)據(jù)采集計算機, 由研華工控機和 N I公司的基于 PC I總線的數(shù)據(jù)采集卡 PC I6036E組成。目標機啟動模式采取了制作啟動軟盤的方式。

( 3) 在宿主機上進入 LabVIEW RT編程模式, 選定將要運行程序的目標機, 編制宿主機和目標機要運行的程序。 LabVIEW RT的不同版本在這一部分的環(huán)境可能有差別, 本文用的 8 1 0版本是目前最新的版本, 它直接應用了一個 RT工程管理窗口, 使得對子程序模塊 ( VI) 的管理十分方便、直觀。

( 4) 完成程序的編制以及相應的設置后, 直接把程序下載到目標機上即可以運行。應用 LabV I EW RT編制的程序只要下載到目標機上就可以自己獨立運行, 而只要沒有特殊的設置, 縱使宿主機崩潰關機了, 其運行依然不受影響。而且, 通過設置可以把目標機上的程序設置成開機即自動運行狀態(tài), 這樣宿主機就可以不需控制目標機而進行其它目標機的開發(fā)。這在很多自動測試、控制網(wǎng)絡等系統(tǒng)中有著極大的優(yōu)點, 可以極大地提高系統(tǒng)開發(fā)效率并節(jié)省很多的資源。另外, 文中系統(tǒng)開發(fā)所應用的 LabVIEW RT的 810版本還增加了一個 /共享變量 0 的新功能。它采用了一個 / 先進先出0 的內(nèi)存棧列機制, 通過應用共享變量可以方便、可靠的實現(xiàn)控制計算機與目標機計算機之間的數(shù)據(jù)傳送以及邏輯控制。比起以前版本為實現(xiàn)網(wǎng)絡通訊所必須采取的 DataSocket技術等, 共享變量的邏輯以及代碼極其簡單。也正因為此, 共享變量的出現(xiàn)也大大提升了 LabVIEW 以前并不受贊揚的網(wǎng)絡通

訊性能 [5]

。

2 12 軟件組成與實時性控制

2 1211 軟件組成及流程

一般情況下, 非 N I公司的產(chǎn)品, 即第三方硬件產(chǎn)品, 并不能直接應用在 LabV IEW RT環(huán)境之下。而此時就必須自行開發(fā)板卡在 LabV IEW RT環(huán)境下的驅(qū)動, 其包括很多的過程 [ 6]。

然而 NI公司恰好開發(fā)出了 VM IPCI- 5565的驅(qū)動, 作為例程發(fā)布在 N I主頁上供開發(fā)者學習。實驗證明, 在對目標機進行一定設置后, 此驅(qū)動可以應用在 LabV IEW 的 RT環(huán)境下。系統(tǒng)軟件的組成分為宿主機控制程序和目標機采集程序兩部分, 功能可以實現(xiàn)由控制界面控制采樣時間限、采樣模式及點數(shù)、采樣率等參數(shù)設置的任意通道的數(shù)據(jù)采集和直接發(fā)送。軟件的流程如圖 3所示。

2 1212 軟件中的實時性考慮

圖 3 系統(tǒng)軟件流程圖

為盡量提升軟件運行的效率和數(shù)據(jù)處理的實時性, 軟件從總體方案和具體函數(shù)的選擇應用上都進行了優(yōu)化考慮。具體表現(xiàn)在: 在總體方案上, 程序盡量在開始采集命令下達之前實現(xiàn)所有的硬件參數(shù)配置以及控制變量的復位, 而在數(shù)據(jù)采集開始后使目標機上運行的代碼盡量少。而在具體函數(shù)的應用上, 也以運行代碼的簡潔高效為原則。這包括了對數(shù)據(jù)采集函數(shù)的改進組合和對數(shù)據(jù)發(fā)送時函數(shù)的選擇。數(shù)據(jù)采集函數(shù)在運行時,通過判斷采集模式 (是連續(xù)還是定點 ) 選擇在 DAQm x函數(shù)模

塊基礎上改進的采集子 VI[ 7- 8]。另外需要注意的是, 在數(shù)據(jù)發(fā)送時必須根據(jù)反射內(nèi)存卡函數(shù)的運行特點和發(fā)送數(shù)據(jù)的模式, 合適選擇編制的數(shù)據(jù)發(fā)送子V I 。由于反射內(nèi)存卡的驅(qū)動函數(shù)是由 LabVIEW 中的 V ISA底層函數(shù)綜合應用而成的[ 6], 尤其是數(shù)據(jù)讀寫函數(shù), 全部由 VISA中寄存器讀寫函數(shù)組成。所以一般的浮點型采集數(shù)據(jù)無法直接寫進寄存器, 而必須開發(fā)合適的數(shù)據(jù)轉(zhuǎn)換函數(shù)。此時有兩種方法: 一即把所有數(shù)據(jù)通過 LabV IEW 的 datafl a ttern子 VI轉(zhuǎn)化成字符型 ( 8位精度整形 ) 數(shù)據(jù) (此時又分兩種情況, 有適用于連續(xù)數(shù)據(jù)的單點轉(zhuǎn)化和適用于定量序列的向量轉(zhuǎn) ) , 發(fā)出后再通過相反的方法轉(zhuǎn)換回原始數(shù)據(jù); 二則是把浮點數(shù)據(jù)判斷正負后設置代表負數(shù)的標志位, 再通過一個固定的數(shù)學變換全部轉(zhuǎn)換成整形數(shù)據(jù), 把轉(zhuǎn)換后的數(shù)據(jù)和對應標志位數(shù)據(jù)一同發(fā)送, 接收后再結(jié)合標志位進行數(shù)據(jù)反變換即可。

可見, 第一種方法把一個 32位浮點數(shù)變成了 4個 8位整形數(shù)來發(fā)送, 而第二種方式增加了一倍的數(shù)據(jù)量, 但完成一個數(shù)據(jù)發(fā)送卻只發(fā)送兩次。于是, 如若是少量的數(shù)據(jù)序列, 則推薦采取第一種方式來發(fā)送; 而若是大批量數(shù)據(jù)發(fā)送, 則可以在預先分配標志位內(nèi)存區(qū)的情況下采用第二種方法。而隨后的實驗則證明, 這樣的選擇在實際上是正確的。

3 系統(tǒng)測試及結(jié)果分析

系統(tǒng)搭建完畢后, 對其的功能和性能進行了測試。測試方案為:

( 1) 數(shù)據(jù)采集計算機上在 LabVIEW RT環(huán)境下直接產(chǎn)生定量數(shù)據(jù), 通過寫入反射內(nèi)存發(fā)送, 計算出平均耗時, 以得到軟件的性能指標;

( 2) 數(shù)據(jù)采集計算機上在 LabVIEW RT環(huán)境下產(chǎn)生模擬數(shù)據(jù), 經(jīng)自我采回后再寫入反射內(nèi)存發(fā)送, 計算出平均耗時;

( 3) 利用 /銀河 - SI M 仿真工作站0 產(chǎn)生數(shù)據(jù), 由數(shù)據(jù)采集計算機節(jié)點采集數(shù)據(jù)并向數(shù)據(jù)接收計算機節(jié)點發(fā)送, 比較仿真工作站的模擬波形和接收計算機的數(shù)據(jù)波形, 以驗證系統(tǒng)功能。

測試結(jié)果表明:

( 1) 軟件發(fā)送 10000個 32位浮點數(shù)時, 通過第一種處理方式耗時 7 m s , 第二種處理方式耗時5m s , 性能達到了預期要求, 且耗時上的差異與理論上的推斷相符。

( 2) 軟件完全可以在同時輸出 2路模擬信號的情況下,實現(xiàn)可控制的任意多路 ( 1~ 7)、任意通道 ( 0~ 8) 同一采樣率下的數(shù)據(jù)采集與傳送, 且準確性較高、可靠性好。

( 3) 整個系統(tǒng)可以實現(xiàn)數(shù)據(jù)較好的實時傳輸, 完成數(shù)據(jù)的實時處理。

4 結(jié)束語

本文實現(xiàn)的系統(tǒng)是實驗室開發(fā)的 / 智能集成仿真網(wǎng)絡接口系統(tǒng)0 的一部分, 整體系統(tǒng)可以實現(xiàn)反射內(nèi)存網(wǎng)絡和廣播內(nèi)存網(wǎng)絡的實時數(shù)據(jù)通訊 [9- 10]。而本子系統(tǒng)除能完成總體的任務外, 由于具有網(wǎng)絡結(jié)構開放、工作模式簡潔高效的特點,更具有較大的發(fā)展空間和拓展應用前景。在系統(tǒng)投入應用后,在某制導武器的仿真試驗中工作良好, 在武器的開發(fā)定型中發(fā)揮了積極的作用。


上一頁 1 2 下一頁

評論


技術專區(qū)

關閉