可互換虛擬儀器驅動程序的開發(fā)(阮奇楨)_第1頁
可互換虛擬儀器驅動程序的開發(fā)(阮奇楨)_第2頁
可互換虛擬儀器驅動程序的開發(fā)(阮奇楨)_第3頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、可互換虛擬儀器驅動程序的開 發(fā)(阮奇楨)作者:日期:可互換虛擬儀器驅動程序的開發(fā) 阮奇楨摘要:可互換虛擬儀器驅動程序是最新的儀器驅動程序標準, 它的出現(xiàn)大大提高了測試 系統(tǒng)的開發(fā)和運行效率.本文論述了可互換虛擬儀器驅動程序的體系結構、優(yōu)勢、 開發(fā)步驟和應用實例。關鍵詞:虛擬儀器,儀器驅動程序,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一。 儀器驅動程序的發(fā)展儀器驅動程序是連接儀器硬件與高層應用程序的橋梁。使用儀器驅動程 序可以把高層應用函數(shù)從儀器接口函數(shù)中分離

3、出來,從而簡化了高層應用軟件的開發(fā)難度,提高了應用軟件的可維護性儀器驅動程序的發(fā)展大致經(jīng)歷了以下幾個階段:1 0早期儀器驅動程序沒有任何統(tǒng)一的規(guī)范,功能較為簡單、直接。由于不同的儀器驅動程序的實現(xiàn)方法和接口函數(shù)大相徑庭,用戶往往覺得它們難以琢磨,結果使得它們很難被應用和修改。用戶需要的是容易使用,便于修改,并且遵循相同標準的驅動程序。只有這樣,他們才有可能把不同廠商的儀器集成 在同一系統(tǒng)中使用。為了實現(xiàn)這一目標,針對儀器驅動程序制定的標準陸續(xù)出現(xiàn), 比如下文提到的這幾種比較重要的規(guī)范。2. IEEE 488。2規(guī)范 定義了用于儀器的辨認和自檢等的命令,但是僅 有這幾種命令還遠遠不能解決儀器驅動

4、程序編寫繁復、閱讀困難等缺點。3。 SCPI(Standard Commandfbr Programmable Instruments )規(guī)范 定 義了通用的儀器命令結構,對命令按功能進行了歸類分組目前,絕大多數(shù)新儀器 都是基于字符串命令的儀器,并且采用了SCPI規(guī)范。遺憾的是,雖然他們都使 用了 SCPI的結構,但具體到每個功能,不同廠商仍然使用各不相同的命令字符 串。4。VXI總線即插即用(VXIplug & play )規(guī)范(簡稱VPPB范)由VPP系統(tǒng)聯(lián)盟制定.VPP規(guī)范側重于儀器的“互操作性(in teroperability )”,即 用戶可以方便地把不同廠商的儀器集成到自己系統(tǒng)中

5、.為此,VPPg范詳細定義了儀器驅動程序的內部設計模型與外部接口模型,規(guī)定了虛擬儀器驅動程序的設計要求及與系統(tǒng)中其他程序模塊之間的相互關系但是,VPP規(guī)范仍然沒能解決 工程師建造測試系統(tǒng)時遇到的困擾: 一是軟件的開發(fā)和維護費用過于昂貴,二是難以快速升級已有的系統(tǒng)解決這樣的問題需要儀器驅動程序具有“互換性”.5. IVI (In tercha ngeable Virtual In strume nt)驅動程序規(guī)范 擴展了 VPP儀器驅動程序的標準,并增加了儀器的可互換性、仿真和狀態(tài)緩存等特點。 IVI 驅動程序規(guī)范由 IVI 基金會(Interchangeable Virtual Instrum

6、entFoundation )制定.它是由最終用戶、系統(tǒng)集成商和儀器制造商共同組成的一個 開放聯(lián)盟,幾乎所有的大型儀器生產公司 (諸如:National Instruments , Agile nt,Tektro nix)都已經(jīng)成為其成員。其職能是為測試儀器制定編程規(guī)范, 從而實現(xiàn)不同型號儀器之間的互換,并且提高系統(tǒng)性能、降低開發(fā)成本.本文為互聯(lián) 網(wǎng)收集,請勿用作商業(yè)用途本文為互聯(lián)網(wǎng)收集,請勿用作商業(yè)用途IVI系統(tǒng)結構為了實現(xiàn)互換性,IVI基金會將同類儀器的共性提取出,并作了規(guī)范。 目前已經(jīng)發(fā)布的八類儀器規(guī)范是:示波器(IviScope )、數(shù)字萬用表(IviDmm)、 信號發(fā)生器(IviFG

7、en )、直流電源(IviDCPower)、開關矩陣/多路復用器(IviSwitch )、功率表(IviPwrMeter)、頻譜分析儀(IviSpecAn)和射頻信號 發(fā)生器(IviRFSigGen),其他類型儀器的規(guī)范也將被陸續(xù)制定發(fā)布。每一類的儀器都有各自的類驅動程序(IVI Class Driver )。類驅動程序包含了該類儀器通 用的各種屬性和操作函數(shù)運行時,類驅動程序通過調用每臺儀器的專用驅動程 序(IVI Specific Driver )中相應的函數(shù)來控制儀器。圖1: IVI體系結構圖1是IVI體系結構框圖:應用程序可以直接調用專用驅動程序來控制儀器。但是為了實現(xiàn)儀器互 換,應用

