基于Labwindows實時光網(wǎng)虛擬示波器設(shè)計
——
基于Labwindows/CVI和SBS實時光網(wǎng)虛擬示波器設(shè)計
隨著計算機軟硬件技術(shù)不斷發(fā)展與提高,虛擬儀器技術(shù)已成為當(dāng)前測控領(lǐng)域內(nèi)的關(guān)鍵性技術(shù)。在遠(yuǎn)程測控與仿真方面,虛擬儀器網(wǎng)絡(luò)化,已成為急待解決的問題。通過利用SBS實時光網(wǎng)、虛擬儀器技術(shù)、ActiveX技術(shù)以及DCOM技術(shù),實現(xiàn)了網(wǎng)絡(luò)化虛擬示波器,從而使遠(yuǎn)程測控、數(shù)據(jù)共享成為了現(xiàn)實。
網(wǎng)絡(luò)虛擬示波器系統(tǒng)設(shè)計
網(wǎng)絡(luò)虛擬示波器系統(tǒng)總體上可分為兩部分:數(shù)據(jù)采集網(wǎng)絡(luò)、虛擬示波器。數(shù)據(jù)采集網(wǎng)絡(luò)負(fù)責(zé)遠(yuǎn)程數(shù)據(jù)信息的采集和遠(yuǎn)程控制指令傳送。虛擬示波器則通過數(shù)據(jù)網(wǎng)絡(luò)將所獲取的遠(yuǎn)程數(shù)據(jù)信息動態(tài)顯示、存儲。網(wǎng)絡(luò)虛擬示波器系統(tǒng)總體結(jié)構(gòu)框架如圖1所示。
圖1 網(wǎng)絡(luò)虛擬示波器系統(tǒng)結(jié)構(gòu)
由圖可知,數(shù)據(jù)采集網(wǎng)絡(luò)由遠(yuǎn)程信息數(shù)據(jù)源、數(shù)據(jù)源控制中心兩部分組成。其中,遠(yuǎn)程信息數(shù)據(jù)源,通過 SBS實時光網(wǎng),接收來自遠(yuǎn)程設(shè)備終端的數(shù)據(jù),并將這些數(shù)據(jù)按照一定的規(guī)則整合成一數(shù)據(jù)流,發(fā)送給數(shù)據(jù)源控制中心。數(shù)據(jù)源控制中心,實質(zhì)是一臺大型服務(wù)器,其主要職能是接收來自遠(yuǎn)程信息數(shù)據(jù)源的數(shù)據(jù),同時,還可將這些數(shù)據(jù)通過實時光網(wǎng)或以太網(wǎng)向其余數(shù)據(jù)信息處理終端進行發(fā)送,并將數(shù)據(jù)分析中心發(fā)出的遠(yuǎn)程控制指令發(fā)送給各遠(yuǎn)程設(shè)備終端。此外,該數(shù)據(jù)源控制中心,也可將各客戶終端數(shù)據(jù)分析處理結(jié)果,發(fā)布到整個網(wǎng)絡(luò)上,從而實現(xiàn)整個網(wǎng)絡(luò)的數(shù)據(jù)信息資源共享。這對于復(fù)雜系統(tǒng)遠(yuǎn)程測控是十分重要的,它可以將生成復(fù)雜系統(tǒng)的繁瑣控制指令分解給各客戶終端來完成,實現(xiàn)控制指令的并行生成,使得復(fù)雜系統(tǒng)控制變得迅速、可靠。虛擬示波器作為一個客戶終端可直接從數(shù)據(jù)源控制中心獲取數(shù)據(jù),完成數(shù)據(jù)波形信號動態(tài)顯示、存儲的任務(wù)。
數(shù)據(jù)采集網(wǎng)絡(luò)系統(tǒng)設(shè)計
出于實時性考慮,數(shù)據(jù)采集網(wǎng)絡(luò)采用實時光網(wǎng)進行搭建。SBS實時光網(wǎng)是由美國SBS公司開發(fā)的具有星形結(jié)構(gòu)的實時網(wǎng)絡(luò)。它以光作為信息傳輸?shù)慕橘|(zhì),因而具有極強的實時性。
SBS 的廣播內(nèi)存是唯一的高性能Hub結(jié)構(gòu)配置的網(wǎng)絡(luò),應(yīng)用于多臺計算機實時的、確定的內(nèi)存共享。廣播內(nèi)存的Hub結(jié)構(gòu)比環(huán)形結(jié)構(gòu)(如VMIC)更穩(wěn)定。一個節(jié)點的故障只影響本節(jié)點,不影響整個網(wǎng)絡(luò),同時,具有較高的網(wǎng)絡(luò)穩(wěn)定性、高帶寬和非常低的延遲特性。廣播內(nèi)存使網(wǎng)上所有計算機(節(jié)點)共享內(nèi)存 (NetRAM),每一個節(jié)點有它自己的NetRAM的物理備份,節(jié)點通過光纖與安裝在中心Hub的一個端口卡相連接。寫入本地節(jié)點卡的數(shù)據(jù)對Hub是以廣播方式傳送的并且同時寫入所有節(jié)點的內(nèi)存。
Hub將各種數(shù)據(jù)流合并到一個能廣播傳送到所有節(jié)點的普通數(shù)據(jù)流里,廣播內(nèi)存保證數(shù)據(jù)同時并且按同一順序到達所有的節(jié)點內(nèi)存。鏈接傳輸率高達43MB/s,寫延遲是10微秒,在優(yōu)先權(quán)高的節(jié)點延遲更小,并且是可預(yù)知的。所有的節(jié)點能通過“寫入 NetRAM”的方式,透明地并確定地廣播傳送中斷、消息或者數(shù)據(jù)塊到其它的節(jié)點。通過一個簡單的“寫入NetRAM”由任何節(jié)點傳送中斷,一個寫中斷桌面(WIT)控制中斷。從本節(jié)點的NetRAM備份中讀取數(shù)據(jù)。Hub將分離的數(shù)據(jù)流從節(jié)點卡合并到一個普通數(shù)據(jù)流里,并同時廣播到所有的節(jié)點。一個 Hub通過一個背板和端口卡所插的14個槽,支持28個獨立的節(jié)點。每一個Hub端口卡設(shè)有FIFOs,保證單個節(jié)點接收的各種數(shù)據(jù)流合到一個普通數(shù)據(jù)流里并廣播到所有節(jié)點時有最大的傳輸率。背板是一個用于互聯(lián)很多節(jié)點卡的通用鏈接板,以形成網(wǎng)絡(luò)。綜合的錯誤監(jiān)控和糾錯特點確保最高的Hub可靠性。數(shù)據(jù)源控制中心通過該實時數(shù)據(jù)采集光纖網(wǎng)絡(luò)與遠(yuǎn)程終端實現(xiàn)數(shù)據(jù)的交換和信息的共享。
虛擬示波器設(shè)計
眾所周知,虛擬儀器技術(shù)的誕生掀起了儀器儀表開發(fā)的一場革命。它將硬件軟化,節(jié)省了大量硬件研制成本,大大縮短了儀器設(shè)備的開發(fā)周期。因此,一直受到測控領(lǐng)域人士的青睞。在虛擬示波器的設(shè)計中,我們采用Labwindows/CVI 來進行設(shè)計與開發(fā)。Labwindows/CVI是由美國National Instrument公司(美國國家儀器公司,NI)推出的進行虛擬儀器設(shè)計的交互式C語言開發(fā)平臺。它將功能強大、使用靈活的C語言與用于數(shù)據(jù)采集分析和現(xiàn)實的測控專業(yè)工具有機的結(jié)合起來,為熟悉C語言的開發(fā)人員建立檢測系統(tǒng)、自動測試環(huán)境、數(shù)據(jù)采集系統(tǒng)、過程監(jiān)控系統(tǒng)、虛擬儀器等提供了一個理想的軟件開發(fā)環(huán)境。與一般虛擬示波器不同,傳統(tǒng)的虛擬示波器數(shù)據(jù)來源是通過A/D采樣而獲得的,網(wǎng)絡(luò)虛擬示波器是通過數(shù)據(jù)網(wǎng)絡(luò)來獲取數(shù)據(jù)的,其自身不存在A/D采樣波形失真的問題,從而消除了A/D采樣對示波器頻帶造成的瓶頸。根據(jù)網(wǎng)絡(luò)化虛擬示波器的特點,我們設(shè)計出了如圖2所示的網(wǎng)絡(luò)虛擬示波器。
圖2 網(wǎng)絡(luò)虛擬示波器
在網(wǎng)絡(luò)虛擬示波器控制程序中,我們使用了多線程技術(shù),以保證波形顯示的穩(wěn)定、可靠。多線程技術(shù)是指,將數(shù)據(jù)獲取和波形顯示分別在兩個不同的線程中進行,即控制程序在一個線程中進行波形顯示的同時,在另一線程中進行數(shù)據(jù)的采集。這樣,既保證數(shù)據(jù)采集的可靠性,又保證了波形顯示的真實穩(wěn)定。需要指出的是,數(shù)據(jù)采集頻率fs直接影響示波器的頻帶。根據(jù)香濃采樣定律,網(wǎng)絡(luò)虛擬示波器的頻帶應(yīng)小于fs/2。因而,數(shù)據(jù)采集頻率fs的大小將直接影響到示波器頻帶的寬窄。此外,為了消除波形顯示的閃爍和抖動,我們在控制程序中開辟了兩個緩沖區(qū)。其目的是在波形顯示時,兩個緩沖區(qū)的數(shù)據(jù)進行交替顯示,這樣就消除了波形顯示過程中的閃爍和抖動。網(wǎng)絡(luò)虛擬示波器控制流程如圖3所示。
圖3 網(wǎng)絡(luò)虛擬示波器控制流程
由圖3可知,網(wǎng)絡(luò)虛擬示波器啟動后,首先建立與數(shù)據(jù)網(wǎng)的連接,隨后,獲取網(wǎng)絡(luò)上的數(shù)據(jù)寫入空緩沖區(qū)中,同時將寫滿數(shù)據(jù)的緩沖區(qū)數(shù)據(jù)顯示到示波屏上,如此往復(fù),示波器便會將數(shù)據(jù)信號源源不斷顯示出來。如要終止波形顯示,則要將網(wǎng)絡(luò)虛擬示波器與數(shù)據(jù)網(wǎng)斷開,而后關(guān)閉網(wǎng)絡(luò)虛擬示波器即可。當(dāng)然顯示過程中,可以對波形的幅值和相位進行調(diào)節(jié),已達到波形最佳觀測效果。
虛擬示波器與數(shù)采網(wǎng)絡(luò)的掛接
虛擬示波器如何與數(shù)據(jù)采集網(wǎng)絡(luò)進行掛接是網(wǎng)絡(luò)虛擬示波器的一項關(guān)鍵技術(shù)。硬件方面,出于強實時性考慮,我們使用SBS實時光網(wǎng)作為它們之間的連接體。當(dāng)然對于實時性要求不高的其他客戶端可通過普通以太網(wǎng)進行連接。軟件方面,為了能夠從網(wǎng)絡(luò)獲取數(shù)據(jù),我們采用了ActiveX和DCOM技術(shù)。ActiveX是對開發(fā)面向可用于不同軟件開發(fā)環(huán)境下的具有可重用性組件技術(shù)的一種統(tǒng)稱。DCOM技術(shù)是一種分布式COM技術(shù),使用它可以將運行在服務(wù)器上的組件,復(fù)用在同一網(wǎng)絡(luò)的客戶端。我們利用DCOM技術(shù)這一優(yōu)點,通過運行在數(shù)據(jù)源控制中心的DCOM服務(wù)器應(yīng)用程序,獲取遠(yuǎn)程信息數(shù)據(jù)源傳來的數(shù)據(jù),而后,運行虛擬示波器的客戶端,通過運行在其上的ActiveX客戶端應(yīng)用程序獲取DCOM服務(wù)器上的遠(yuǎn)程數(shù)據(jù),從而,實現(xiàn)虛擬示波器的網(wǎng)絡(luò)數(shù)據(jù)獲取。利用以上軟硬件方面的技術(shù),我們實現(xiàn)了虛擬示波器與數(shù)據(jù)采集網(wǎng)絡(luò)的成功掛接。從而實現(xiàn)了網(wǎng)絡(luò)化虛擬示波器,該網(wǎng)絡(luò)虛擬示波器成功的應(yīng)用于某型無人機的地面半實物仿真試驗中,為試驗數(shù)據(jù)在線觀測、數(shù)據(jù)回放、存儲與分析提供了強有力的支持。圖4為試驗過程中部分?jǐn)?shù)據(jù)曲線觀測結(jié)果。
圖4 網(wǎng)絡(luò)虛擬示波器半實物仿真試驗數(shù)據(jù)觀測結(jié)果
結(jié)語
我們將網(wǎng)絡(luò)虛擬示波器成功應(yīng)用在了遠(yuǎn)程測控、半實物仿真等方面,這對于需要實現(xiàn)無人值守,全自動化監(jiān)控的應(yīng)用領(lǐng)域有著重要的意義。它的出現(xiàn)可以大大提高工業(yè)自動化的水平,縮減人員消耗,降低成本,對于工作條件惡劣,工作環(huán)境危險的領(lǐng)域?qū)崿F(xiàn)無人值守,有著重要的應(yīng)用價值。網(wǎng)絡(luò)虛擬示波器所取得的成果,可為今后虛擬儀器網(wǎng)絡(luò)化提供一種極好的工程解決方案。當(dāng)然,網(wǎng)絡(luò)虛擬示波器采用SBS實時光網(wǎng)來傳送數(shù)據(jù),會使組網(wǎng)成本大為提高。今后,我們將在保證網(wǎng)絡(luò)數(shù)據(jù)傳輸實時性前提下,使用普通以太網(wǎng)來組網(wǎng)進行更深入的研究。
參考文獻:
1. Thuan L Thai:DCOM 入門.中國電力出版社,2001
2. 張毅剛、喬立巖等.虛擬儀器軟件開發(fā)環(huán)境Lab Windows/CVI6.0編程指南,機械工業(yè)出版社,2002年8月
3. Labwindows/CVI Programmer Reference Manual. National Instruments Co,1998.
4. SBS公司,實時網(wǎng)絡(luò)用戶使用指南
評論