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