?

基于Visual Studio和SQL Server的自動化計量測試平臺的開發

2017-12-02 03:03蘇州市計量測試研究所孫睿陽
電子世界 2017年22期
關鍵詞:驅動程序儀器計量

蘇州市計量測試研究所 孫睿陽

基于Visual Studio和SQL Server的自動化計量測試平臺的開發

蘇州市計量測試研究所 孫睿陽

本文介紹了基于Visual Studio軟件和SQL Server數據庫管理系統,采用功能模塊化的思想,設計并實現了對可編程計量儀器進行自動化測試的系統平臺。與傳統的人工計量過程相比,自動化計量測試平臺有測量快速、計算準確、無人工引入誤差等優點,適用于重復、復雜并采用可編程接口設備的計量流程,具有較強的實用性和推廣性。

自動化;計量;測試;平臺;Visual Studio

引言

目前的計量測試工作主要是由人工來操作儀器,一些計量工作流程重復繁雜,再加上操作人員的水平不同,人工操作很容易出錯。隨著計算機和互聯網技術的進步,最近十幾年來,儀器設備之間的通訊控制方式有了很大的提升。

在計量領域中,很多被檢設備和計量標準器都有可編程的通訊接口,儀器之間通過通訊接口發送指令,幾乎可以完成所有的計量測試工作。因此,我們開發了自動化計量測試平臺,在測試平臺上,可以為不同種類、不同型號的儀器開發各自獨立的自動化測試程序。經過一段時間的研發,自動化計量平臺的基本功能已經實現,在此基礎上,我們完成了數字多用表、信號發生器、網絡分析儀等設備常見型號儀器的自動化計量程序的開發工作,這同時也證明了平臺的穩定性和實用性。

1.系統功能和組成

本自動化測試平臺主要有兩個方面的功能:

1.1 在本平臺搭建的架構上,對可編程儀器進行自動化計量測試程序的開發;

1.2 執行已經編寫好的、存儲在數據庫中的儀器自動化計量流程,并且生成測試報告。

如圖1,本平臺主要有5個功能模塊組成:設備管理模塊、流程設置模塊、用戶界面模塊、數據管理模塊、對外接口模塊。

這5個模塊互相獨立又相輔相成,共同實現了儀器設備、驅動的管理,計量流程的編寫和執行,儀器計量信息和測量點的添加,不確定度的計算和數據修約,證書報告的生成和數據保存以及與外界程序如OA系統的對接等功能。

下面對這5個主要模塊的功能進行逐一介紹。

圖1 系統組成圖

2.設備管理模塊

2.1 硬件設備和線纜

根據可編程儀器自身不同的通訊接口,自動化測試平臺選用不同的通訊線纜,主要包括GPIB,串口,以太網,USB等類型的總線。這些線纜用來連接被檢儀器、計量標準器和安裝有自動計量程序的計算機等設備。

2.2 設備驅動程序

在總線的基礎上,是測量和控制服務層。測量和控制服務層包含靈活的設備底層命令,用于硬件設備和軟件之間連接,VISA(Virtual Instrumentation Software Architecture)標準就實現了這樣的功能,負責硬件和軟件之間的通訊。VISA標準獨立于所使用的儀器總線,所以,無論是使用GPIB,串口,以太網還是USB等總線,VISA都提供了標準的函數庫和儀器進行通訊,從而保證了總線之間的互換性。

SCPI(Standard Commands for Programmable Instruments)標準是一套用于控制可編程測量儀器的標準語法和命令,可用于GPIB,串口,以太網,USB等類型總線。目前,大部分可編程儀器的指令都符合SCPI標準[1]。

在自動計量測試平臺中,按照儀器的類別、型號,分別給被檢儀器和計量標準器建立儀器驅動庫。根據可編程儀器的說明手冊,查找各編程指令(如SCPI指令),編寫各自的驅動程序,實現儀器的各種功能,如復位,設置參數,輸出電壓,取出讀數等。

