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