版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1.1IVI技術(shù)規(guī)范及其工作原理
1.1.1IVI技術(shù)的特點(diǎn)
為了深入提高儀器w、j可互換性和測(cè)試代碼的可重用性,減少系統(tǒng)
升級(jí)H勺難度和成本,由NI企業(yè)、GEC馬可尼企業(yè)、朗訊技術(shù)企業(yè)、
GDE系統(tǒng)企業(yè)等十幾家儀器生產(chǎn)廠商成立了IVI基金會(huì)并公布了IVI
技術(shù)規(guī)范。IVI技術(shù)規(guī)范是IVI基金會(huì)在VPP規(guī)范的基礎(chǔ)上定義儀器
的原則接口、通用構(gòu)造和實(shí)現(xiàn)措施,用于開發(fā)一種可互換、高性能、
更易于開發(fā)維護(hù)日勺儀器的編程模型。IVI技術(shù)重要具有如下特點(diǎn)。
1)通過儀器的可互換性,節(jié)省測(cè)試系統(tǒng)的開發(fā)和維護(hù)費(fèi)用
IVI技術(shù)提高了儀器驅(qū)動(dòng)器的原則化程度,使儀器驅(qū)動(dòng)器從基本
的互操作性提高到了儀器類H勺互操作性。通過為各儀器類定義明確的
API,測(cè)試系統(tǒng)開發(fā)者在編寫軟件時(shí)可以做到最人程度的與硬件無關(guān),
當(dāng)替代過時(shí)的儀器或采用更高性能的新儀器進(jìn)行系統(tǒng)升級(jí)時(shí),測(cè)試程
序源代碼可以不用做任何更改或重新編譯,這大大提高了代碼的可重
用性,同步也縮短了測(cè)試系統(tǒng)開發(fā)周期以及系統(tǒng)維護(hù)費(fèi)用。
2)逋過狀態(tài)緩存,改善測(cè)試性能
IVI引入了屬性管理機(jī)制,其模型中的IVI引擎可實(shí)現(xiàn)實(shí)狀況態(tài)
存儲(chǔ)功能。VPP驅(qū)動(dòng)程序總是假設(shè)儀器狀態(tài)是未知的,因此,每個(gè)測(cè)
量函數(shù)在進(jìn)行測(cè)量操作之前都要對(duì)儀器進(jìn)行設(shè)置,而不管儀器在此之
前與否被配置過。而1V1驅(qū)動(dòng)器通過狀態(tài)緩存能自動(dòng)存儲(chǔ)儀器的R前
狀態(tài)。一種ivi儀器驅(qū)動(dòng)程序函數(shù)只有在儀器目前設(shè)置和函數(shù)所規(guī)定
時(shí)值不一致時(shí),才執(zhí)行I/O操作,而不是每次都對(duì)儀器的所有參數(shù)進(jìn)
行重新配置,這樣IVI引擎可以防止發(fā)送冗余的儀器配置命令,從而
優(yōu)化程序運(yùn)行時(shí)口勺性能,極大的縮短測(cè)試時(shí)間。
3)通過仿真,使測(cè)試開發(fā)更輕易、更經(jīng)濟(jì)
運(yùn)用IVI儀器驅(qū)動(dòng)器的仿真功能,顧客可以在儀器還不能用的條
件下,使用驅(qū)動(dòng)程序建立應(yīng)用程序,這種狀況下,驅(qū)動(dòng)程序不執(zhí)行儀
器I/O而僅運(yùn)用軟拷貝來進(jìn)行處理.,它檢查輸入?yún)?shù)并且產(chǎn)生仿真的
輸出成果。有了這些仿真數(shù)據(jù),開發(fā)者在沒有儀器硬件日勺狀況下也能
為儀器開發(fā)應(yīng)用程序代碼。
1.1.2IVI驅(qū)動(dòng)器的類型及互換性的實(shí)現(xiàn)原理
如圖4所示,IVI驅(qū)動(dòng)器分為IVI類驅(qū)動(dòng)器和IVI專用驅(qū)動(dòng)器兩大
類型。
IVI類驅(qū)動(dòng)器提供符合已定義IVI儀器類規(guī)范日勺儀器驅(qū)動(dòng)器API,
通過IVI類兼容專用驅(qū)動(dòng)器間接實(shí)現(xiàn)與儀器硬件的逋信連接。實(shí)際上,
可以將IVI類驅(qū)動(dòng)器理解為一種抽象的、具有過渡性質(zhì)的儀器驅(qū)動(dòng)器,
類似于面向?qū)ο缶幊碳夹g(shù)中日勺虛擬基類,而IVI類兼容專用驅(qū)動(dòng)器則
是它日勺派生類。
IVI專用驅(qū)動(dòng)器封裝了用于控制某一類或某一種儀器所需口勺信息
和函數(shù),可以直接與底層硬件通信,它又包括IVI類兼容專用驅(qū)動(dòng)器
和IVI定制專用驅(qū)動(dòng)器。IVI類兼容專用驅(qū)動(dòng)器與某一類已定義口勺IVI
儀器類兼容,使用已定義儀器類的原則API,但同步又增長了某些其
他特性,以滿足顧客對(duì)儀器互換性的規(guī)定;IVI定制專用驅(qū)動(dòng)器使用
顧客化口勺API,不與任何已定義的儀器類原則兼容,不能實(shí)現(xiàn)硬件的
互換性,重要用于某些特殊場所。
圖1IVI驅(qū)動(dòng)器分類
IVI規(guī)范把儀器驅(qū)動(dòng)器提成類驅(qū)動(dòng)器和專用驅(qū)動(dòng)器W、j目的是為了
實(shí)現(xiàn)儀器的互換性。為了保證在進(jìn)行儀器替代時(shí)不修改測(cè)試代碼,不
再做重新編譯或鏈接,做到完全的互換性,IVI規(guī)范規(guī)定顧客需要直
接用儀器類API編程而不是用特定M、JIVI類兼容專用驅(qū)動(dòng)器編程,與
特定儀器有關(guān)的驅(qū)動(dòng)器和硬件資源配置不能在測(cè)試程序中完畢,于是
IVI技術(shù)規(guī)范提出了一種被稱為“配置倉”口勺軟件構(gòu)造。
圖2IVI儀器驅(qū)動(dòng)器互換性原理圖
IVI配置倉是用來實(shí)現(xiàn)儀器互換性的外部軟件,具有動(dòng)態(tài)加載特
定儀器驅(qū)動(dòng)器日勺能力,通過建立類驅(qū)動(dòng)器和特定儀器驅(qū)動(dòng)器的映射關(guān)
系來實(shí)現(xiàn)儀器日勺互換和測(cè)試程序的代碼重用。圖5解釋了儀器互換性
的實(shí)現(xiàn)措施。IVI配置倉中包括了一系列邏輯名以及與各邏輯名一一
對(duì)應(yīng)H勺驅(qū)動(dòng)器通話配置器,在應(yīng)用程序通過某個(gè)邏輯名來訪問IVI類
驅(qū)動(dòng)器時(shí),IVI類驅(qū)動(dòng)器通過邏輯名H勺匹配得到實(shí)際的IVI類兼容專
用驅(qū)動(dòng)器通話配置器,并實(shí)現(xiàn)該驅(qū)動(dòng)器的動(dòng)態(tài)加載,然后通話配置器
建立與專用驅(qū)動(dòng)器和儀器的通話鏈路,同步也決定某些可配置屬性的
配置,如仿真、狀態(tài)緩存狀態(tài)檢查等,當(dāng)顧客更換儀器時(shí),只需將IVI
配置倉中對(duì)應(yīng)的邏輯名重新定位到另一種通話配置器,從而實(shí)現(xiàn)儀器
的互換。
1.1.3IVI驅(qū)動(dòng)器的工作原理
IVI驅(qū)動(dòng)器出J工作機(jī)制如圖6所示。IVI模型中把每一種可讀寫的
儀器設(shè)置定義為一種屬性。IVI引擎與驅(qū)動(dòng)程序一起參與對(duì)
圖3IVI儀器驅(qū)動(dòng)器工作機(jī)制
儀器屬性的管理,重要包括記憶和跟蹤屬性值、屬性范圍檢查和
強(qiáng)制設(shè)定、控制屬性值的讀寫等。構(gòu)成IVI儀器驅(qū)動(dòng)程序的高層函數(shù)
重要包括如下四個(gè)部分:(1)用于讀寫某個(gè)儀相屬性股IIVI原則屬性
函數(shù);(2)用于規(guī)定每一種儀器屬性有效范圍的范圍表;(3)屬性
回調(diào)函數(shù)(讀回調(diào)函數(shù)、寫回調(diào)函數(shù)、范圍檢查回調(diào)函數(shù)等);(4)
全局通道回調(diào)函數(shù)(如狀態(tài)檢查回調(diào)函數(shù)等)。當(dāng)驅(qū)動(dòng)程序在高層函
數(shù)中設(shè)置屬性時(shí),IVI引擎被激活并訪問屬性范圍表進(jìn)行范圍檢查和
強(qiáng)制設(shè)定值,在設(shè)置值與緩存值不一樣步激活屬性回調(diào)函數(shù),執(zhí)行儀
器I/O操作,否則直接返回成功。假如執(zhí)行了I/O操作,則高層函數(shù)
還要在驅(qū)動(dòng)程序中調(diào)用狀態(tài)檢查回調(diào)函數(shù),查看與否有錯(cuò)誤發(fā)生。由
于IVI引擎運(yùn)行在計(jì)算機(jī)內(nèi)部,而驅(qū)動(dòng)程序只有在對(duì)儀器進(jìn)行硬件操
作時(shí)才花費(fèi)較多時(shí)間,因此,通過在高層函數(shù)和低層I/O操作之間引
入屬性管理機(jī)制,可以在不影響儀器工作的條件下增強(qiáng)對(duì)儀器操作的
靈活性和安全性,并大大提高驅(qū)動(dòng)程序口勺效率。
以通道配置函數(shù)dsoesl452_ConfigureChannel配置垂直敏捷度
為5V/div為例,IVI驅(qū)動(dòng)器和IVI引擎將執(zhí)行如下幾步:
函數(shù)dsoesl452_ConfigureChannel中調(diào)用原則IVI屬性設(shè)置函數(shù)
Ivi_SetAttributeViReal64(),將屬性
DSOES1452_ATTR_VERTICAL_RANGE時(shí)值設(shè)置為5.0。
假如IVI內(nèi)置屬性IVI_ATTR_RANGE_CHECK(范圍檢查)H勺值為
真VLTRUE,IVI引擎調(diào)用屬性范圍檢查回調(diào)函數(shù),判斷5.0與否超
過了垂直敏捷度屬性范圍表。假如超過了有效范圍,屬性設(shè)置函數(shù)返
回一種錯(cuò)誤代碼,或者調(diào)用強(qiáng)制回調(diào)函數(shù)強(qiáng)制設(shè)定為有效范圍內(nèi)的數(shù)
值。
假如IVI內(nèi)置屬性IVLATTR/ACHE(狀態(tài)緩存)為真VIJRUE,
IVI引擎比較5.0與目前緩存中日勺值與否相等,假如相等,屬性設(shè)置
函數(shù)直接返回執(zhí)行成功代碼。
假如IVI內(nèi)置屬性IVLATTR工ACHE(仿真)為真VLTRUE,屬
性設(shè)置函數(shù)直接返回執(zhí)行成功代碼。
假如5.0與緩存值不等且不是執(zhí)行的仿真,則調(diào)用垂直敏捷度屬
性寫回調(diào)函數(shù)dsoesl452AttrVerticalRange_WriteCallbackO,通過
VISAI/O函數(shù)訪問底層硬件,寫入5.0對(duì)應(yīng)時(shí)命令,并更新目前緩存
值為5.0。
假如屬性IVI_ATTR_QUERY」NSTR_STATUS(儀器狀態(tài)檢查)為
真VLTRUE,同步IVI引擎調(diào)用了寫回調(diào)函數(shù),則函數(shù)
dsoesl452_ConfigureChannel調(diào)用狀態(tài)檢查回調(diào)函數(shù),該回調(diào)函數(shù)
讀取儀器的狀態(tài)寄存器信息,以檢查與否有錯(cuò)誤發(fā)生。
1.1.4IVI儀器驅(qū)動(dòng)器的開發(fā)流程
考慮到IVI規(guī)范是在VPP規(guī)范基礎(chǔ)上泥出來的,IVI儀器驅(qū)動(dòng)器
與VPP驅(qū)動(dòng)器的區(qū)別就在于IVI驅(qū)動(dòng)器多了IVI引擎,IVI引擎通過
屬性管理來控制硬件,而VPP驅(qū)動(dòng)器是直接調(diào)用VISA函數(shù)訪問儀器,
因此我們的開發(fā)是直接用LabWindows/CVI的開發(fā)向?qū)ч_發(fā)IVI驅(qū)動(dòng)
器,同步就可以實(shí)現(xiàn)VPP儀器驅(qū)動(dòng)器的開發(fā)。
IVI儀器驅(qū)動(dòng)器日勺開發(fā)流程大體如下:
啟動(dòng)IVI驅(qū)動(dòng)程序開發(fā)向?qū)В凑障驅(qū)丈滋嵝言O(shè)置儀器驅(qū)動(dòng)器的J
有關(guān)信息,生成驅(qū)動(dòng)程序框架代碼,生成日勺框架代碼中,包括了符合
IVI規(guī)范的示波器類驅(qū)動(dòng)器的大部分原則函數(shù)。
分析生成w、j各個(gè)屬性,對(duì)對(duì)應(yīng)屬性進(jìn)行編輯、刪除或新建;對(duì)獨(dú)
立屬性實(shí)現(xiàn)屬性回調(diào)函數(shù),這些屬性可用來設(shè)置和訪問硬件,寫回調(diào)
函數(shù)用來設(shè)置硬件屬性值,在狀態(tài)存儲(chǔ)機(jī)制無效時(shí),寫回調(diào)函數(shù)總是
被調(diào)用,此時(shí)IVI驅(qū)動(dòng)日勺工作過程與VPP驅(qū)動(dòng)類似,讀回調(diào)函數(shù)用來
獲取屬性值。
明確屬性的無效值,IVI引擎采用屬性無效列表作為保持狀態(tài)存
儲(chǔ)完整性的一種技術(shù),它用來處理高級(jí)屬性之間的有關(guān)性問題,例如
某一屬性的無效列表中可以包括受其影響II勺屬性,當(dāng)這一屬性的值變
化而導(dǎo)致被其影響的屬性無效時(shí),IVI引擎就可以修改它們的屬性值。
分析驅(qū)動(dòng)程序的各構(gòu)成文獻(xiàn),編輯和修改函數(shù)樹與函數(shù)面板、
刪除不用的擴(kuò)展代碼,根據(jù)本模塊的實(shí)際需要修改生成H勺函數(shù)代
碼,添加本模塊所需要的特殊函數(shù)代碼。
設(shè)計(jì)軟面板程序,對(duì)IVI驅(qū)動(dòng)程序的各函數(shù)進(jìn)行測(cè)試并調(diào)試,在
保證對(duì)的性的前提下生成安裝文獻(xiàn)。
1.1.5儀器驅(qū)動(dòng)器屬性的設(shè)置
運(yùn)行LabWindows/CVI出JIVI儀器驅(qū)動(dòng)器開發(fā)向?qū)В凑障驅(qū)В?、J
提醒,輸入所需要的本模塊日勺對(duì)應(yīng)信息,最終點(diǎn)擊Generate按鈕即
可生成IVI儀器驅(qū)動(dòng)器所需的基本文獻(xiàn),包括函數(shù)面板文獻(xiàn)
PREFIX.fp,源代碼文獻(xiàn)PREFIX?頭文獻(xiàn)PREFIX?儀器屬性文獻(xiàn)
PREFIX.sub。這里PREFIX代表在向?qū)е休斎氲膬x器驅(qū)動(dòng)器前綴名稱,
生成日勺所有驅(qū)動(dòng)器函數(shù)和屬性名稱都以此前綴開頭,以表明此驅(qū)動(dòng)器
是某一型號(hào)特定儀器的特定驅(qū)動(dòng)器。
打開屬性編輯器,可以看到自動(dòng)生成口勺1VI驅(qū)動(dòng)器的所有屬性列
表,其中有某些屬性是IVI固有屬性,即不管是什么類型日勺儀器都必
須要有附屬性,在CVI中這些屬性不能被顧客隨意更改,開發(fā)者不能
對(duì)這些屬性做任何編輯。其他大部分屬性需要我們根據(jù)儀器W、J實(shí)際需
要,進(jìn)行重新編輯修改,刪除不需要KJ屬性,增長本模塊所特有小J設(shè)
置屬性。圖7所示為本信號(hào)采集模塊W、J部分屬性列表。整個(gè)系統(tǒng)分為
信號(hào)采集、通道、水平、觸發(fā)、參數(shù)測(cè)量以及時(shí)鐘同步六個(gè)子系統(tǒng),
在開發(fā)過程中,無論哪個(gè)階段我們都是按照這六個(gè)子系統(tǒng)分別進(jìn)行開
發(fā),這是IVI驅(qū)動(dòng)器在橫向上的J模塊化體現(xiàn),而在縱向上,IVI驅(qū)動(dòng)
器的體系構(gòu)造從底層W、JVISA接口庫到上層的測(cè)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年P(guān)MP項(xiàng)目采購需求分析與計(jì)劃制定試題
- 2026年醫(yī)學(xué)基礎(chǔ)知識(shí)及臨床實(shí)踐考試題集
- 2026年世界歷史事件歷史大事件梳理題庫
- 2026年新能源PPP項(xiàng)目財(cái)務(wù)分析考核指南
- 2026年網(wǎng)絡(luò)技術(shù)與信息安全知識(shí)問答集
- 2026年旅游管理學(xué)習(xí)智能景區(qū)監(jiān)控系統(tǒng)使用與管理題集
- 2026年托福考試預(yù)測(cè)模擬題及答案詳解
- 健全與完善學(xué)位監(jiān)測(cè)與預(yù)警制度
- 2026年社會(huì)政策與公共服務(wù)知識(shí)考試題
- 職業(yè)性皮膚病的慢性化防治策略
- 高支模培訓(xùn)教學(xué)課件
- GB/T 21558-2025建筑絕熱用硬質(zhì)聚氨酯泡沫塑料
- 企業(yè)中長期發(fā)展戰(zhàn)略規(guī)劃書
- 道路運(yùn)輸春運(yùn)安全培訓(xùn)課件
- IPC-6012C-2010 中文版 剛性印制板的鑒定及性能規(guī)范
- 機(jī)器人手術(shù)術(shù)中應(yīng)急預(yù)案演練方案
- 2025年度護(hù)士長工作述職報(bào)告
- 污水處理藥劑采購項(xiàng)目方案投標(biāo)文件(技術(shù)標(biāo))
- 醫(yī)院信訪應(yīng)急預(yù)案(3篇)
- 2025年領(lǐng)導(dǎo)干部任前廉政知識(shí)測(cè)試題庫(附答案)
- 安徽省蚌埠市2024-2025學(xué)年高二上學(xué)期期末學(xué)業(yè)水平監(jiān)測(cè)物理試卷(含答案)
評(píng)論
0/150
提交評(píng)論