張志利 侯傳勛, 姜 毅
(第二炮兵工程學院兵器發射理論與技術國家重點學科實驗室1,陜西 西安 710025;北京理工大學宇航學院2,北京 100081)
隨著工業技術和儀表技術的發展,模塊化板卡得到了廣泛的應用。為減小測量或控制偏差,在高精度應用場合需要對板卡進行周期性校準。校準是指在規定條件下,為標定和(或)修訂測量儀器、測量系統所指示的量值,或實物量具、參考物質所代表的量值與對應的由標準復現的量值之間關系所進行的一組校驗和調校操作[1-2]。校準是維持板卡精度的重要途徑。
對模塊化板卡而言,校準就是通過必要的軟硬件調節操作,確保板卡精度滿足預期精度指標。隨著板卡精度、集成度和復雜性的不斷提高,校準操作的工作量和實施難度也與日俱增,傳統校準方法已難以滿足板卡校準工作的實際需要[3]。
本文以板卡 PXI-6123、PXI-6251、SCXI-1102和SCXI-1124的校準為例,在闡述校準軟硬件需求、校準步驟和儀器控制技術的基礎上,著重探討通用板卡校準程序的開發問題。由于硬件調校有悖于板卡的“黑箱”特性,且已逐步被軟件調校所取代,因此,本文未對其進行討論。
板卡校準可理解為在一定的軟硬件環境的支持下,按照校準流程實施的以校驗和調校為主的一系列操作的總和。在此過程中,不可避免地涉及到外部校準儀器的控制問題。
模塊化板卡通常無法單獨工作,校準的首要任務就是搭建可供其正常工作的最小硬軟件系統。為方便與校準儀器連接,要求該系統具有豐富的外部互連接口。為此,選用PXI-8106控制卡、PXI-1042Q和SCXI-1000兩款機箱,將它們與4款被校準板卡構成PXI測試系統。其中,機箱擁有堅固的模塊化封裝結構,并作為載體通過其背板為被校準板卡提供電源、PCI或SCXI總線及專門的定時和觸發信號。
PXI-8106是高性能嵌入式計算機,安裝了Windows XP Pro、LabVIEW 8.6和必要的設備驅動軟件,為校準操作提供必要的軟件環境,同時作為校準操作的控制和數據處理中心。該板卡自帶 GPIB、RS-232、LAN和USB 2.0接口,可與常見校準儀器直接連接。
除最小系統外,根據被校板卡的不同,校準中還可能需要使用各種作為量值標準的高精度外部計量設備或輔助調節儀器,如數字萬用表(digital multi-meter,DMM)、信號發生器、示波器、直流電源、頻率計和頻譜分析儀等。校準屬于精密操作,通常對所用儀器有很高的精度要求。
此外,為方便信號連接和提高校準操作的自動化水平,校準中還需要使用GPIB電纜、SH68-68-EP屏蔽電纜、SCXI-1349電纜適配器、50芯排線、CB-50連接器和SCXI-1300接線端等多種連接附件(其中部分為可選附件)。校準本文所述4種板卡時需使用的外部儀器如表 1 所示[4-6]。

表1 所需外部校準儀器Tab.1 External calibration equipment required
需要注意的是,若推薦儀器不可用,則要求同類替換儀器的相應精度指標必須滿足同樣的精度要求,否則可能執行錯誤校準,導致板卡精度降低或板卡本身損壞。
校準主要包括校驗和調校兩個方面,前者用于驗證已有精度是否達標,后者則通過調節板卡參數使其精度恢復指定要求。對板卡而言,軟件調校的本質就是根據實測值與基準值的偏差重新計算并更新存儲于板載EEPROM中的補償參數(又稱為校準常數)[7]。
板卡校準流程如圖1所示。

