河南省計量科學研究院 鄭開放 劉賓武 石 佳
頻標自動測量系統是用來控制通用計數器(53132A)和射頻開關(SS2901C),完成對頻率標準的自動測量工作,此軟件主要是針對JJG180-2002電子測量儀器內石英晶體振蕩器檢定規程里的檢定項目而設計,通過自動化采集數據代替原先的人工數據記錄,省去了大量的時間,并且非常有效的降低了出錯率。系統運用 VC++編程語言環境,數據管理根據實際使用情況,實時記錄在已經設計好的EXCEL表格中,數據表格后續跟機構管理系統對接,方便直接導入并出具對應證書。
傳統頻率標準的測量方法是手工計數,首先需要通過BNC連接線將頻率標準輸出接到通用計數器,設置好通用計數器閘門時間等,按照規定時間每隔一小時記錄一次數據,比如針對日頻率波動技術指標的測量,共計需要人為記錄25個數據,持續一天時間,如果同時測量多臺頻率標準設備,每次記錄數據還需要人為轉換輸出設備,然后各自讀取數據并手工記錄,待到所有數據記錄完成之后,還需對數據進行再處理,根據標準公式來計算各個技術指標測量值,整個測量過程不但繁瑣、效率低,最主要的是出錯率較高。
此次設計的系統為頻標自動測量系統,測量過程為:計算機系統軟件通過GPIB接口同時控制通用計數器和射頻開關,自動完成通用計數器頻率測量功能設置,然后在固定的時間節點轉換射頻開關對應通道來完成多路頻率標準的自動測量,原始記錄自動保存,自動完成數據計算等操作,保存后的原始記錄可直接對接機構管理系統出具證書。
此次設計的頻標自動測量系統,使用的通用計數器型號為53132A,射頻開關型號是SS2901C,最多可同時測量16臺頻標,此外如果通用計數器內部參考晶振指標達不到規程要求,可選擇外接高穩晶振作為外頻標參考,作為標準器,均經過有效溯源。被校頻標最常見的為5MHz、10MHz輸出,此文以10MHz舉例。主界面主要分為三大部分:設備信息、測量選項和數據顯示。設備信息主要包含被測頻標的型號、編號、生產廠家等,測量選項主要包含晶振開機特性、日頻率波動、1s頻率穩定度、頻率復現性和數據計算等,數據顯示主要是實時顯示當前被測頻標的頻率輸出值。
首先連接好通用計數器、射頻開關和被測設備,然后按照圖1所示流程進行測量,主要分為寫入設備信息、依次選擇測量選項、數據保存和出具證書幾部分。

圖1 測量流程圖
寫入設備信息:設備信息輸入根據不同檢測機構內部質量管理體系不同而有所區別,此文主要列舉通用信息,如委托單位名稱、委托單號、設備型號、編號、生產廠家等信息;
選擇測量選項:依據規程規定,開機特性和日頻率波動同時進行,開機特性結束較早,所以系統設計將兩功能寫入同一測量選項內,此項測量結束后,依次完成頻率復現性、1s頻率穩定度和數據計算測量選項;
數據保存:本系統采用的數據存儲格式為EXCEL,EXCEL作為一個數據計算與分析的數據存儲類型,包含的數據計算和分析功能非常優秀,用戶依據自己需求,可以通過編程設計來新建和錄入電子表格,在其幫助下完成復雜的數據處理任務。日常使用中,EXCEL具備易于管理、易于傳輸和易于計算梳理工作等優點,此外,基于機構內部管理系統設計,可直接作為原始記錄出具證書報告,方便快捷。將VC++和EXCEL結合起來,在程序中實現數據的錄入和調用具有極其重要的作用。
此系統采用Microsoft visual studio 2010版本軟件,運用VC++編程語言完成程序設計,Visual C++是一種比較常見常用的可視化開發工具,VC++提供多種接口來支持數據庫編程,比如OLE/DB、ODBC等,運用這些接口,用戶可以在程序設計中直接操作各種數據庫。OLE/DB全稱為Object Linked and Embedded Database,是基于COM接口的訪問數據庫的技術。Microsoft許多應用程序都為其他應用程序提供了自動化接口,比如Word、Excel、PowerPoint等,通過這些接口,就能調用這些功能服務。基于此,我們才能完成此項軟件設計。
VC++中實現針對EXCEL的自動化編程,主要分為以下幾步:初始化COM組件、建立Application對象、調用Application對象提供的方法和屬性、關閉Application對象和取消COM組件的初始化[2]。
在程序設計中,原始記錄主要由兩部分構成,設備信息頁和數據頁,設備信息主要包含信息為:證書編號、樣品名稱、申請單位名稱、委托單號、設備型號、設備編號、環境溫濕度、校準時間、主標準器信息等,樣板如圖2所示。

