第12課IVI儀器驅(qū)動(dòng)技術(shù).ppt_第1頁
第12課IVI儀器驅(qū)動(dòng)技術(shù).ppt_第2頁
第12課IVI儀器驅(qū)動(dòng)技術(shù).ppt_第3頁
第12課IVI儀器驅(qū)動(dòng)技術(shù).ppt_第4頁
第12課IVI儀器驅(qū)動(dòng)技術(shù).ppt_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、05:52,1,IVI儀器驅(qū)動(dòng)技術(shù),北京航空航天大學(xué)自動(dòng)化學(xué)院 ATE實(shí)驗(yàn)室 2009年5月,05:52,2,內(nèi)容提要,IVI儀器驅(qū)動(dòng)技術(shù)的發(fā)展 IVI-C IVI-COM IVI-MSS IVI-Signal Interface,05:52,3,IVI技術(shù)概述,IVI(Interchangeable Virtual Instruments可互換式虛擬儀器)于1998年由IVI基金會(huì)推出的新一代儀器驅(qū)動(dòng)技術(shù)規(guī)范。IVI致力于實(shí)現(xiàn)儀器驅(qū)動(dòng)器的可互換性、開發(fā)靈活性、測試高效性以及保證測試品質(zhì)。 IVI與已有的儀器驅(qū)動(dòng)技術(shù)相比主要優(yōu)勢體現(xiàn)在: (1)儀器可互換能力 (2)儀器的仿真模擬 (3)儀器狀

2、態(tài)跟蹤與緩存,05:52,4,IVI通用儀器類的劃分,目前已制定和正在制定的IVI儀器類規(guī)范有十余種,包括:示波器、萬用表、函數(shù)/任意波發(fā)生器、直流電源、交流電源、開關(guān)、功率計(jì)、射頻信號發(fā)生器、頻譜分析儀、數(shù)字I/O、化學(xué)分析儀等 。 IVI-C、IVI-COM實(shí)現(xiàn)了同類儀器的可互換,編程開發(fā)中同一類儀器采用統(tǒng)一的類儀器驅(qū)動(dòng)器, 同一類儀器的編程接口完全相同。,05:52,5,基于IVI驅(qū)動(dòng)器的測試程序結(jié)構(gòu),測試程序,IVI類驅(qū)動(dòng)器,IVI特定儀器驅(qū)動(dòng)器,05:52,6,IVI-C儀器驅(qū)動(dòng)模型,05:52,7,IVI 引擎技術(shù),IVI內(nèi)部模型由:回調(diào)函數(shù)集、VPP功能體和IVI引擎。其中VPP

3、功能體部分與VPP儀器驅(qū)動(dòng)器內(nèi)部設(shè)計(jì)模型相同,包括組件函數(shù)集和應(yīng)用函數(shù)集兩部分?;卣{(diào)函數(shù)是IVI引擎提供的讀寫儀器配置或獲取儀器狀態(tài)的操作機(jī)制,回調(diào)函數(shù)不能被用戶直接調(diào)用。,05:52,8,IVI模型與VPP模型最大的區(qū)別就是IVI的引擎機(jī)制,IVI引擎實(shí)現(xiàn)高性能的屬性管理。IVI引入的面向?qū)ο蟮膶傩詸C(jī)制是實(shí)現(xiàn)IVI模型驅(qū)動(dòng)器的關(guān)鍵:基于IVI結(jié)構(gòu)的驅(qū)動(dòng)器每一項(xiàng)配置功能都被描述成儀器的一個(gè)屬性,IVI引擎則包含如何去獲取、確認(rèn)和更新儀器屬性的方法。建立在由IVI引擎驅(qū)動(dòng)的屬性機(jī)制的基礎(chǔ)上,IVI實(shí)現(xiàn)了狀態(tài)緩存、范圍檢測、狀態(tài)檢測及儀器仿真功能。,IVI 引擎技術(shù),05:52,9,IVI引擎技術(shù)

