基于Labwindows實(shí)時(shí)光網(wǎng)虛擬示波器設計
——
基于Labwindows/CVI和SBS實(shí)時(shí)光網(wǎng)虛擬示波器設計
隨著(zhù)計算機軟硬件技術(shù)不斷發(fā)展與提高,虛擬儀器技術(shù)已成為當前測控領(lǐng)域內的關(guān)鍵性技術(shù)。在遠程測控與仿真方面,虛擬儀器網(wǎng)絡(luò )化,已成為急待解決的問(wèn)題。通過(guò)利用SBS實(shí)時(shí)光網(wǎng)、虛擬儀器技術(shù)、ActiveX技術(shù)以及DCOM技術(shù),實(shí)現了網(wǎng)絡(luò )化虛擬示波器,從而使遠程測控、數據共享成為了現實(shí)。
網(wǎng)絡(luò )虛擬示波器系統設計
網(wǎng)絡(luò )虛擬示波器系統總體上可分為兩部分:數據采集網(wǎng)絡(luò )、虛擬示波器。數據采集網(wǎng)絡(luò )負責遠程數據信息的采集和遠程控制指令傳送。虛擬示波器則通過(guò)數據網(wǎng)絡(luò )將所獲取的遠程數據信息動(dòng)態(tài)顯示、存儲。網(wǎng)絡(luò )虛擬示波器系統總體結構框架如圖1所示。

