河南省計(jì)量科學(xué)研究院 鄭開放 劉賓武 石 佳
頻標(biāo)自動(dòng)測(cè)量系統(tǒng)是用來控制通用計(jì)數(shù)器(53132A)和射頻開關(guān)(SS2901C),完成對(duì)頻率標(biāo)準(zhǔn)的自動(dòng)測(cè)量工作,此軟件主要是針對(duì)JJG180-2002電子測(cè)量儀器內(nèi)石英晶體振蕩器檢定規(guī)程里的檢定項(xiàng)目而設(shè)計(jì),通過自動(dòng)化采集數(shù)據(jù)代替原先的人工數(shù)據(jù)記錄,省去了大量的時(shí)間,并且非常有效的降低了出錯(cuò)率。系統(tǒng)運(yùn)用 VC++編程語言環(huán)境,數(shù)據(jù)管理根據(jù)實(shí)際使用情況,實(shí)時(shí)記錄在已經(jīng)設(shè)計(jì)好的EXCEL表格中,數(shù)據(jù)表格后續(xù)跟機(jī)構(gòu)管理系統(tǒng)對(duì)接,方便直接導(dǎo)入并出具對(duì)應(yīng)證書。
傳統(tǒng)頻率標(biāo)準(zhǔn)的測(cè)量方法是手工計(jì)數(shù),首先需要通過BNC連接線將頻率標(biāo)準(zhǔn)輸出接到通用計(jì)數(shù)器,設(shè)置好通用計(jì)數(shù)器閘門時(shí)間等,按照規(guī)定時(shí)間每隔一小時(shí)記錄一次數(shù)據(jù),比如針對(duì)日頻率波動(dòng)技術(shù)指標(biāo)的測(cè)量,共計(jì)需要人為記錄25個(gè)數(shù)據(jù),持續(xù)一天時(shí)間,如果同時(shí)測(cè)量多臺(tái)頻率標(biāo)準(zhǔn)設(shè)備,每次記錄數(shù)據(jù)還需要人為轉(zhuǎn)換輸出設(shè)備,然后各自讀取數(shù)據(jù)并手工記錄,待到所有數(shù)據(jù)記錄完成之后,還需對(duì)數(shù)據(jù)進(jìn)行再處理,根據(jù)標(biāo)準(zhǔn)公式來計(jì)算各個(gè)技術(shù)指標(biāo)測(cè)量值,整個(gè)測(cè)量過程不但繁瑣、效率低,最主要的是出錯(cuò)率較高。
此次設(shè)計(jì)的系統(tǒng)為頻標(biāo)自動(dòng)測(cè)量系統(tǒng),測(cè)量過程為:計(jì)算機(jī)系統(tǒng)軟件通過GPIB接口同時(shí)控制通用計(jì)數(shù)器和射頻開關(guān),自動(dòng)完成通用計(jì)數(shù)器頻率測(cè)量功能設(shè)置,然后在固定的時(shí)間節(jié)點(diǎn)轉(zhuǎn)換射頻開關(guān)對(duì)應(yīng)通道來完成多路頻率標(biāo)準(zhǔn)的自動(dòng)測(cè)量,原始記錄自動(dòng)保存,自動(dòng)完成數(shù)據(jù)計(jì)算等操作,保存后的原始記錄可直接對(duì)接機(jī)構(gòu)管理系統(tǒng)出具證書。
此次設(shè)計(jì)的頻標(biāo)自動(dòng)測(cè)量系統(tǒng),使用的通用計(jì)數(shù)器型號(hào)為53132A,射頻開關(guān)型號(hào)是SS2901C,最多可同時(shí)測(cè)量16臺(tái)頻標(biāo),此外如果通用計(jì)數(shù)器內(nèi)部參考晶振指標(biāo)達(dá)不到規(guī)程要求,可選擇外接高穩(wěn)晶振作為外頻標(biāo)參考,作為標(biāo)準(zhǔn)器,均經(jīng)過有效溯源。被校頻標(biāo)最常見的為5MHz、10MHz輸出,此文以10MHz舉例。主界面主要分為三大部分:設(shè)備信息、測(cè)量選項(xiàng)和數(shù)據(jù)顯示。設(shè)備信息主要包含被測(cè)頻標(biāo)的型號(hào)、編號(hào)、生產(chǎn)廠家等,測(cè)量選項(xiàng)主要包含晶振開機(jī)特性、日頻率波動(dòng)、1s頻率穩(wěn)定度、頻率復(fù)現(xiàn)性和數(shù)據(jù)計(jì)算等,數(shù)據(jù)顯示主要是實(shí)時(shí)顯示當(dāng)前被測(cè)頻標(biāo)的頻率輸出值。
首先連接好通用計(jì)數(shù)器、射頻開關(guān)和被測(cè)設(shè)備,然后按照?qǐng)D1所示流程進(jìn)行測(cè)量,主要分為寫入設(shè)備信息、依次選擇測(cè)量選項(xiàng)、數(shù)據(jù)保存和出具證書幾部分。
圖1 測(cè)量流程圖
寫入設(shè)備信息:設(shè)備信息輸入根據(jù)不同檢測(cè)機(jī)構(gòu)內(nèi)部質(zhì)量管理體系不同而有所區(qū)別,此文主要列舉通用信息,如委托單位名稱、委托單號(hào)、設(shè)備型號(hào)、編號(hào)、生產(chǎn)廠家等信息;
選擇測(cè)量選項(xiàng):依據(jù)規(guī)程規(guī)定,開機(jī)特性和日頻率波動(dòng)同時(shí)進(jìn)行,開機(jī)特性結(jié)束較早,所以系統(tǒng)設(shè)計(jì)將兩功能寫入同一測(cè)量選項(xiàng)內(nèi),此項(xiàng)測(cè)量結(jié)束后,依次完成頻率復(fù)現(xiàn)性、1s頻率穩(wěn)定度和數(shù)據(jù)計(jì)算測(cè)量選項(xiàng);
數(shù)據(jù)保存:本系統(tǒng)采用的數(shù)據(jù)存儲(chǔ)格式為EXCEL,EXCEL作為一個(gè)數(shù)據(jù)計(jì)算與分析的數(shù)據(jù)存儲(chǔ)類型,包含的數(shù)據(jù)計(jì)算和分析功能非常優(yōu)秀,用戶依據(jù)自己需求,可以通過編程設(shè)計(jì)來新建和錄入電子表格,在其幫助下完成復(fù)雜的數(shù)據(jù)處理任務(wù)。日常使用中,EXCEL具備易于管理、易于傳輸和易于計(jì)算梳理工作等優(yōu)點(diǎn),此外,基于機(jī)構(gòu)內(nèi)部管理系統(tǒng)設(shè)計(jì),可直接作為原始記錄出具證書報(bào)告,方便快捷。將VC++和EXCEL結(jié)合起來,在程序中實(shí)現(xiàn)數(shù)據(jù)的錄入和調(diào)用具有極其重要的作用。
此系統(tǒng)采用Microsoft visual studio 2010版本軟件,運(yùn)用VC++編程語言完成程序設(shè)計(jì),Visual C++是一種比較常見常用的可視化開發(fā)工具,VC++提供多種接口來支持?jǐn)?shù)據(jù)庫編程,比如OLE/DB、ODBC等,運(yùn)用這些接口,用戶可以在程序設(shè)計(jì)中直接操作各種數(shù)據(jù)庫。OLE/DB全稱為Object Linked and Embedded Database,是基于COM接口的訪問數(shù)據(jù)庫的技術(shù)。Microsoft許多應(yīng)用程序都為其他應(yīng)用程序提供了自動(dòng)化接口,比如Word、Excel、PowerPoint等,通過這些接口,就能調(diào)用這些功能服務(wù)?;诖?,我們才能完成此項(xiàng)軟件設(shè)計(jì)。
VC++中實(shí)現(xiàn)針對(duì)EXCEL的自動(dòng)化編程,主要分為以下幾步:初始化COM組件、建立Application對(duì)象、調(diào)用Application對(duì)象提供的方法和屬性、關(guān)閉Application對(duì)象和取消COM組件的初始化[2]。
在程序設(shè)計(jì)中,原始記錄主要由兩部分構(gòu)成,設(shè)備信息頁和數(shù)據(jù)頁,設(shè)備信息主要包含信息為:證書編號(hào)、樣品名稱、申請(qǐng)單位名稱、委托單號(hào)、設(shè)備型號(hào)、設(shè)備編號(hào)、環(huán)境溫濕度、校準(zhǔn)時(shí)間、主標(biāo)準(zhǔn)器信息等,樣板如圖2所示。
圖2 設(shè)備信息頁
VC++編程主要用到的函數(shù)命令為:sheets.get_Item()確定對(duì)應(yīng)sheet;sheet.get_Range()確定具體位置,括號(hào)里對(duì)應(yīng)寫入行數(shù)和列數(shù);range.put_Value()用來寫入具體信息。
JJG180-2002電子測(cè)量儀器內(nèi)石英晶體振蕩器檢定規(guī)程中,對(duì)有晶振輸出的設(shè)備,采用電子計(jì)數(shù)器直接測(cè)量法:被檢測(cè)晶振的輸出信號(hào)加到電子計(jì)數(shù)器的測(cè)頻輸入端,電子計(jì)數(shù)器外標(biāo)輸入端介入?yún)⒖碱l標(biāo)。
這里主要列舉以下技術(shù)指標(biāo):
(1)開機(jī)特性:被檢晶振開機(jī)預(yù)熱后(最長1h)后對(duì)晶振頻率偏差進(jìn)行測(cè)量,每小時(shí)測(cè)量一次,連續(xù)測(cè)量7h,共8個(gè)數(shù)。
(2)日頻率波動(dòng):同開機(jī)晶振預(yù)熱后,連續(xù)測(cè)量24h,共計(jì)25個(gè)數(shù)。
(3)1s頻率穩(wěn)定度:被檢晶振預(yù)熱后,取樣時(shí)間1s,連續(xù)測(cè)量101個(gè)數(shù),計(jì)算秒穩(wěn)。
(4)頻率復(fù)現(xiàn)性:被測(cè)晶振工作一段時(shí)間T1,關(guān)機(jī)一段時(shí)間T2,再開機(jī)一段時(shí)間T3后相對(duì)平均頻率偏差值與關(guān)機(jī)前相對(duì)平均頻率偏差值之差的絕對(duì)值。
(5)頻率準(zhǔn)確度:頻率準(zhǔn)確度根據(jù)實(shí)際情況依據(jù)規(guī)程規(guī)定給出。
保存測(cè)量數(shù)據(jù)部分主要內(nèi)容和格式如圖3所示,這里以預(yù)熱1h后測(cè)量8h為例,日波動(dòng)和1s頻率穩(wěn)定度因數(shù)據(jù)較多,不一一列出,其中均值是指每次測(cè)量時(shí)三次測(cè)量結(jié)果的平均值,三次測(cè)量結(jié)果此處隱去。
圖3 數(shù)據(jù)記錄
程序設(shè)計(jì)中,數(shù)據(jù)在EXCEL保存的實(shí)際位置,由函數(shù)來實(shí)現(xiàn),參考2.1中設(shè)備信息寫入部分,這里介紹幾個(gè)用到的其他函數(shù)(以下函數(shù)中rg和ex為創(chuàng)建的對(duì)象):
rg.put_NumberFormat(COleVaria nt(“0.0000”));
其中0.0000中小數(shù)點(diǎn)后有幾位數(shù)字0就代表原始數(shù)據(jù)實(shí)際存儲(chǔ)小數(shù)位數(shù);
rg.put_HorizontalAlignment(_variant_t((long)-4108))
其中-4108為默認(rèn)居中對(duì)齊方式;
在程序設(shè)計(jì)中,有兩句必要的語句,是存儲(chǔ)過程中看到實(shí)時(shí)已存儲(chǔ)數(shù)據(jù)的關(guān)鍵所在;
ex.put_Visible(TRUE),其中Visible的作用在于能讓用戶看到數(shù)據(jù)存儲(chǔ)的過程;
ex.put_UserControl(TRUE),其中UserControl的作用在于可以讓用戶在數(shù)據(jù)存儲(chǔ)中完成其他電腦操作,從而提高效率,不能因?yàn)樘L的數(shù)據(jù)存儲(chǔ)時(shí)間而耽誤其他工作。
頻標(biāo)都有其對(duì)應(yīng)的標(biāo)稱值,程序設(shè)計(jì)中可以通過當(dāng)前讀取到的數(shù)據(jù)和常見的頻標(biāo)標(biāo)稱值做對(duì)比,來自動(dòng)識(shí)別出當(dāng)前射頻開關(guān)輸出通道對(duì)應(yīng)的頻標(biāo)的標(biāo)稱值,從而使用此標(biāo)稱值完成幾項(xiàng)重要指標(biāo)的計(jì)算。
筆者所在機(jī)構(gòu)的內(nèi)部管理系統(tǒng)軟件導(dǎo)入原始記錄方式可以選擇為pageoffice插件加載Excel表格,屬于電子記錄,然后出具對(duì)應(yīng)證書,之前設(shè)計(jì)的Excel表格格式,也是為了出具證書而設(shè)計(jì)的,在2.1和2.3中測(cè)試完成的表格可以導(dǎo)入到系統(tǒng)當(dāng)中,完成快速出證,方便快捷。
在計(jì)量系統(tǒng)當(dāng)中,基本每個(gè)計(jì)量機(jī)構(gòu)都會(huì)涉及到頻標(biāo)測(cè)量,頻標(biāo)的測(cè)量一直都是一個(gè)耗時(shí)繁瑣的工作,尤其是大批量檢測(cè),更是費(fèi)心費(fèi)力,此次設(shè)計(jì)的頻標(biāo)自動(dòng)測(cè)量系統(tǒng),大大降低了人力成本,降低了出錯(cuò)率,在頻標(biāo)測(cè)量領(lǐng)域應(yīng)用廣泛,值得推廣。