4、范圍檢查,IVI Driver,IVI Engine,SetAttr (AMP, 5.0),Range-Check,“Is Range-Checking on?” If YES, compare 5.0 against valid ranges,AmpRangeTable,Valid ranges for Amp,范圍檢查機(jī)制可以自動(dòng)檢測設(shè)置的屬性值是否在正確的范圍內(nèi),如果超出范圍則自動(dòng)賦以缺省值。用戶可以禁止使用范圍檢查機(jī)制以提高測試速度。IVI引擎還提供了范圍表的機(jī)制,強(qiáng)制選擇合適的值。,05:52,10,IVI引擎技術(shù)范圍檢查,IVI Driver,IVI Engine,SetAttr

5、(ATTR, 5.0),Range-Check,“Is Range-Checking on?” If YES, GetRangeTable Call appropriate range table,AttrRangeTable1,AttrRangeTable2,GetRangeTable,GetAttrX If X = 1, RangeTable1 If X = 2, RangeTable2,05:52,11,IVI引擎技術(shù)狀態(tài)緩存,IVI Driver,IVI Engine,SetAttr (AMP, 5.0),Range-Check,RangeTables,Cache,“Is state-

6、caching on?” Compare 5.0 against current value of AMP in cache If different, continue If same, stop.,cached values,On/Off,On/Off,狀態(tài)緩存機(jī)制是IVI引擎在內(nèi)存中保存了儀器內(nèi)部屬性的狀態(tài)。狀態(tài)緩存的機(jī)制避免了向儀器發(fā)送冗余的命令。因?yàn)樵O(shè)置儀器屬性時(shí),IVI引擎自動(dòng)比較緩存的屬性值和待設(shè)置的屬性值,只有不相等時(shí)才設(shè)置,減少了不必要的操作。狀態(tài)緩存機(jī)制使得測試系統(tǒng)的性能提高了38。,05:52,12,IVI引擎技術(shù)儀器仿真,IVI Driver,IVI Engine,Se

7、tAttr (AMP, 5.0),Range-Check,RangeTables,Cache,Simulate,“Is simulation on?” If YES, dont send anything If NO, continue,On/Off,On/Off,On/Off,仿真功能實(shí)現(xiàn)脫離硬件設(shè)備的開發(fā)和調(diào)試手段。IVI仿真是通過范圍檢查機(jī)制或范圍表機(jī)制為用戶產(chǎn)生必需的測試數(shù)據(jù),實(shí)現(xiàn)脫離硬件的開發(fā)和調(diào)試。,05:52,13,IVI引擎技術(shù)狀態(tài)檢查,IVI Driver,IVI Engine,SetAttr (AMP, 5.0),Range-Check,RangeTables,Cache,

8、Simulate,Send Value,Write Callbacks,Check Status,“Is status-checking on?” If YES, call status check callback in driver,Check Status,send cmd to check instr status,On/Off,On/Off,On/Off,On/Off,狀態(tài)檢查機(jī)制是在每次執(zhí)行操作之后自動(dòng)執(zhí)行儀器狀態(tài)檢測,確保儀器屬性設(shè)置及運(yùn)行狀態(tài)在正常的范圍內(nèi),保證了儀器的正常運(yùn)行。,05:52,14,IVI技術(shù)回調(diào)函數(shù),IVI Driver,IVI Engine,SetAttr

9、(AMP, 5.0),Range-Check,RangeTables,Cache,Simulate,Send Value,Call AmpWriteCallback in Driver,AmpWriteCallback,Sends cmd to set AMP to 5.0,On/Off,On/Off,On/Off,05:52,15,IVI技術(shù)回調(diào)函數(shù),IVI Driver,IVI Engine,GetAttr (AMP, &val),RangeTables,Cache,Simulate,Read Value,Write Callbacks,Check Status,Check Status

