智能變電站以光纜和軟件邏輯代替二次回路,以系統(tǒng)配置文件描述二次設(shè)備的連接關(guān)系。而二次“虛回路”無法直觀可視,設(shè)備改造涉及全站配置文件的修改和驗(yàn)證,調(diào)試時間長,因此需要提升二次回路的可觀性和可控性,提升變電站運(yùn)維的智能化水平和效率。
當(dāng)前智能變電站裝置的配置建模、集成普遍采用兩個獨(dú)立軟件實(shí)現(xiàn),即通過裝置配套軟件進(jìn)行單裝置功能程序的可視化配置和建模,通過變電站配置文件(substation configuration discription, SCD)工具進(jìn)行變電站集成和裝置之間的過程層配置。
已有文獻(xiàn)基于SCD工具實(shí)現(xiàn)了二次回路的可視化配置瀏覽功能,如有學(xué)者將二次回路中智能電子設(shè)備(intelligent electronic device, IED)物理模型可視化,進(jìn)行實(shí)際回路光纖光纜連接,之后進(jìn)行虛端子配置;有學(xué)者將二次回路信息由文本模式轉(zhuǎn)化為圖形模式,支持分層圖形化展示版本的差異;有學(xué)者利用短地址實(shí)現(xiàn)了站控層的遙信數(shù)據(jù)點(diǎn)與過程層及間隔層的虛擬二次回路異常信號之間的映射關(guān)系,實(shí)現(xiàn)對虛擬二次回路狀態(tài)的監(jiān)視。
由于裝置的功能邏輯程序和過程層配置被分散到不同軟件實(shí)現(xiàn),導(dǎo)致程序修改后,需要導(dǎo)出裝置能力描述(IED capability description, ICD)文件,然后導(dǎo)入SCD工具,集成到SCD文件中,再進(jìn)行虛端子連接的修改,影響了工程實(shí)施效率,在定位回路故障時欠缺直觀手段。
本文作為第三代智能變電站高級功能支撐技術(shù)研究子課題,開發(fā)了智能變電站配置集成一體化軟件PCS-VisStation。下面具體介紹該軟件的設(shè)計與實(shí)現(xiàn)。
將裝置和監(jiān)控后臺運(yùn)行所需的文件劃分為驅(qū)動程序、功能程序和模型文件。驅(qū)動程序包括硬件相關(guān)驅(qū)動、模塊化功能接口程序等二進(jìn)制包,提供裝置運(yùn)行支撐功能,如通用平臺程序、人機(jī)接口程序和通信程序等。功能程序包括裝置可視化邏輯程序和二次回路可視化配置信息,提供裝置應(yīng)用功能。模型文件描述裝置通信模型,監(jiān)控系統(tǒng)可導(dǎo)入該文件進(jìn)行變電站裝置的集成配置。
功能程序和模型文件由PCS-VisStation軟件生成。該軟件支持圖形化方式展示、配置功能邏輯程序和數(shù)字化二次回路,采用變電站的層次結(jié)構(gòu)進(jìn)行工程管理,具備變量數(shù)據(jù)實(shí)時跟蹤和信號溯源等功能。該軟件界面如圖1所示。
圖1 PCS-VisStation軟件界面
功能程序配置包括裝置基本信息配置、硬件型號配置、功能邏輯頁面配置、動作自檢變位報文配置、錄波配置、定值整定、液晶顯示器(liguid crystal display, LCD)菜單配置和LCD主畫面繪制等,實(shí)現(xiàn)單裝置所需的各種功能配置。
裝置模型采用圖形化方式配置,與功能程序符號無縫融合??梢暬撁娣譃楣δ苓壿嬁梢暬撁婧投位芈房梢暬撁?。功能邏輯可視化頁面由功能塊和數(shù)據(jù)連線搭建而成,在功能邏輯可視化頁面對裝置輸入、輸出變量進(jìn)行邏輯節(jié)點(diǎn)建模,形成裝置的虛端子。在回路可視化頁面內(nèi)使用邏輯節(jié)點(diǎn)與對應(yīng)的虛端子進(jìn)行裝置間聯(lián)系,完成二次回路的配置。
全站的裝置配置按照分層次、分目錄組織,層次樹按照變電站、電壓等級、間隔、裝置節(jié)點(diǎn)展示。軟件層次結(jié)構(gòu)如圖2所示。在圖2中變電站節(jié)點(diǎn)可創(chuàng)建多個電壓等級,電壓等級節(jié)點(diǎn)可創(chuàng)建多個間隔,在間隔節(jié)點(diǎn)可創(chuàng)建多臺裝置,也支持在變電站節(jié)點(diǎn)創(chuàng)建跨間隔的裝置。
圖2 軟件層次結(jié)構(gòu)
在裝置節(jié)點(diǎn)下細(xì)分裝置配置、功能邏輯、通信配置、二次回路子節(jié)點(diǎn)。在裝置配置節(jié)點(diǎn)內(nèi),可進(jìn)行裝置信息配置、硬件選型、人機(jī)接口(human machine interface, HMI)菜單、定值分組等信息編輯。功能邏輯節(jié)點(diǎn)下可在多個插件節(jié)點(diǎn)下新建頁面和功能塊(功能塊是實(shí)現(xiàn)邏輯和數(shù)學(xué)運(yùn)算的圖形化符號,包括輸入、輸出、參數(shù)等接口,是可視化頁面編輯的基本單位),進(jìn)行邏輯程序配置。
通信配置節(jié)點(diǎn)采用圖形化符號方式,可設(shè)置MMS、GOOSE、SMV通信子網(wǎng)、過程層報告控制塊的MAC地址、VLAN等信息。二次回路節(jié)點(diǎn)也采用圖形化方式配置輸出-輸入虛端子連線。整站配置集成流程設(shè)計如下:
基于面向?qū)ο蟮乃枷虢M織管理功能程序,根據(jù)IEC 61131標(biāo)準(zhǔn)編程符號建模,采用模型-視圖-控制器(model view controller, MVC)模式的圖形編輯器設(shè)計,以層次化、圖形化結(jié)構(gòu)展現(xiàn)功能邏輯。功能邏輯可視化頁面按照插件/處理器分散部署,每個插件/處理器包含多個應(yīng)用,實(shí)現(xiàn)特定的裝置功能。
軟件提供通用功能塊符號,包括邏輯運(yùn)算、算術(shù)運(yùn)算、時間延時等模塊,該類符號按照如下方案設(shè)計:
對于保護(hù)、測控等應(yīng)用級功能模塊,采用統(tǒng)一風(fēng)格的模塊化元件設(shè)計,采用松耦合、高內(nèi)聚的原則,對各種保護(hù)測控功能進(jìn)行合理粒度的劃分,形成模塊名和功能定義。通過對劃分的功能模塊進(jìn)行詳細(xì)的方案設(shè)計、輸入-輸出接口定義、編碼測試、IEC 61850建模等步驟,形成易維護(hù)、可復(fù)用的圖形化元件庫。
用戶可以從元件庫中選擇功能元件進(jìn)行實(shí)例化,通過連接線完成數(shù)據(jù)連線,實(shí)現(xiàn)裝置主體功能的快速集成。圖3所示為功能邏輯圖示例,顯示了從模塊化元件庫中挑選各功能模塊集成裝置的過程。
IEC 61850模型文件內(nèi)容包括層次化結(jié)構(gòu)數(shù)據(jù)、邏輯節(jié)點(diǎn)列表、數(shù)據(jù)集、報告塊、數(shù)據(jù)模板等。數(shù)據(jù)模板可預(yù)先定義,層次化結(jié)構(gòu)中的AccessPoint和LDevice在裝置配置子節(jié)點(diǎn)界面內(nèi)創(chuàng)建。從建模角度分析,模塊化元件可以是邏輯節(jié)點(diǎn)的組合關(guān)系。
圖3 功能邏輯圖示例
在編輯元件數(shù)據(jù)屬性時,可創(chuàng)建若干邏輯節(jié)點(diǎn),并關(guān)聯(lián)邏輯設(shè)備,將元件內(nèi)變量和邏輯節(jié)點(diǎn)的DA數(shù)據(jù)屬性進(jìn)行關(guān)聯(lián)映射。當(dāng)元件實(shí)例化時,也自動實(shí)例化元件內(nèi)的邏輯節(jié)點(diǎn),形成邏輯節(jié)點(diǎn)的實(shí)例號。此外,提供LLN0、LPHD、GGIO、MMXU、PTRC等通用邏輯節(jié)點(diǎn)的圖形化符號,滿足不同元件實(shí)例的變量配置到1個邏輯節(jié)點(diǎn)的需求。
元件內(nèi)邏輯節(jié)點(diǎn)建模示例如圖4所示。例如,過流元件51P可用lnClass為PTOC等LN建模。雙擊圖形化元件,在彈出的視圖以LN為中心組織配置數(shù)據(jù),將元件的變量名填入DAI的sAddr屬性中,并選擇該Ref對應(yīng)的數(shù)據(jù)集,實(shí)現(xiàn)元件內(nèi)邏輯節(jié)點(diǎn)建模。
圖4 元件內(nèi)邏輯節(jié)點(diǎn)建模示例
采用上述圖形化建模方案的應(yīng)用人員,應(yīng)使用統(tǒng)一的數(shù)據(jù)模板,避免出現(xiàn)模型不一致的問題。在制作元件符號階段可同步進(jìn)行元件變量的邏輯模型配置,一次配置,多處實(shí)例化使用,減少了集成工作量,提高了配置效率,保證了變量和模型同源維護(hù)的一致性。
在形成裝置驅(qū)動包時,通過讀取和處理可視化頁面內(nèi)元件和通用邏輯節(jié)點(diǎn)符號數(shù)據(jù),可形成各個邏輯設(shè)備下的邏輯節(jié)點(diǎn)實(shí)例化列表,并形成數(shù)據(jù)集、報告控制塊等內(nèi)容,輸出ICD模型文件。
裝置的虛回路配置以ICD文件為輸入源,通常是以1個間隔內(nèi)其他裝置作為源發(fā)送裝置和接收目的裝置。雙擊虛回路節(jié)點(diǎn),分虛端子信號傳輸配置頁面、邏輯回路瀏覽頁面子節(jié)點(diǎn)。其中,信號傳輸圖用于配置和展示裝置與裝置間虛端子信號的傳輸,其配置示意圖如圖5所示。
圖5 虛端子信號傳輸配置示意圖
雙擊圖5的符號,在彈出的對話框界面中,列出本間隔內(nèi)裝置ICD發(fā)送數(shù)據(jù)集列表,本裝置內(nèi)GOIN、SVIN為前綴的接收虛端子列表,采用拖拽方式完成輸出-輸入配置,并記錄虛端子的ldInst、prefix、lnClass、lnInst、doName、daName、sAddr、關(guān)聯(lián)的數(shù)據(jù)集和報告控制塊等屬性。
基于上述信息,可形成過程層回路配置的回路實(shí)例配置文件(CCD),用于跨裝置的過程層信號傳輸??筛鶕?jù)sAddr記錄的短地址名進(jìn)行交叉索引,實(shí)現(xiàn)功能邏輯程序和回路配置內(nèi)容跳轉(zhuǎn)瀏覽。
在完成各裝置的信號傳輸圖配置后,可自動形成裝置邏輯回路關(guān)系圖,其實(shí)現(xiàn)步驟如下:
其中,回路圖屏數(shù)計算方法如下:單屏為A4紙張大小的橫向視圖,采用橫向擴(kuò)展屏數(shù)。設(shè)源裝置數(shù)量為SNum、目的裝置數(shù)量為DNum,頁面單屏寬度為Pw、高度為Ph,裝置符號的外圍框度為Sw、高度為Sh,符號之間橫向間距為Dw、縱向間距為Dh,則本裝置居中占據(jù)1列,其他單列能放置的符號數(shù)量為RNum=floor((Ph/(Sh+Dh)))。
其中floor為向下取整函數(shù),總列數(shù)為Row=ceil(Snum/RNum)+ ceil(DNum/RNum))+1,其中ceil為向上取整函數(shù),屏幕數(shù)Screens=ceil(Row*(Sw+Dw)/Pw),按照從左至右、從上至下等間距排放源裝置符號、本裝置符號(單獨(dú)1列居中排放)、目的裝置符號,可自動計算裝置符號的坐標(biāo)。
在圖6中,雙擊連接線,會彈出界面顯示的具體發(fā)送塊、發(fā)送端子、接收端子信息。
圖6 邏輯回路圖示例
可視化調(diào)試方案設(shè)計如圖7所示。裝置研發(fā)人員將應(yīng)用程序和系統(tǒng)平臺庫編譯為HEX目標(biāo)文件,下載到裝置中,通過PCS-VisStation軟件將驅(qū)動包下載到裝置中。裝置基于動態(tài)注冊機(jī)制,形成實(shí)例化元件的動態(tài)內(nèi)存。PCS-VisStation軟件讀取元件頭文件,進(jìn)行詞法分析和語義分析,獲取變量類型和在結(jié)構(gòu)體內(nèi)相對偏移地址等信息,下發(fā)調(diào)試報文,裝置上送變量值。
圖7 可視化調(diào)試方案設(shè)計
針對動態(tài)分配內(nèi)存的元件結(jié)構(gòu)體變量,系統(tǒng)平臺庫提供元件注冊接口,可記錄結(jié)構(gòu)體實(shí)例的首地址。PCS-VisStation軟件和裝置進(jìn)行連接后,獲取待調(diào)試變量的結(jié)構(gòu)體名字,并讀取本地PC系統(tǒng)目錄,解析元件H文件的C語言語法,提取元件結(jié)構(gòu)體定義信息。根據(jù)裝置側(cè)處理器的字長信息,采用自然邊界對齊規(guī)則,計算變量在結(jié)構(gòu)體中的相對地址,然后下發(fā)變量信息給裝置,其計算流程如圖8所示。
裝置根據(jù)結(jié)構(gòu)體實(shí)例名在元件動態(tài)注冊表中查詢的結(jié)構(gòu)體首地址,加上變量相對地址,即可得到變量的真正地址,讀取該地址的對應(yīng)數(shù)據(jù),上送給PCS- VisStation,軟件接收到報文后在可視化頁面視圖連接線上刷新顯示。
圖8 結(jié)構(gòu)體變量偏移量計算流程
本文將智能變電站裝置的功能程序配置、ICD建模、二次回路配置和可視化調(diào)試融合到1個軟件內(nèi)實(shí)現(xiàn),軟件基于動態(tài)鏈接庫(dynamic link library, DLL)組件分層設(shè)計,采用組件化的集成架構(gòu),可靈活擴(kuò)展新的功能。
軟件以變電站-電壓等級-間隔-裝置的層次結(jié)構(gòu)管理數(shù)據(jù),支持單裝置內(nèi)以圖形化方式搭建功能邏輯和建模,并支持形成裝置ICD文件后所進(jìn)行跨裝置的虛回路配置,通過形成交叉索引符號,實(shí)現(xiàn)功能邏輯頁面和二次回路頁面銜接跳轉(zhuǎn),通過調(diào)試功能邏輯的發(fā)送變量和接收變量,快速定位鏈路故障。