4 關(guān)鍵技術(shù)
(1)COM技術(shù)
COM技術(shù)的核心是組件,組件是可以明確辨識和管理、可以提供某項服務(wù)的自包含的軟件模塊。它封裝了一定的數(shù)據(jù)(屬性)和方法(函數(shù)),并提供特定接口。開發(fā)人員通過訪問這些特定接口來使用組件,與其它程序模塊通信、交互,實現(xiàn)預(yù)期功能。組件是實現(xiàn)儀器驅(qū)動器語言、平臺無關(guān)和網(wǎng)絡(luò)位置透明的關(guān)鍵技術(shù)。
基于組件技術(shù)的驅(qū)動器模塊通過標(biāo)準(zhǔn)接口與其它軟件模塊通信,各個組件就像掛在“中總線”上一樣通過公共通道傳遞信息?;诖?,編程人員可以象“搭積木”似的開發(fā)自己的測試程序。更換儀器后,只要驅(qū)動器接口不變就不用更改測試程序。使用驅(qū)動器組件得儀器模擬的互換性、測試軟件的開放性和可重用性得到了根本保證,同時實現(xiàn)了軟件開發(fā)和應(yīng)用的不斷“迭代和增量”過程。
(2)多線程技術(shù)
同步、觸發(fā)、時序操作是儀器控制的客觀要求,而多線程技術(shù)是滿足這一要求的關(guān)鍵技術(shù)。Windows操作系統(tǒng)是一個多任務(wù)、多線程操作系統(tǒng),實行的是搶先式、多任務(wù)工作模式。在Windows環(huán)境中,每一個測試項目可以由一個線程來代表,這意味著一個測試程序可以同時完成多個測試任務(wù)。在多線程招待中系統(tǒng)會根據(jù)線程的優(yōu)先級和同步要求分配時間單元用于執(zhí)行多個線程,這樣實現(xiàn)了多任務(wù)分時占用CPU,可在一個段時間內(nèi)并行完成多個測試任務(wù)。多任務(wù)、多線程之間通過同步、通信(如共享內(nèi)存映射文件、訪問共享數(shù)據(jù)以及使用同一消息隊列等)以實現(xiàn)復(fù)雜的測試、控制邏輯。
(3)引擎技術(shù)
測試程序的儀器操作過程是TPS利用驅(qū)動器控制硬件儀器的過程。為了優(yōu)化這一控制過程,需要引擎技術(shù),把軟件代碼的控制需求轉(zhuǎn)變成實際的物理儀器操作。測試中用到的最多的同步、觸發(fā)功能,若有多個同步步驟需要連接、高速觸發(fā),在這樣的情況下,僅需要測試碼去控制是很難滿足需求的。為此,可以設(shè)計基于引擎技術(shù)的同步觸發(fā)引擎,把測試需求編程一定的序列輸入到相應(yīng)的同步觸發(fā)引擎中。依據(jù)測試程序的執(zhí)行自行觸發(fā)這一序列,將大大提高測試效率,滿足更高的測試速率要求,使測試程序具有自主觸發(fā)和時鐘路由能力。另外,隨著便攜式、模塊化、嵌入式實時環(huán)境對虛擬儀器的要求越來越迫切,還需要開發(fā)驅(qū)動器在這些不同環(huán)境下的運(yùn)行時引擎,以滿足各種需求。綜上,引擎技術(shù)在測試領(lǐng)域中有很大的發(fā)展空間,應(yīng)倍加重視。
(4)軟件工程技術(shù)
儀器驅(qū)動器是對物理儀器的功能描述,軟件工程技術(shù)將能保證驅(qū)動器設(shè)計的功能完備性。1997年由OMG(Object Management Group)發(fā)布的統(tǒng)一建模語言(UML,unified modeling language)和統(tǒng)一軟件開發(fā)過程是軟件工程領(lǐng)域中的重要成果,標(biāo)示著面向?qū)ο蠹夹g(shù)走向第二代。UML支持從系統(tǒng)需求分析到詳細(xì)設(shè)計再到系統(tǒng)的驗證測試的全部過程,當(dāng)出現(xiàn)問題時提供跟蹤機(jī)制。使用UML會幫助設(shè)計人員在建造驅(qū)動器框架中理解模型,把握儀器的全貌和功能、部件之間的聯(lián)系,防止過早地陷入各個模塊細(xì)節(jié)中去,有利于提高驅(qū)動器軟件的質(zhì)量,縮短研制周期,降低開發(fā)費(fèi)用。統(tǒng)一軟件開發(fā)過程是用戶驅(qū)動、以架構(gòu)為中心、不斷迭代和增量過程。基于這一過程,可以設(shè)計出功能完備、接口標(biāo)準(zhǔn)、易于升級換代的驅(qū)動器。
5 國內(nèi)現(xiàn)狀
我國在虛擬儀器驅(qū)動器研究方面取得了一定的進(jìn)展:成都電子科技大學(xué)開發(fā)出了具有自主知識產(chǎn)權(quán)的VISA庫;哈爾濱工業(yè)大學(xué)電氣工程系開發(fā)的虛擬儀器軟件開發(fā)平臺—ATS95可以實現(xiàn)對VXI、GPIB等總線接口的控制;成都市1所在引起PAWS平臺的同時也對面向信號的驅(qū)動器設(shè)計和平臺開發(fā)做了一定研究等等。但由于我國介入虛擬儀器研究比較晚,在硬件模擬方面沒有自己上規(guī)模、成系列的產(chǎn)品,導(dǎo)致了測試軟件沒有全面發(fā)展,很多關(guān)鍵技術(shù)仍處于起步階段,在驅(qū)動器設(shè)計方面沒有自己知識產(chǎn)權(quán)的技術(shù)規(guī)范和相關(guān)產(chǎn)品,仍需要很長的路要走。鑒于此,我們應(yīng)該在以下方面進(jìn)行努力:(1)開發(fā)自己的總線控制器,占領(lǐng)域虛擬儀器技術(shù)的心臟地帶;(2)設(shè)計各種儀器模塊產(chǎn)品并形成系列化,降低虛擬儀器系統(tǒng)的集成成本;(3)設(shè)計完備成熟的VISA庫,把握自己的知識產(chǎn)權(quán);(4)開展面向信號的驅(qū)動器技術(shù)研究,與國際接軌,深入研究虛擬儀器核心技術(shù)。