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