圖1 校準流程Fig.1 Calibration procedures
校準準備階段(又稱為初始化階段)完成硬件連接、設備預熱、軟件配置、溫濕度測量和校準條件判斷等任務,它是執行正確校準的重要保證。自校準通過補償短期環境效應的影響來提高后續校準精度,是可選步驟,僅對支持自校準操作的板卡有效。前校驗通過測量板卡當前的輸入輸出誤差決定是否需要進行后續調校操作。對于誤差超限的板卡,調校根據基準值和實測值的偏差,以特定算法計算并更新板卡的校準常數。后校驗則通過測量調校后板卡的實際精度決定是否需要進行再次調校。
校準流程的一致性為構建“校準引擎”與“校準數據庫”分離的高效通用校準程序提供了可能。但我們也應注意到,由于板卡種類繁多,不同板卡的校準流程可能呈現較大的細節差異。
此外,校準作為高級操作,不可避免地涉及硬件(或固件)操作。為保持板卡的“黑箱”特性并提高校準軟件的通用性,校準軟件應避免直接使用底層I/O操作,而應盡量使用儀器驅動級別的高級API,如在LabVIEW中,調校應直接使用封裝了調校算法和底層寄存器訪問的子VI完成,從而避免板卡底層的寄存器操作。
板卡功能和結構的多樣性,及其精度和集成度的提高極大地增加了校準工作量和校準操作難度。4款板卡校準過程中主要的校驗操作和調校操作如表2所示。

表2 校驗調校任務表Tab.2 Verification and adjustment tasks
表2中,通道規格列中AI、AO、CO分別表示模擬輸入通道、模擬輸出通道和計數輸出通道,A×B表示板卡共有A個指定類型的物理通道,且每個通道有B個可選輸入或輸出范圍;校驗點數和調校點數列中,C×D×E表示需對C個通道的共(C×D)個范圍執行單獨校驗或調校操作,且每次操作至少使用E個校驗或調校數據點;備注列中“*”表示相應校驗操作需要對每個校驗數據點至少執行10000次測量以求均值。
顯然,一次完整的校準操作需要對板卡上眾多的工作點進行校驗和調校。在校準過程中,除了要完成板卡本身的通道配置、輸入輸出控制外,還需要一臺或多臺外部精密儀器的配合以及大量諸如連接線轉換等手工操作。這也是導致基于手工操作的傳統校準方法已不能滿足板卡實際校準工作需要的一個重要原因。
此外,從表2也可以看出板卡結構對校準過程的影響。一般來說,S系列和SCXI系列板卡校準時需要對其每路模擬物理通道的每個測量和(或)輸出范圍執行單獨校驗和調校;而B/E/M系列板卡由于其模擬輸入通道在內部時分復用同一個ADC,因此,只需對一路進行校驗和調校即可。
PXI-6123屬S系列同步采集板卡,其8個模擬輸入通道之間相互獨立,正常情況下應對每一通道執行單獨調校,但由于涉及內部鏈路轉換等硬件操作,驅動程序對其做了較高層次的封裝。因此,對用戶而言,只需要對首個模擬輸入通道AI0進行調校即可。
外部儀器的大量調節操作在很大程度上增加了校準工作量,因此,實現校準儀器的自動控制是提高校準自動化程度的一個重要方面。便捷的硬件互連和軟件互操作性是校準軟件中儀器自動控制技術的關鍵。通常,作為基準使用的外部儀器都十分昂貴,硬件互連就是當推薦儀器不可用時,允許用戶直接使用現有的同等級的其他儀器,而不受限于儀器的硬件接口類型。軟件互操作性是指當更換不同廠商、不同接口的同類儀器時,校準軟件能不加修改或幾乎不加修改地控制新儀器,實現自動操作。
GPIB總線作為自19世紀60年代以來應用最為廣泛的儀器控制總線,允許多達15個設備以串行、并行或串并混合的方式連接至同一個控制器,很多情況下它是儀器控制的首選方式[8]。校準本文所述板卡時,就是使用PXI-8106的GPIB接口直接與外部校準儀和數字萬用表連接的。當然,PXI-8106豐富的外部接口也為直接或間接(通過轉換板卡)與其他接口類型的外部儀器互連提供了可能。
在軟件層面上,實現儀器自動控制的途徑包括:針對特定總線或虛擬儀器軟件架構(virtual instrument software architecture,VISA)的基于寄存器操作或程控儀器標準命令集(standard commands for programmable instrumentation,SCPI)字符串操作的直接 I/O、VXIplug&play驅動和交互式虛擬儀器(interchangeable virtual instruments,IVI)驅動[9-10]。IVI作為當今較新的儀器控制技術,提供了獨立于設備廠商和接口類型的儀器控制解決方案,是校準軟件中實現儀器互操作性的理想選擇。更重要的是,IVI還提供了狀態緩存、自動范圍檢查、儀器仿真和多線程安全等高級功能[11],特別是其仿真功能,若再結合MAX(measurement&automation)的設備仿真功能,則可提供從機箱、控制器和被校準板卡到外部校準儀器的完整軟件仿真環境,從而極大地方便了校準軟件的調試開發。
校準軟件是實施板卡自動化校準的關鍵,而結構和功能的多樣性決定了板卡通用校準程序的開發是一項復雜而頗具難度的工作。
針對板卡校準的特點,在實施4款板卡校準的過程中,基于“校準引擎+校準數據庫+校準插件”模型開發的NI板卡通用校準程序的結構如圖2所示。它主要由校準引擎、校準數據庫和校準插件三部分組成。

