直播推薦
企業(yè)動態(tài)
- 全場景節(jié)能30%以上!海爾中央空調(diào)亮相中國零售展
- igus全球環(huán)保騎行亞洲站在中國收官
- 京東工業(yè)與世達(dá)工具深化戰(zhàn)略合作 聯(lián)手推動專業(yè)工具行業(yè)數(shù)智供應(yīng)鏈升級
- 舒瑞普中國卓越中心暨蘇州新工廠開業(yè)典禮圓滿落成
- 華測儀器中標(biāo)華北電力大學(xué)綜合介電分析儀采購項(xiàng)目
- 商用中央空調(diào)的節(jié)能首選:海爾磁氣懸浮中央空調(diào)
- igus推出人形機(jī)器人Iggy Rob,售價不到50000歐元
- 從“制造”到“智造”,落地新質(zhì)生產(chǎn)力的關(guān)鍵
推薦展會
實(shí)現(xiàn)測試系統(tǒng)的儀器可互換性是長期以來許多工程師特別是軍事和航空電子行業(yè)工程師所致力于的一個目標(biāo)。1997年建立的IVI(Interchangeable Virtual Instruments,可互換性)基金會,致力于在VPP(VXI plug&play,VXI即插即用)規(guī)范的基礎(chǔ)上建立可互換、高性能、更易于維護(hù)的儀器編程模型,并在VPP儀器廠商共同支持的框架標(biāo)準(zhǔn)基礎(chǔ)上定義儀器的通用結(jié)構(gòu)和實(shí)現(xiàn)方法,為測試系統(tǒng)服務(wù)。目前,IVI基金會已經(jīng)制定了大量IVI技術(shù)規(guī)范,許多儀器生產(chǎn)廠商也遵循這些規(guī)范開發(fā)儀器并提供符合IVI技術(shù)規(guī)范的儀器驅(qū)動器。因此,使用IVI驅(qū)動器開發(fā)儀器可互換性測試系統(tǒng)就成為主流。
為了確保測試系統(tǒng)*的儀器可互換性,用戶需要直接對儀器類API編程而不能直接對IVI類兼容驅(qū)動器進(jìn)行編程。在測試程序中也不能直接對與特定儀器相關(guān)的驅(qū)動器和硬件資源進(jìn)行配置,需要借助于外部“配置倉”,對特定儀器驅(qū)動器進(jìn)行動態(tài)加載。為了實(shí)現(xiàn)這種功能,用戶需要定義一個邏輯名,通過邏輯名調(diào)用IVI驅(qū)動器,然后從配置倉中查找匹配信息,得到實(shí)際的IVI類兼容驅(qū)動器指針,動態(tài)加載該驅(qū)動器,鏈接相應(yīng)函數(shù)和屬性,使應(yīng)用程序可以間接訪問這些函數(shù)和屬性。邏輯名以及配置倉中與邏輯名匹配的相關(guān)信息都需要作為測試系統(tǒng)信息進(jìn)行配置。本文介紹了使用LabWindows/CVI進(jìn)行系統(tǒng)儀器可互換性配置的兩種方法,并設(shè)計了“測試系統(tǒng)儀器可互換性配置子系統(tǒng)”。
1 使用MAX配置儀器可互換性
Measurement & Automation Explorer(MAX)是NI公司提供的所有硬件和相關(guān)驅(qū)動軟件的標(biāo)準(zhǔn)配置工具,可以對IVI引擎配置倉進(jìn)行配置,使類驅(qū)動器可以與儀器驅(qū)動器通信。在MAX中需要配置的有四項(xiàng):Devices、Instrument Drivers、Virtual Instruments和Logical Names。
(1)Devices:包含了以VISA源描述符號形式表示的儀器物理硬件地址信息。它顯示了測試系統(tǒng)已經(jīng)定義的儀器。比如,用戶可以定義“DAQ::1::INSTR”位置的儀器為“nidmm”。儀器名可以任意定義,但是如果在物理硬件地址不存在實(shí)際儀器,則此儀器名在非仿真狀態(tài)下無法使用。
?。?)Instrument Drivers:包含了測試系統(tǒng)所安裝的所有類驅(qū)動器、仿真驅(qū)動器和驅(qū)動器信息。當(dāng)系統(tǒng)安裝新的IVI驅(qū)動器,這些信息相應(yīng)進(jìn)行更新。類驅(qū)動器可以手動加入,儀器驅(qū)動器則只能在安裝了IVI驅(qū)動器時自動加入。
(3)Virtual Instruments:虛擬儀器,是物理儀器、儀器驅(qū)動器和選項(xiàng)設(shè)置的綜合。它包含了當(dāng)前系統(tǒng)中所安裝的每一個IVI儀器驅(qū)動器的信息。這些信息包括驅(qū)動中IVI屬性的初始化設(shè)置,如狀態(tài)緩存,仿真等等。Virtual Instruments項(xiàng)包括仿真虛擬儀器和儀器虛擬儀器。虛擬儀器可以手動加入,但必須類和儀器驅(qū)動器以及相關(guān)設(shè)置。
(4)Logical Names:邏輯名,即在應(yīng)用程序中將使用的虛擬儀器。包含了在程序中識別儀器所定義的所有邏輯名。Logical Names項(xiàng)可以手動加入,所用的虛擬儀器即可。因此,當(dāng)更換儀器時,直接修改與邏輯名相對應(yīng)的驅(qū)動就可以了,儀器本身與測試程序就*隔離了,從而實(shí)現(xiàn)了儀器互換性。
使用MAX配置好系統(tǒng)的邏輯名后,就可以直接調(diào)用IVI類驅(qū)動器開發(fā)測試系統(tǒng),從而使系統(tǒng)與同儀器通信的驅(qū)動器*獨(dú)立,達(dá)到儀器的可互換性。例如,定義了名為“NIDMM”的萬用表卡邏輯名,則調(diào)用如下函數(shù):
IviDmm_Initialize (“NIDMM”, &dmmHandle);
此函數(shù)初始化萬用表,得到虛擬儀器句柄“dmmHandle”,在儀器配置和測量中通過句柄進(jìn)行鏈接,擺脫了對儀器的直接操作。
2 使用CVI Run-Time配置儀器可互換性
使用MAX配置測試系統(tǒng),邏輯名、虛擬儀器名等信息都在測試前已經(jīng)配置完畢。當(dāng)計算機(jī)平臺重新安裝系統(tǒng)時,則必須為系統(tǒng)安裝MAX,并重新定義邏輯名及相關(guān)信息。使用LabWindows/CVI的Run-Time函數(shù)則可以在程序運(yùn)行中對系統(tǒng)進(jìn)行配置。CVI Run-Time可以為IVI驅(qū)動器配置以下項(xiàng)目:
Hardware entry:硬件項(xiàng)。硬件項(xiàng)物理設(shè)備。每一個VInstr項(xiàng)引用一個硬件項(xiàng)。
Driver entry:驅(qū)動器項(xiàng)。驅(qū)動器項(xiàng)儀器驅(qū)動器軟件模塊。每個VInstr配置項(xiàng)引用一個驅(qū)動器項(xiàng)。
VInstr entry:虛擬儀器項(xiàng)。VInstr項(xiàng)由物理設(shè)備和軟件驅(qū)動器模塊組成的虛擬儀器??梢詡鬟fVInstr名到類驅(qū)動器初始化函數(shù)識別將使用的設(shè)備和驅(qū)動器,或者定義一個邏輯名引用VInstr項(xiàng),然后把邏輯名傳遞給類驅(qū)動器初始化函數(shù)。
Class entry:儀器類項(xiàng)目。儀器類項(xiàng)目為儀器類默認(rèn)仿真驅(qū)動器的VInstr。如果通過類驅(qū)動器啟動一個IVI會話,則類驅(qū)動器首先通過儀器的VInstr項(xiàng)查找仿真驅(qū)動器。如果儀器的VInstr項(xiàng)沒有仿真驅(qū)動器,那么類驅(qū)動器使用你在類項(xiàng)目中的默認(rèn)仿真驅(qū)動器。如果類項(xiàng)目不存在或者它沒有默認(rèn)仿真驅(qū)動器,類驅(qū)動器使用默認(rèn)仿真驅(qū)動器的硬性編碼的VInstr項(xiàng)。
Logical entry:邏輯名項(xiàng)。邏輯名引用VInstr,VInstr則物理設(shè)備和驅(qū)動器模塊。
在系統(tǒng)安裝了新的IVI驅(qū)動器以后,系統(tǒng)中的Hardware entry、Driver entry、VInstr entry都自動得到了更新,因此使用Run-Time我們可以查找到新安裝的儀器驅(qū)動器以及自帶的虛擬儀器名,然后在程序運(yùn)行時定義邏輯名就可以了。此程序步驟如下:
*步:定位配置倉位置,讀取所有的項(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í)行測量任務(wù)。
3 IVI儀器配置程序的設(shè)計
使用CVI Run-Time對系統(tǒng)進(jìn)行配置,在每一次測量前都需要進(jìn)行復(fù)雜的儀器驅(qū)動器查找,占用了測試時間,不利于提高系統(tǒng)的測試效率。為了解決這個問題,用LabWindows/CVI編寫了測試系統(tǒng)儀器可互換性配置程序。該程序?yàn)闇y試系統(tǒng)生成了一個儀器配置文件SystemConfigure.ini,此文件存儲了系統(tǒng)所使用儀器類的儀器虛擬名,測量前直接讀取,然后用CVI Run-Time定義邏輯名,從而節(jié)省了配置時間。
3.1 SystemConfigure.ini文件的內(nèi)容
此文件存儲了系統(tǒng)所使用儀器的類和各儀器類所的虛擬儀器名。例如:
[InstrClass]
Class1 = "IviScope"
Class1Lable = " Count = 1
[IviScope]
Driver = "Driver->tkds30xx"
VInstr = "VInstr->tkds30xx"
由[InstrClass]確定系統(tǒng)所使用的儀器類,其中“Count = 1”表示系統(tǒng)中用到的儀器類為一個。由此儀器類的“Class1”標(biāo)記得到類名稱“IviScope”,進(jìn)一步則可以查找到此儀器類的虛擬儀器名和驅(qū)動器,然后就可以使用Run-Time的Ivi_DefineLogicalName函數(shù)為系統(tǒng)定義邏輯名。
3.2 配置程序的設(shè)計
SystemConfigure.ini文件存儲了測試系統(tǒng)所使用的IVI儀器類和類所的虛擬儀器名及驅(qū)動器。當(dāng)系統(tǒng)所使用的儀器改變時,運(yùn)行“測試系統(tǒng)儀器可互換性配置”對SystemConfigure.ini文件進(jìn)行更新。“測試系統(tǒng)儀器可互換性配置”子系統(tǒng)運(yùn)行界面如圖1所示。
圖1 “儀器可互換性配置”子系統(tǒng)運(yùn)行界面
子系統(tǒng)從SystemConfigure.ini文件中的[InstrClass]讀取系統(tǒng)所使用的IVI類,同時也可以加入新的IVI類,顯示在“IVI類選擇”框中。選中某一類后,子系統(tǒng)從配置倉ivi.ini文件中讀取該類已安裝的驅(qū)動器,由用戶確定系統(tǒng)將要使用的驅(qū)動器則系統(tǒng)自動配置虛擬儀器名。配置步驟如下:
*步:從配置文件SystemConfigure.ini中讀取IVI儀器類;
第二步:根據(jù)所選擇的IVI類,從配置倉ivi.ini文件讀取該類已安裝驅(qū)動器;
第三步:由用戶選擇所要使用的驅(qū)動器,配置虛擬儀器名,并寫入SystemConfigure.ini文件,供測試程序調(diào)用。
此程序可以作為測試系統(tǒng)的一個子系統(tǒng),在系統(tǒng)儀器發(fā)生更換時對SystemConfigure.ini文件進(jìn)行配置。
4 影響儀器互換性的一些因素
盡管大部分儀器廠商都遵循IVI規(guī)范開發(fā)儀器和IVI驅(qū)動器,但是不同廠商之間還是會存在差異,從而影響儀器可互換性的實(shí)現(xiàn)。在系統(tǒng)開發(fā)過程中,用戶要考慮到這些因素,并努力避免。
?。?)儀器物理標(biāo)識與虛擬標(biāo)識符的對應(yīng)。系統(tǒng)安裝IVI驅(qū)動器后,都會自動生成相應(yīng)的虛擬標(biāo)識符,但默認(rèn)情況下都沒有儀器物理標(biāo)識。在仿真狀態(tài)下,程序可以正常執(zhí)行;在非仿真狀態(tài)下,則會出現(xiàn)運(yùn)行時警告甚至無法運(yùn)行。因此,在安裝IVI驅(qū)動器后,應(yīng)該為虛擬標(biāo)識符儀器物理標(biāo)識。另外,對于具有重復(fù)重功能或重復(fù)資源的儀器,用戶更應(yīng)該為定義的虛擬標(biāo)識符物理標(biāo)識。
(2)儀器特殊屬性的初始化配置。廠商提供的儀器可能具有IVI儀器類規(guī)范之外的特性,這些特性的不同設(shè)置方式可能會影響可互換性的實(shí)現(xiàn)。為解決這種問題,用戶需要在IVI配置倉中對這些特殊屬性進(jìn)行初始化配置。
(3)“強(qiáng)制數(shù)據(jù)轉(zhuǎn)換記錄”功能的使用。“強(qiáng)制數(shù)據(jù)轉(zhuǎn)換記錄”功能是對IVI驅(qū)動器執(zhí)行的強(qiáng)制數(shù)據(jù)轉(zhuǎn)換過程進(jìn)行記錄。IVI類規(guī)范允許在連續(xù)實(shí)數(shù)區(qū)中對一些參數(shù)或?qū)傩赃M(jìn)行取值,但是有些儀器僅能使用其中的一些離散數(shù)值。因此,需要IVI驅(qū)動器完成對用戶設(shè)置的參數(shù)值或?qū)傩灾颠M(jìn)行數(shù)據(jù)強(qiáng)制轉(zhuǎn)換,使儀器可以接收所設(shè)定的值。用戶在程序執(zhí)行前使用此功能,并利用驅(qū)動器提供的“記錄讀取”函數(shù)讀出記錄數(shù)據(jù),判斷強(qiáng)制數(shù)據(jù)轉(zhuǎn)換是否符合實(shí)際要求。
(4)IVI驅(qū)動器“互換性檢查”功能的使用。該功能對程序進(jìn)行檢查,并對存在潛在危險的地方提出警告。“互換性檢查”功能在程序調(diào)試過程中使用,調(diào)試完畢后應(yīng)該禁止。
?。?)儀器功能與程序設(shè)置的合適選擇。不同廠商或者不同型號的同類儀器,某些性能可能不同,在程序開發(fā)設(shè)置中應(yīng)該盡可能考慮所有儀器zui普遍的性能。同樣,在互換儀器時,也一定要選擇性能與程序開發(fā)設(shè)置相同的儀器。比如,程序開發(fā)中量程設(shè)置為250V的DMM儀器,用zui大量程為200V的儀器互換,就可能出現(xiàn)執(zhí)行中錯誤了。
免責(zé)聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://www.towegas.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
ARCE2025亞洲機(jī)器人大會暨展覽會
展會城市:廣州市展會時間:2025-12-19