圖1 網(wǎng)絡(luò )虛擬示波器系統結構
由圖可知,數據采集網(wǎng)絡(luò )由遠程信息數據源、數據源控制中心兩部分組成。其中,遠程信息數據源,通過(guò) SBS實(shí)時(shí)光網(wǎng),接收來(lái)自遠程設備終端的數據,并將這些數據按照一定的規則整合成一數據流,發(fā)送給數據源控制中心。數據源控制中心,實(shí)質(zhì)是一臺大型服務(wù)器,其主要職能是接收來(lái)自遠程信息數據源的數據,同時(shí),還可將這些數據通過(guò)實(shí)時(shí)光網(wǎng)或以太網(wǎng)向其余數據信息處理終端進(jìn)行發(fā)送,并將數據分析中心發(fā)出的遠程控制指令發(fā)送給各遠程設備終端。此外,該數據源控制中心,也可將各客戶(hù)終端數據分析處理結果,發(fā)布到整個(gè)網(wǎng)絡(luò )上,從而實(shí)現整個(gè)網(wǎng)絡(luò )的數據信息資源共享。這對于復雜系統遠程測控是十分重要的,它可以將生成復雜系統的繁瑣控制指令分解給各客戶(hù)終端來(lái)完成,實(shí)現控制指令的并行生成,使得復雜系統控制變得迅速、可靠。虛擬示波器作為一個(gè)客戶(hù)終端可直接從數據源控制中心獲取數據,完成數據波形信號動(dòng)態(tài)顯示、存儲的任務(wù)。
數據采集網(wǎng)絡(luò )系統設計
出于實(shí)時(shí)性考慮,數據采集網(wǎng)絡(luò )采用實(shí)時(shí)光網(wǎng)進(jìn)行搭建。SBS實(shí)時(shí)光網(wǎng)是由美國SBS公司開(kāi)發(fā)的具有星形結構的實(shí)時(shí)網(wǎng)絡(luò )。它以光作為信息傳輸的介質(zhì),因而具有極強的實(shí)時(shí)性。
SBS 的廣播內存是唯一的高性能Hub結構配置的網(wǎng)絡(luò ),應用于多臺計算機實(shí)時(shí)的、確定的內存共享。廣播內存的Hub結構比環(huán)形結構(如VMIC)更穩定。一個(gè)節點(diǎn)的故障只影響本節點(diǎn),不影響整個(gè)網(wǎng)絡(luò ),同時(shí),具有較高的網(wǎng)絡(luò )穩定性、高帶寬和非常低的延遲特性。廣播內存使網(wǎng)上所有計算機(節點(diǎn))共享內存 (NetRAM),每一個(gè)節點(diǎn)有它自己的NetRAM的物理備份,節點(diǎn)通過(guò)光纖與安裝在中心Hub的一個(gè)端口卡相連接。寫(xiě)入本地節點(diǎn)卡的數據對Hub是以廣播方式傳送的并且同時(shí)寫(xiě)入所有節點(diǎn)的內存。
Hub將各種數據流合并到一個(gè)能廣播傳送到所有節點(diǎn)的普通數據流里,廣播內存保證數據同時(shí)并且按同一順序到達所有的節點(diǎn)內存。鏈接傳輸率高達43MB/s,寫(xiě)延遲是10微秒,在優(yōu)先權高的節點(diǎn)延遲更小,并且是可預知的。所有的節點(diǎn)能通過(guò)“寫(xiě)入 NetRAM”的方式,透明地并確定地廣播傳送中斷、消息或者數據塊到其它的節點(diǎn)。通過(guò)一個(gè)簡(jiǎn)單的“寫(xiě)入NetRAM”由任何節點(diǎn)傳送中斷,一個(gè)寫(xiě)中斷桌面(WIT)控制中斷。從本節點(diǎn)的NetRAM備份中讀取數據。Hub將分離的數據流從節點(diǎn)卡合并到一個(gè)普通數據流里,并同時(shí)廣播到所有的節點(diǎn)。一個(gè) Hub通過(guò)一個(gè)背板和端口卡所插的14個(gè)槽,支持28個(gè)獨立的節點(diǎn)。每一個(gè)Hub端口卡設有FIFOs,保證單個(gè)節點(diǎn)接收的各種數據流合到一個(gè)普通數據流里并廣播到所有節點(diǎn)時(shí)有最大的傳輸率。背板是一個(gè)用于互聯(lián)很多節點(diǎn)卡的通用鏈接板,以形成網(wǎng)絡(luò )。綜合的錯誤監控和糾錯特點(diǎn)確保最高的Hub可靠性。數據源控制中心通過(guò)該實(shí)時(shí)數據采集光纖網(wǎng)絡(luò )與遠程終端實(shí)現數據的交換和信息的共享。
虛擬示波器設計
眾所周知,虛擬儀器技術(shù)的誕生掀起了儀器儀表開(kāi)發(fā)的一場(chǎng)革命。它將硬件軟化,節省了大量硬件研制成本,大大縮短了儀器設備的開(kāi)發(fā)周期。因此,一直受到測控領(lǐng)域人士的青睞。在虛擬示波器的設計中,我們采用Labwindows/CVI 來(lái)進(jìn)行設計與開(kāi)發(fā)。Labwindows/CVI是由美國National Instrument公司(美國國家儀器公司,NI)推出的進(jìn)行虛擬儀器設計的交互式C語(yǔ)言開(kāi)發(fā)平臺。它將功能強大、使用靈活的C語(yǔ)言與用于數據采集分析和現實(shí)的測控專(zhuān)業(yè)工具有機的結合起來(lái),為熟悉C語(yǔ)言的開(kāi)發(fā)人員建立檢測系統、自動(dòng)測試環(huán)境、數據采集系統、過(guò)程監控系統、虛擬儀器等提供了一個(gè)理想的軟件開(kāi)發(fā)環(huán)境。與一般虛擬示波器不同,傳統的虛擬示波器數據來(lái)源是通過(guò)A/D采樣而獲得的,網(wǎng)絡(luò )虛擬示波器是通過(guò)數據網(wǎng)絡(luò )來(lái)獲取數據的,其自身不存在A(yíng)/D采樣波形失真的問(wèn)題,從而消除了A/D采樣對示波器頻帶造成的瓶頸。根據網(wǎng)絡(luò )化虛擬示波器的特點(diǎn),我們設計出了如圖2所示的網(wǎng)絡(luò )虛擬示波器。

圖2 網(wǎng)絡(luò )虛擬示波器
在網(wǎng)絡(luò )虛擬示波器控制程序中,我們使用了多線(xiàn)程技術(shù),以保證波形顯示的穩定、可靠。多線(xiàn)程技術(shù)是指,將數據獲取和波形顯示分別在兩個(gè)不同的線(xiàn)程中進(jìn)行,即控制程序在一個(gè)線(xiàn)程中進(jìn)行波形顯示的同時(shí),在另一線(xiàn)程中進(jìn)行數據的采集。這樣,既保證數據采集的可靠性,又保證了波形顯示的真實(shí)穩定。需要指出的是,數據采集頻率fs直接影響示波器的頻帶。根據香濃采樣定律,網(wǎng)絡(luò )虛擬示波器的頻帶應小于fs/2。因而,數據采集頻率fs的大小將直接影響到示波器頻帶的寬窄。此外,為了消除波形顯示的閃爍和抖動(dòng),我們在控制程序中開(kāi)辟了兩個(gè)緩沖區。其目的是在波形顯示時(shí),兩個(gè)緩沖區的數據進(jìn)行交替顯示,這樣就消除了波形顯示過(guò)程中的閃爍和抖動(dòng)。網(wǎng)絡(luò )虛擬示波器控制流程如圖3所示。

