新聞中心

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

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

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

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

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

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

訊性能 [5]

。

2 12 軟件組成與實(shí)時(shí)性控制

2 1211 軟件組成及流程

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

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

2 1212 軟件中的實(shí)時(shí)性考慮

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

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

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

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

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

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

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

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

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

測試結(jié)果表明:

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

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

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

4 結(jié)束語

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


上一頁 1 2 下一頁

評(píng)論


技術(shù)專區(qū)

關(guān)閉