基于VPP規范的VXI總線(xiàn)模塊的軟件開(kāi)發(fā)
部件函數包括初始化、配置、動(dòng)作/狀態(tài)、數據、實(shí)用和關(guān)閉函數。初始化函數是訪(fǎng)問(wèn)儀器時(shí)調用的第一個(gè)函數,用于初始化軟件連接,使儀器處于某種默認的狀態(tài)。關(guān)閉函
數是最后調用的,用于關(guān)閉儀器的軟件連接。配置函數對儀器進(jìn)行配置,以便執行所希望的操作。動(dòng)作/狀態(tài)函數使儀器執行一項操作或者報告正在執行的或已經(jīng)掛起的操作的狀態(tài)。數據函數用來(lái)從儀器取回數據或向儀器發(fā)送數據。實(shí)用函數包括許多標準的儀器操作,例如執行復位、自檢、詢(xún)問(wèn)驅動(dòng)程序版本信息和錯誤處理等。
應用函數是一組面向測試的高級函數,它們指出如何使用部件函數。這些程序通過(guò)配置、觸發(fā)和從儀器讀取數據來(lái)完成整個(gè)測試操作,不僅提供了如何使用部件函數的有價(jià)值實(shí)例,而且當用戶(hù)僅需要單一的面向測試函數接口,而不是使用單個(gè)部件函數時(shí),它們是非常有用的。
VPP-3.2規范還給出了一組函數模板,并且要求每個(gè)儀器驅動(dòng)器都必須實(shí)現這些函數。它們是:Initialize,Close,Reset,Self-Test,Error Query,Error Message,Revision Query.規范對每個(gè)函數的輸入參數、輸出狀態(tài)和操作都做了詳細的說(shuō)明。
在開(kāi)發(fā)儀器驅動(dòng)器時(shí),采用了兩種簡(jiǎn)便的方法:一是在Lab Windows/CVI中提供了儀器驅動(dòng)器的核心程序,它包括了VPP規范所要求的所有模板函數的實(shí)現,可在此基礎上添加其它函數;二是根據已有的具有類(lèi)似儀器功能的儀器驅動(dòng)器進(jìn)行改造。但首先我們都必須熟悉儀器各項功能和指令集。如果儀器是寄存器基的,通過(guò)直接讀寫(xiě)其寄存器進(jìn)行操作;如果是消息基的,則可發(fā)送ASCII碼指令來(lái)控制。
開(kāi)發(fā)儀器驅動(dòng)器采用了自頂向下的方式,步驟如下:
①命名儀器驅動(dòng)器。采用廠(chǎng)家名稱(chēng)縮寫(xiě)+模塊號的方式命名儀器驅動(dòng)器,即AMC1410,并將此名稱(chēng)作為每個(gè)儀器驅動(dòng)器函數的前綴,這可使得多個(gè)廠(chǎng)家的儀器驅動(dòng)器運行于同一系統中而不會(huì )發(fā)生沖突。
②定義儀器的功能和功能分類(lèi)。
③創(chuàng )建儀器驅動(dòng)器的函數樹(shù),它對應儀器的功能層次。
④對儀器驅動(dòng)器的每個(gè)函數:
a.定義函數的入口參數包括變量類(lèi)型、數值范圍,輸出狀態(tài)。
b.如果采用LabWindows/CVI作為開(kāi)發(fā)工具,為每個(gè)函數創(chuàng )建函數面板,包括面板和控制的幫助信息。
c.為每個(gè)函數寫(xiě)源代碼。
d.調試函數源代碼。
⑤為最終的儀器驅動(dòng)器創(chuàng )建包含文件,包括函數聲明和常數定義。
⑥生成儀器驅動(dòng)器的動(dòng)態(tài)連接庫文件和入口函數庫文件。
數字電壓表模塊的函數組織圖見(jiàn)圖2。
在開(kāi)發(fā)儀器驅動(dòng)器時(shí),我們使用VISA庫函數和VISA定義的數據類(lèi)型。VISA是虛擬儀器軟件結構的簡(jiǎn)稱(chēng),是VPP規范的又一重要成果。它為不同的操作系統和不同的硬件接口提供了同一I/O軟件層,無(wú)論是選用GPIB、VXI/MXI、串口或以太網(wǎng)接口,還是選用DOS、Windows、UNIX操作系統,都可使用相同的函數與儀器通訊,這打破了過(guò)去不同廠(chǎng)商的I/O接口軟件互不兼容的局面,大大增強了驅動(dòng)程序的可移植性。
2.3開(kāi)發(fā)儀器軟面板
由廠(chǎng)商隨儀器一同發(fā)貨的儀器軟面板為用戶(hù)提供了交互式操作儀器的圖形接口,它取代傳統的臺式儀器的前面板,在計算機屏幕上顯示用于控制儀器的各種按鍵、旋鈕和儀器的輸出信息,用鼠標和鍵盤(pán)進(jìn)行操作。軟面板有兩個(gè)重要功能:一是幫助用戶(hù)檢驗系統通訊接口和儀器是否正確配置、正常工作;二是幫助用戶(hù)熟悉儀器的主要功能。
評論