圖3 網(wǎng)絡(luò )虛擬示波器控制流程
由圖3可知,網(wǎng)絡(luò )虛擬示波器啟動(dòng)后,首先建立與數據網(wǎng)的連接,隨后,獲取網(wǎng)絡(luò )上的數據寫(xiě)入空緩沖區中,同時(shí)將寫(xiě)滿(mǎn)數據的緩沖區數據顯示到示波屏上,如此往復,示波器便會(huì )將數據信號源源不斷顯示出來(lái)。如要終止波形顯示,則要將網(wǎng)絡(luò )虛擬示波器與數據網(wǎng)斷開(kāi),而后關(guān)閉網(wǎng)絡(luò )虛擬示波器即可。當然顯示過(guò)程中,可以對波形的幅值和相位進(jìn)行調節,已達到波形最佳觀(guān)測效果。
虛擬示波器與數采網(wǎng)絡(luò )的掛接
虛擬示波器如何與數據采集網(wǎng)絡(luò )進(jìn)行掛接是網(wǎng)絡(luò )虛擬示波器的一項關(guān)鍵技術(shù)。硬件方面,出于強實(shí)時(shí)性考慮,我們使用SBS實(shí)時(shí)光網(wǎng)作為它們之間的連接體。當然對于實(shí)時(shí)性要求不高的其他客戶(hù)端可通過(guò)普通以太網(wǎng)進(jìn)行連接。軟件方面,為了能夠從網(wǎng)絡(luò )獲取數據,我們采用了ActiveX和DCOM技術(shù)。ActiveX是對開(kāi)發(fā)面向可用于不同軟件開(kāi)發(fā)環(huán)境下的具有可重用性組件技術(shù)的一種統稱(chēng)。DCOM技術(shù)是一種分布式COM技術(shù),使用它可以將運行在服務(wù)器上的組件,復用在同一網(wǎng)絡(luò )的客戶(hù)端。我們利用DCOM技術(shù)這一優(yōu)點(diǎn),通過(guò)運行在數據源控制中心的DCOM服務(wù)器應用程序,獲取遠程信息數據源傳來(lái)的數據,而后,運行虛擬示波器的客戶(hù)端,通過(guò)運行在其上的ActiveX客戶(hù)端應用程序獲取DCOM服務(wù)器上的遠程數據,從而,實(shí)現虛擬示波器的網(wǎng)絡(luò )數據獲取。利用以上軟硬件方面的技術(shù),我們實(shí)現了虛擬示波器與數據采集網(wǎng)絡(luò )的成功掛接。從而實(shí)現了網(wǎng)絡(luò )化虛擬示波器,該網(wǎng)絡(luò )虛擬示波器成功的應用于某型無(wú)人機的地面半實(shí)物仿真試驗中,為試驗數據在線(xiàn)觀(guān)測、數據回放、存儲與分析提供了強有力的支持。圖4為試驗過(guò)程中部分數據曲線(xiàn)觀(guān)測結果。

圖4 網(wǎng)絡(luò )虛擬示波器半實(shí)物仿真試驗數據觀(guān)測結果
結語(yǔ)
我們將網(wǎng)絡(luò )虛擬示波器成功應用在了遠程測控、半實(shí)物仿真等方面,這對于需要實(shí)現無(wú)人值守,全自動(dòng)化監控的應用領(lǐng)域有著(zhù)重要的意義。它的出現可以大大提高工業(yè)自動(dòng)化的水平,縮減人員消耗,降低成本,對于工作條件惡劣,工作環(huán)境危險的領(lǐng)域實(shí)現無(wú)人值守,有著(zhù)重要的應用價(jià)值。網(wǎng)絡(luò )虛擬示波器所取得的成果,可為今后虛擬儀器網(wǎng)絡(luò )化提供一種極好的工程解決方案。當然,網(wǎng)絡(luò )虛擬示波器采用SBS實(shí)時(shí)光網(wǎng)來(lái)傳送數據,會(huì )使組網(wǎng)成本大為提高。今后,我們將在保證網(wǎng)絡(luò )數據傳輸實(shí)時(shí)性前提下,使用普通以太網(wǎng)來(lái)組網(wǎng)進(jìn)行更深入的研究。
參考文獻:
1. Thuan L Thai:DCOM 入門(mén).中國電力出版社,2001
2. 張毅剛、喬立巖等.虛擬儀器軟件開(kāi)發(fā)環(huán)境Lab Windows/CVI6.0編程指南,機械工業(yè)出版社,2002年8月
3. Labwindows/CVI Programmer Reference Manual. National Instruments Co,1998.
4. SBS公司,實(shí)時(shí)網(wǎng)絡(luò )用戶(hù)使用指南
評論