8、程序應該首先調用類驅動程序,類驅動程序檢查IVI配置文件以確定應該使用的專用驅動程序。若系統(tǒng)中的儀器被更換,只需適當修改IVI配置文件,而應用程序無需任何改動,因而實現(xiàn)了測試系統(tǒng)的通用性三. IVI驅動程序的特點和優(yōu)勢1. 互換性。IVI驅動程序的互換性至少為我們帶來了以下幾大好處:a)易于使用。所用的IVI驅動程序都使用通用的接口,易于 理解,也就不再要求應用程序的開發(fā)人員必須掌握某一特定儀器的編程方法,從而系統(tǒng)開發(fā)獲得了更大的硬件獨立性.b)降低了系統(tǒng)的維護和升級費用。IVI構架系統(tǒng)可以適用不同的儀器,當儀器 陳舊或者有了升級的、高性能或低造價的儀器時,可以任意更換,而不需要改變 應用程序

9、。c)代碼共享.IVI構架允許部門和設備之間方便地復用及共 享測試代碼,并且不需使用相同型號的儀器硬件2. 模擬功能。每個儀器專用驅動程序都具有專門針對本型號儀器的模擬功能.這些模擬功能使得工程師在缺少真實儀器的情況下,可以使用IVI驅動程序的模擬功能來開發(fā)、調試應用程序還可以使用美國國家儀器公司(National Instruments,簡稱NI)提供的類模擬驅動程序以獲得更強大的模擬功能。3. 狀態(tài)緩存功能VI驅動程序可以保存儀器每一屬性設置的當前狀態(tài)。當應用程序試圖發(fā)送一些冗余命令到儀器時(例如,將儀器的某一屬性重新 設置為當前值,這些命令顯然不會讓儀器產生任何變化或動作),IVI驅動程

10、序會跳過這些命令。當前的測試系統(tǒng)中,影響軟件執(zhí)行速度的瓶頸通常在于儀器與 計算機接口總線的傳輸速率,IVI驅動程序的此項功能大大減少了儀器與計算機 之間的通訊,從而提升了系統(tǒng)性能。4。源碼開放。高級用戶可以直接修改IVI驅動程序的源代碼,以對其 進行優(yōu)化或添加功能。5。免費得到大量的驅動程序。除了生產廠商自行開發(fā)的IVI驅動程序, NI公司也為各類常用儀器開發(fā)了大量IVI驅動程序,這些程序都可以從NI的網(wǎng) 站上免費下載。 此外,NI還提供了用于開發(fā)驅動程序的工具包,以簡化用戶的 IVI驅動程序的開發(fā)過程。 個人收集整理,勿做商業(yè)用途文檔為個人收集整理,來源于網(wǎng)絡四。IVI驅動程序的設計和開發(fā)按

11、照提供給用戶的接口形式的不同,IVI驅動程序分為:C語言驅動程序, LabVIEW驅動程序,COM區(qū)動程序。雖然同一儀器可以存在接口形式不同的驅動 程序,但它們的功能完全相同,用戶可以選擇使用自己最擅長的形式。目前最普遍 使用的仍然是C語言驅動程序;LabVIEW驅動程序是在C語言驅動程序生成的DLL 動態(tài)庫的基礎上生成的;而COM區(qū)動程序則需要重新編寫代碼.IVI驅動程序規(guī)范已經(jīng)詳細制定了驅動程序的構架和接口,因此開發(fā)人 員不必另行設計程序結構,這避免了驅動程序結構不合理或用戶使用不便等問 題。但是,開發(fā)人員要特別注意和精心設計儀器的功能、控制命令與IVI規(guī)范不兼容的部分。使用LabWind

