邱志啟
(上海寶冶集團(tuán)有限公司,上海 201900)
嵌入式技術(shù)的快速發(fā)展,加快了保護(hù)裝置功能完善的前進(jìn)步伐,導(dǎo)致裝置的通信與調(diào)試變得越來越復(fù)雜[1]。通常情況下,選取IEC60870-5-103《繼電保護(hù)設(shè)備信息接口配套標(biāo)準(zhǔn)》(簡稱103 規(guī)約)作為系統(tǒng)通信標(biāo)準(zhǔn),與上位機(jī)調(diào)試系統(tǒng)建立通信連接[2]。目前,關(guān)于103 規(guī)約下的保護(hù)裝置通信及調(diào)試系統(tǒng)開發(fā)方案的研究取得了一些成果,但是這些方案存在較大的提升空間,主要體現(xiàn)在裝置報告的讀取、裝置菜單結(jié)構(gòu)的獲取、命令執(zhí)行、權(quán)限控制等多個方面[3-4]。為了完善系統(tǒng)設(shè)計方案,本文對保護(hù)裝置通信規(guī)約方案進(jìn)行了調(diào)整,在此基礎(chǔ)上開發(fā)符合規(guī)約執(zhí)行需求的保護(hù)裝置通信及調(diào)試系統(tǒng)方案。
應(yīng)用規(guī)約數(shù)據(jù)單元APDU 作為規(guī)約基本單元,由多個或者單獨1 個應(yīng)用違規(guī)控制信息APCI 組成[5]。由于應(yīng)用服務(wù)數(shù)據(jù)單元ASDU 與APCI 成對出現(xiàn),所以APCI 的數(shù)量,決定了ASDU 數(shù)量。其中,APCI 信息中主要包含的必要信息有兩個,分別是ASDU 序號、校驗和。通信控制基本單元結(jié)構(gòu)由ASDU 與APCI 組成,并且兩者沿著兩側(cè)不斷延展,交替出現(xiàn)[6]。
保護(hù)裝置與上位機(jī)之間的通信菜單結(jié)構(gòu)為樹形結(jié)構(gòu),由根菜單和葉菜單兩部分組成。其中,葉菜單與其他菜單不同,不涉及子菜單,用于實現(xiàn)系統(tǒng)通信及調(diào)試功能。例如,下達(dá)傳動命令等[7]。另外,葉菜單條目不具備關(guān)聯(lián)條目數(shù)據(jù),雖然其他菜單具備這些條目,但是不存在實際值數(shù)據(jù)。關(guān)于菜單條目的組成如表1 所示。
表1 菜單條目組成
關(guān)于解析菜單實際值的主要流程如下:
第一步:確定保護(hù)裝置操作菜單種類;
第二步:根據(jù)菜單種類的不同,分別對實際值采取解析處理;
第三步:獲取解析結(jié)果,其類型支持其他系統(tǒng)運行。
為了彌補(bǔ)以往開發(fā)的保護(hù)裝置通信缺少權(quán)限控制的不足,本規(guī)約方案增加了用戶權(quán)限校驗管理機(jī)制,對用戶的操作進(jìn)行合理控制,以此提高通信安全性。按照操作類型的不同,將權(quán)限劃分為3 種類型,分別是執(zhí)行、寫入、讀取,各項權(quán)限均對應(yīng)1 個條目[8]。通過實際值(KOD=1)發(fā)送至上位機(jī)交互裝置中。如果未能成功上送權(quán)限信息,那么當(dāng)前菜單不需要權(quán)限校驗。
用戶從客戶端寫入口令、用戶名是執(zhí)行菜單功能的第一步,當(dāng)保護(hù)裝置接收到此部分信息后,向客戶端回復(fù)寫入信息審核結(jié)果,如果口令和用戶名均正確,則開始執(zhí)行此項操作。反之,回復(fù)“錯誤!”。
保護(hù)裝置命令的執(zhí)行與定值、模擬量存在一定差異,下達(dá)命令后裝置會做出相應(yīng)動作。通常情況下,操作命令中包含了執(zhí)行參數(shù)。運用關(guān)聯(lián)性條目表示參數(shù)命令條目,其中,條目的數(shù)據(jù)類型為無符號整數(shù),無數(shù)量要求,主要由枚舉值、默認(rèn)值、單位、步長、范圍、描述6 部分組成[9]。執(zhí)行命令之前,按照先后順序,分別向參數(shù)條目、命令條目寫入數(shù)據(jù)。裝置命令條目實際數(shù)值(KOD=1)作為命令執(zhí)行狀況描述內(nèi)容,最終將發(fā)送給客戶端。
本系統(tǒng)選取PCS 系列硬件材料作為保護(hù)裝置,利用雙CPU 架構(gòu),設(shè)計系統(tǒng)硬件架構(gòu)方案。該方案CPU 同時連接打印串口、以太網(wǎng)對時,與DSP 建立通信連接,實現(xiàn)硬件設(shè)備作業(yè)的管控。本設(shè)計方案使用了兩個DSP 核心控制器,采用雙控制模式,同時控制兩條作業(yè)鏈路。兩條鏈路的相同點在于,均利用DSP 控制常規(guī)互感器、電子互感器的作業(yè)狀態(tài),通過A/D 轉(zhuǎn)換得到數(shù)字信號。而后在光隔作用下,下達(dá)DSP 作業(yè)控制命令。不同點在于DSP 輸出連接對象不同,其中一條鏈路連接點為出口繼電器,另外一個鏈路連接點為QDJ 開關(guān)。如圖1 所示為系統(tǒng)硬件框架結(jié)構(gòu)設(shè)計方案。
圖1 系統(tǒng)硬件框架結(jié)構(gòu)
該結(jié)構(gòu)以DSP 芯片作為核心處理器,支持獨立采樣,出口方式設(shè)置為“與門”。通過下達(dá)數(shù)據(jù)采集命令,驅(qū)動系統(tǒng)傳感器,采集模擬量數(shù)據(jù),經(jīng)過A/D 轉(zhuǎn)換,獲取數(shù)字信號。此部分信號數(shù)據(jù)將作為系統(tǒng)作業(yè)數(shù)據(jù)支撐,經(jīng)過邏輯運算,判斷當(dāng)前裝置作業(yè)狀況,如果發(fā)生異常,則開啟保護(hù)控制模式。跳閘出口將被控制,按照設(shè)定的保護(hù)方案自動調(diào)節(jié)各個出口作業(yè)狀態(tài),從而實現(xiàn)裝置實時保護(hù)功能。其中,人機(jī)界面將作為管控人員查詢相關(guān)信息的操作界面,同時該界面也是操控結(jié)果的展示窗口。系統(tǒng)中,多項功能的實現(xiàn)依靠CPU 的運行,系統(tǒng)正常作業(yè)下,能夠?qū)崿F(xiàn)錄播、對時、裝置管理、通信等多項功能。
2.2.1 軟件作業(yè)邏輯設(shè)計
本系統(tǒng)采用三層架構(gòu)模式,構(gòu)建系統(tǒng)軟件架構(gòu)。按照從上到下的順序依次為展示層、數(shù)據(jù)處理層、網(wǎng)絡(luò)層[10]。其中,網(wǎng)絡(luò)層作為系統(tǒng)軟件作業(yè)環(huán)境,通過網(wǎng)絡(luò)下達(dá)作業(yè)命令,即創(chuàng)建客戶端與服務(wù)器之間的通信連接。當(dāng)服務(wù)器接收到操作申請后,會根據(jù)該用戶身份賦予的操作權(quán)限,對本次操作申請的權(quán)限進(jìn)行校驗。如果該用戶具備該操作權(quán)限,則本次權(quán)限校驗通過審核,并打開相關(guān)操作入口。反之,認(rèn)為該用戶不具備此項操作區(qū)權(quán)限,服務(wù)器拒絕訪問。其中,本系統(tǒng)需要校驗的幾項重要操作權(quán)限為信號燈數(shù)據(jù)處理、菜單數(shù)據(jù)處理、報告數(shù)據(jù)處理、通用數(shù)據(jù)處理、HTML 數(shù)據(jù)處理、命令數(shù)據(jù)處理。位于最上方的是展示層,該層次主要用于展示軟件作業(yè)結(jié)果,展示方式有4 種,分別是信號燈、HTML、樹形數(shù)據(jù)、表格數(shù)據(jù)。
2.2.2 系統(tǒng)核心模塊設(shè)計
2.2.2.1 數(shù)據(jù)處理模塊
系統(tǒng)軟件核心業(yè)務(wù)為數(shù)據(jù)處理,該模塊按照103 規(guī)約,按照數(shù)據(jù)類別不同分別展開數(shù)據(jù)解析操作,同時生成分類服務(wù)數(shù)據(jù),向系統(tǒng)服務(wù)器發(fā)送裝置執(zhí)行操作命令,待裝置開啟作業(yè)模式后,讀取執(zhí)行結(jié)果信息。根據(jù)獲取的執(zhí)行結(jié)果信息,檢驗當(dāng)前命令執(zhí)行效果。其中,數(shù)據(jù)處理需要先將模擬信號轉(zhuǎn)換為數(shù)值信號,而后劃分?jǐn)?shù)據(jù)類別,按照設(shè)定的安全作業(yè)標(biāo)準(zhǔn),分別對各類數(shù)據(jù)變化規(guī)律加以分析,判斷是否在安全范圍內(nèi),如果超出作業(yè)標(biāo)準(zhǔn),則認(rèn)為當(dāng)前裝置存在安全威脅。
2.2.2.2 人機(jī)交互模塊
該模塊是創(chuàng)建用戶與系統(tǒng)交流的功能模塊,用戶通過訪問系統(tǒng)客戶端,向系統(tǒng)發(fā)出操作申請,待系統(tǒng)服務(wù)器接收到此項申請后,開始對用戶的操作權(quán)限進(jìn)行審核。審核結(jié)果通過服務(wù)器發(fā)送至客戶端,用戶可以通過查看客戶端計算機(jī)獲取操作申請審核結(jié)果。如果該用戶具備此項操作權(quán)限,那么客戶端便可以成功與裝置建立通信連接,讀取菜單報文信息。人機(jī)交互首先創(chuàng)造ASDU21,通過訪問該窗口讀取根菜單GIN。其中,菜單的關(guān)聯(lián)條目與描述為KOD。當(dāng)裝置接收到上位機(jī)發(fā)送的命令后,回復(fù)ASDU10,由兩部分內(nèi)容組成,分別是子菜單GIN、菜單描述。接下來,在此利用ASDU21 讀取菜單內(nèi)容,經(jīng)過多次讀取,從而獲取完整的菜單信息。關(guān)于菜單的遍歷讀取流程如圖2 所示。
圖2 菜單遍歷讀取流程
用戶根據(jù)操控需求,從菜單中選擇需要操作的項目,點擊出口傳動菜單,此時裝置進(jìn)入試驗操控作業(yè)階段。本系統(tǒng)人機(jī)交互操控中涉及到的操作主要包括定值整定、遙控、報告清楚等。
2.2.2.3 權(quán)限審核模塊
該模塊的開發(fā)主要目的在于提高系統(tǒng)作業(yè)安全性,從而為保護(hù)裝置正常通信作業(yè)提供保障。通過識別用戶身份,審核該身份用戶是否具備當(dāng)前申請的操作權(quán)限,如果具備操作權(quán)限,則為其開通操作訪問通道,反之,禁止該用戶在保護(hù)裝置中執(zhí)行關(guān)于此項操作的相關(guān)命令。信息校驗作為本系統(tǒng)權(quán)限審核的第一步,需要對用戶名及其訪問密碼進(jìn)行審核。
2.2.3 系統(tǒng)定值整定流程設(shè)計
本系統(tǒng)運用UI 線程刷新用戶操作界面,對用戶發(fā)出的操控申請給予響應(yīng)。當(dāng)接收線程獲取申請數(shù)據(jù)后,會對此部分?jǐn)?shù)據(jù)加以解析,得到結(jié)構(gòu)化數(shù)據(jù),經(jīng)過組織轉(zhuǎn)化為流數(shù)據(jù),將此部分?jǐn)?shù)據(jù)發(fā)送至網(wǎng)絡(luò),為保護(hù)裝置調(diào)試作業(yè)提供數(shù)據(jù)支撐。其中,涉及到的一項重要數(shù)據(jù)處理為定值整定。以下為系統(tǒng)定值整定主要流程:第一步:下發(fā)當(dāng)前保護(hù)裝置作業(yè)區(qū)定值;第二步:判斷當(dāng)前客戶端輸入的用戶名和密碼是否正確,如果輸入正確,則執(zhí)行第三步,反之,直接結(jié)束訪問。第三步:判斷每個定值設(shè)置值是否合理,如果合理,則執(zhí)行第四步,反之,直接結(jié)束訪問。第四步:生成IEC103-ASDU10 帶確認(rèn)寫條目報文,而后將此部分信息發(fā)送至隊列,按照設(shè)定的操控時間發(fā)送報文。第五步:判斷客戶端是否接收到裝置發(fā)送的回復(fù)報文,如果接收到,則執(zhí)行第六步,反之,直接結(jié)束訪問。第六步:以上幀下發(fā)報文內(nèi)容作為對照,將接收到的報文與之比對。第七步:判斷兩部分內(nèi)容是否相同,如果相同,則執(zhí)行第八步,反之,結(jié)束訪問。第八步:形成IEC103-ASDU21 帶執(zhí)行寫條目報文,同時將此部分報文發(fā)送至隊列,按照設(shè)定的操控時間發(fā)送報文。第九步:判斷裝置回復(fù)寫是否成功,如果成功,則執(zhí)行第十步,反之,結(jié)束訪問。第十步:向客戶端操作界面發(fā)送消息,并顯示定值整定結(jié)果。上述流程運行期間,如果用戶校驗信息未通過,或者報文回復(fù)發(fā)生異常、內(nèi)容異常均會導(dǎo)致保護(hù)裝置作業(yè)定值整定中斷。通過整定定值,完成保護(hù)裝置作業(yè)狀態(tài)調(diào)試,使得系統(tǒng)調(diào)試功能得以豐富。
本系統(tǒng)選取Windows 平臺作為系統(tǒng)測試軟件操作平臺,運用C++語言編寫程序,對系統(tǒng)作業(yè)性能展開測試,包括用戶操作權(quán)限控制、系統(tǒng)調(diào)試效率兩項測試內(nèi)容。
3.1.1 戶操作權(quán)限控制測試:設(shè)置3 組測試實驗,其中一組用戶名與密碼錯誤、一組用戶不具備申請的操作權(quán)限,分別測試3 組用戶訪問菜單界面和操作命令執(zhí)行狀態(tài),統(tǒng)計4 項測試結(jié)果,分別是用戶名與密碼是否正確、是否進(jìn)入菜單界面、是否具備訪問權(quán)限、返回結(jié)果。
3.1.2 系統(tǒng)調(diào)試效率測試:保護(hù)裝置作業(yè)環(huán)境相同,故障問題均相同,記錄不同系統(tǒng)作業(yè)情況下的調(diào)試耗費時間。本次測試分為5 組實驗,在控制實驗條件相同情況下,測試兩種系統(tǒng)的調(diào)試耗費時間數(shù)據(jù)。其中,實驗1的調(diào)試問題最為復(fù)雜,按照編號順序逐漸降低問題復(fù)雜度。
按照系統(tǒng)測試方法,分別對用戶操作權(quán)限控制、系統(tǒng)調(diào)試效率兩項測試內(nèi)容進(jìn)行測試,結(jié)果如表2、表3 所示。
表2 用戶權(quán)限控制
表3 系統(tǒng)調(diào)試耗時
表2 中,3 組實驗測試結(jié)果展示了不同條件下的用戶權(quán)限控制功能運行結(jié)果。用戶編號02,用戶輸入的用戶名和密碼出現(xiàn)錯誤時,客戶端操作界面不會進(jìn)入菜單界面。另外,用戶編號03,該用戶不具備當(dāng)前申請的操作權(quán)限,系統(tǒng)將不會執(zhí)行此條操作命令,而是返回“訪問失敗”。只有用戶編號01,輸入正確的賬號和密碼,同時具備此項操作權(quán)限的情況下,才可以執(zhí)行該操作命令。由此看來,本系統(tǒng)能夠完善權(quán)限控制功能。
表3 中,相同環(huán)境、相同裝置問題時,本系統(tǒng)運行期間的調(diào)試耗時更短,隨著問題的復(fù)雜程度,調(diào)試耗時增加幅度較小。其中,問題5 復(fù)雜度最小,調(diào)試中傳統(tǒng)系統(tǒng)耗時70s,本系統(tǒng)調(diào)試耗時僅需23s。問題1 復(fù)雜度最大,調(diào)試中傳統(tǒng)系統(tǒng)耗時83s,本系統(tǒng)調(diào)試耗時僅需35s。由此可以判斷,本系統(tǒng)能夠提高保護(hù)裝置調(diào)試效率。
本文在IEC103 規(guī)約條件下,探究保護(hù)裝置通信及調(diào)試系統(tǒng)的開發(fā)方案。為了進(jìn)一步完善系統(tǒng)設(shè)計方案,使其得以滿足權(quán)限控制、豐富通信及調(diào)試功能等需求,本研究在優(yōu)化IEC103 規(guī)約的同時,開發(fā)了一套新的保護(hù)裝置通信及調(diào)試系統(tǒng)。系統(tǒng)測試結(jié)果顯示,本系統(tǒng)設(shè)計方案能夠滿足用戶權(quán)限控制要求,同時大大提高了裝置調(diào)試效率。