張 軍,馮 運,簡子倪,錢曉豪,鄢 陽,王先培
(1.中國電力科學研究院有限公司,湖北武漢 430000;2.國網(wǎng)四川省電力公司電力科學研究院,四川成都 610041;3.武漢大學電子信息學院,湖北武漢 430072;4.國網(wǎng)電力科學研究院武漢南瑞有限責任公司,湖北武漢 430074)
在傳統(tǒng)的電力設(shè)備專用測試裝置校準工作中,計量標準器具主要存放于固定實驗室中,采取自下而上的周期送檢或者自上而下的上門校準方式,使得這種校準方式校準周期長、操作難度大、費用高、效率低[1]。同時現(xiàn)有的校準設(shè)備往往采用一對一的校準方式[2],開發(fā)的計量校準裝置大部分參數(shù)單一、專用性強,并且各個裝置間的通信接口往往不統(tǒng)一[3]。在此基礎(chǔ)上構(gòu)建的校準系統(tǒng),在數(shù)據(jù)共享性與業(yè)務(wù)拓展性方面沒有較好的效果,導致校準效率低、平臺搭建繁瑣、數(shù)據(jù)采集困難等問題[4]。
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,充分利用遍布全球的互聯(lián)網(wǎng)進行遠程校準的概念逐漸地受到人們的重視[5],自動測試平臺的網(wǎng)絡(luò)化也逐漸成為了一個熱門的研究方向。網(wǎng)絡(luò)化測控具有顯著的優(yōu)點,首先,把測試裝置當成網(wǎng)絡(luò)中的節(jié)點接入到網(wǎng)絡(luò)中進行數(shù)據(jù)傳輸時,不僅能夠?qū)崿F(xiàn)儀器資源的共享,同時試驗員也能夠在網(wǎng)絡(luò)上協(xié)同工作,共同完成測試任務(wù),使得測試任務(wù)的完成可以跨越空間和時間的界限[6]。其次通過互聯(lián)網(wǎng)進行數(shù)據(jù)通信和數(shù)據(jù)采集可以使得試驗員隨時隨地獲得測試數(shù)據(jù)[7]。網(wǎng)絡(luò)化測試平臺的引入減少了試驗員的操作難度,提高了校準任務(wù)的效率,節(jié)省了大量的人力物力。針對上述問題,提出了基于互聯(lián)網(wǎng)+的開放式校準平臺架構(gòu),采用遠程校準技術(shù)和以太網(wǎng)總線技術(shù),實現(xiàn)電力設(shè)備專用測試裝置的網(wǎng)絡(luò)化校準。
互聯(lián)網(wǎng)+校準平臺不同于傳統(tǒng)的校準裝置和計量標準的“一對一”的校準方式,而是將多種標準計量模塊作為一個整體,通過遠程校準技術(shù)實現(xiàn)對多種電力設(shè)備專用測試裝置進行校準?;ヂ?lián)網(wǎng)+校準平臺采用網(wǎng)絡(luò)化測控思路,將多種標準計量模塊和操作人員都連接到網(wǎng)絡(luò)上,實現(xiàn)數(shù)據(jù)共享和遠程操作。校準平臺的總體結(jié)構(gòu)如圖1所示。
圖1 校準平臺的總體結(jié)構(gòu)
校準平臺主要分為4個部分:試驗員校準實驗室、數(shù)據(jù)庫、監(jiān)護系統(tǒng)以及中心實驗室。通過互聯(lián)網(wǎng)將4個部分連接成一個整體,實現(xiàn)相互之間的通信。結(jié)構(gòu)描述如下:
(1)試驗員校準實驗室,是試驗員完成校準任務(wù)的操作實驗室。該實驗室的校準軟件能夠?qū)崿F(xiàn)的功能如圖2所示。
圖2 試驗員校準軟件功能圖
(2)數(shù)據(jù)庫,用于存儲和查詢數(shù)據(jù)。本文分析了現(xiàn)階段各類電力設(shè)備專用測試裝置的校準業(yè)務(wù),進而抽象出校準業(yè)務(wù)的信息結(jié)構(gòu),校準平臺數(shù)據(jù)庫的E-R模型如圖3所示。
圖3 校準平臺數(shù)據(jù)庫的E-R模型
6個實體由“校準”行為聯(lián)系在一起,校準行為主要包括證書編號、時間、地點、溫度、濕度、計量標準編號、測試裝置編號、實驗員ID等屬性。
(3)監(jiān)護系統(tǒng),主要實現(xiàn)對校準平臺的實時監(jiān)護。該系統(tǒng)上運行有監(jiān)護系統(tǒng)軟件,該軟件是唯一可以直接與中心實驗室進行通信的軟件。試驗員輸入校準中所需的所有參數(shù)后,傳給監(jiān)護系統(tǒng),然后監(jiān)護系統(tǒng)再將參數(shù)按組按照次數(shù)依次傳遞給中心實驗室設(shè)備。功能圖如圖4所示。
圖4 監(jiān)護系統(tǒng)功能圖
(4)中心實驗室,包含了多個標準計量模塊,主要功能是接收參數(shù)并執(zhí)行指令。中心實驗室接收上位機發(fā)送的參數(shù),然后等待上位發(fā)送啟動指令。接收到啟動指令后,確定模擬電路是否接好,然后接通電源,執(zhí)行校準,將所得數(shù)據(jù)返回給試驗員校準軟件。中心實驗室的每個計量模塊都帶有嵌入式軟件,可自動實現(xiàn)參數(shù)的測量,無需試驗員再做配置。
普通的校準設(shè)備往往只能對相應(yīng)的校準業(yè)務(wù)進行校準,如果想要校準其他待測試品,需要更換另一種校準設(shè)備進行校準,這樣校準成本就會顯著提高[8]。所以本文將校準裝置拆分為多個標準計量模塊,將多個標準計量模塊接入到同一以太局域網(wǎng)內(nèi),不但能對特定的對象進行校準,而且在盡量減少成本的情況下還能對校準對象進行擴展。
將現(xiàn)有校準裝置分為3個部分:信號發(fā)生模塊、電源模塊和校準專用模塊。根據(jù)校準裝置的測量參數(shù)、準確度等級進行歸納分類,將信號發(fā)生模塊分為信號發(fā)生器和精密信號發(fā)生器。在上述模塊劃分中,信號發(fā)生模塊和電源模塊可以由多個校準任務(wù)共同使用,實現(xiàn)了模塊的復用,提高了模塊的使用率同時降低了校準成本。
目前中心實驗室的標準計量模塊主要采用RS232、GPIB和USB通訊方式進行上位機和下位機之間的通信,不具備遠程控制和數(shù)據(jù)傳輸能力[9]。因此要實現(xiàn)互聯(lián)網(wǎng)+概念首要目標就是對標準計量模塊進行網(wǎng)絡(luò)化。本文設(shè)計了計量標準模塊的網(wǎng)絡(luò)接口適配器,實現(xiàn)了計量標準綜合系統(tǒng)的網(wǎng)絡(luò)化應(yīng)用,使中心實驗室各個模塊間的通信通過網(wǎng)絡(luò)進行傳輸。
本文設(shè)計了基于AVR系列單片機ATmega64為主控器的網(wǎng)絡(luò)接口適配器,網(wǎng)絡(luò)接口適配器上電后單片機先對網(wǎng)卡進行初始化,如果收到RS-232或USB設(shè)備的數(shù)據(jù),就通過串口或USB接口將數(shù)據(jù)接收并按照TCP/IP格式進行打包送入以太網(wǎng)控制器中,再由以太網(wǎng)控制器將數(shù)據(jù)輸出到網(wǎng)絡(luò)中。
本文校準平臺的中心實驗室依靠交換機實現(xiàn)全雙工的星形網(wǎng)絡(luò)通信結(jié)構(gòu),通過交換機實現(xiàn)數(shù)據(jù)的雙向通信。本文采用環(huán)-樹冗余結(jié)構(gòu),在保證通信可靠的同時,提高網(wǎng)絡(luò)的通信速率。中心實驗室的物理網(wǎng)絡(luò)拓撲如圖5所示。
圖5 中心實驗室物理網(wǎng)絡(luò)拓撲圖
中心實驗室可能存在多個網(wǎng)絡(luò)接口適配器,每個網(wǎng)絡(luò)接口適配器上連有多個計量標準模塊。將每個網(wǎng)絡(luò)接口適配器采用環(huán)形的方式進行連接,保證了鏈路的可靠性,中心實驗室中的每個節(jié)點間需要遵照統(tǒng)一的通信協(xié)議。
校準平臺主要分為試驗員校準實驗室、數(shù)據(jù)庫、監(jiān)護系統(tǒng)以及中心實驗室4個模塊。通過互聯(lián)網(wǎng)將4個模塊連接成一個整體,實現(xiàn)相互之間的通信。對于這4個地理位置隔開的區(qū)域,每個部分在校準過程中分別承擔著不同的責任。本文將校準平臺軟件分為了多個可以獨立運行的功能,每個模塊的軟件功能如圖6所示。
圖6 校準平臺數(shù)據(jù)流向圖
圖6中表明了在整個校準過程中,數(shù)據(jù)的總體流向。試驗員操作軟件可以和監(jiān)護系統(tǒng)和數(shù)據(jù)庫實現(xiàn)雙向通信,但不能和中心實驗室進行直接通信。監(jiān)護系統(tǒng)作為唯一可以與中心實驗室通信的部分,所有需要對中心實驗室進行操作的數(shù)據(jù)報文都需要經(jīng)過監(jiān)護系統(tǒng)進行轉(zhuǎn)發(fā),監(jiān)護系統(tǒng)可以實現(xiàn)對中心實驗室的保護作用。
試驗員通過網(wǎng)絡(luò)登錄試驗員校準軟件,在該軟件界面上進行遠程操作。試驗員發(fā)出遠程校準請求,信息通過網(wǎng)絡(luò)傳輸,遠方監(jiān)護系統(tǒng)接收到請求后將其解析為遠方試驗員,經(jīng)與遠方校準人員完成信息交互、中心實驗室準備完成后,啟動校準流程,并將校準結(jié)果呈現(xiàn)給試驗員,供試驗員查看校準結(jié)果和相關(guān)校準信息。系統(tǒng)通信如圖7所示。
圖7 系統(tǒng)通信圖
監(jiān)護系統(tǒng)作用是對校準平臺進行實時的監(jiān)護,為保證中心實驗室的安全,將監(jiān)護系統(tǒng)作為與中心實驗室唯一的通信接口。對于試驗員而言,對校準平臺進行的操作(查詢數(shù)據(jù)庫除外)都需要將報文發(fā)送給監(jiān)護系統(tǒng),監(jiān)護系統(tǒng)完成相應(yīng)的操作,任何外部設(shè)備或軟件都不能與校準平臺的中心實驗室進行通信。鑒于此,使用觀察者模式設(shè)計監(jiān)護系統(tǒng)的結(jié)構(gòu)和功能。
觀察者模式定義了對象間的一種一對多的依賴關(guān)系。觀察者模式一個主題可以有多個觀察者,不同的主題擁有不同的觀察者。采用觀察者模式可以方便地實現(xiàn)動態(tài)聯(lián)動。將不同的功能模塊劃分為主題,每個主題均包含一個觀察者集合,并提供觀察者注冊、刪除和更新方法。例如,校準平臺正常運行時,只有校準機構(gòu)和送校方擁有校準數(shù)據(jù),保證了數(shù)據(jù)安全;標準計量模塊出現(xiàn)故障時,標準裝置制造廠家可以申請注冊裝置運行權(quán)限,從而在不必到達現(xiàn)場的情況下,在網(wǎng)絡(luò)遠程終端分析故障原因,監(jiān)護系統(tǒng)的主題包括多任務(wù)校準、可靠運行維護、應(yīng)急處理、數(shù)據(jù)知識庫。
(1)多任務(wù)校準,校準平臺的硬件資源是有限并且由所有任務(wù)共享的,當多個校準任務(wù)同時進行,需要設(shè)計合理的資源調(diào)度算法;其次在采用多線程技術(shù)解決多任務(wù)同時校準問題上,需要解決因為共享資源帶來的訪問沖突、競爭、死鎖等一系列問題,保證并行執(zhí)行不會對原有校準任務(wù)產(chǎn)生影響。
(2)可靠運行維護,監(jiān)護平臺會自動推送中心實驗室的標準計量模塊自檢的時間和內(nèi)容。自檢包括自動檢測模塊的通信鏈路是否正常、檢測模塊是否處于工作狀態(tài)以及查詢模塊的具體參數(shù)信息。
(3)應(yīng)急處理,監(jiān)護系統(tǒng)會對偏離正常校準流程的環(huán)節(jié)報警,觸發(fā)不同級別的警報,由報警級別自動進行相應(yīng)的應(yīng)急處理。例如,當某個試驗員出現(xiàn)斷網(wǎng)后會使得校準結(jié)果無法正常傳遞,校準平臺此時會進入斷網(wǎng)保護模式:如果試驗員短暫時間掉線,回來后可以繼續(xù)工作;若長時間掉線,則該校準任務(wù)分配的資源會自動回收,結(jié)束該校準任務(wù)。
(4)數(shù)據(jù)知識庫,數(shù)據(jù)知識庫采用區(qū)別對待觀察者場景方式推送數(shù)據(jù),主要為不同的主題提供不同的校準平臺數(shù)據(jù)。
基于觀察者模式,對監(jiān)護系統(tǒng)進行設(shè)計,實現(xiàn)了多類型操作人員關(guān)注不同主題的功能。本文校準平臺的主題一觀察者模式如圖8所示。
圖8 主題一觀察者模式示意圖
對于軟件開發(fā)人員而言,常使用腳本語言編寫配置文件來降低因為軟件功能經(jīng)常需要改動而對軟件造成的影響[10]。本文的校準平臺配置文件是由XML語言進行編寫,軟件通過讀取配置文件來自動更改軟件的功能。配置文件包括兩個部分,校準任務(wù)所需模塊配置文件、校準任務(wù)流程配置文件。配置文件作為整個校準過程的邏輯部分,不僅需要隨時根據(jù)校準依據(jù)文件做相應(yīng)的調(diào)整,并且隨著校準平臺業(yè)務(wù)和模塊的擴展,其文件內(nèi)容也必須隨時調(diào)整?;赬ML描述的配置文件可以被計算機所理解,這也使自動校準成為了可能。配置文件的解析流程圖如圖9所示。
圖9 配置文件的解析流程圖
通過語法分析判斷是否符合該標簽節(jié)點類型的語法格式,再分別存儲。若是標識符類型,則通過二分查詢算法與參數(shù)存儲結(jié)構(gòu)中的參數(shù)關(guān)鍵字比較;若是數(shù)值類型,則通過語法分析判斷是否符合數(shù)值類型語法規(guī)則,若有單位,進入數(shù)值型數(shù)據(jù)單位處理模塊。當解析過程出現(xiàn)錯誤時,將錯誤信息字符串指針指向錯誤信息存儲結(jié)構(gòu),報告錯誤信息功能函數(shù)模塊。
校準平臺如果同一時間段內(nèi)只能校準一個待測試品,這就導致校準平臺的標準計量模塊的平均空閑時間顯著增加,造成了校準平臺的硬件資源的浪費[11]。本文為了提高校準平臺效率,需要設(shè)計一套多任務(wù)并發(fā)執(zhí)行的測控機制[12],使得校準平臺能夠同時執(zhí)行多個試驗員的校準任務(wù)或單個試驗員的多個校準任務(wù)。監(jiān)護系統(tǒng)軟件采用的多線程技術(shù)實現(xiàn)并行處理策略。在軟件中可以實現(xiàn)同時執(zhí)行多個校準任務(wù),軟件線程功能分配框圖如圖10所示。
圖10 線程功能分配框圖
監(jiān)護系統(tǒng)軟件的主線程為顯示線程,顯示線程會實時讀取各個線程內(nèi)的參數(shù)并顯示在界面上。該軟件接收到試驗員發(fā)來的校準任務(wù)請求時會將校準任務(wù)保存在待測試品的隊列中,在某個正在執(zhí)行的校準任務(wù)結(jié)束后,校準任務(wù)調(diào)度線程會根據(jù)空閑的標準計量模塊從待測試品隊列中選擇合適的校準任務(wù),執(zhí)行校準操作。
針對多校準任務(wù)并行時多線程間發(fā)生的競爭、死鎖、爭奪共享資源等問題設(shè)計了相應(yīng)的解決辦法。為了保證線程對于參數(shù)數(shù)據(jù)區(qū)更大程度的并發(fā),本文不采用常用的互斥鎖[13],改用讀寫鎖實現(xiàn)互斥。同時為了解決標準計量模塊的資源競爭問題[14],程序中為每個標準計量模塊創(chuàng)建了相對應(yīng)的鎖變量,以“編號_lock”命名鎖變量。同時為了解決死鎖,本文采用靜態(tài)資源分配的方式破壞死鎖發(fā)生的請求和保持的條件,即當校準任務(wù)所需要的全部標準計量模塊都空閑時再啟動校準線程,否則就處于等待狀態(tài)。
隨著智能儀器技術(shù)和互聯(lián)網(wǎng)通信技術(shù)不斷發(fā)展,搭建基于互聯(lián)網(wǎng)的網(wǎng)絡(luò)化校準平臺變得更加安全可靠。本文設(shè)計的基于“互聯(lián)網(wǎng)+”的電力設(shè)備專用測試裝置校準平臺將用于校準多種參數(shù)的標準計量模塊抽象成節(jié)點連接到互聯(lián)網(wǎng)絡(luò)上,進行數(shù)據(jù)相互發(fā)送,實現(xiàn)資源共享和協(xié)作,多個計量模塊協(xié)作共同完成校準任務(wù),使校準跨越了空間和時間的界限,不僅能有效降低組建校準平臺的費用,還能實現(xiàn)校準平臺間校準信息的共享。