曹 敏 ,畢志周,李 波,李 毅 王 昕,石少巖,梁鉆仁,劉 暢
(1.云南電力試驗研究院(集團)有限公司電力研究院南方電網(wǎng)電能計量重點實驗室,昆明650217;2.昆明科瑞迪電網(wǎng)開發(fā)有限公司,昆明650217)
對于數(shù)據(jù)源的長時間采集和監(jiān)測,使用人工操作并記錄數(shù)據(jù)的方式,往往導(dǎo)致操作繁瑣、效率低下,并且很難保證數(shù)據(jù)的完整性和及時性,并且在事后不能及時地對數(shù)據(jù)進行處理,勢必影響后續(xù)的工作開展。隨著先進測試儀器儀表及周邊產(chǎn)品的問世,大量的設(shè)備儀器可以直接與計算機配合完成上述工作,極大的提高了生產(chǎn)效率?;?458A 及160B 掃描開關(guān)的數(shù)據(jù)采集統(tǒng)計系統(tǒng)完成了對多通道流程的控制以及對多通道數(shù)據(jù)的采集。并通過該系統(tǒng)進行詳盡的數(shù)據(jù)分析統(tǒng)計,大大提高了操作使用人員的工作效率,統(tǒng)計結(jié)果直觀易懂,使用人員可以獲取更為具體詳盡的數(shù)據(jù)信息。
系統(tǒng)的設(shè)計目的在于:系統(tǒng)可以在長時間無人操控的情況下,對多臺信號源進行電壓采集,并記錄所采集到的電壓數(shù)據(jù),最終對數(shù)據(jù)進行統(tǒng)計分析,以監(jiān)測各信號源的穩(wěn)定性。穩(wěn)定的信號源數(shù)據(jù)為一套交流系統(tǒng)溯源時提供依據(jù)。所以需要長期監(jiān)測信號源的穩(wěn)定性。而這樣的長期監(jiān)測由人工操作很難實現(xiàn),所以開發(fā)該系統(tǒng)替代人工操作并更好的完成對信號源的穩(wěn)定性監(jiān)測。同時,整套采集系統(tǒng)在實際測量標(biāo)定流程中,以國家計量院標(biāo)定的已標(biāo)定信號源為標(biāo)準(zhǔn)標(biāo)定被標(biāo)定信號源時誤差不超過2×10-6。
Data Proof 160B 低熱電勢電子掃描開關(guān)是理想的自動化高精度測量設(shè)備。這種多功能掃描開關(guān)有兩對輸出線,使它的應(yīng)用范圍更為廣泛。它可用于比較電壓參考標(biāo)準(zhǔn)及電阻的四端測量功能。設(shè)備背面,設(shè)有GPIB 通信口,可以通過USB/GPIB 總線與計算機相連。
Agilent3458A 多用表突破了生產(chǎn)測試線、研發(fā)和校準(zhǔn)實驗室中速度和精度的性能壁壘[1],是一款快速、靈活并且精確的多用八位半數(shù)字萬用表,它具備7 種測量功能,提供100,000 讀數(shù)/s 得到最大的測試吞吐率或以8.5 bit 的測量分辨率和0.1×10-6傳遞精度得到最高精度級別[2]。在該設(shè)備背面,設(shè)有GPIB 通信口,可以通過USB/GPIB 總線與計算機相連。通過Agilent 配套的驅(qū)動程序,可以使用VISA32 接口程序完成對數(shù)表的控制。
為了完成對多信號源同時接入的數(shù)據(jù)采集要求,使用GPIB 級聯(lián)線將電子掃描開關(guān)的GPIB 端口與3458A 的GPIB 端口進行連接[2];使用USB/GPIB總線將3458A GPIB 級聯(lián)端與計算機相連;使用信號線將掃描開關(guān)的各通道分別與多信號源逐一相連,使得整體呈現(xiàn)互相連接的狀態(tài),如圖1 所示。
圖1 硬件構(gòu)成設(shè)計圖
該設(shè)計的最大特點在于只需要通過控制電子掃描開關(guān),就可以完成多信號源與3458A 的連接,避免了對設(shè)備多次接線引起的低熱電勢誤差帶來的負面效果,同時由于3458A 的8.5 bit 高分辨率和0.1×10-6的高精度級別使得整套采集系統(tǒng)的精確性達到一個新的高度。另外對通道的快速切換也可以實現(xiàn)在高速下對多個信號源的數(shù)據(jù)采集。這里應(yīng)當(dāng)注意,在掃描開關(guān)切換通道后,應(yīng)該暫停數(shù)據(jù)采集1 min 以上,以保證通道切換后的熱電勢影響回歸到最低的狀態(tài),從而保證采集數(shù)據(jù)的最高精確性。
整個軟件使用Visual studio 2005 平臺開發(fā),使用語言為C#,并使用. NET FrameWork3.0 為基礎(chǔ)。C#是一種全新的語言,它可以利用. Net FrameWork及其開發(fā)環(huán)境中的所有新特性,. Net FrameWork 和C#一開始就完全是基于面向?qū)ο蟮模?]。
為了保證兩臺設(shè)備高效、準(zhǔn)確的進行數(shù)據(jù)讀取,于是將本軟件系統(tǒng)所設(shè)計的流程分為以下3 個部分:準(zhǔn)備采集、數(shù)據(jù)采集流程和數(shù)據(jù)展示,如圖2所示。
圖2 軟件構(gòu)成設(shè)計圖
發(fā)送命令前需要為計算機安裝Aglient34410A數(shù)字電壓表USB 驅(qū)動程序安裝,將隨機光盤放入光驅(qū)運行Agilent IO Libraries Suite 14.2 進行安裝[4],HP3458A 設(shè)備的控制命令完全符合SCPI 可程控儀器標(biāo)準(zhǔn)命令集[5]的要求規(guī)范,命令簡單易操作。
(1)3458A 地址初始化工作
通過Agilent 驅(qū)動軟件Agilent IO control,可以對3458A 進行地址初始化設(shè)置工作[6]。
(2)3458A 連接驗證
在應(yīng)用程序中,通過集成VISA32 接口,向3458A 發(fā)送端口打開命令viOpen(),傳入3458A 的地址(格式為GPIB0::XX::INSTR,XX 為3458A 的預(yù)設(shè)地址),然后發(fā)送GPIB 指令“ID?”,若返回“HP3458A”,說明計算機與3458A 已經(jīng)連上,可以進行后續(xù)的參數(shù)設(shè)置工作。
(3)3458A 參數(shù)配置[7]
首先發(fā)送命令”PRESET”將3458A 預(yù)設(shè)為NORM、FAST 或者DIG 三種狀態(tài)之一。NORM 狀態(tài)是將3458A 作為類似復(fù)位的操作;FAST 狀態(tài)是將設(shè)備調(diào)整到最快的存貯、讀取狀態(tài);DIG 狀態(tài)是將設(shè)備調(diào)整到直流電壓數(shù)字化狀態(tài);
圖3 設(shè)備配置流程圖
如果要打開設(shè)備的屏幕顯示,可以發(fā)送”DISP”命令,該命令有OFF 和ON 兩個狀態(tài),分別對應(yīng)屏幕的關(guān)閉和開啟;
發(fā)送“MFORAT”命令,對3458A 中的數(shù)據(jù)讀取內(nèi)存進行的清除,并且對新的數(shù)據(jù)存儲格式進行格式化,該命令有5 個參數(shù):ASC Ⅱ、SINT、DINT、SREAL、DREAL,分別對應(yīng)ASC Ⅱ、Singel Integer,Double Integer,Single Real,Double Real;發(fā) 送“OFORMAT”命令,對3458A 進行GPIB 輸出數(shù)據(jù)的格式化設(shè)置,該命令有5 個參數(shù):ASC Ⅱ、SINT、DINT、SREAL、DREAL,分別對應(yīng)ASCⅡ、Singel Integer,Double Integer,Single Real,Double Real;
發(fā)送“MEM”命令,設(shè)置3458A 啟用或者禁用讀取內(nèi)存,并指定存儲模式。該命令有4 個參數(shù):OFF、LIFO、FIFO、CONT,分別對應(yīng)關(guān)閉、后進先出、先進先出、使用前一個模式。
發(fā)送“DCV”命令調(diào)整3458A 的直流電壓測量檔位;
發(fā)送“NDIG”設(shè)置了3458A 要顯示的位數(shù);
發(fā)送“NPLC”設(shè)置3458A 在電力周期中,AD 轉(zhuǎn)換的時間;
發(fā)送“TRIG”命令設(shè)置3458A 的觸發(fā)事件;
發(fā)送“AZERO”命令設(shè)置3458A 的自動零位功能;
發(fā)送“NRDGS”命令設(shè)置3458A 每次返回數(shù)據(jù)的個數(shù);
發(fā)送“END”命令設(shè)置3458A 啟用或禁用GPIB的EOI 功能;
發(fā)送“TARM”命令設(shè)置3458A 的觸發(fā)事件機制。
(4)電子掃描開關(guān)地址初始化
通過Agilent 配套的驅(qū)動軟件,可以對3458A 進行地址初始化設(shè)置工作。
(5)電子掃描開關(guān)連接驗證
由于掃描開關(guān)的連接命令沒有返回值,只能通過發(fā)送命令來判斷其是否與計算機連接正常。在應(yīng)用程序中,通過集成VISA32 接口,向3458A 發(fā)送端口打開命令viOpen(),傳入160B 的地址(格式為GPIB0::XX::INSTR,XX 為160B 的預(yù)設(shè)地址),然后發(fā)送指令“A00”和“B00”,關(guān)閉掃描開關(guān)所有端口,根據(jù)設(shè)備上的顯示提示完成連接驗證。
數(shù)據(jù)讀取流程設(shè)計需要使用異步多線程技術(shù)[8],主線程負責(zé)維持程序界面的正常運行,另一條一條線程負責(zé)讀取數(shù)據(jù),通過委托產(chǎn)生與主線程的通信用于顯示和記錄所測量的數(shù)據(jù)。
如圖4 所示,數(shù)據(jù)讀取流程開始后,首先要將3458A 預(yù)熱,該過程可以保證3458A 在數(shù)據(jù)采集過程中不會因為設(shè)備啟動后的溫度變化產(chǎn)生熱電勢影響數(shù)據(jù)準(zhǔn)確性。
圖4 數(shù)據(jù)采集流程圖
接下來進入3458A 的參數(shù)配置過程,如§3.1中所述,配置好3458A 和160B 才能正確的按照流程進行數(shù)據(jù)采集。為了保證3458A 的讀取精度,可以對3458A 進行自校準(zhǔn)操作。
然后開始進入設(shè)備控制及數(shù)據(jù)采集流程:首先控制掃描開關(guān)打開待測信號源的通道,3458A 自動與該信號源進行連接,計算機通過VISA32 接口程序?qū)?458A 返回的數(shù)據(jù)進行采集。當(dāng)讀數(shù)個數(shù)滿足后,結(jié)束本次讀取操作。然后打開下一個待測信號源通道,通過3458A 完成對下一個信號源的數(shù)據(jù)讀取,直至所有信號源讀取完成。
判斷讀數(shù)個數(shù)滿足條件時,程序中引入了異常值剔除規(guī)則,排除可能因為外在條件(電波,電磁,溫濕度等影響)導(dǎo)致突發(fā)性讀數(shù)異常的情況,這類數(shù)值會對后續(xù)的數(shù)據(jù)分析造成一定的影響。為了使數(shù)據(jù)分析更為準(zhǔn)確,程序中引入了3 種異常值剔除規(guī)則[9]:拉依達法則,格拉布斯準(zhǔn)則,狄克遜準(zhǔn)則。3 種規(guī)則適用條件不同,針對不同的數(shù)據(jù)讀取次數(shù),拉依達法則適用于讀取次數(shù)50 次以上的情況。格拉布斯準(zhǔn)則適用于20 次~50 次的情況。狄克遜準(zhǔn)則適用于20 次以下的情況。
下面4 組圖形是通過本采集系統(tǒng)分別對2 個不同信號源進行數(shù)據(jù)采集的結(jié)果展示。采集時間是在半年時間中進行的245 次完整測試數(shù)據(jù),所有數(shù)據(jù)都是在無人監(jiān)控和操作的情況下由軟件程序自行采集得到的。由圖中我們可以看出,數(shù)據(jù)的變化量基本穩(wěn)定在2×10-6之內(nèi),所以根據(jù)圖中的數(shù)據(jù)顯示,我們可以認(rèn)定該系統(tǒng)已經(jīng)達到了預(yù)想的采集精度及穩(wěn)定度。其中的每一個數(shù)據(jù)點都是由設(shè)備對設(shè)備進行20 次讀數(shù)后的進行平均值運算產(chǎn)生的。在實際的運用中,平均值計算只是其中最簡單的運用之一。
圖5 直流電壓主基準(zhǔn)1#
圖6 直流電壓主基準(zhǔn)2#
在長期大量的測試中發(fā)現(xiàn)VISA32 接口協(xié)議在3458A 及電子掃描開關(guān)間進行端口快速切換時,會出現(xiàn)通信端口無法關(guān)閉,致使后續(xù)操作無法繼續(xù)進行的問題。由于該問題一旦出現(xiàn),就基本失去了對于設(shè)備的控制,很難在出現(xiàn)問題之后使用其他方法來解決設(shè)備的鎖死現(xiàn)象。
經(jīng)過長時間的多種方法的測試,最終形成了一個完全可以處理該問題的解決方法:在打開端口之前,首先關(guān)閉之前使用的端口,如圖7 中虛線部分所示。具體的操作方法是在數(shù)據(jù)采集流程中,每次轉(zhuǎn)換設(shè)備前都對之前的設(shè)備端口進行關(guān)閉,然后使程序等待一段時間,再進入設(shè)備操作類中檢測設(shè)備端口關(guān)閉情況,如果端口未關(guān)閉,則進行再次關(guān)閉的操作。
圖7 設(shè)備端口控制流程圖
數(shù)據(jù)統(tǒng)計分析功能主要針對數(shù)據(jù)采集流程中所采集的數(shù)據(jù)進行統(tǒng)計分析計算,并將結(jié)果顯示,并生成數(shù)據(jù)變化曲線圖,以便使用者更加直觀高效的研究數(shù)據(jù)變化趨勢及可能出現(xiàn)的問題等。數(shù)據(jù)統(tǒng)計分析運行流程如圖8 所示。
圖8 數(shù)據(jù)統(tǒng)計流程圖
數(shù)據(jù)采集流程中,將一次完整的數(shù)據(jù)采集作為一個批次。在查詢條件設(shè)置中就是根據(jù)條件查詢符合條件的批次。查詢條件的多種類靈活設(shè)置為使用者可以有針對性的對部分?jǐn)?shù)據(jù)進行統(tǒng)計分析提供了更大的便利,既大幅提高了使用者快速統(tǒng)計分析所需數(shù)據(jù)的效率,也提高了使用者的用戶體驗。
查詢結(jié)果將列出所有符合查詢條件的批次數(shù)據(jù)項,而使用者仍然可以進一步從這些批次數(shù)據(jù)項中選擇所需要的批次數(shù)據(jù)項進行統(tǒng)計,也可以全部選擇統(tǒng)計。該次選擇也是進一步為使用者的統(tǒng)計分析提供更為精確的待選項。
統(tǒng)計結(jié)果及曲線圖顯示功能是整個軟件非常重要的功能之一。統(tǒng)計結(jié)果和曲線圖顯示是相互關(guān)聯(lián)的2 部分,首先,統(tǒng)計結(jié)果中會根據(jù)用戶所選擇的所有批次數(shù)據(jù)項中包含的數(shù)據(jù)分別生成對應(yīng)的數(shù)據(jù)報告,報告中列出了該批次測試數(shù)據(jù)中各設(shè)備的統(tǒng)計分析數(shù)據(jù)項,包括:平均值,極大值,極小值,實驗標(biāo)準(zhǔn)差,相對實驗標(biāo)準(zhǔn)差,極差值,相對極差值,標(biāo)定值等。
平均值:單臺設(shè)備該批次測量數(shù)據(jù)的平均值。
極大值:單臺設(shè)備該批次測量數(shù)據(jù)的最大值。
極小值:單臺設(shè)備該批次測量數(shù)據(jù)的最小值。
實驗標(biāo)準(zhǔn)差:根據(jù)貝塞爾公式[10]
計算得到(其中Xi是一次設(shè)備測量值,ˉX 為該設(shè)備在該批次測量中的平均值。n 為該設(shè)備在該批次測量中的數(shù)據(jù)讀取次數(shù)。)
相對實驗標(biāo)準(zhǔn)差:根據(jù)貝塞爾公式
計算所得(公式中參數(shù)與實驗標(biāo)準(zhǔn)差中相同)
極差值:極差值=極大值-極小值。
相對極差值:極差值/ˉX。
標(biāo)定值:(1)用3458A 測量已標(biāo)定信號源電壓值,以已標(biāo)定信號源上級檢定值作為標(biāo)準(zhǔn)值,其誤差公式如下:
式中:Δ1為電壓測量引入的誤差,包括以下誤差項:Δ11(3458A 測量穩(wěn)定性誤差)、Δ12(3458A 分辨率引起的誤差)、Δ13(測量回路熱電勢引起的誤差)。
X1為已標(biāo)定信號源的測量值(平均值);N1為已標(biāo)定信號源的上級檢定值。
(2)用3458A 測量被標(biāo)定信號源電壓值,其誤差公式如下:
式中:Δ2為電壓測量引入的誤差,包括以下誤差項:Δ21(3458A 測量穩(wěn)定性誤差)、Δ22(3458A 分辨率引起的誤差)、Δ23(測量回路熱電勢引起的誤差)。
X2為被標(biāo)定信號源的測量值;N2為被標(biāo)定信號源的標(biāo)定值。
(3)用式(1)減去式(2)并整理得:
代入Δ1和Δ2的各分量有:
上式中各項的靈敏度系數(shù)的絕對值均為1。
表1
(以上不確定度分量均來源于設(shè)備說明書及國家計量院檢定數(shù)據(jù))
曲線圖的生成,是通過獲取統(tǒng)計中所有批次的設(shè)備特定值如標(biāo)定值,平均值等或經(jīng)過特定計算后的數(shù)值以時間為基礎(chǔ)計算統(tǒng)計生成。曲線圖的生成大大的提高了數(shù)據(jù)的可讀性,簡化了數(shù)據(jù)分析的工作。
統(tǒng)計工作完成后生成的多種統(tǒng)計結(jié)果及曲線圖是具有深層的研究意義的,所以軟件更人性化的設(shè)計了將統(tǒng)計結(jié)果及曲線圖通過簡單的操作導(dǎo)出為Word 及Excel 報表[11],使用人員可以分析文檔中的數(shù)據(jù)即可。除了導(dǎo)出統(tǒng)計結(jié)果及曲線圖,軟件還設(shè)計了導(dǎo)出原始測試數(shù)據(jù)、針對多臺數(shù)據(jù)源中任意幾臺的統(tǒng)計數(shù)據(jù)或原始數(shù)據(jù)的導(dǎo)出功能,這也是為了使用人員更具針對性的對設(shè)備狀態(tài)進行監(jiān)控。
經(jīng)過長期大量的試驗驗證,該系統(tǒng)完全可以對多個信號源進行自動化的數(shù)據(jù)采集,數(shù)據(jù)具有準(zhǔn)確度高、持續(xù)性好的特點。該系統(tǒng)具有方便的接口,可以嵌入到其他的數(shù)據(jù)采集模塊中,成為比較理想的自動數(shù)據(jù)采集系統(tǒng)。而軟件的統(tǒng)計分析功能更簡化了數(shù)據(jù)分析過程,使設(shè)備狀況更為直觀的展示在使用者面前,并為使用者做出了一定的基礎(chǔ)性分析。大大提高了使用者的工作效率,是非常具有針對性的專業(yè)性軟件。
[1] Agilent 3458A 數(shù)字多用表技術(shù)資料[S].2005 年1 月,Agilent Technologies,Inc.2005,出版號:5965-4971CHCN,4-5.
[2] 胡永健.基于ATmega8515 的低熱電勢程控掃描開關(guān)[J].微型機與應(yīng)用,2011(7):16-19.
[3] Christian Nagel,Bill Evjen,Jay Glynn.C# 2005 &.NET3.0 高級編程[M].北京:清華大學(xué)出版社,2007:7-8.
[4] 劉偉杰,趙質(zhì)良.利用VISA 通過USB 接口控制Agilent34410A[J].儀表與計量技術(shù),2008(2):37-39.
[5] SCPI Consortium.Standard Commands for Programmable Instruments Manual Version 1990[S].1990.
[6] 王俊璞,金志華.HP3458A 數(shù)字萬用表的計算機控制[J].計量技術(shù),2008(12):24-26.
[7] 3458A Multimeter User’s Guide[S].Edition 4.Agilent Technologies.2000:149-258.
[8] 周存杰.Visual C#.NET 網(wǎng)絡(luò)核心編程[M].北京:清華大學(xué)出版社,2002:53-59.
[9] 中國計量測試協(xié)會. 一級注冊計量師基礎(chǔ)知識及專業(yè)實務(wù)[M]北京:中國計量出版社,2009:212.
[10] 中國計量測試協(xié)會. 一級注冊計量師基礎(chǔ)知識及專業(yè)實務(wù)[M]北京:中國計量出版社,2009:205-206.
[11] 王小科,王軍.C#開發(fā)實戰(zhàn)1200 例[M]. 北京:清華大學(xué)出版社,2011:591-650.