例如,在多功能校準源校準數字多用表的計量程序中,分別給多功能校準源和數字多用表編寫了功能驅動程序。多功能校準源的驅動程序中包括如下功能函數:初始化、復位、測量功能選擇和設置、輸出打開、輸出關閉等;數字多用表的驅動程序中包括如下功能函數:初始化、自檢、清零、復位、測量功能選擇和設置、讀取數據、計算最大允許誤差等。因為數字多用表型號眾多,不同廠家、不同型號多用表的準確度、分辨力、儀器指令等有所不同,所以,不同型號多用表的驅動程序可能不一樣,需要單獨編寫。

這里使用的編程環境是Visual Studio 2013,編程語言是C#[2],在儀器驅動程序文件中引用了KEYSIGHT公司IO 程序庫套件中的Ivi.Visa.Interop.dll文件,用來和硬件設備進行通訊。

此外,各個儀器的驅動程序中,還可以記錄該儀器其他一些必要的信息。如在5700A多功能校準源校準34401A數字多用表的程序中,5700A和34401A各個測量點的量程、最大允許誤差或不確定度等指標信息,均以DataTable的數據形式記錄在各自的驅動程序中,在計量過程中這些信息可以被用來進行不確定度計算、符合性判定等功能。

2.3 公共程序

除了各個設備所屬的驅動程序以外,計量平臺中還有一些公共的數據處理程序。如不確定度計算程序、不確定度結果的修約程序、計量單位轉換程序等。這些公共程序適用于所有計量校準過程。

3.流程設置模塊

流程設置模塊的作用是為了方便直觀地設計、表示真實的計量測試流程。這里,我們采用了圖形化(樹狀圖)的表示形式。

流程圖中,每一個方形框圖表示儀器驅動中的一個特定功能,程序執行到某個方形框圖時,即執行相應儀器驅動中的功能驅動代碼。另外,如需編輯某個方形框圖對應的功能驅動,在方形框圖中可以直接跳轉到驅動代碼的編輯界面進行代碼的查看和修改,非常實用和方便。

流程圖的執行規則采用從上到下、從左到右的執行順序。執行流程時,執行過的方形框圖會變顏色來提示執行進度。

程序開發者可以按照一定的規則,設計和配置出符合要求的流程圖。圖2是用多功能校準源計量數字多用表流程圖中的一部分。

除了表示儀器的相關功能之外,方形框圖還有控制流程執行順序等系統功能。如圖2中的流程圖中,有實現流程循環、條件判斷、彈出對話框等功能的框圖。和設備的驅動函數一樣,每個方形框圖可以配置輸入參數和返回參數。

樹狀流程圖類似于LabVIEW軟件的圖形化設計界面,而方形框圖類似于LabVIEW中的子VI。這樣,計量流程用樹狀流程圖表示,清晰明了,每個方形框圖內的儀器功能用C#代碼實現,功能強大且靈活,從而把圖形化和文本化這兩種編程方式的優點結合到了一起,大大增強了自動校準平臺的易用性。

圖2 校準數字多用表的計量流程截圖(部分)

4.用戶界面模塊

自動化計量測試平臺的用戶分為2類:普通用戶和開發用戶,以平臺的登錄賬號來區分,普通用戶和開發用戶的使用權限不同。

普通用戶可以使用“登錄”,“產品計量”,“產品報告”等用戶界面。

在“產品計量”界面中,用戶可以完成被檢儀器的全部計量流程。首先,用戶選擇或填寫被檢儀器、用于計量的標準器、計量方案等信息,信息填寫完整后開始執行計量流程。程序執行中,每一個測量項目的測得值、最大允許誤差、計算出的測量不確定度、判定結果都會以表格形式即時地顯示在軟件界面上。如果遇到測量值超差或者其他異常情況,程序會跳出對話框提示用戶重新測試或終止程序等操作;測試中如需要更換儀器之間的接線方式,程序也會跳出對話框提示用戶。程序執行完成后,生成計量報告。在“產品報告”界面中,用戶可以看到已計量設備的證書信息。

