凌勇,袁鶴齡,陸敏玉
(中國(guó)電子科技集團(tuán)公司第五十八研究所,江蘇 無(wú)錫 214035)
直流穩(wěn)定電源廣泛運(yùn)用于科研生產(chǎn)型企業(yè),隨著科技的發(fā)展,直流穩(wěn)定電源正朝著智能化、高精度、多通道、寬量程的趨勢(shì)發(fā)展。目前國(guó)內(nèi)直流穩(wěn)定電源的量值溯源標(biāo)準(zhǔn)主要依據(jù)是JJF 1597《直流穩(wěn)定電源校準(zhǔn)規(guī)范》以及JJG 77—2015《直流穩(wěn)壓電源檢定規(guī)程》。以JJF 1597 為例,一個(gè)單通道單量程的直流穩(wěn)定電源全套校準(zhǔn)項(xiàng)目共有13 項(xiàng)[1],對(duì)于一個(gè)多通道多量程的直流穩(wěn)定電源來(lái)說(shuō),整個(gè)校準(zhǔn)項(xiàng)目總數(shù)一般是13的整數(shù)倍。如果采用傳統(tǒng)的人工校準(zhǔn),非常耗費(fèi)時(shí)間和人力,而且電源量程通道數(shù)量越多,出錯(cuò)的概率越大。電源產(chǎn)品不僅數(shù)量多、型號(hào)雜,而且為避免影響正常生產(chǎn),電源產(chǎn)品使用人員往往需要盡可能加快電源校準(zhǔn)整體作業(yè)速度。在此背景下,直流穩(wěn)定電源自動(dòng)化校準(zhǔn)系統(tǒng)(簡(jiǎn)稱電源自校系統(tǒng))的研發(fā)需求變得日益迫切。
經(jīng)調(diào)研,直流穩(wěn)定電源目前普遍配置至少一類(lèi)程控通信接口(RS232、GPIB、USB),并且大部分程控儀器都支持可編程儀器標(biāo)準(zhǔn)命令(SCPI)[2]。針對(duì)現(xiàn)今較為主流的編譯軟件(VC、.NET、C++等),通過(guò)適用度、可編程性等綜合因素的比較分析,本文最終選擇以LabVIEW 作為軟件開(kāi)發(fā)平臺(tái)。LabVIEW 是一個(gè)工業(yè)標(biāo)準(zhǔn)的圖形化開(kāi)發(fā)環(huán)境,它結(jié)合了圖形化編程方式的高性能與靈活性,以及專為測(cè)試、測(cè)量與自動(dòng)化控制應(yīng)用設(shè)計(jì)的高端性能與配置功能。LabVIEW 配備了種類(lèi)豐富、功能強(qiáng)大的可擴(kuò)展函數(shù)庫(kù)和子程序庫(kù),可用于GPIB 設(shè)備控制、VXI 總線控制、串行口設(shè)備控制以及數(shù)據(jù)分析、顯示和存儲(chǔ)等[3]。
綜上所述,基于電源類(lèi)產(chǎn)品普遍具備可程控化的特點(diǎn)以及LabVIEW 軟件出色的測(cè)控編譯性能,本文介紹了一款直流穩(wěn)定電源自動(dòng)化校準(zhǔn)系統(tǒng)。
電源自校系統(tǒng)的主體結(jié)構(gòu)如圖1 所示,分為硬件部分和軟件部分,表1 為電源自校系統(tǒng)的主要構(gòu)成明細(xì)表。
表1 電源自校系統(tǒng)的主要構(gòu)成明細(xì)
圖1 電源自校系統(tǒng)的主體結(jié)構(gòu)
整個(gè)直流穩(wěn)定電源的自動(dòng)化校準(zhǔn)過(guò)程可以分為校準(zhǔn)啟動(dòng)階段、校準(zhǔn)作業(yè)階段以及校準(zhǔn)收尾階段?,F(xiàn)針對(duì)各階段較典型的技術(shù)難點(diǎn)和解決方案進(jìn)行闡述。
該階段的主要任務(wù)是實(shí)現(xiàn)校準(zhǔn)啟動(dòng)過(guò)程信息的導(dǎo)入,導(dǎo)入信息包括被校電源的特征信息、程控指令以及各項(xiàng)技術(shù)參數(shù)。其技術(shù)難點(diǎn)主要在于市面上電源型號(hào)、種類(lèi)繁多,因此需要建立一套較為簡(jiǎn)單、完備的編碼規(guī)則,針對(duì)各類(lèi)電源的主要校準(zhǔn)信息以標(biāo)準(zhǔn)化格式錄入,在數(shù)據(jù)庫(kù)中也需要構(gòu)建一個(gè)較為合理且對(duì)應(yīng)關(guān)系清晰的數(shù)據(jù)結(jié)構(gòu)模型,從而確保LabVIEW 主體程序能夠從數(shù)據(jù)庫(kù)中準(zhǔn)確地識(shí)別和提取所需要的相關(guān)信息。為解決上述技術(shù)難點(diǎn),主要采取了2 條解決措施。
3.1.1 制定電源信息編碼規(guī)則
本系統(tǒng)采用了雙字段編碼方式,具體格式為XXXX-n1-n2-n3-n4。其中,XXXX 代表電源型號(hào)字段,主要由數(shù)字、英文字母或特殊字符組成,一般是直接引用電源廠商的編號(hào)規(guī)則。需要注意的是,如果廠商提供的型號(hào)名稱包含“-”,需要將其替換成“#”。n1-n2-n3-n4代表通道量程信息字段,主要由4 個(gè)獨(dú)立數(shù)位非0 自然數(shù)組成。n1代表該電源型號(hào)的通道總數(shù),n2代表該電源型號(hào)的通道序號(hào),n3代表該電源型號(hào)某通道的量程總數(shù),n4代表該電源型號(hào)某通道的量程序號(hào)。
如某型號(hào)電源編碼為IT6952A-1-1-1-1,表示電源型號(hào)是IT6952A,設(shè)備通道總數(shù)為1,量程數(shù)量也為1。又如某型號(hào)電源編碼為E3633A-1-1-2-1,表示電源型號(hào)是E3633A,該設(shè)備通道總數(shù)為1,量程數(shù)量為2,目前指向該型電源第1 個(gè)量程。
采用這種編碼方式有2 個(gè)優(yōu)點(diǎn):一是清晰直觀,從編碼名稱上就能夠迅速了解產(chǎn)品的通道和量程數(shù)量;二是編碼方式簡(jiǎn)單,鑒于不同電源設(shè)備的性能千差萬(wàn)別,這種編碼方式可以防止遺漏,并且每個(gè)通道量程可以通過(guò)程序準(zhǔn)確識(shí)別和賦值。
3.1.2 建立關(guān)系模型
電源自校系統(tǒng)數(shù)據(jù)庫(kù)一共包括12 張數(shù)據(jù)表,以通道量程數(shù)據(jù)表為核心,圖2 為通道量程數(shù)據(jù)表的設(shè)計(jì)視圖,可以看出,通道量程數(shù)據(jù)表的主鍵字段是通道名稱,且該字段采用了電源信息編碼規(guī)則。
圖2 通道量程數(shù)據(jù)表的設(shè)計(jì)視圖
自校系統(tǒng)數(shù)據(jù)庫(kù)的關(guān)系映射模型如圖3 所示。其中,設(shè)備型號(hào)數(shù)據(jù)表與設(shè)備校準(zhǔn)信息庫(kù)數(shù)據(jù)表的表間關(guān)系為一對(duì)一模式,通道量程等10 張數(shù)據(jù)表的表間關(guān)系為一對(duì)多模式。采用該數(shù)據(jù)表關(guān)系映射模型,可以快速、準(zhǔn)確地從數(shù)據(jù)庫(kù)中識(shí)別和提取指定的型號(hào)電源和量程通道所需的相關(guān)校準(zhǔn)信息。
圖3 自校系統(tǒng)數(shù)據(jù)庫(kù)的關(guān)系映射模型
該階段的主要任務(wù)是解決校準(zhǔn)作業(yè)過(guò)程的數(shù)據(jù)交互和處理,主要包括LabVIEW 主體程序與數(shù)據(jù)庫(kù)、LabVIEW 主體程序與被測(cè)電源、LabVIEW 主體程序與直流穩(wěn)定電源校準(zhǔn)裝置、LabVIEW 主體程序與校準(zhǔn)人員之間的信息交互處理。LabVIEW 主體程序由44個(gè)VI 功能模塊組成,其中包括6 個(gè)主功能模塊,9 個(gè)子功能模塊和29 個(gè)支持功能模塊。LabVIEW 自動(dòng)化校準(zhǔn)系統(tǒng)的初始化頁(yè)面如圖4 所示,流程結(jié)構(gòu)框圖如圖5 所示。
圖4 自動(dòng)化校準(zhǔn)系統(tǒng)的初始化頁(yè)面
圖5 LabVIEW 主體程序的流程結(jié)構(gòu)框圖
在數(shù)據(jù)交互和處理的過(guò)程中,如何保證LabVIEW主體程序顯示界面的實(shí)時(shí)準(zhǔn)確切換是主要技術(shù)難點(diǎn)之一。為解決該問(wèn)題,在編程過(guò)程中靈活、綜合運(yùn)用了標(biāo)準(zhǔn)狀態(tài)機(jī)控制技術(shù)[4]、數(shù)組/字符串函數(shù)以及循環(huán)/事件/條件結(jié)構(gòu)的嵌套等,確保程序的穩(wěn)定運(yùn)行。
典型LabVIEW 狀態(tài)機(jī)由一個(gè)While 循環(huán)、一個(gè)條件結(jié)構(gòu)和一組移位寄存器組成,LabVIEW 狀態(tài)機(jī)的基本框架結(jié)構(gòu)如圖6 所示。其中,While 循環(huán)用來(lái)保證程序的連續(xù)運(yùn)行;條件結(jié)構(gòu)各種分支中的代碼用來(lái)描述狀態(tài)機(jī)的各種狀態(tài)以及下一狀態(tài)的選擇;移位寄存器用來(lái)將上個(gè)狀態(tài)所做的選擇傳遞到下一次循環(huán)的選擇端子。
圖6 LabVIEW 狀態(tài)機(jī)的基本框架結(jié)構(gòu)
以圖5 中LabVIEW 主體程序主功能模塊之一的信息錄入模塊為例,該功能模塊一共包含“起始態(tài)”、“查詢態(tài)”、“顯示態(tài)”以及“退出態(tài)”4 種主要狀態(tài)頁(yè)面,并且在數(shù)據(jù)交互處理過(guò)程中,這4 個(gè)主要狀態(tài)頁(yè)面會(huì)出現(xiàn)反復(fù)來(lái)回切換的情況。信息錄入模塊采用了如圖6 所示的LabVIEW 狀態(tài)機(jī)的基本框架結(jié)構(gòu),有效地解決了不同狀態(tài)頁(yè)面切換的技術(shù)難點(diǎn)。信息錄入模塊的程序流程如圖7 所示。
圖7 信息錄入模塊的程序流程
該階段的主要任務(wù)是實(shí)現(xiàn)校準(zhǔn)結(jié)果的保存和輸出。其技術(shù)難點(diǎn)是如何將校準(zhǔn)結(jié)果輸出并制作成定制化的Excel 格式的校準(zhǔn)報(bào)告和校準(zhǔn)證書(shū)。李征采用Excel 內(nèi)嵌的VBA 腳本代碼實(shí)現(xiàn)數(shù)據(jù)計(jì)算和報(bào)告格式生成[5],但該方法需要針對(duì)不同型號(hào)的電源制作不同樣式的證書(shū)模板。李華等采用LabVIEW 提供的報(bào)表工具包實(shí)現(xiàn)報(bào)表生成[6],但輸入?yún)?shù)有數(shù)量限制,并不能完全滿足實(shí)際使用過(guò)程中的多樣化要求。為解決上述技術(shù)難點(diǎn),主要采取了2 條解決措施。
3.3.1 校準(zhǔn)證書(shū)和記錄的模板布局設(shè)計(jì)
本系統(tǒng)針對(duì)校準(zhǔn)證書(shū)和記錄的模板布局進(jìn)行優(yōu)化設(shè)計(jì)。以校準(zhǔn)證書(shū)制作為例,證書(shū)模板布局設(shè)計(jì)如圖8 所示。這種布局不同于僅按照校準(zhǔn)項(xiàng)目的布局方式,而是先將直流穩(wěn)定電源拆解為獨(dú)立的單一量程通道,再針對(duì)每個(gè)量程通道按照校準(zhǔn)項(xiàng)目進(jìn)行布局設(shè)計(jì)。
圖8 證書(shū)模板布局設(shè)計(jì)
3.3.2 采用ActiveX 技術(shù)制作校準(zhǔn)證書(shū)和記錄
在完成上述證書(shū)模板布局設(shè)計(jì)的基礎(chǔ)上,電源自校系統(tǒng)采用ActiveX 技術(shù)生成校準(zhǔn)證書(shū)和校準(zhǔn)記錄。ActiveX 是微軟提出的一組部件對(duì)象模型(COM),主要 包 括Active 控 件、Active 文 檔、Active 自 動(dòng) 化。ActiveX 控件是一種獨(dú)立的控件對(duì)象。它通過(guò)屬性和方法來(lái)實(shí)現(xiàn)和應(yīng)用程序的交互[7-8]。以校準(zhǔn)證書(shū)為例,采用ActiveX 技術(shù)分成“證書(shū)模板復(fù)制”和“數(shù)據(jù)定位輸入”2 道步驟。假設(shè)某電源設(shè)備需要校準(zhǔn)的通道量程數(shù)量為N,頁(yè)面賦值:Sheet1 為1,Sheet2 為2,Sheetn(2<n≤N)為2i-3。證書(shū)模板復(fù)制的ActiveX 典型程序框圖如圖9 所示,從賦值公式和圖9 可以看出,基于ActiveX 技術(shù),通過(guò)LabVIEW 啟動(dòng)Excel 自動(dòng)化服務(wù)器,打開(kāi)校準(zhǔn)證書(shū)模板,針對(duì)Sheet3 頁(yè)面復(fù)制N 次;完成復(fù)制后,利用程序循環(huán)結(jié)構(gòu)對(duì)證書(shū)各頁(yè)面的頁(yè)碼通過(guò)i 次[i=0~(N-1)]循環(huán)實(shí)現(xiàn)頁(yè)碼賦值和證書(shū)模板復(fù)制。
圖9 證書(shū)模板復(fù)制的ActiveX 典型程序框圖
類(lèi)似證書(shū)模板復(fù)制,數(shù)據(jù)定位輸入同樣基于ActiveX 技術(shù),通過(guò)LabVIEW 啟動(dòng)Excel 自動(dòng)化服務(wù)器,調(diào)用Workbooks 對(duì)象,調(diào)用方法為Open,同時(shí)輸入Excel 表格的路徑及文件名稱,然后打開(kāi)工作表Worksheets,分別調(diào)用Sheets 對(duì)象以及Range 對(duì)象,并將校準(zhǔn)證書(shū)的相應(yīng)Sheet 頁(yè)碼、擬定位輸入數(shù)據(jù)的相應(yīng)單元格坐標(biāo)以及擬定位輸入的數(shù)據(jù)傳遞給LabVIEW 主體程序,從而實(shí)現(xiàn)數(shù)據(jù)定位輸入的目的,數(shù)據(jù)定位輸入的ActiveX 典型程序框圖如圖10 所示。
圖10 數(shù)據(jù)定位輸入的ActiveX 典型程序框圖
基于上述技術(shù)方案,已成功研制出直流穩(wěn)定電源自動(dòng)化校準(zhǔn)系統(tǒng)。本系統(tǒng)主要具備5 個(gè)特點(diǎn):校準(zhǔn)信息全程可視化,可實(shí)現(xiàn)校準(zhǔn)信息的實(shí)時(shí)查詢和動(dòng)態(tài)跟蹤;校準(zhǔn)過(guò)程個(gè)性化選擇,校準(zhǔn)量程通道以及校準(zhǔn)項(xiàng)目順序可自由選擇;設(shè)備通信智能匹配,可實(shí)現(xiàn)通信地址自行識(shí)別以及通信串口自動(dòng)配置;校準(zhǔn)數(shù)據(jù)精準(zhǔn)采集,單次測(cè)量數(shù)據(jù)采集6 次,異常采集數(shù)據(jù)自動(dòng)剔除;證書(shū)制作規(guī)范高效,可實(shí)現(xiàn)校準(zhǔn)數(shù)據(jù)自行修約,并一鍵生成證書(shū)記錄。
通過(guò)市場(chǎng)調(diào)研,橫向?qū)Ρ攘藝?guó)內(nèi)較為知名的甲、乙2 家計(jì)量技術(shù)機(jī)構(gòu)有關(guān)電源自動(dòng)化校準(zhǔn)系統(tǒng)的實(shí)現(xiàn)方式和應(yīng)用情況,結(jié)果如表2 所示。
表2 不同計(jì)量技術(shù)機(jī)構(gòu)的電源自動(dòng)化校準(zhǔn)系統(tǒng)性能對(duì)比
從表2 可以看出,本系統(tǒng)與其他計(jì)量技術(shù)機(jī)構(gòu)的電源自動(dòng)化校準(zhǔn)系統(tǒng)相比,在證書(shū)制作方式、應(yīng)用范圍以及實(shí)用性等方面具備一定的優(yōu)勢(shì)。為進(jìn)一步量化對(duì)比實(shí)施效果,專門(mén)抽選了3 臺(tái)典型型號(hào)的電源設(shè)備進(jìn)行測(cè)試驗(yàn)證,設(shè)備信息明細(xì)詳見(jiàn)表3。
表3 3 臺(tái)典型型號(hào)電源設(shè)備信息明細(xì)
針對(duì)上述型號(hào)的電源,分別采用人工和電源自校系統(tǒng)進(jìn)行校準(zhǔn)并出具證書(shū)。人工校準(zhǔn)與自動(dòng)化校準(zhǔn)實(shí)施數(shù)據(jù)比對(duì)如圖11 所示。從圖11 可以看出,與人工校準(zhǔn)相比,實(shí)施自動(dòng)化校準(zhǔn)整體耗時(shí)平均減少73%,單日整體工作效率平均提升2.3 倍。從2022 年9 月起,該系統(tǒng)已正式開(kāi)始用于本單位直流穩(wěn)定電源的日常校準(zhǔn)工作,目前已經(jīng)可以覆蓋本單位90%的電源型號(hào),電源數(shù)量覆蓋率達(dá)到96%,每年預(yù)計(jì)至少可以節(jié)約計(jì)量費(fèi)用30 萬(wàn)元,實(shí)際運(yùn)行效果令人滿意。
圖11 人工校準(zhǔn)與自動(dòng)化校準(zhǔn)實(shí)施數(shù)據(jù)比對(duì)
基于LabVIEW 開(kāi)發(fā)環(huán)境,本文研究開(kāi)發(fā)了一種直流穩(wěn)定電源自動(dòng)化校準(zhǔn)系統(tǒng),通過(guò)對(duì)自動(dòng)化校準(zhǔn)各個(gè)階段技術(shù)難點(diǎn)的分析和解決,全面實(shí)現(xiàn)了預(yù)期目標(biāo)。該電源自動(dòng)化校準(zhǔn)系統(tǒng)的成功研發(fā),不僅使技術(shù)團(tuán)隊(duì)初步掌握了LabVIEW 的編程技巧和設(shè)備測(cè)控技術(shù),而且為后續(xù)其他領(lǐng)域自動(dòng)化校準(zhǔn)系統(tǒng)的研發(fā)奠定了基礎(chǔ)。