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