開發用戶除了普通用戶可以使用的界面外,還有“設備管理”,“計量設計”等程序開發、維護界面。

“設備管理”界面中,開發用戶可以添加儀器類別、儀器型號、編輯儀器各個功能的驅動。

“計量設計”界面中,開發用戶可以按照計量規程或規范的要求,把被檢儀器和標準器的各個功能驅動進行整合,配合一定的流程控件,設計出各種計量測試流程,再把計量流程和被檢儀器進行綁定。此外,開發用戶還可以給每個被檢儀器寫入常用的計量測試點。

以上用戶界面的功能以菜單欄和任務標簽頁面的形式來表示,用Visual Studio開發環境結合DevExpress控件的方式來實現。圖3為軟件中用戶界面的菜單欄和部分功能標簽。

圖3 用戶界面中的菜單欄和部分功能標簽

5.數據管理模塊

數據管理模塊采用了SQL Server數據庫,該模塊是其余模塊運行的數據傳輸基礎。

設備管理模塊中的設備驅動,流程設置模塊中的計量流程、測量點,用戶界面模塊中計量信息、計量報告,都是在數據管理模塊中進行存儲和讀取的。

6.對外接口模塊

本單位目前已有一套計量OA系統軟件[3],在該OA系統中可以實現原始記錄的錄入、檢定/校準證書的生成、打印證書等功能。為了充分利用已有OA系統的功能,也為了實現本單位原始記錄和證書格式的統一,自動化計量測試平臺需要和OA系統中的相關功能進行對接。對外接口模塊就實現了這樣的功能。

自動化計量測試平臺把采集或計算出測量結果、測量點的上下限、測量不確定度、訂單的客戶信息等數據,傳輸到OA系統相應的程序接口,在OA系統中生成儀器的原始記錄和計量證書;同樣,計量平臺也可以從OA系統中讀取、檢索原始記錄模板、計量報告等信息。

對外接口模塊,采用了Web Service技術,該技術可以在軟件之間傳輸或接收數據信息,實現了軟件之間的功能對接。

7.結束語

以上介紹的自動化計量測試平臺的五個模塊,組成了可編程儀器完整的開發、檢定/校準功能。用此計量平臺對數字多用表、網絡分析儀、信號發生器的多個常見型號儀器進行多次校準,所得測量值、測量不確定度等數據與本所人工校準所得數據進行比對,結果符合預期要求。與傳統的人工計量過程相比,本自動化計量測試平臺有測量快速、計算準確、無人工引入誤差等優點,適用于重復、復雜并采用可編程接口設備的計量流程,具有較強的實用性和推廣性。

[1]秦凡,韋高.基于VISA庫及SCPI命令的儀器程控測量[J].陜西:現代電子技術,2011 (11):118-120.

[2]Karli Watson.C#入門經典(第六版)[M].北京:清華大學出版社,2014.

[3]張俊峰,宮寧生.計量檢測原始記錄電子化系統設計與實現[J].北京:中國計量,2013(3):101-103.

孫睿陽(1984-),男,工程師,主要研究方向:時間頻率、無線通信、自動校準軟件的開發等,主要從事電磁學及無線電計量工作。

猜你喜歡
驅動程序儀器計量
《現代儀器與醫療》2022年征訂回執
《現代儀器與醫療》2022年征訂回執
《化學分析計量》2020年第6期目次
計算機硬件設備驅動程序分析
關注日常 計量幸福
我國古代的天文儀器
計量自動化在線損異常中的應用
基于因子分析的人力資本計量研究
基于MPC8280的CPU單元與內部總線驅動程序設計
星敏感器用儀器星等的確定
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合