圖2 設備信息頁
VC++編程主要用到的函數命令為:sheets.get_Item()確定對應sheet;sheet.get_Range()確定具體位置,括號里對應寫入行數和列數;range.put_Value()用來寫入具體信息。
JJG180-2002電子測量儀器內石英晶體振蕩器檢定規程中,對有晶振輸出的設備,采用電子計數器直接測量法:被檢測晶振的輸出信號加到電子計數器的測頻輸入端,電子計數器外標輸入端介入參考頻標。
這里主要列舉以下技術指標:
(1)開機特性:被檢晶振開機預熱后(最長1h)后對晶振頻率偏差進行測量,每小時測量一次,連續測量7h,共8個數。
(2)日頻率波動:同開機晶振預熱后,連續測量24h,共計25個數。
(3)1s頻率穩定度:被檢晶振預熱后,取樣時間1s,連續測量101個數,計算秒穩。
(4)頻率復現性:被測晶振工作一段時間T1,關機一段時間T2,再開機一段時間T3后相對平均頻率偏差值與關機前相對平均頻率偏差值之差的絕對值。
(5)頻率準確度:頻率準確度根據實際情況依據規程規定給出。
保存測量數據部分主要內容和格式如圖3所示,這里以預熱1h后測量8h為例,日波動和1s頻率穩定度因數據較多,不一一列出,其中均值是指每次測量時三次測量結果的平均值,三次測量結果此處隱去。

圖3 數據記錄
程序設計中,數據在EXCEL保存的實際位置,由函數來實現,參考2.1中設備信息寫入部分,這里介紹幾個用到的其他函數(以下函數中rg和ex為創建的對象):
rg.put_NumberFormat(COleVaria nt(“0.0000”));
其中0.0000中小數點后有幾位數字0就代表原始數據實際存儲小數位數;
rg.put_HorizontalAlignment(_variant_t((long)-4108))
其中-4108為默認居中對齊方式;
在程序設計中,有兩句必要的語句,是存儲過程中看到實時已存儲數據的關鍵所在;
ex.put_Visible(TRUE),其中Visible的作用在于能讓用戶看到數據存儲的過程;
ex.put_UserControl(TRUE),其中UserControl的作用在于可以讓用戶在數據存儲中完成其他電腦操作,從而提高效率,不能因為太長的數據存儲時間而耽誤其他工作。
頻標都有其對應的標稱值,程序設計中可以通過當前讀取到的數據和常見的頻標標稱值做對比,來自動識別出當前射頻開關輸出通道對應的頻標的標稱值,從而使用此標稱值完成幾項重要指標的計算。
筆者所在機構的內部管理系統軟件導入原始記錄方式可以選擇為pageoffice插件加載Excel表格,屬于電子記錄,然后出具對應證書,之前設計的Excel表格格式,也是為了出具證書而設計的,在2.1和2.3中測試完成的表格可以導入到系統當中,完成快速出證,方便快捷。
在計量系統當中,基本每個計量機構都會涉及到頻標測量,頻標的測量一直都是一個耗時繁瑣的工作,尤其是大批量檢測,更是費心費力,此次設計的頻標自動測量系統,大大降低了人力成本,降低了出錯率,在頻標測量領域應用廣泛,值得推廣。