12、ows/CVI作為C語言驅動程序的開發(fā)工具具有獨特的優(yōu)越條 件,因為CVI集成了許多驅動程序開發(fā)工具,比如:IVI驅動程序生成向導、屬 性編輯器等。另外還可以選用 NI公司的IDT工具包作為補充。下面以較為常用的Fluke 45數(shù)字萬用表為例,簡單介紹一下開發(fā)IVI儀 器驅動程序的具體步驟:1 熟悉儀器與IVI規(guī)范.在開發(fā)儀器的IVI驅動程序以前,首先要熟 悉儀器的有關命令,然后根據(jù)其功能進行分類。并且將儀器命令與IVI規(guī)范制定 的屬性、函數(shù)對應起來。2 .使用CVI的“儀器驅動程序開發(fā)向導”生成驅動程序的框架。 開發(fā) 向導生成的文件一共有4個,其中,“ fl45。c”和“fl45。h”分別是

13、C語言源 文件和頭文件;“ fl45.fp記錄函數(shù)面板信息;“ fl45。sub”記錄儀器“屬性(attribute ) ”的信息。3 . 刪除儀器不支持的擴展功能組可能會出現(xiàn)儀器不支持某些IVI規(guī) 范定義的功能組的情況,比如說fl45不具備溫度測量功能,這時應該把所有與溫 度測量有關的函數(shù)和屬性移出4 .完善代碼。實現(xiàn)IVI規(guī)范中儀器可以支持的功能組“儀器驅動程序開發(fā)向導”已經(jīng)生成了大部分屬性和函數(shù)的代碼用戶需要做的只是到屬性的回調函數(shù)(Attribute Callback Function)中修改相應的儀器命令。由于每臺儀器的命令體系都有其特殊性,用戶也不能夠完全依賴“開發(fā)向導”生成的程序

14、 結構,函數(shù)和屬性的實現(xiàn)需要參照儀器的具體命令體系來實現(xiàn)。5 .編寫支持儀器特殊功能的代碼。“儀器驅動程序開發(fā)向導不能夠生成支持IVI規(guī)范定義之外的儀器功能.比如Fl45有對測量值進行修正的功能,IVI規(guī)范沒有相應的定義,實現(xiàn)這部分功能需要自己設計和編寫相應的屬性及函 數(shù)。6 . 測試。除了要確保IVI驅動程序函數(shù)功能正確,還要驗證它是否完 全符合IVI規(guī)范。IVI驅動程序的開發(fā)人員也可以請求 NI公司幫助完成程序的 最終測試。7 . 編寫LabVIEW驅動程序。如果已經(jīng)有了 C語言IVI驅動程序,只需 要使用NI公司在其網(wǎng)站上提供的 LabVIEW In terface Gen erator

15、 forLabWi ndows?/CVI? In strume nt Drivers工具即可方便地生成相應的 LabVIEW儀器驅動程序。本文為互聯(lián)網(wǎng)收集,請勿用作商業(yè)用途個人收集整理,勿做商業(yè)用途IVI類驅動程序的開發(fā)。如果用戶希望使用IVI規(guī)范定義的八類儀器之外的儀器,并且還要實現(xiàn)通用性(可互換性),那么則需要客戶自己開發(fā)類驅動 程序。類驅動程序的開發(fā)與儀器驅動程序的開發(fā)過程完全不同,由于用戶很少遇到類驅動程序的開發(fā),本文不作詳細介紹五。IVI驅動程序的應用實例IVI驅動程序相對于傳統(tǒng)儀器驅動程序而言,比較適合于高端應用和大 型測試系統(tǒng)的搭建。下面是兩個IVI體系的典型應用。1 .2002

16、年波音公司在其新設計的測試系統(tǒng)中應用了IVI技術。由于對測試穩(wěn)定性的要求,波音公司的測試系統(tǒng)一經(jīng)投入使用,往往要求連續(xù)工作幾 十年而且不能做大的改動.在這么長的使用期內,許多最初設計時使用的儀器都 可能停產。一旦儀器損壞,根本無法找到同型號的儀器進行替換,只能使用類似的儀器進行替代如果使用傳統(tǒng)儀器驅動程序,每次更換儀器時,測試軟件也必 須做相應更新.這樣一來不但需要花費大量時間在測試軟件的更新上,更重要的 是對軟件結構的改動很可能會破壞它的一致性。在使用IVI體系結構后,每次替換儀器,只需要在IVI配置文件中指明新 的驅動程序即可,測試軟件不需要作任何改動。這樣既節(jié)約了時間,又不會對測 試結果產生任何影響。2 .NI公司在其2005年推出的校準系統(tǒng)中也使用了 IVI體系結構。該校準系統(tǒng)將提供給世界各地校準實驗室使用,因此,該校準系統(tǒng)必須能供控制型 號千差萬別的各類標準儀器。IVI體系結構保證了該系統(tǒng)在不改變代碼的前提下 適應任何實驗室的儀器設備。參考文獻:1 Dany Cheij , The An atomy of an In tercha ngeable Test System, http:/www 。 ni

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論