張偉 黎永濤



摘要:本文介紹了基于C#編程語言進行開發的通信用光功率計自動檢定系統,實現了對光功率計的快速自動檢定測試以及數據結果的實時計算與結論判斷。該自動測試系統利用USB或GPIB等數據傳輸線將標準裝置、被檢儀器與計算機構成一個閉環的整體,實現對光功率計的智能自動檢定。經實驗驗證,本系統的測試速度相較傳統人工檢定至少提升4倍以上,明顯提高檢定員的工作效率,數據結果的實時處理與結論判斷幫助檢定員快速發現并定位光功率計可能存在的超差點。
關鍵詞:通信用光功率計;自動校準;C#
一、引言
通信用光功率計是通信干線鋪設、設備維護、科研和生產中使用的重要儀器,主要用于測量光通信波段內的光功率大小、穩定性等指標[1]。通信用光功率計在通信領域用途廣泛,為確保通信用光功率計關鍵參數的準確、可靠,需要參照國家檢定規程JJG 965-2001《通信用光功率計檢定規程》[2]對其每年進行周期性檢定。通信用光功率計的檢定需要由激光源、光衰減器、光開關和標準光功率計等多個部分共同組成一套完整的標準裝置。由于光功率計檢定過程中需要頻繁對不同儀器進行設置以對光功率進行校正,光功率示值檢定項目中要求多次打開與關閉光開關后記數并重復該流程至少3次,且其記錄的原始數據需要進行多步計算后才能得到最終測試結果,導致傳統人工方式檢定單個光功率計需要20分鐘,效率低、速度慢。本實驗是研究基于C#語言[3-4]的通信用光功率計自動檢定系統,將光功率計的檢定耗時縮短至5分鐘之內(不包含熱機時間),大大降低了檢定時間,同時減少人為檢定帶來的誤差,提高了工作效率和檢測準確度,實現了原始記錄和證書的一鍵生成功能。
二、系統設計與開發
通信用光功率計自動檢定系統主要組成部分可以分為是由硬件儀器設備與軟件控制系統。硬件儀器設備部分包括主控電腦、標準器(穩定激光源、光衰減器、光開關和標準光功率計等)以及被檢光功率計。本實驗中標準設備使用KEYSIGHT 8164B光測試系統,其集成了光源、光衰減、光開關和標準光功率計等多個模塊,測試中各儀器設備均通過數據線(如或網線、USB數據線等)與主控電腦進行連通(如圖1所示),軟件控制系統負責標準器以及被檢光功率計進行控制和操作。
按照JJG 965-2001《通信用光功率計檢定規程》光功率示值項目的操作,圖2中以流程圖的方式對該操作進行了描述,在該過程中,首先需要對光衰減器和標準光功率計進行閉環測試,以使標準光功率計的顯示值為待檢功率值,其后再多次打開或關閉光開關并利用標準光功率計測量并記錄其不同狀態下的標準值,至少重復上述流程3次后,再將標準光功率計更換為被檢光功率計,并重復與標準光功率計相同的流程至少3次。
該自動化檢定系統采用C#編程語言進行軟件系統的代碼編寫,同時采用數據庫形式存儲檢定項目的參數設置。檢定結果和校準證書是調用Microsoft Office Word和Excel生成。圖3中展示了自動檢定系統的用戶界面,本系統以模塊化進行設計和開發,分為設備識別與連接模塊、自動化測試模塊以及證書生成模塊三部分,其中證書生成模板內置在自動化測試模塊中,在檢定過程中實時更新生成原始記錄和證書。同時,因目前市面上大部分的通信用光功率計并未配有通信接口,本測試系統同時兼容半自動測試功能,即自動完成激光源、光衰減器、光開關和標準光功率計的全自動操作,僅將被檢光功率計的部分操作與記數留給人工完成,其整體工作效率仍明顯高于單純的人工作業。
使用通信用光功率計自動檢定系統的時候,首先通過GPIB通信接口卡將各儀器和控制電腦連接好;然后按照檢定規程要求將儀器開機30分鐘以上進行熱機;打開軟件界面后,在地址欄輸入儀器的通訊地址后,軟件可以自動識別出儀器的型號、制造廠和出廠編號等信息;點擊測試按鍵就可以完成不同波長的測試項目,測試完成后可以自動生成完整的原始記錄和計量證書,完成測試過程。
三、程序設計
自動檢定系統的核心在于程序設計,通過讀取主控電腦中的指令代碼來代替人工的手動按鍵操作。每一條指令代表一個手動的操作動作,因此自動檢定系統可以完整地重復人工操作,不再需要手動按鍵,手動記錄,而是通過指令操作儀器,完成數據采集,本自動化檢定操作系統以C#語言設計和開發,以被檢光功率計讀數為例,其程序結構如下:
……
if (MessageBox.Show(“必須將 激光源-衰減器-被檢光功率計 連好后才能繼續”, “提示”, MessageBoxButtons.OKCancel) == DialogResult.OK)
{
light.write(“:SOUR2:WAV 0.000001310”); //設置激光源光波長
EUT.write(“:SENSe3:POWer:WAVelength 0.000001310”);//設置被檢光功率計光波長
light.write(“:INPut4:WAVelength 0.000001310”);//設置光衰減器光波長
light.write(“SOUR2:POW 10”); //設置激光源輸出功率
light.write(“:INPut4:ATTenuation 0”);//設置光衰減器衰減值
light.write(“:OUTPut4 1”);//打開光開關
for (int i = 0; i < 3; i++)
{
light.write(“:OUTPut2 0”); //關閉光開關
light.write(“:INPut4:ATTenuation “ +ATT[i]); //將光衰減值設為標準光功率計定標的衰減值
EUT.write(“:READ3:POWer?”);//獲取被檢光功率計讀數
Excel.Write(Form1.light.read(), 33 + i, “K”, “Sheet1”);//將測試結果記入原始記錄
light.write(“:OUTPut2 1”); //打開光開關
EUT.write(“:READ3:POWer?”);//獲取被檢光功率計讀數
Excel.Write(Form1.light.read(), 33 + i, “L”, “Sheet1”);//將測試結果記入原始記錄
light.write(“:OUTPut2 0”); //關閉光開關
EUT.write(“:READ3:POWer?”);//獲取被檢光功率計讀數
Excel.Write(Form1.light.read(), 33 + i, “M”, “Sheet1”);//將測試結果記入原始記錄
}
...……
四、結果數據分析
(一)數據結果比對
在相同的實驗條件下,分別采用自動化檢定系統和手動檢定方式對同一臺通信用光功率計進行檢定。表1列舉了功率示值數據對比,從中可以看出兩個方法得出的誤差絕對值小于擴展不確定度,滿足比對的要求,自動化檢定系統的數據是真實可靠的。采用自動化計量,可以多次測量取平均值,減少人為檢定帶來的誤差。
(二)耗時比較
實驗中我們對全自動檢定(面向可被程控的通信用光功率計)、半自動檢定(面向無通信接口的通信用光功率計)以及完全人工檢定3種方式進行了耗時統計與比較,經過實驗測試,通信用光功率計檢定平均耗時比較如表2所示。對儀器開始檢定前均需對標準器和被檢儀器進行熱機操作,熱機耗時30分鐘,該耗時未被計入表2的實際操作時間中。由表2中可以明顯看出3種方式的耗時差異,其中全自動檢定的耗時僅為人工作業的1/4,而半自動檢定的耗時則在全自動和完全人工檢定之間。經分析,有兩個原因的操作導致了全自動檢定的速度比人工操作更快,其一是圖2左邊第一列中需要對光衰減器進行調整以使最終輸出的光功率達到的功率點,全自動檢定時該步驟可以通過計算誤差值一次性調整到目標功率點,而人工檢定時要么心算出誤差值再手動設置,又或是通過多次微調達到目標功率,此處耗時明顯多于自動檢定。第二個原因則主要是因為自動檢查完中每一步操作都遠快于人工按鍵操作,且數據記錄也可以瞬間完成,而人工讀數和記錄的時間都更長,最終導致兩種方式耗時差異明顯。
五、結束語
隨著計量技術的發展,自動化計量帶來的高效率也越來越受到人們的重視,相比于人工的手動操作,通信用光功率計自動化檢定系統可以將工作效率提升4倍以上,有效地節約了人力成本。同時通信用光功率計自動化檢定系統通過多次測量的方法可以有效減少人為檢定帶來的誤差,提高校準的準確度。
作者單位:張偉? ?黎永濤? ? 廣東省計量科學研究院
東莞計量院
參? 考? 文? 獻
[1]李然,李莉,傅棟博,楊琨.光功率計計量現狀及分析[J].現代電信科技,2015,45(03):44-46.
[2]JJG 965-2001 通信用光功率計檢定規程.
[3]楊浩,楊鐵男,等譯.C#高級編程[M].北京:清華大學,2002.
[4]黎星云. 基于C#編程語言的頻譜儀自動校準系統研究與應用[J].中國新通信, 2020, 22(17):2.