網絡化虛擬測控系統(tǒng)的設計
1.3 網絡化虛擬謝控系統(tǒng)軟件設計
軟件系統(tǒng)是網絡化虛擬測控系統(tǒng)的核心,系統(tǒng)軟件主要由虛擬儀器軟件、PCI接口卡驅動程序以及SOPC軟件組成。虛擬儀器軟件利用Lab Windows/CVI自帶的強大測控工具以及豐富的功能面板和庫函數(shù),采用事件驅動、交互式與回調函數(shù)編程技術,設計開發(fā)了信號采集與轉換、數(shù)字信號處理與分析、數(shù)據存儲與顯示、外部設備配置等模塊,使用到的技術主要有:
1)Matlab與Labview混合編程Matla5語言已經成為科研人員有力的仿真分析工具,幾乎滲透到各個學科。雖然Matlab擁有很強的數(shù)據分析處理以及復雜數(shù)值計算能力,但是其在界面開發(fā)、硬件連接控制及網絡通信等方面都不如Labview。將Matlab和Labview結合是提高測控儀器精度、可靠性、擴展性以及開發(fā)效率的有效途徑。
Matlab與Labview混合編程方法有兩種:①直接調用Labview內建的600多條Matlab函數(shù);②通過Matlab(Ver6.5)ActiveX接口調用運行Matlab函數(shù)、與Matlab數(shù)據交換以及控制Matlab窗口等命令。其過程為;a.引用自動化對象:在Labview的Controls>>ActiveX>>Automation Refnum模板中選擇自動化引用(Automation Refnum)控制量,將其放置在前面板上,從對象列表中選擇Matlab應用庫。這樣Matlab的引用就添加到程序中。b.訪問Matlab自動化服務器:Labview在其Function>L>Communication>>ActiveX模板中提供了一組與AetiveX操作相關的VI,其中Automation Open.vi打開引用,啟動Matlab自動化服務器,并將引用傳遞給其他節(jié)點,如屬性節(jié)點(Property Node)、調用方法節(jié)點(In voke Node)。③使用Matlab Script節(jié)點。Labview使用ActiveX技術執(zhí)行MatlabScript節(jié)點,啟動Matlab進程。這樣可以在Labview應用程序中使用執(zhí)行Matlab命令、使用各種工具箱。圖6為Labview調用Matlab語言中6階巴特沃斯(Butterworth)濾波器對正弦函數(shù)的濾波實驗結果。本文引用地址:http://butianyuan.cn/article/186898.htm
2)基于LabSQL的數(shù)據庫訪問 虛擬儀器應用程序需要對采集數(shù)據以及數(shù)據分析結果進行存儲和訪問,Labview提供了類似SQL的數(shù)據庫訪問方法。用戶首先在ODBC中指定DSN(數(shù)據源名)和ODBC驅動程序,由LabSQL ConnectionVIs通過ODBC建立LabSQL與數(shù)據庫連接。然后利用LabSQL Command VIs完成ADO操作以及Recordset VIs對數(shù)據庫記錄操作,實現(xiàn)應用程序與數(shù)據庫之間的數(shù)據交互傳遞。
3)基于DataSocket建立客戶機/服務器測控系統(tǒng) 對于網絡化測控系統(tǒng),由于把各節(jié)點數(shù)據匯總到處理主機,設計上采用DataSocket技術建立客服務器/客戶端(C/S)通信模式。主機工作于服務器模式,負責相應客戶端的請求以及采集、存儲和處理數(shù)據,客戶端數(shù)據點計算機工作于Client模式,實現(xiàn)數(shù)據傳送。利用DataSocket發(fā)布數(shù)據需要3個要素:服務器(DataSocket Server),負責把數(shù)據寫到服務器的發(fā)布器(Publisher),客戶機從服務器讀取數(shù)據的訂閱器(Subscriber)。其工作過程為:①客戶端和服務器端分別運行DataSocketServer;②建立客戶端與服務器端DataSocket的連接;③客戶端接收和顯示測量數(shù)據:客戶只需通過DataSocket Server發(fā)送請求即可實現(xiàn)數(shù)據的接收,這樣客戶機通過控制服務器端軟件實現(xiàn)遠程測控。
4)WDM驅動程序設計 由于該系統(tǒng)基于PCI接口卡,因此需要開發(fā)windows環(huán)境下的PCI接口卡驅動程序。綜合考慮驅動程序的效率和靈活性,系統(tǒng)選用windows DDK與VC++語言開發(fā)PCI接口卡驅動程序。驅動程序主要包括初始化模塊、內存讀寫模塊、I/O操作模塊、中斷模塊以及WDM與應用程序的通信模塊,詳細設計可以參考文獻,在此不再詳述。
2 結束語
本文設計的網絡化虛擬測控系統(tǒng)具有硬件模塊化、網絡化、開放性以及操作方便等特點,適應了當前測控儀器向網絡化和虛擬化方向發(fā)展的趨勢,因而具有較強的應用性和擴充性。
文中介紹了系統(tǒng)的設計與相關模塊的實現(xiàn),并簡要說明了關鍵軟件模塊的設計方法。需要指出的是,本文設計的網絡化虛擬測控系統(tǒng)具有教學和科研雙重價值,對本系統(tǒng)增加新的硬件模塊或者修改虛擬儀器應用軟件可以完成不同的測試任務和控制任務。今后還需要在硬件模塊標準化,硬件模塊的故障監(jiān)測與故障修復,物聯(lián)網在虛擬測控儀器上應用,分布式網絡化測控系統(tǒng)的拓撲結構等方面進行研究。
評論