版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、可互換虛擬儀器驅(qū)動(dòng)程序的開 發(fā)(阮奇楨)作者:日期:可互換虛擬儀器驅(qū)動(dòng)程序的開發(fā) 阮奇楨摘要:可互換虛擬儀器驅(qū)動(dòng)程序是最新的儀器驅(qū)動(dòng)程序標(biāo)準(zhǔn), 它的出現(xiàn)大大提高了測(cè)試 系統(tǒng)的開發(fā)和運(yùn)行效率.本文論述了可互換虛擬儀器驅(qū)動(dòng)程序的體系結(jié)構(gòu)、優(yōu)勢(shì)、 開發(fā)步驟和應(yīng)用實(shí)例。關(guān)鍵詞:虛擬儀器,儀器驅(qū)動(dòng)程序,IVI,LabVIEW, LabWindows/CVIIVI Specific Driver Developme ntQizhe n RuanAbstract:IVI is a revoluti onary sta ndard for in strume nt driver softwaretech no
2、 logy 。 It features in creased performa nee and flexibility for the test system. The excellent IVI architecture is introduced in this paper as well as its impleme ntati on process。KeywordsIVI , Instrument Driver, LabVIEW, LabWindows/CVI一。 儀器驅(qū)動(dòng)程序的發(fā)展儀器驅(qū)動(dòng)程序是連接儀器硬件與高層應(yīng)用程序的橋梁。使用儀器驅(qū)動(dòng)程 序可以把高層應(yīng)用函數(shù)從儀器接口函數(shù)中分離
3、出來,從而簡(jiǎn)化了高層應(yīng)用軟件的開發(fā)難度,提高了應(yīng)用軟件的可維護(hù)性儀器驅(qū)動(dòng)程序的發(fā)展大致經(jīng)歷了以下幾個(gè)階段:1 0早期儀器驅(qū)動(dòng)程序沒有任何統(tǒng)一的規(guī)范,功能較為簡(jiǎn)單、直接。由于不同的儀器驅(qū)動(dòng)程序的實(shí)現(xiàn)方法和接口函數(shù)大相徑庭,用戶往往覺得它們難以琢磨,結(jié)果使得它們很難被應(yīng)用和修改。用戶需要的是容易使用,便于修改,并且遵循相同標(biāo)準(zhǔn)的驅(qū)動(dòng)程序。只有這樣,他們才有可能把不同廠商的儀器集成 在同一系統(tǒng)中使用。為了實(shí)現(xiàn)這一目標(biāo),針對(duì)儀器驅(qū)動(dòng)程序制定的標(biāo)準(zhǔn)陸續(xù)出現(xiàn), 比如下文提到的這幾種比較重要的規(guī)范。2. IEEE 488。2規(guī)范 定義了用于儀器的辨認(rèn)和自檢等的命令,但是僅 有這幾種命令還遠(yuǎn)遠(yuǎn)不能解決儀器驅(qū)動(dòng)
4、程序編寫繁復(fù)、閱讀困難等缺點(diǎn)。3。 SCPI(Standard Commandfbr Programmable Instruments )規(guī)范 定 義了通用的儀器命令結(jié)構(gòu),對(duì)命令按功能進(jìn)行了歸類分組目前,絕大多數(shù)新儀器 都是基于字符串命令的儀器,并且采用了SCPI規(guī)范。遺憾的是,雖然他們都使 用了 SCPI的結(jié)構(gòu),但具體到每個(gè)功能,不同廠商仍然使用各不相同的命令字符 串。4。VXI總線即插即用(VXIplug & play )規(guī)范(簡(jiǎn)稱VPPB范)由VPP系統(tǒng)聯(lián)盟制定.VPP規(guī)范側(cè)重于儀器的“互操作性(in teroperability )”,即 用戶可以方便地把不同廠商的儀器集成到自己系統(tǒng)中
5、.為此,VPPg范詳細(xì)定義了儀器驅(qū)動(dòng)程序的內(nèi)部設(shè)計(jì)模型與外部接口模型,規(guī)定了虛擬儀器驅(qū)動(dòng)程序的設(shè)計(jì)要求及與系統(tǒng)中其他程序模塊之間的相互關(guān)系但是,VPP規(guī)范仍然沒能解決 工程師建造測(cè)試系統(tǒng)時(shí)遇到的困擾: 一是軟件的開發(fā)和維護(hù)費(fèi)用過于昂貴,二是難以快速升級(jí)已有的系統(tǒng)解決這樣的問題需要儀器驅(qū)動(dòng)程序具有“互換性”.5. IVI (In tercha ngeable Virtual In strume nt)驅(qū)動(dòng)程序規(guī)范 擴(kuò)展了 VPP儀器驅(qū)動(dòng)程序的標(biāo)準(zhǔn),并增加了儀器的可互換性、仿真和狀態(tài)緩存等特點(diǎn)。 IVI 驅(qū)動(dòng)程序規(guī)范由 IVI 基金會(huì)(Interchangeable Virtual Instrum
6、entFoundation )制定.它是由最終用戶、系統(tǒng)集成商和儀器制造商共同組成的一個(gè) 開放聯(lián)盟,幾乎所有的大型儀器生產(chǎn)公司 (諸如:National Instruments , Agile nt,Tektro nix)都已經(jīng)成為其成員。其職能是為測(cè)試儀器制定編程規(guī)范, 從而實(shí)現(xiàn)不同型號(hào)儀器之間的互換,并且提高系統(tǒng)性能、降低開發(fā)成本.本文為互聯(lián) 網(wǎng)收集,請(qǐng)勿用作商業(yè)用途本文為互聯(lián)網(wǎng)收集,請(qǐng)勿用作商業(yè)用途IVI系統(tǒng)結(jié)構(gòu)為了實(shí)現(xiàn)互換性,IVI基金會(huì)將同類儀器的共性提取出,并作了規(guī)范。 目前已經(jīng)發(fā)布的八類儀器規(guī)范是:示波器(IviScope )、數(shù)字萬用表(IviDmm)、 信號(hào)發(fā)生器(IviFG
7、en )、直流電源(IviDCPower)、開關(guān)矩陣/多路復(fù)用器(IviSwitch )、功率表(IviPwrMeter)、頻譜分析儀(IviSpecAn)和射頻信號(hào) 發(fā)生器(IviRFSigGen),其他類型儀器的規(guī)范也將被陸續(xù)制定發(fā)布。每一類的儀器都有各自的類驅(qū)動(dòng)程序(IVI Class Driver )。類驅(qū)動(dòng)程序包含了該類儀器通 用的各種屬性和操作函數(shù)運(yùn)行時(shí),類驅(qū)動(dòng)程序通過調(diào)用每臺(tái)儀器的專用驅(qū)動(dòng)程 序(IVI Specific Driver )中相應(yīng)的函數(shù)來控制儀器。圖1: IVI體系結(jié)構(gòu)圖1是IVI體系結(jié)構(gòu)框圖:應(yīng)用程序可以直接調(diào)用專用驅(qū)動(dòng)程序來控制儀器。但是為了實(shí)現(xiàn)儀器互 換,應(yīng)用
8、程序應(yīng)該首先調(diào)用類驅(qū)動(dòng)程序,類驅(qū)動(dòng)程序檢查IVI配置文件以確定應(yīng)該使用的專用驅(qū)動(dòng)程序。若系統(tǒng)中的儀器被更換,只需適當(dāng)修改IVI配置文件,而應(yīng)用程序無需任何改動(dòng),因而實(shí)現(xiàn)了測(cè)試系統(tǒng)的通用性三. IVI驅(qū)動(dòng)程序的特點(diǎn)和優(yōu)勢(shì)1. 互換性。IVI驅(qū)動(dòng)程序的互換性至少為我們帶來了以下幾大好處:a)易于使用。所用的IVI驅(qū)動(dòng)程序都使用通用的接口,易于 理解,也就不再要求應(yīng)用程序的開發(fā)人員必須掌握某一特定儀器的編程方法,從而系統(tǒng)開發(fā)獲得了更大的硬件獨(dú)立性.b)降低了系統(tǒng)的維護(hù)和升級(jí)費(fèi)用。IVI構(gòu)架系統(tǒng)可以適用不同的儀器,當(dāng)儀器 陳舊或者有了升級(jí)的、高性能或低造價(jià)的儀器時(shí),可以任意更換,而不需要改變 應(yīng)用程序
9、。c)代碼共享.IVI構(gòu)架允許部門和設(shè)備之間方便地復(fù)用及共 享測(cè)試代碼,并且不需使用相同型號(hào)的儀器硬件2. 模擬功能。每個(gè)儀器專用驅(qū)動(dòng)程序都具有專門針對(duì)本型號(hào)儀器的模擬功能.這些模擬功能使得工程師在缺少真實(shí)儀器的情況下,可以使用IVI驅(qū)動(dòng)程序的模擬功能來開發(fā)、調(diào)試應(yīng)用程序還可以使用美國國家儀器公司(National Instruments,簡(jiǎn)稱NI)提供的類模擬驅(qū)動(dòng)程序以獲得更強(qiáng)大的模擬功能。3. 狀態(tài)緩存功能VI驅(qū)動(dòng)程序可以保存儀器每一屬性設(shè)置的當(dāng)前狀態(tài)。當(dāng)應(yīng)用程序試圖發(fā)送一些冗余命令到儀器時(shí)(例如,將儀器的某一屬性重新 設(shè)置為當(dāng)前值,這些命令顯然不會(huì)讓儀器產(chǎn)生任何變化或動(dòng)作),IVI驅(qū)動(dòng)程
10、序會(huì)跳過這些命令。當(dāng)前的測(cè)試系統(tǒng)中,影響軟件執(zhí)行速度的瓶頸通常在于儀器與 計(jì)算機(jī)接口總線的傳輸速率,IVI驅(qū)動(dòng)程序的此項(xiàng)功能大大減少了儀器與計(jì)算機(jī) 之間的通訊,從而提升了系統(tǒng)性能。4。源碼開放。高級(jí)用戶可以直接修改IVI驅(qū)動(dòng)程序的源代碼,以對(duì)其 進(jìn)行優(yōu)化或添加功能。5。免費(fèi)得到大量的驅(qū)動(dòng)程序。除了生產(chǎn)廠商自行開發(fā)的IVI驅(qū)動(dòng)程序, NI公司也為各類常用儀器開發(fā)了大量IVI驅(qū)動(dòng)程序,這些程序都可以從NI的網(wǎng) 站上免費(fèi)下載。 此外,NI還提供了用于開發(fā)驅(qū)動(dòng)程序的工具包,以簡(jiǎn)化用戶的 IVI驅(qū)動(dòng)程序的開發(fā)過程。 個(gè)人收集整理,勿做商業(yè)用途文檔為個(gè)人收集整理,來源于網(wǎng)絡(luò)四。IVI驅(qū)動(dòng)程序的設(shè)計(jì)和開發(fā)按
11、照提供給用戶的接口形式的不同,IVI驅(qū)動(dòng)程序分為:C語言驅(qū)動(dòng)程序, LabVIEW驅(qū)動(dòng)程序,COM區(qū)動(dòng)程序。雖然同一儀器可以存在接口形式不同的驅(qū)動(dòng) 程序,但它們的功能完全相同,用戶可以選擇使用自己最擅長的形式。目前最普遍 使用的仍然是C語言驅(qū)動(dòng)程序;LabVIEW驅(qū)動(dòng)程序是在C語言驅(qū)動(dòng)程序生成的DLL 動(dòng)態(tài)庫的基礎(chǔ)上生成的;而COM區(qū)動(dòng)程序則需要重新編寫代碼.IVI驅(qū)動(dòng)程序規(guī)范已經(jīng)詳細(xì)制定了驅(qū)動(dòng)程序的構(gòu)架和接口,因此開發(fā)人 員不必另行設(shè)計(jì)程序結(jié)構(gòu),這避免了驅(qū)動(dòng)程序結(jié)構(gòu)不合理或用戶使用不便等問 題。但是,開發(fā)人員要特別注意和精心設(shè)計(jì)儀器的功能、控制命令與IVI規(guī)范不兼容的部分。使用LabWind
12、ows/CVI作為C語言驅(qū)動(dòng)程序的開發(fā)工具具有獨(dú)特的優(yōu)越條 件,因?yàn)镃VI集成了許多驅(qū)動(dòng)程序開發(fā)工具,比如:IVI驅(qū)動(dòng)程序生成向?qū)А?性編輯器等。另外還可以選用 NI公司的IDT工具包作為補(bǔ)充。下面以較為常用的Fluke 45數(shù)字萬用表為例,簡(jiǎn)單介紹一下開發(fā)IVI儀 器驅(qū)動(dòng)程序的具體步驟:1 熟悉儀器與IVI規(guī)范.在開發(fā)儀器的IVI驅(qū)動(dòng)程序以前,首先要熟 悉儀器的有關(guān)命令,然后根據(jù)其功能進(jìn)行分類。并且將儀器命令與IVI規(guī)范制定 的屬性、函數(shù)對(duì)應(yīng)起來。2 .使用CVI的“儀器驅(qū)動(dòng)程序開發(fā)向?qū)А鄙沈?qū)動(dòng)程序的框架。 開發(fā) 向?qū)傻奈募还灿?個(gè),其中,“ fl45。c”和“fl45。h”分別是
13、C語言源 文件和頭文件;“ fl45.fp記錄函數(shù)面板信息;“ fl45。sub”記錄儀器“屬性(attribute ) ”的信息。3 . 刪除儀器不支持的擴(kuò)展功能組可能會(huì)出現(xiàn)儀器不支持某些IVI規(guī) 范定義的功能組的情況,比如說fl45不具備溫度測(cè)量功能,這時(shí)應(yīng)該把所有與溫 度測(cè)量有關(guān)的函數(shù)和屬性移出4 .完善代碼。實(shí)現(xiàn)IVI規(guī)范中儀器可以支持的功能組“儀器驅(qū)動(dòng)程序開發(fā)向?qū)А币呀?jīng)生成了大部分屬性和函數(shù)的代碼用戶需要做的只是到屬性的回調(diào)函數(shù)(Attribute Callback Function)中修改相應(yīng)的儀器命令。由于每臺(tái)儀器的命令體系都有其特殊性,用戶也不能夠完全依賴“開發(fā)向?qū)А鄙傻某绦?/p>
14、 結(jié)構(gòu),函數(shù)和屬性的實(shí)現(xiàn)需要參照儀器的具體命令體系來實(shí)現(xiàn)。5 .編寫支持儀器特殊功能的代碼?!皟x器驅(qū)動(dòng)程序開發(fā)向?qū)Р荒軌蛏芍С諭VI規(guī)范定義之外的儀器功能.比如Fl45有對(duì)測(cè)量值進(jìn)行修正的功能,IVI規(guī)范沒有相應(yīng)的定義,實(shí)現(xiàn)這部分功能需要自己設(shè)計(jì)和編寫相應(yīng)的屬性及函 數(shù)。6 . 測(cè)試。除了要確保IVI驅(qū)動(dòng)程序函數(shù)功能正確,還要驗(yàn)證它是否完 全符合IVI規(guī)范。IVI驅(qū)動(dòng)程序的開發(fā)人員也可以請(qǐng)求 NI公司幫助完成程序的 最終測(cè)試。7 . 編寫LabVIEW驅(qū)動(dòng)程序。如果已經(jīng)有了 C語言IVI驅(qū)動(dòng)程序,只需 要使用NI公司在其網(wǎng)站上提供的 LabVIEW In terface Gen erator
15、 forLabWi ndows?/CVI? In strume nt Drivers工具即可方便地生成相應(yīng)的 LabVIEW儀器驅(qū)動(dòng)程序。本文為互聯(lián)網(wǎng)收集,請(qǐng)勿用作商業(yè)用途個(gè)人收集整理,勿做商業(yè)用途IVI類驅(qū)動(dòng)程序的開發(fā)。如果用戶希望使用IVI規(guī)范定義的八類儀器之外的儀器,并且還要實(shí)現(xiàn)通用性(可互換性),那么則需要客戶自己開發(fā)類驅(qū)動(dòng) 程序。類驅(qū)動(dòng)程序的開發(fā)與儀器驅(qū)動(dòng)程序的開發(fā)過程完全不同,由于用戶很少遇到類驅(qū)動(dòng)程序的開發(fā),本文不作詳細(xì)介紹五。IVI驅(qū)動(dòng)程序的應(yīng)用實(shí)例IVI驅(qū)動(dòng)程序相對(duì)于傳統(tǒng)儀器驅(qū)動(dòng)程序而言,比較適合于高端應(yīng)用和大 型測(cè)試系統(tǒng)的搭建。下面是兩個(gè)IVI體系的典型應(yīng)用。1 .2002
16、年波音公司在其新設(shè)計(jì)的測(cè)試系統(tǒng)中應(yīng)用了IVI技術(shù)。由于對(duì)測(cè)試穩(wěn)定性的要求,波音公司的測(cè)試系統(tǒng)一經(jīng)投入使用,往往要求連續(xù)工作幾 十年而且不能做大的改動(dòng).在這么長的使用期內(nèi),許多最初設(shè)計(jì)時(shí)使用的儀器都 可能停產(chǎn)。一旦儀器損壞,根本無法找到同型號(hào)的儀器進(jìn)行替換,只能使用類似的儀器進(jìn)行替代如果使用傳統(tǒng)儀器驅(qū)動(dòng)程序,每次更換儀器時(shí),測(cè)試軟件也必 須做相應(yīng)更新.這樣一來不但需要花費(fèi)大量時(shí)間在測(cè)試軟件的更新上,更重要的 是對(duì)軟件結(jié)構(gòu)的改動(dòng)很可能會(huì)破壞它的一致性。在使用IVI體系結(jié)構(gòu)后,每次替換儀器,只需要在IVI配置文件中指明新 的驅(qū)動(dòng)程序即可,測(cè)試軟件不需要作任何改動(dòng)。這樣既節(jié)約了時(shí)間,又不會(huì)對(duì)測(cè) 試結(jié)果產(chǎn)生任何影響。2 .NI公司在其2005年推出的校準(zhǔn)系統(tǒng)中也使用了 IVI體系結(jié)構(gòu)。該校準(zhǔn)系統(tǒng)將提供給世界各地校準(zhǔn)實(shí)驗(yàn)室使用,因此,該校準(zhǔn)系統(tǒng)必須能供控制型 號(hào)千差萬別的各類標(biāo)準(zhǔn)儀器。IVI體系結(jié)構(gòu)保證了該系統(tǒng)在不改變代碼的前提下 適應(yīng)任何實(shí)驗(yàn)室的儀器設(shè)備。參考文獻(xiàn):1 Dany Cheij , The An atomy of an In tercha ngeable Test System, http:/www 。 ni
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新婚沒孩子離婚協(xié)議書范文
- 樂清民政局離婚協(xié)議書范文章
- 自建房贈(zèng)送給兒子的協(xié)議書范文
- 腦保健知識(shí)問答
- 《失眠癥中醫(yī)診療經(jīng)驗(yàn)集》之失眠癥基本知識(shí)
- 播放英語課件圖片
- 2023-2024學(xué)年云南省曲靖市一中高三下學(xué)期第四次模擬考試數(shù)學(xué)試題試卷
- 分子生物學(xué)基礎(chǔ)第五章遺傳信息的翻譯-從mRNA到蛋白質(zhì)第二節(jié)蛋白質(zhì)生物合成的過程
- 2023-2024學(xué)年新疆維吾爾自治區(qū)沙灣一中高三第十次模擬考試數(shù)學(xué)試題試卷
- 雨季防汛應(yīng)急預(yù)案
- 醫(yī)保培訓(xùn)記錄表
- 支氣管鏡精品課件
- 房屋建筑物構(gòu)筑物檢查表格
- 高考語文詩歌專題鑒賞之比較類詩歌鑒賞 課件24張
- 對(duì)邊境立體化防控體系建設(shè)的幾點(diǎn)思考
- 農(nóng)林項(xiàng)目投資實(shí)驗(yàn):財(cái)務(wù)分析與經(jīng)濟(jì)分析綜合練習(xí)
- 需求階段進(jìn)度報(bào)告
- 特種設(shè)備風(fēng)險(xiǎn)分級(jí)管控清單(叉車)
- 翰文平面圖繪制系統(tǒng)教學(xué)教程
- 初中語文 統(tǒng)編版 九年級(jí)上冊(cè) 第22課《范進(jìn)中舉》 課件
- 高血壓的健康管理方案
評(píng)論
0/150
提交評(píng)論