10、Callback,On/Off,On/Off,On/Off,If On, check cache for value. If valid value in cache, return. If no cached value, continue,Read Callbacks,Call Read Callback in driver,05:52,16,IVI驅(qū)動(dòng)器結(jié)構(gòu),IVI Driver,Attribute RangeTables,Attribute Write Callbacks,Check Status Callback,Attribute Read Callbacks,High-Level

11、 Functions,Initialize Configure Measure Read Waveform,05:52,17,IVI驅(qū)動(dòng)器開發(fā),IVI Driver,IVI Engine,Test Program,Call high-level functions, just like drivers today,05:52,18,IVI類驅(qū)動(dòng)器機(jī)制,為了實(shí)現(xiàn)不同廠商同類儀器的可互換性,IVI建立了儀器類驅(qū)動(dòng)器機(jī)制,將不同的儀器按功能分類,每類儀器驅(qū)動(dòng)器對外提供一致的屬性和接口函數(shù)。在開發(fā)測試程序的過程中,只是調(diào)用公共的類驅(qū)動(dòng)器的接口;而實(shí)際測試軟件執(zhí)行過程中,則根據(jù)實(shí)際使用的儀器自動(dòng)調(diào)用特定

12、儀器的驅(qū)動(dòng)代碼。,05:52,19,IVI類驅(qū)動(dòng)器,由于一個(gè)給定類中的所有不同型號的儀器不可能具有完全相同的功能,不可能為這些儀器僅建立一個(gè)應(yīng)用程序接口。因此,為了提高性能、便于實(shí)現(xiàn)互換,在IVI規(guī)范中將IVI類驅(qū)動(dòng)器實(shí)現(xiàn)對儀器操作的函數(shù)及屬性進(jìn)行如下分組: Inherent IVI Capabilities(固有IVI功能)、Fundamental Capabilities(基本功能)、Extension Groups(擴(kuò)展功能組)及Instrument-specific Capabilities(儀器特定功能)。,05:52,20,IVI類驅(qū)動(dòng)器與特定儀器驅(qū)動(dòng)器間的關(guān)系,05:52,21,

13、為了便于統(tǒng)一操作,IVI規(guī)范對于類驅(qū)動(dòng)器中的每一函數(shù)、屬性及全部文件名的命名方式及書寫方式做了統(tǒng)一的規(guī)定。,IVI Class,Function Prefix,Attribute ID Prefix,Filename Prefix,Digital MultiMeter,IviDmm,IVIDMM,ividmm.*,OscilloScope,IviScope,IVISCOPE,iviscope.*,Function Generator,IviFgen,IVIFGEN,ivifgen.*,Power Supply,IviPower,IVIPOWER,ivipower.*,Switch,IviSwi

14、tch,IVISWITCH,iviswitch.*,IVI類驅(qū)動(dòng)器的命名規(guī)范,05:52,22,IVI儀器驅(qū)動(dòng)器的調(diào)用過程,測試程序,IVI數(shù)字萬用表(DMM)類驅(qū)動(dòng)器 (IviDmm_Configure),HP34401 特定儀器驅(qū)動(dòng)器 (hp34401_Configure),FLUKE45 特定儀器驅(qū)動(dòng)器 (fl45_Configure),05:52,23,IVI實(shí)現(xiàn)儀器互換機(jī)制,IVI使用IVI.INI 配置文件實(shí)現(xiàn)了從類驅(qū)動(dòng)器到特定驅(qū)動(dòng)器的映射,使得更換儀器時(shí)只需改變驅(qū)動(dòng)器的映射,即將類驅(qū)動(dòng)器的映射從一個(gè)驅(qū)動(dòng)器改變到同類儀器的另一個(gè)驅(qū)動(dòng)器,而不必改變測試程序。 IVI.INI文件定義了