圖2 校準軟件結構Fig.2 Structure of the calibration software
校準引擎是校準軟件的主體,定義了板卡校準操作中的公共操作,如界面顯示與交互、設備檢測、校準條件判斷、通道配置、板卡輸入輸出控制、外部校準儀器檢測與控制、校準數據獲取與分析、校準數據庫解析、校準數據庫編輯、校準插件調用接口、實時幫助和校準結果存儲打印等。校準引擎中不包含與特定板卡校準相關的數據,其正常運行依賴于外部校準數據庫。校準操作中可采用手動模式和自動模式控制外部儀器。在自動模式下,儀器選擇與控制子模塊除了要根據當前板卡的校驗點和調校點數據信息,通過IVI類驅動控制相應外部儀器自動輸出基準信號或自動測量板卡輸出信號,還要完成必要的時序控制,以確保測量時輸入輸出信號已穩定。
外部校準數據庫為一個文本文件,采用XML語言定義特定板卡校準所需的數據信息,如校準溫濕度要求、校準周期、校驗和調校通道類別、通道配置參數、校驗和調校數據點、允許誤差限、幫助資源信息以及所需插件信息等。由于允許誤差限取決于校準周期,因此在數據庫定義和程序開發過程中,將兩者綁定,以避免允許誤差限和校準周期不對應而造成錯誤校準。校準引擎根據用戶選擇的待校準板卡,從數據庫中查找并讀取相應字段,然后通過數據庫解析模塊,轉換為可為其他子模塊使用的內部格式。實踐表明,XML語言簡單、高效、易于維護和擴充的優點為校準程序的調試和功能擴充提供了很大方便,大大加速了程序開發進程。
校準插件是具有共同調用入口的動態鏈接庫dll文件,用于解決特定板卡校準中出現的特殊問題。由于板卡種類繁多,在程序開發過程中會遇到一些特殊板卡的校準功能或部分校準功能無法通過校準引擎完成,或雖通過修改校準引擎可以完成,但因其屬于個例操作而不宜置于校準引擎中的現象。如SCXI-1124電流輸出通道的校準就是通過校準插件完成的。校準引擎從校準數據庫中讀取板卡的校準插件信息,并通過插件調用接口動態調用該插件,以完成特定校準操作。
校準軟件采用LabVIEW 8.6開發。作為專為數據采集、測試測量和儀器儀表等領域設計的高級圖形化編程語言,LabVIEW專業的UI、完善的驅動支持和良好的交互式調試工具極大地簡化了校準軟件的開發過程。如板卡和儀器檢測功能,可借助“DAQmx設備名”和“IVI邏輯名稱”等控件直接實現;設備自檢、自校準和調校等復雜操作可直接調用相應子VI完成;儀器控制問題則可使用LabVIEW內置IVI類驅動解決。但應注意的是,在使用IVI類驅動子VI編寫儀器控制模塊時,用戶必須先自行安裝外部儀器對應的IVI兼容驅動,否則程序無法正常運行。此外,為確保儀器可互換性,應避免使用IVI兼容驅動中那些相應IVI類驅動沒有提供的功能。校準引擎是校準程序開發的難點。由于規模較大,主程序采用“生產者-消費者”模型(producer-consumer pattern)和模塊化設計方法構建。
“生產者-消費者”模型是使用LabVIEW構建大型程序,特別是復雜用戶交互界面程序的有力手段,其本質是借助計算機的多任務處理能力,通過隊列操作(“生產者”將消息壓入隊列,“消費者”從隊列中取出消息并執行相應操作),實現界面響應進程和事件處理進程的分離,從而提高界面響應速度和程序執行效率。同時,根據界面控件的依賴關系,通過人為事件觸發,該模型還可以在很大程度上簡化界面處理代碼。此外,為提高代碼重用效率,保持代碼視圖的簡潔,采用將大多數事件處理(非常簡單的除外)代碼放于一個或多個分級調用的子VI中實現。實踐表明,傳遞控件引用是實現在底層子VI中更新、維護頂層界面視圖的有效手段。
對用戶而言,校準引擎表現為封裝了校準流程的向導式窗口界面,主要由初始化、自校準、前校驗、調校和后校驗5個頁面組成。該向導界面除負責處理大量相互關聯的視圖更新外,還要根據用戶選擇、操作狀態和板卡屬性等信息調用底層子VI,以完成條件判斷、校驗和調校等操作。由于校準操作中不可避免地存在如板卡端子連線等硬件操作,為方便操作,向導還要根據校準數據庫中記錄的與當前操作狀態相應的幫助信息,打開并顯示相應html幫助文件。
校準插件獨立于校準引擎,每個插件置于一個單獨的LabVIEW動態鏈接庫工程中開發。插件可包含底層處理代碼和相應用戶界面,且必須擁有共同的調用入口。
本文以LabVIEW環境下的4款板卡的校準為例,探討了板卡校準的步驟和實施校準的硬軟件需求,基于對儀器控制技術、校準流程和校準任務的分析,提出了基于“校準引擎+校準數據庫+校準插件”構架的校準軟件實施方案,詳細分析了校準軟件的模塊組成和實際開發過程中采用的關鍵技術。
目前,NI設備校準軟件已在某大型溫度場測試項目中得到成功運用,它為終端用戶提供了對4款板卡實施校準的有效技術手段。該校準軟件開放的體系結構為構建一款通用板卡校準軟件提供了有益的嘗試和探索。
[1]曲正偉,趙偉.測量儀器的Internet校準[J].電測與儀表,2006,43(8):1-5.
[2]吳靜,趙偉,胡毅飛.基于Internet的計量校準方法探討[J].計量學報,2005,26(1):70 -73.
[3]郭占山,李建一.NI數據采集卡校準方法探討[J].計量技術,2007(6):50-52.
[4]National Instruments Corporation.B/E/M/S series calibration proce-dure for NI-DAQmx[EB/OL].[2008 - 05 - 30].http://digital.ni.com/manuals/websearch/1591DOAB650/D5/88625744A0069FBIC.
[5]National Instruments Corporation.SCXI-1102/B/C calibration procedure[EB/OL].[2003 - 10 - 28].http://www.ni.com/pdf/manuals/370029b.pdf.
[6]National Instruments Corporation.SCXI-1124 user manual[EB/OL].[1999 - 09 - 01].http://www.ni.com/pdf/manuals/320712b.pdf.
[7]Pheanis D,Creasman S.Automated calibration and validation ofautomotive test instrumentation[C]//Automation Congress,2008.WAC 2008,World,2008:1 -6.
[8]羅光坤,張令彌,王彤.基于GPIB接口的儀器與計算機之間的通訊[J].儀器儀表學報,2006,27(6):634-637.
[9]李寧,李進杰.儀器控制技術在自動測量系統中的應用[J].工業控制計算機,2008,21(1):1 -2.
[10]Franklin P,Ryland J.IVI instrument driver guided tour[C]//Autotestcon Proceedings,2004:167 -173.
[11]Cheij D.Using IVI drivers to increase test system performance[C]//IEEE Autotestcon Proceedings,2000:375-79.