技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 測(cè)試系統(tǒng)的儀器可互換性配置實(shí)現(xiàn)

測(cè)試系統(tǒng)的儀器可互換性配置實(shí)現(xiàn)

時(shí)間:2008-07-22 14:56:00來源:ronggang

導(dǎo)語:?文章介紹了LabWindows/CVI配置測(cè)試系統(tǒng)儀器可互換性的兩種方法,并設(shè)計(jì)了“儀器可互換性配置” 子系統(tǒng),子系統(tǒng)的配置文件存儲(chǔ)測(cè)試系統(tǒng)的儀器類和虛擬儀器名信息
摘 要:文章介紹了LabWindows/CVI配置測(cè)試系統(tǒng)儀器可互換性的兩種方法,并設(shè)計(jì)了“儀器可互換性配置” 子系統(tǒng),子系統(tǒng)的配置文件存儲(chǔ)測(cè)試系統(tǒng)的儀器類和虛擬儀器名信息。同時(shí)介紹了儀器可互換性編程中影響互換性的一些因素。 關(guān)鍵詞:可互換性;虛擬儀器;測(cè)試系統(tǒng);LabWindows/CVI 引言   實(shí)現(xiàn)測(cè)試系統(tǒng)的儀器可互換性是長期以來許多工程師特別是軍事和航空電子行業(yè)工程師所致力于的一個(gè)目標(biāo)。1997年建立的IVI(Interchangeable Virtual Instruments,可互換性)基金會(huì),致力于在VPP(VXI plug&play,VXI即插即用)規(guī)范的基礎(chǔ)上建立可互換、高性能、更易于維護(hù)的儀器編程模型,并在VPP儀器廠商共同支持的框架標(biāo)準(zhǔn)基礎(chǔ)上定義儀器的通用結(jié)構(gòu)和實(shí)現(xiàn)方法,為測(cè)試系統(tǒng)開發(fā)者服務(wù)。目前,IVI基金會(huì)已經(jīng)制定了大量IVI技術(shù)規(guī)范,許多儀器生產(chǎn)廠商也遵循這些規(guī)范開發(fā)儀器并提供符合IVI技術(shù)規(guī)范的儀器驅(qū)動(dòng)器。因此,使用IVI驅(qū)動(dòng)器開發(fā)儀器可互換性測(cè)試系統(tǒng)就成為主流。   為了確保測(cè)試系統(tǒng)完全的儀器可互換性,用戶需要直接對(duì)儀器類API編程而不能直接對(duì)IVI類兼容專用驅(qū)動(dòng)器進(jìn)行編程。在測(cè)試程序中也不能直接對(duì)與特定儀器相關(guān)的驅(qū)動(dòng)器和硬件資源進(jìn)行配置,需要借助于外部“配置倉”,對(duì)特定儀器驅(qū)動(dòng)器進(jìn)行動(dòng)態(tài)加載。為了實(shí)現(xiàn)這種功能,用戶需要定義一個(gè)邏輯名,通過邏輯名調(diào)用IVI驅(qū)動(dòng)器,然后從配置倉中查找匹配信息,得到實(shí)際的IVI類兼容專用驅(qū)動(dòng)器指針,動(dòng)態(tài)加載該驅(qū)動(dòng)器,鏈接相應(yīng)函數(shù)和屬性,使應(yīng)用程序可以間接訪問這些函數(shù)和屬性。邏輯名以及配置倉中與邏輯名匹配的相關(guān)信息都需要作為測(cè)試系統(tǒng)信息進(jìn)行配置。本文介紹了使用LabWindows/CVI進(jìn)行系統(tǒng)儀器可互換性配置的兩種方法,并設(shè)計(jì)了“測(cè)試系統(tǒng)儀器可互換性配置子系統(tǒng)”。 1 使用MAX配置儀器可互換性   Measurement & Automation Explorer(MAX)是NI公司提供的所有硬件和相關(guān)驅(qū)動(dòng)軟件的標(biāo)準(zhǔn)配置工具,可以對(duì)IVI引擎配置倉進(jìn)行配置,使類驅(qū)動(dòng)器可以與專用儀器驅(qū)動(dòng)器通信。在MAX中需要配置的有四項(xiàng):Devices、Instrument Drivers、Virtual Instruments和Logical Names。  ?。?)Devices:包含了以VISA源描述符號(hào)形式表示的儀器物理硬件地址信息。它顯示了測(cè)試系統(tǒng)已經(jīng)定義的儀器。比如,用戶可以定義“DAQ::1::INSTR”位置的儀器為“nidmm”。儀器名可以任意定義,但是如果在物理硬件地址不存在實(shí)際儀器,則此儀器名在非仿真狀態(tài)下無法使用。  ?。?)Instrument Drivers:包含了測(cè)試系統(tǒng)所安裝的所有類驅(qū)動(dòng)器、仿真驅(qū)動(dòng)器和專用驅(qū)動(dòng)器信息。當(dāng)系統(tǒng)安裝新的IVI驅(qū)動(dòng)器,這些信息相應(yīng)進(jìn)行更新。類驅(qū)動(dòng)器可以手動(dòng)加入,專用儀器驅(qū)動(dòng)器則只能在安裝了IVI驅(qū)動(dòng)器時(shí)自動(dòng)加入。  ?。?)Virtual Instruments:虛擬儀器,是物理儀器、儀器驅(qū)動(dòng)器和選項(xiàng)設(shè)置的綜合。它包含了當(dāng)前系統(tǒng)中所安裝的每一個(gè)IVI專用儀器驅(qū)動(dòng)器的信息。這些信息包括驅(qū)動(dòng)中IVI屬性的初始化設(shè)置,如狀態(tài)緩存,仿真等等。Virtual Instruments項(xiàng)包括仿真虛擬儀器和儀器專用虛擬儀器。虛擬儀器可以手動(dòng)加入,但必須指定類和專用儀器驅(qū)動(dòng)器以及相關(guān)設(shè)置。  ?。?)Logical Names:邏輯名,即在應(yīng)用程序中將使用的虛擬儀器。包含了在程序中識(shí)別儀器所定義的所有邏輯名。Logical Names項(xiàng)可以手動(dòng)加入,指定所用的虛擬儀器即可。因此,當(dāng)更換儀器時(shí),直接修改與邏輯名相對(duì)應(yīng)的專用驅(qū)動(dòng)就可以了,儀器本身與測(cè)試程序就完全隔離了,從而實(shí)現(xiàn)了儀器互換性。   使用MAX配置好系統(tǒng)的邏輯名后,就可以直接調(diào)用IVI類驅(qū)動(dòng)器開發(fā)測(cè)試系統(tǒng),從而使系統(tǒng)與同儀器通信的專用驅(qū)動(dòng)器完全獨(dú)立,達(dá)到儀器的可互換性。例如,定義了名為“NIDMM”的萬用表卡邏輯名,則調(diào)用如下函數(shù):   IviDmm_Initialize (“NIDMM”, &dmmHandle);   此函數(shù)初始化萬用表,得到虛擬儀器句柄“dmmHandle”,在儀器配置和測(cè)量中通過句柄進(jìn)行鏈接,擺脫了對(duì)儀器的直接操作。 2 使用CVI Run-Time配置儀器可互換性   使用MAX配置測(cè)試系統(tǒng),邏輯名、虛擬儀器名等信息都在測(cè)試前已經(jīng)配置完畢。當(dāng)計(jì)算機(jī)平臺(tái)重新安裝系統(tǒng)時(shí),則必須為系統(tǒng)安裝MAX,并重新定義邏輯名及相關(guān)信息。使用LabWindows/CVI的Run-Time函數(shù)則可以在程序運(yùn)行中對(duì)系統(tǒng)進(jìn)行配置。CVI Run-Time可以為IVI驅(qū)動(dòng)器配置以下項(xiàng)目:   Hardware entry:硬件項(xiàng)。硬件項(xiàng)指定物理設(shè)備。每一個(gè)VInstr項(xiàng)引用一個(gè)硬件項(xiàng)。   Driver entry:驅(qū)動(dòng)器項(xiàng)。驅(qū)動(dòng)器項(xiàng)指定專用儀器驅(qū)動(dòng)器軟件模塊。每個(gè)VInstr配置項(xiàng)引用一個(gè)驅(qū)動(dòng)器項(xiàng)。   VInstr entry:虛擬儀器項(xiàng)。VInstr項(xiàng)指定由物理設(shè)備和軟件驅(qū)動(dòng)器模塊組成的虛擬儀器??梢詡鬟fVInstr名到類驅(qū)動(dòng)器初始化函數(shù)識(shí)別將使用的設(shè)備和驅(qū)動(dòng)器,或者定義一個(gè)邏輯名引用VInstr項(xiàng),然后把邏輯名傳遞給類驅(qū)動(dòng)器初始化函數(shù)。   Class entry:儀器類項(xiàng)目。儀器類項(xiàng)目為儀器類指定默認(rèn)仿真驅(qū)動(dòng)器的VInstr。如果通過類驅(qū)動(dòng)器啟動(dòng)一個(gè)IVI會(huì)話,則類驅(qū)動(dòng)器首先通過專用儀器的VInstr項(xiàng)查找仿真驅(qū)動(dòng)器。如果專用儀器的VInstr項(xiàng)沒有指定仿真驅(qū)動(dòng)器,那么類驅(qū)動(dòng)器使用你在類項(xiàng)目中指定的默認(rèn)仿真驅(qū)動(dòng)器。如果類項(xiàng)目不存在或者它沒有指定默認(rèn)仿真驅(qū)動(dòng)器,類驅(qū)動(dòng)器使用默認(rèn)仿真驅(qū)動(dòng)器的硬性編碼的VInstr項(xiàng)。   Logical entry:邏輯名項(xiàng)。邏輯名引用VInstr,VInstr則指定物理設(shè)備和專用驅(qū)動(dòng)器模塊。   在系統(tǒng)安裝了新的IVI驅(qū)動(dòng)器以后,系統(tǒng)中的Hardware entry、Driver entry、VInstr entry都自動(dòng)得到了更新,因此使用Run-Time我們可以查找到新安裝的儀器驅(qū)動(dòng)器以及自帶的虛擬儀器名,然后在程序運(yùn)行時(shí)定義邏輯名就可以了。此程序步驟如下:   第一步:定位配置倉位置,讀取所有的項(xiàng)目列表。   第二步:從項(xiàng)目列表中讀取一項(xiàng),判斷是否VInstr項(xiàng)。如果不是,重復(fù)讀取下一項(xiàng)。   第三步:通過VInstr項(xiàng)的“Driver”節(jié)讀取Driver項(xiàng),從Driver項(xiàng)的“Class”節(jié)值判斷VInstr項(xiàng)所屬的儀器類。   第四步:判斷VInstr項(xiàng)是否符合所要使用的儀器種類。如果不是,則重復(fù)第二步;如果符合,則得到VInstr entry。   第五步:使用Ivi_DefineVInstr函數(shù)定義邏輯名,然后進(jìn)行儀器初始化、屬性配置,執(zhí)行測(cè)量任務(wù)。 3 IVI儀器配置程序的設(shè)計(jì)   使用CVI Run-Time對(duì)系統(tǒng)進(jìn)行配置,在每一次測(cè)量前都需要進(jìn)行復(fù)雜的儀器驅(qū)動(dòng)器查找,占用了測(cè)試時(shí)間,不利于提高系統(tǒng)的測(cè)試效率。為了解決這個(gè)問題,用LabWindows/CVI編寫了測(cè)試系統(tǒng)儀器可互換性配置程序。該程序?yàn)闇y(cè)試系統(tǒng)生成了一個(gè)儀器配置文件SystemConfigure.ini,此文件存儲(chǔ)了系統(tǒng)所使用儀器類的儀器虛擬名,測(cè)量前直接讀取,然后用CVI Run-Time定義邏輯名,從而節(jié)省了配置時(shí)間。   3.1 SystemConfigure.ini文件的內(nèi)容   此文件存儲(chǔ)了系統(tǒng)所使用儀器的類和各儀器類所指定的虛擬儀器名。例如:   [InstrClass]   Class1 = "IviScope"   Class1Lable = "示波器"   Count = 1   [IviScope]   Driver = "Driver->tkds30xx"   VInstr = "VInstr->tkds30xx"   由[InstrClass]確定系統(tǒng)所使用的儀器類,其中“Count = 1”表示系統(tǒng)中用到的儀器類為一個(gè)。由此儀器類的“Class1”標(biāo)記得到類名稱“IviScope”,進(jìn)一步則可以查找到此儀器類指定的虛擬儀器名和專用驅(qū)動(dòng)器,然后就可以使用Run-Time的Ivi_DefineLogicalName函數(shù)為系統(tǒng)定義邏輯名。   3.2 配置程序的設(shè)計(jì)   SystemConfigure.ini文件存儲(chǔ)了測(cè)試系統(tǒng)所使用的IVI儀器類和類所指定的虛擬儀器名及驅(qū)動(dòng)器。當(dāng)系統(tǒng)所使用的儀器改變時(shí),運(yùn)行“測(cè)試系統(tǒng)儀器可互換性配置”對(duì)SystemConfigure.ini文件進(jìn)行更新?!皽y(cè)試系統(tǒng)儀器可互換性配置”子系統(tǒng)運(yùn)行界面如圖1所示。 [align=center] 圖1 “儀器可互換性配置”子系統(tǒng)運(yùn)行界面[/align]   子系統(tǒng)從SystemConfigure.ini文件中的[InstrClass]讀取系統(tǒng)所使用的IVI類,同時(shí)也可以加入新的IVI類,顯示在“IVI類選擇”框中。選中某一類后,子系統(tǒng)從配置倉ivi.ini文件中讀取該類已安裝的驅(qū)動(dòng)器,由用戶確定系統(tǒng)將要使用的專用驅(qū)動(dòng)器則系統(tǒng)自動(dòng)配置虛擬儀器名。配置步驟如下:   第一步:從配置文件SystemConfigure.ini中讀取IVI儀器類;   第二步:根據(jù)所選擇的IVI類,從配置倉ivi.ini文件讀取該類已安裝驅(qū)動(dòng)器;   第三步:由用戶選擇所要使用的驅(qū)動(dòng)器,配置虛擬儀器名,并寫入SystemConfigure.ini文件,供測(cè)試程序調(diào)用。   此程序可以作為測(cè)試系統(tǒng)的一個(gè)子系統(tǒng),在系統(tǒng)儀器發(fā)生更換時(shí)對(duì)SystemConfigure.ini文件進(jìn)行配置。 4 影響儀器互換性的一些因素   盡管大部分儀器廠商都遵循IVI規(guī)范開發(fā)儀器和IVI驅(qū)動(dòng)器,但是不同廠商之間還是會(huì)存在差異,從而影響儀器可互換性的實(shí)現(xiàn)。在系統(tǒng)開發(fā)過程中,用戶要考慮到這些因素,并努力避免。  ?。?)儀器物理標(biāo)識(shí)與虛擬標(biāo)識(shí)符的對(duì)應(yīng)。系統(tǒng)安裝IVI驅(qū)動(dòng)器后,都會(huì)自動(dòng)生成相應(yīng)的虛擬標(biāo)識(shí)符,但默認(rèn)情況下都沒有指定儀器物理標(biāo)識(shí)。在仿真狀態(tài)下,程序可以正常執(zhí)行;在非仿真狀態(tài)下,則會(huì)出現(xiàn)運(yùn)行時(shí)警告甚至無法運(yùn)行。因此,在安裝IVI驅(qū)動(dòng)器后,應(yīng)該為虛擬標(biāo)識(shí)符指定儀器物理標(biāo)識(shí)。另外,對(duì)于具有重復(fù)重功能或重復(fù)資源的儀器,用戶更應(yīng)該為定義的虛擬標(biāo)識(shí)符指定物理標(biāo)識(shí)。  ?。?)儀器特殊屬性的初始化配置。廠商提供的儀器可能具有IVI儀器類規(guī)范之外的特性,這些特性的不同設(shè)置方式可能會(huì)影響可互換性的實(shí)現(xiàn)。為解決這種問題,用戶需要在IVI配置倉中對(duì)這些特殊屬性進(jìn)行初始化配置。  ?。?)“強(qiáng)制數(shù)據(jù)轉(zhuǎn)換記錄”功能的使用?!皬?qiáng)制數(shù)據(jù)轉(zhuǎn)換記錄”功能是對(duì)IVI專用驅(qū)動(dòng)器執(zhí)行的強(qiáng)制數(shù)據(jù)轉(zhuǎn)換過程進(jìn)行記錄。IVI類規(guī)范允許在連續(xù)實(shí)數(shù)區(qū)中對(duì)一些參數(shù)或?qū)傩赃M(jìn)行取值,但是有些儀器僅能使用其中的一些離散數(shù)值。因此,需要IVI專用驅(qū)動(dòng)器完成對(duì)用戶設(shè)置的參數(shù)值或?qū)傩灾颠M(jìn)行數(shù)據(jù)強(qiáng)制轉(zhuǎn)換,使儀器可以接收所設(shè)定的值。用戶在程序執(zhí)行前使用此功能,并利用專用驅(qū)動(dòng)器提供的“記錄讀取”函數(shù)讀出記錄數(shù)據(jù),判斷強(qiáng)制數(shù)據(jù)轉(zhuǎn)換是否符合實(shí)際要求。   (4)IVI驅(qū)動(dòng)器“互換性檢查”功能的使用。該功能對(duì)程序進(jìn)行檢查,并對(duì)存在潛在危險(xiǎn)的地方提出警告?!盎Q性檢查”功能在程序調(diào)試過程中使用,調(diào)試完畢后應(yīng)該禁止。  ?。?)儀器功能與程序設(shè)置的合適選擇。不同廠商或者不同型號(hào)的同類儀器,某些性能可能不同,在程序開發(fā)設(shè)置中應(yīng)該盡可能考慮所有儀器最普遍的性能。同樣,在互換儀器時(shí),也一定要選擇性能與程序開發(fā)設(shè)置相同的儀器。比如,程序開發(fā)中量程設(shè)置為250V的DMM儀器,用最大量程為200V的儀器互換,就可能出現(xiàn)執(zhí)行中錯(cuò)誤了。 5 結(jié)論   測(cè)試系統(tǒng)的儀器可互換性配置是使用IVI驅(qū)動(dòng)器實(shí)現(xiàn)儀器完全可互換性不可或缺的重要環(huán)節(jié),是保證測(cè)試程序安全運(yùn)行的重要前提。本文設(shè)計(jì)的“儀器可互換性配置”子系統(tǒng)面向測(cè)試程序最終用戶,提供了簡(jiǎn)捷直觀的儀器可互換性配置方法,并且可以把影響儀器可互換性實(shí)現(xiàn)的因素考慮其中,提起解決。 參考文獻(xiàn):   [1] 楊鎖昌,孟晨,黃考利. 儀器無關(guān)測(cè)試系統(tǒng)IVI配置文件的管理[J]. 計(jì)算機(jī)自動(dòng)測(cè)量與控制,2001,9(4): 4-6.   [2] 趙會(huì)兵. 虛擬儀器技術(shù)規(guī)范與系統(tǒng)集成[M].北京:清華大學(xué)出版社,2003.   [3] 張毅剛. LabWindows/CVI6.0編程指南[M].北京:機(jī)械工業(yè)出版社,2002.   [4] IVI Driver Toolset User Manual[DB/OL].http:// www.ivifoundation.com.   [5] LabWindows/CVI Instrument Driver Developer Guide[M].National Instrument Corportion, 1998.

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:臺(tái)灣商人解決印染廠自動(dòng)化方案

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

相關(guān)資訊

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)