應用系統軟件開發過程分析?南京南瑞繼保電氣有限公司的研究人員陳宏君、張磊、徐睿、曾凱、劉坤,在2019年第3期《電氣技術》上撰文,分析了面向國際市場的用戶軟件現狀與問題,介紹了新一代控制保護平台PCS-S系列裝置配套軟件設計理念與關鍵實現技術,現在小編就來說說關于應用系統軟件開發過程分析?下面内容希望能幫助到你,我們來一起看看吧!
南京南瑞繼保電氣有限公司的研究人員陳宏君、張磊、徐睿、曾凱、劉坤,在2019年第3期《電氣技術》上撰文,分析了面向國際市場的用戶軟件現狀與問題,介紹了新一代控制保護平台PCS-S系列裝置配套軟件設計理念與關鍵實現技術。
軟件以驅動包文件銜接裝置研發、工程實施、用戶運維等過程,支持驅動包在線升級更新。以“所見即所得”的設計理念,通過分布式配置和集中式浏覽編輯,解決數據一緻性和同步等難題。通過MOT選型、可配置腳本、可視化主接線、圖形化跳閘矩陣等手段提升裝置可配置能力。
軟件通過模塊化元件内嵌IEC 61850模型、圖形化配置過程層數據模型等方式實現IEC 61850多版本自動建模。支持以裝置能力描述文件為輸入源,進行數字化回路配置,實現智能變電站裝置配置、調試、集成和運維一體設計。基于本文設計的PCS-Studio軟件已經在多個工程實施中應用,滿足用戶可配置、易維護的需求。
保護測控裝置已經實現了平台化、可視化、可配置和調試的功能,一些廠家的産品已經銷售到國際市場,與國内的大客戶定制化、标準化模式相比,國際市場區域分散、用戶需求存在較大差異,裝置軟硬件平台、應用程序配置、用戶運維軟件等需要提升靈活性、可配置能力。
對過程控制系統(process control system, PCS)系列裝置配套PCS- Explorer軟件,在國内外工程實施進行調研總結,在獲得用戶的認可同時,亦存在如下不足:
①部分應用配置複雜度較高,即使深入閱讀說明書,也存在理解和操作上的困難,例如針對主變高、中、低壓側的模拟量分配和保護功能連接關系的配置,需要提供50餘頁專項說明;
②限制于工具軟件所能提供的功能,部分應用的靈活可配置能力有待提升,例如國外不同地區的間隔的接線方式非常靈活,往往超出預設的組合範圍,一些特殊接線隻能二次變更開發;
③IEC 61850采用全自動化建模方式,用戶無法自主設置實例号,導緻後續工程維護升級時新增/删除信号帶來邏輯節點實例号的變化,加大了維護工作量;
④裝置配置調試和變電站集成需要通過2個軟件分步完成,缺少一體化設計交互能力。
針對上述反饋,結合新一代控制保護平台PCS-S系列裝置的推廣需求,新開發了配套的面向國際市場的裝置開發運維軟件PCS-Studio,本文介紹了該軟件的設計理念和關鍵技術。
1 軟件設計理念軟件需注重用戶體驗,實現所見即所得。按照支撐産品全生命周期的要求進行設計,從裝置訂貨、研發調試、工程實施、運行維護等環節,提供裝置選型、應用開發、插件選配、用戶配置、整站集成、狀态浏覽、波形分析等功能模塊。
1.1 概念定義
元件是完成特定功能邏輯、面向對象封裝的一組數據和對數據進行處理的過程,處理完後輸出的數據供其他元件使用。元件包含輸入、輸出、參數、邏輯節點、人機配置等内容。
驅動包是一個自定義格式的文件,把硬盤目錄下整個裝置的編程、配置、建模相關文件打包壓縮形成*.dev。其包括裝置的元件庫、可視化頁面、定值、事件錄波、裝置選型、液晶主畫面等裝置配置的源素材文件,還包括通過分析源素材文件形成的裝置運行接口文件、ICD(裝置能力描述文件)等。
研發人員通過PCS-Studio軟件開發裝置驅動包,将驅動包下載到裝置運行。工程人員和用戶可從裝置中裝上驅動包、或者從驅動包安裝庫中選擇驅動包新建離線配置,進行本地化配置,形成新的驅動包。
1.2 配置調試集成一體化設計
如圖1所示,PCS-Studio采用一體化設計,以變電站為單位創建工程,支持單裝置配置調試、跨裝置集成功能。
圖1 配置調試集成一體化設計
軟件提供的功能包括:
上述功能覆蓋了從單裝置研發到現場運行調試的相關過程。軟件的用戶包括裝置研發人員、生産制造人員、技術支持人員、産品代理人員、購買裝置的用戶。
以技術支持用戶為例,其典型的操作流程如圖2所示:
對于智能變電站的裝置,還可進行過程層變電站事件(generic object oriented substation event, GOOSE)、模拟量采樣(sampled value, SV)的發送接收端子配置,形成單裝置ICD文件。之後在資源管理器導入其他裝置的ICD文件,将其他裝置的GOOSE-SV發送數據集對應的發送端子選擇拖入到ICD的Inputs節點内,并選擇外裝置的FCDA和本裝置的接收虛端子DAI關聯,通過ExtRef存儲對應關系。
裝置是以回路實例配置(configured circuit description, CCD)文件作為數字化傳輸的接口,配置軟件根據ICD文件中的發送數據集和Inputs接收端子信息,形成該配置文件,通過1個軟件,即完成了裝置間的數據傳輸配置。完成相關離線配置後,将驅動包下載到裝置進行在線調試。
1.3 以驅動包為核心銜接全流程設計
面向國内外市場,要求保護測控裝置具備靈活的可配置能力和快速集成能力。基于傳統的定制化編程方式,已經很難适應不同國家和地區用戶需求。需提供可配置方法,支持用戶二次開發,滿足現場需求,而面向用戶的可配置,要求風險可靠,避免用戶進行程序編譯等複雜度高的操作。
另外随着研發分工的細化,裝置程序的研發也需分步實現,模塊研發人員側重于單個功能模塊的設計,以提高模塊的研發質量和運行效率,裝置集成研發人員基于可複用的模塊庫,搭建裝置功能,并設計開放給用戶的配置接口,以提高裝置集成速度。本軟件以驅動包為核心,實現不同用戶分權限、分步驟開發,如圖3所示。
圖2 用戶操作流程設計
圖3 以驅動包為核心的分步開發過程
用戶版軟件僅顯示用戶可見的模塊、頁面、定值、配置選項等數據,用戶版本的邏輯編程數據處理采用動态注冊技術,是免編譯的。
1.4 提升裝置可配置能力設計
在PCS-Explorer軟件中,裝置運行的主體功能使用圖形化元件搭建,在保留該軟件部分核心功能前提下,PCS-Studio新增了主接線功能、圖形化跳閘矩陣功能,進一步提升母差保護裝置、主變保護裝置的可配置能力,降低上述應用的配置複雜度,并對IEC 61850建模配置進行了新的設計,提升用戶自主配置修改方便性。
1)主接線配置
母差保護采用面向間隔對象的方法來形成差動構成圖,該方法針對不同母差主接線情況下,隻需要修改母差配置,不需要修改母差程序。之前的标準母差保護支持的主接線形式固定(通過MOT提供11種可選接線方式),無法滿足一些較特殊的主接線方式,由研發人員進行二次開發實現。故需要通過繪制母差主接線圖實現自動形成母差配置的功能。其主接線實現步驟如下:
在進行變壓器保護配置前,需要了解原理圖、用戶習慣,由于變壓器主變接線方式和高中低壓側的分支數可變,所以對應的模拟量拉線、命名、HMI配置都有可能要修改,由于其靈活的可配置模式,對工程人員和用戶來說,需要深刻理解掌握變壓器保護的配置思路,專業門檻高,存在一定難度,也需要通過圖形化的方式,以直觀地進行模拟量和功能配置。其主接線配置實現步驟如下:
以主變保護為例,其主接線示意圖如圖4所示。
圖4 主變保護主接線示意圖
2)跳閘矩陣
主變三側保護多,跳閘開關多,每個保護跳的開關不一樣,如果都用繼電器就需要定義很多壓闆。之前是通過定值整定或者通過搭建繁雜的邏輯頁面實現,存在不直觀、不易彙總的問題。跳閘矩陣先将要跳的每個開關的繼電器固定,對每個保護要跳開關編碼,用點擊圓圈方式直接起動要跳開關繼電器。
通過對各種保護跳閘進行統一需求分析,設計了通用的跳閘矩陣符号,其在數據建模是個通用的元件,包括輸入、輸出、參數、邏輯節點模型,在圖形上進行特殊處理,根據輸入個數,動态調整顯示行數,固定32個輸出和定值,采用圍棋模式的按比特位進行整定,支持修改關聯變量描述,其他頁面可使用跳閘矩陣的輸出變量。
3)IEC 61850建模
目前國際市場存在IEC 61850Ed1、Ed2兩個版本建模的需求,需支持可選切換導出符合Ed1、Ed2标準的模型,為此構建了支持2個版本的SCL數據模型,通過傳入形參數,動态形成對應版本的屬性和子節點。針對單裝置的IEC 61850建模,采用三類圖形化符号實現。
(1)應用元件内嵌邏輯節點模型。例如零序過流保護元件采用類型為PDOC的邏輯節點關聯,在符号庫元件制作階段,可導入2個版本的數據模闆,将邏輯節點作為元件的成員模型,進行元件變量和邏輯節點的數據屬性映射配置、數據集配置,元件實例化時邏輯節點也同步實例化,完成裝置主體功能建模。
(2)提供通用邏輯節點圖形化符号建模,例如MMXU、GGIO,進行用戶級自定義模拟量、開關量符号建模,這類符号可以關聯跨元件的變量。
(3)提供PTRC、TCTR、TVTR等過程層GOOSE、SV的數據發送接收符号,采用圖形化方式進行發送壓闆控制、接收邏輯編程,通過分析上述符号的拓撲關系,進行過程層虛端子建模。
通過元件關聯邏輯節點和圖形化符号,實現IEC 61850的自動化、圖形化建模,用戶不用關心底層SCL語法,降低了配置建模複雜度,支持用戶基于研發人員預配置的數據集,進行用戶級數據集的創建,篩選裝置側上送給後台的信号。同時提供集中式浏覽界面,彙總各個頁面的邏輯節點模型,支持用戶集中修改實例化、前綴等内容,驅動包升級時保留用戶設置的屬性。
1.5 可靠性設計
在提升軟件可靠性方面,通過組件化的設計,提升系統的穩定性、可選升級能力;通過基于用戶角色的權限管理(role-based access control, RBAC)進行用戶操作控制;通過内置校驗規則進行防誤校驗,實現用戶操作的日志記錄,用戶驅動包下載前的配置合規檢查。
1)基于組件的軟件工程理念
軟件系統比較龐大複雜,同時用戶對軟件的發布、升級的可靠性、運行過程的穩定性的要求越來越高,對軟件的設計和開發帶來挑戰,需要有合适的軟件工程方法來指導軟件設計開發過程。基于組件軟件工程是一種基于複用方法來定義、實現和組合松散耦合的獨立組件,使之成為一個系統。組件是比對象更高層次的抽象,其接口的實現細節對其他組件是隐藏的。開發可靠易維護的軟件設計原則如下:
組件具有标準化、獨立性、可組合性、可部署性、文檔化等特征。基于組件複用的軟件開發過程包括:系統需求概覽定義、識别候選組件、根據發現的組件修改需求、體系結構設計、識别候選組件、組合組件并構建系統。本文的PCS-Studio軟件采用了組件化設計理念。
2)權限管理
按照IEEE 1686規範進行角色權限設計。預設置7種用戶角色,分别為“查看”、“控制”、“定值”、“測試”、“配置”、“調試”和“管理”。工具默認提供一個管理員賬戶,默認具有所有權限。用戶第一次配置時使用admin賬戶進行登錄,登錄以後需要立即修改默認的用戶名和密碼。
管理員可以進行權限配置:①設置哪些權限不需要校驗密碼;②設置免密碼操作的超時時間;③之後再創建角色,給角色分配權限,并且創建用戶,将用戶添加到角色組中。配置完成後相關設置信息保存到權限文件中,再下載到裝置最終生效。圖5是PCS-Studio的虛拟液晶調試子進程和裝置通信時的權限校驗過程。
圖5 虛拟液晶調試軟件登錄過程
3)防誤校驗
軟件在防誤操作設計方面,在編輯過程中進行即時校驗,例如定值設置超範圍提示、IO插件不允許邏輯編程的控制、部分元件實例個數的控制、部分元件僅能在指定插件的範圍内使用、連接線兩端輸出-輸入變量類型不匹配提示等多項細節的提示,減少用戶配置過程中的誤操作。
軟件梳理總結了裝置側系統軟件相關配置檢查規則,在驅動包形成處理過程中,進行逐條檢測,并按照錯誤/告警/提示的級别進行展示,僅當零錯誤的配置才形成可下載的驅動包。此外客戶端軟件與裝置之間的調試下載通信進行完整性校驗機制,采用了MD5對敏感數據保護進行保護,通信報文采用加密處理,避免非法會話與攻擊。
2 軟件實現關鍵技術2.1 可擴展腳本技術
在MOT選型、系統配置、可視化主接線等場景,配置選項的修改,需要即時生效。例如投入退出插件、顯示隐藏頁面、修改内部參數等。QT庫的QObject類和派生類有property屬性和c slot接口,可以在python解釋引擎中注冊相關實體對象,在腳本中調用注冊對象的API接口,界面上點擊保存或失去焦點時自動執行相關腳本,實現數據聯動修改功能。圖6是可視化主接線中雙CT母聯符号内置的腳本示例。
圖6 配置腳本
在圖6中,Bay表示當前符号注冊名,Graph表示主接線畫面注冊名,GetSymbolByName等是軟件預先定義的接口函數,裝置應用開發人員可調用軟件提供的API函數,編寫應用層邏輯,實現工具軟件和不同應用邏輯之間解耦。
2.2 數據刷新同步技術
由于模塊化元件支持該元件内變量菜單分組配置功能,在可視化頁面組件和LCD菜單組件均可進行菜單分組配置,因此采用一次讀取驅動包内容到共享内存、多處視圖編輯浏覽、即時刷新同步的策略實現數據一緻性。
軟件需實現離線HMI菜單配置和可視化頁面配置的同步生效。将配置相關的數據源主體存儲在可視化頁面文件中,集中分組配置的菜單文件按順序存儲變量的ID。首次點擊裝置節點時,需一次讀取菜單分組、定值、錄波和可視化頁面信息,确保需同步的數據在内存中。
以新建元件為例,從符号庫中選擇元件塊釋放到頁面,則從變量庫中獲取默認實例名、默認的邏輯節點實例名,構建符号、變量的ID。讀取符号内分組引用表的配置,彙總各個菜單引用表的變量ID,根據層次菜單英文名,查找離線HMI配置的數據(包括菜單、錄波、事件、定值),将相關變量ID順次添加到對應的離線分組内存數據中。
2.3 組件化集成技術
PCS-Studio軟件采用組件加載和子進程調用的集成模式,設計了主進程-子進程-子組件的分層架構,分主框架、頂層界面組件層、數據模型層、公共服務驅動層,支持功能靈活擴展。
基于組件的開發設計要點包括:①實現對組件的管理,宿主程序可以搜索、加載、卸載組件和維護組件的狀态。将這些功能放到組件配置樹(組件容器)模塊實現;②接口的設計和識别,接口是不同組件之間、宿主程序與組件之間的通信基礎。宿主程序隻有識别接口,才能加載組件;③資源的互斥和同步,多個組件的并行運行可能對申請資源産生競争。
組件系統的功能由組件實現,設計了基礎數據basedata.dll、基礎界面basegui.dll、抽象組件basepackage.dll、消息總線msgbus.dll作為底層驅動公共服務模塊,數據模塊和應用能夠組件繼承自上述基礎模塊,組件之間通過消息總線交互數據,各應用層組件如圖7所示,包括工程管理組件、圖形化配置組件、全局配置組件等。
2.4 主界面框架設計技術
軟件主框架的頂層窗體QWidget由區域1、區域2、區域3組成,3個區域使用QVBoxLayout豎式對齊。其中區域1為主标題窗體,顯示軟件名字和當前打開的工程名稱。區域2包括菜單欄、工具欄。區域3為QMainWindow,由QSpliter和狀态欄組成。
使用QSpliter作為中心窗體,依次豎式管理左側工具欄、左側停靠窗體、中間界面容器、右側停靠窗體、右側工具欄。中間界面容器分兩個子區域,包括QWorkSpace工作空間、底部停靠窗體,使用橫式排列。QWorkSpace用于管理各中子界面。整個軟件的配色使用QSS的層次樣式表設計,通過分層主界面框架,實現新型自定義軟件界面風格。
圖7 組件集成架構
圖8 PCS-Studio主界面框架
結論PCS-Studio軟件采用模塊化設計思想,通過可視化的方式配置調試PCS-S系列裝置。以變電站為單位管理PCS-S系列裝置,能有效管理全站的裝置配置方案。使用驅動包和MOT創建裝置,基于标準模闆,可快速構建配置。提供功能豐富的離線配置和在線調試。支持跨裝置的GOOSE-SV數據傳輸配置功能。軟件在功能完善性、界面友好性、操作易用性、運行穩定性等方面有了較大改進提升,促進了PCS-S系列裝置的市場推廣。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!