15、設(shè)備邏輯名、類驅(qū)動(dòng)器、虛擬設(shè)備、驅(qū)動(dòng)器及硬件配置等字段。,05:52,24,IVI配置文件內(nèi)容,設(shè)備邏輯名(IviLogicalName)字段定義了儀器設(shè)備標(biāo)志符,并給出了該儀器驅(qū)動(dòng)器虛擬設(shè)備字段在IVI.INI中的入口信息。 類驅(qū)動(dòng)器字段(ClassDriver-XXX)描述了當(dāng)前使用的類驅(qū)動(dòng)器的類別,“XXX”代表驅(qū)動(dòng)器類,比如數(shù)字多用表為“IviDMM”。 虛擬設(shè)備字段(Virtual Instrument ,其入口由邏輯名字段中的DMM= 給出)描述了特定儀器驅(qū)動(dòng)器一些屬性的配置(如范圍檢測、仿真功能等)。這些屬性的值是在類驅(qū)動(dòng)器初始化時(shí)作為參數(shù)傳入的。該字段還給出了該儀器驅(qū)動(dòng)器的驅(qū)動(dòng)

16、器字段和硬件配置字段在IVI.INI文件中的入口信息。 驅(qū)動(dòng)器字段(Driver,其入口由虛擬設(shè)備字段中的Driver= 給出)描述了儀器驅(qū)動(dòng)器的位置、接口形式、驅(qū)動(dòng)器前綴等信息,以便類驅(qū)動(dòng)器正確地載入、調(diào)用特定的驅(qū)動(dòng)器。 硬件配置字段(Hardware,其入口由虛擬設(shè)備字段中的Hardware= 給出)描述了特定儀器的地址信息、描述信息、ID號等,以便類驅(qū)動(dòng)器正確地建立與儀器的通信連接。,05:52,25,IVI配置文件舉例:,IviLogicalName DMM = ”VInstr-Fl45” ClassDriver-IviDmm Description = ”IVI Digital Mu

17、ltimeter Class Driver” SimulationVInstr = “Vistr-NISimDMM” VInstr-Fl45 Description = “Fluke 45 Digital Multimeter” Driver = “Driver-45” Hardware = “Hardware-Fl45” RangeCheck = True Simulate = False UseSpecificSimulation = False Trace = True InterChangeCheck = True QureStatus = True ChannelName = “ch

18、1” DefaultSetup = “”,05:52,26,Driver-FL45 Description = “Fluke 45 Digital Multimeter Instrument Driver” ModulePath = “d:program files cviinstrFL45.dll” Prefix = “FL45” Interface = “GPIB” Hardware-FL45 Description = “” ResourceDesc = “GPIB:2:INSTR” IDString = “FLUKE ,45,4940191,1.6,D1.0” DefaultDrive

19、r = “Driver-Fl45”,05:52,27,IVI類驅(qū)動(dòng)器到特定驅(qū)動(dòng)器的映射,在應(yīng)用程序中調(diào)用類驅(qū)動(dòng)器的初始化函數(shù)進(jìn)行儀器初始化:IviDmm_Initialize( 通過IVI.INI文件映射,類驅(qū)動(dòng)器讀入映像文件的配置信息,并動(dòng)態(tài)地載入位于“d:program files cviinstrFL45.dll”的FL45驅(qū)動(dòng)器組件。根據(jù)Driver-FL45字段中定義的驅(qū)動(dòng)器前綴“FL45”找到對應(yīng)的Fluke 45數(shù)字多用表的初始化函數(shù)(比如FL45_InitWithOptions),并將映像文件中初始信息作為參數(shù)傳入:資源地址 GPIB:2:INSTR;屬性配置 “Simulate=0,RangeCheck=1,QueryInstrStatus=1,Cache=1”,從而完成Fluke45 DMM 的初始化。,05:52,28,類驅(qū)動(dòng)到特定驅(qū)動(dòng)映射的實(shí)現(xiàn)機(jī)制,IVI類驅(qū)動(dòng)器中不能出現(xiàn)具體的特定儀器前綴,為實(shí)現(xiàn)互換性,類驅(qū)動(dòng)器只能采用動(dòng)態(tài)鏈接庫的顯示調(diào)用方式來實(shí)現(xiàn)。在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論