首页
/
每日頭條
/
科技
/
應用系統軟件開發過程分析
應用系統軟件開發過程分析
更新时间:2024-07-20 10:25:03

應用系統軟件開發過程分析?南京南瑞繼保電氣有限公司的研究人員陳宏君、張磊、徐睿、曾凱、劉坤,在2019年第3期《電氣技術》上撰文,分析了面向國際市場的用戶軟件現狀與問題,介紹了新一代控制保護平台PCS-S系列裝置配套軟件設計理念與關鍵實現技術,現在小編就來說說關于應用系統軟件開發過程分析?下面内容希望能幫助到你,我們來一起看看吧!

應用系統軟件開發過程分析(面向國際市場的裝置開發運維軟件設計與實現)1

應用系統軟件開發過程分析

南京南瑞繼保電氣有限公司的研究人員陳宏君、張磊、徐睿、曾凱、劉坤,在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 配置調試集成一體化設計

軟件提供的功能包括:

  • ①工程管理,創建、打開、關閉、删除、導入、導出工程;

  • ②裝置選型:基于定貨号進行MOT選型、系統配置選型、功能投退;③硬件配置:增加、删除、投退IO插件;

  • ④應用程序配置:應用程序新增删除加元件、用戶邏輯編程;

  • ⑤信号連線:AI、BI、BO、LED拉線配置;

  • ⑥定值設置:定值分組整定、導入導出、下載上裝和比較;

  • ⑦人機配置:信号分組、事件、錄波、用戶級菜單配置、LCD主畫面繪制;

  • ⑧IEC 61850配置:創建和配置邏輯設備、邏輯節點、數據集、報告塊;支持Ed1.0/Ed2.0可選建模;

  • ⑨通信管理:IEC 103、DNP、MODBUS等通信規約配置;

  • ⑩驅動包管理和維護:驅動包庫入庫、升級、比較、導入用戶配置;在線調試維護:虛拟液晶調試、IEC 61850調試、可視化頁面調試;權限管理:用戶角色劃分、離線在線操作權限管理;變電站集成配置:通信子網配置、網絡光口配置、發送接收數據傳輸配置、導入導出變電站配置文件。

    上述功能覆蓋了從單裝置研發到現場運行調試的相關過程。軟件的用戶包括裝置研發人員、生産制造人員、技術支持人員、産品代理人員、購買裝置的用戶。

    以技術支持用戶為例,其典型的操作流程如圖2所示:

  • ①用戶打開軟件,新建工程、層次目錄,從離線驅動包庫中挑選驅動包或在線連接裝置獲取驅動包的方式新建裝置;

  • ②進行裝置MOT選型、系統功能配置和保護測控功能投退;

  • ③進行可視化頁面配置(包括邏輯編程、用戶級HMI圖形化配置、IEC 61850過程層圖形化配置);

  • ④進行定值整定、LCD主畫面編輯、通信數據集、點表配置。

    對于智能變電站的裝置,還可進行過程層變電站事件(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)通過符号庫編輯軟件進行模塊研發,将裝置功能進行模塊化設計,形成符号庫。

  • 2)通過研發版配置軟件進行裝置功能集成研發,從模塊庫中挑選必需的功能模塊,以圖形化配置組合的方式搭建頂層功能,将各模塊二進制目标文件和系統程序庫鍊接為可執行程序;設計面向用戶可配置數據,将模塊庫、可執行程序、配置頁面數據、用戶可配置數據打包為标準驅動包。

  • 3)用戶通過用戶版配置軟件進行二次開發,用戶基于标準驅動包進行用戶級配置,形成新的驅動包下載到裝置運行調試。

    用戶版軟件僅顯示用戶可見的模塊、頁面、定值、配置選項等數據,用戶版本的邏輯編程數據處理采用動态注冊技術,是免編譯的。

    1.4 提升裝置可配置能力設計

    在PCS-Explorer軟件中,裝置運行的主體功能使用圖形化元件搭建,在保留該軟件部分核心功能前提下,PCS-Studio新增了主接線功能、圖形化跳閘矩陣功能,進一步提升母差保護裝置、主變保護裝置的可配置能力,降低上述應用的配置複雜度,并對IEC 61850建模配置進行了新的設計,提升用戶自主配置修改方便性。

    1)主接線配置

    母差保護采用面向間隔對象的方法來形成差動構成圖,該方法針對不同母差主接線情況下,隻需要修改母差配置,不需要修改母差程序。之前的标準母差保護支持的主接線形式固定(通過MOT提供11種可選接線方式),無法滿足一些較特殊的主接線方式,由研發人員進行二次開發實現。故需要通過繪制母差主接線圖實現自動形成母差配置的功能。其主接線實現步驟如下:

  • (1)軟件提供符合IEC标準的電力系統圖元,例如母線、互感器、刀閘、開關等。

  • (2)裝置研發人員基于基本圖元創建複合圖元,例如單母、雙母、母聯、分段等間隔對象,填寫腳本。

  • (3)用戶基于基本圖元和複合圖元進行主接線繪制;并将各間隔符号和圖形化頁面的元件關聯。

  • (4)軟件解析主接線圖,執行腳本,生成實例化元件拓撲信息、參數設置信息。

    在進行變壓器保護配置前,需要了解原理圖、用戶習慣,由于變壓器主變接線方式和高中低壓側的分支數可變,所以對應的模拟量拉線、命名、HMI配置都有可能要修改,由于其靈活的可配置模式,對工程人員和用戶來說,需要深刻理解掌握變壓器保護的配置思路,專業門檻高,存在一定難度,也需要通過圖形化的方式,以直觀地進行模拟量和功能配置。其主接線配置實現步驟如下:

  • (1)主變使用可視化主接線進行模拟量拉線配置。用戶在該界面中新建保護對象,并定義變壓器各側有多少個分支。

  • (2)用戶在該界面,按照現場的實際情況安裝三相電流CT,零序電流CT,三相電壓PT(可帶零序電壓采集),模拟量用CT和PT實例化對應C3P元件和U3P元件,可直接關聯采樣通道。

  • (3)用戶可以對這些安裝的互感器進行命名,這些命名将替換裝置内部的相關定值。模拟量直接連線給預定義的功能對象,并設置描述。

  • (4)用戶再将需要配置的保護元件添加到圖形中來,并和這些CT、PT建立連接關系。

    以主變保護為例,其主接線示意圖如圖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)基于組件的軟件工程理念

    軟件系統比較龐大複雜,同時用戶對軟件的發布、升級的可靠性、運行過程的穩定性的要求越來越高,對軟件的設計和開發帶來挑戰,需要有合适的軟件工程方法來指導軟件設計開發過程。基于組件軟件工程是一種基于複用方法來定義、實現和組合松散耦合的獨立組件,使之成為一個系統。組件是比對象更高層次的抽象,其接口的實現細節對其他組件是隐藏的。開發可靠易維護的軟件設計原則如下:

  • (1)組件是獨立的,組件之間不影響彼此的操作。組件實現的改變可以不影響系統其他部分。

  • (2)組件之間通過預先定義的接口進行交互,當接口保持不變或兼容的情況下,組件可以替換為另一個有更多功能的組件。

  • (3)組件的基礎支撐層提供一些可用的标準服務,減少了需要新開發的代碼量,提升了模塊複用程度。

    組件具有标準化、獨立性、可組合性、可部署性、文檔化等特征。基于組件複用的軟件開發過程包括:系統需求概覽定義、識别候選組件、根據發現的組件修改需求、體系結構設計、識别候選組件、組合組件并構建系統。本文的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系列裝置的市場推廣。

  • Comments
    Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
    Sign up to post
    Sort by
    Show More Comments
    推荐阅读
    手機号估價哪個比較權威
    手機号估價哪個比較權威
    相信很多人都聽過一個手機号碼價值上百萬、上千萬的新聞,通過手機号碼就能夠改變人生。那麼,我們的手機号碼是如何進行估值的?我們的手機号碼到底價值多少錢?今天小編給大家分享一個手機号估價方法,大家可以來算算看你的手機号值多少錢?情況根據地區、時...
    2024-07-20
    裝win7系統步驟
    裝win7系統步驟
    裝win7系統步驟?将win7系統iso壓縮包文件下載到C盤之外的分區,比如下載到F盤,右鍵使用WinRAR等工具解壓到當前文件夾或指定文件夾,不能解壓到C盤和桌面,否則無法安裝;,接下來我們就來聊聊關于裝win7系統步驟?以下内容大家不妨...
    2024-07-20
    冬蟲夏草哪個部位營養價值高最好
    冬蟲夏草哪個部位營養價值高最好
    當前,我國疫情防控進入新階段,人人都是疫情防控第一責任人,而責任的第一落腳點,就在于每個人對自身健康的重視,健康的身體是抵禦疾病的基礎,科學合理的營養膳食、提升自身免疫力就顯得尤為重要。冬蟲夏草,簡稱蟲草,是麥角菌科真菌冬蟲夏草菌感染蝙蝠蛾...
    2024-07-20
    工程預算要用到的軟件有哪些
    工程預算要用到的軟件有哪些
    在這個互聯網信息技術快速發展的時代,工程項目管理軟件被衆多工程建設企業廣泛使用。不過前幾天一朋友問小編,怎樣用工程項目管理軟件進行路橋工程項目預算?那麼小編順道來大緻介紹下吧。往下看:怎樣用工程項目管理軟件進行路橋工程項目預算?1、項目工程...
    2024-07-20
    python新手入門基本筆記
    python新手入門基本筆記
    來源:專知本文為書籍介紹,建議閱讀5分鐘本書以圖解、循序漸進的方式編寫,通過使用該語言的最新版本的示例向您介紹Python。您将從學習設置Python環境開始。接下來的幾章将介紹Python的基礎知識,比如語言分類、Python語言語法以及...
    2024-07-20
    Copyright 2023-2024 - www.tftnews.com All Rights Reserved