基于許繼路線的高壓直流控保程序智能校核軟件設計_第1頁
基于許繼路線的高壓直流控保程序智能校核軟件設計_第2頁
基于許繼路線的高壓直流控保程序智能校核軟件設計_第3頁
基于許繼路線的高壓直流控保程序智能校核軟件設計_第4頁
基于許繼路線的高壓直流控保程序智能校核軟件設計_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

要:目前,基于許繼路線的高壓直流控制保護系統規模龐大、功能豐富、程序復雜,系統程序由可視化編程工具(VIGET)進行開發,但可視化界面不便于換流站運維人員校核程序,容易因為工作疏忽造成保護誤動和直流閉鎖。鑒于此,結合如何提取、分析和應用程序源代碼,基于.NetFramework框架和Sqlite數據庫,設計了一款具備“一鍵比對程序,一鍵導出保護定值”的控保程序智能校核軟件。關鍵詞:高壓直流;控制保護程序;智能校核;軟件設計;換流站運維0

引言目前,高壓直流控制保護系統(以下簡稱“直流控保系統”)龐大的規模、豐富的功能以及復雜的程序邏輯,給直流控保系統的現場程序調試、版本管理和定值校核等運維工作帶來了一定的困難,若程序數據或版本管理不當,直流系統保護可能誤動,造成電力安全事故事件,主要問題如下:(1)由于技改、消缺、反措等原因,換流站運維人員會定期對直流控保系統程序進行升級優化,但因程序數據信息量龐大,且程序邏輯和結構復雜,現場往往只能校核修改段程序的正確性,而無法校核非修改程序段是否與原程序一致,若中間某一環節出現疏忽,則有可能造成現場需要更新的程序存在錯誤。(2)直流控制保護程序普遍采用可視化編程工具(VIGET)進行圖形化開發,該工具的優點是極大地提高了程序開發人員的效率,使程序的邏輯調整簡單、靈活,但同時給現場運維造成了一些不便,如無法對可視化頁面自動進行差異分析,僅能靠人工校核程序的正確性,核對效率較低,準確度不高,網內曾發生過由控保程序修改錯誤造成的直流閉鎖事件。(3)目前,廣州局基于許繼路線的直流控保程序仍無法通過提取字段、管腳等方式自動生成直流保護定值單,檢修后需通過人工比對定值,耗費了大量的人力資源。1

技術原理分析針對上述現狀和問題,本文將基于許繼路線的HCM3000控保系統,研究設計一套高壓直流控保程序智能校核軟件,其技術路線如下:(1)該控保系統程序的源代碼為指令表語言(又稱“IL語言”),通過比對兩套不同版本的程序源代碼,輸出存在差異的字段,按照IL語言結構判別出存在差異的功能塊名稱、類型、管腳及管腳連線等,并開發差異性分析報告導出功能。(2)通過提取控保程序源代碼信息,按照IL語言結構判別出高壓直流保護各保護功能定值,并開發保護定值比對和保護報告導出功能。2

軟件方案設計2.1控保系統程序源代碼結構HCM3000平臺是許繼路線的高壓直流系統的保護層設備,其程序匯集大量邏輯功能塊,此類功能塊可實現各類復雜運算。在程序源代碼中,按照IL語言結構,將功能塊定義成變量,再給各變量賦值,則能實現數據運算,其在工程圖形界面內涵為“讀取數據、運算數據和輸出數據”的過程,數據運算由功能塊承擔,數據讀取和輸出由賦值完成。HCM3000平臺程序源代碼結構如下:(1)定義變量區:分為定義全局變量、定義外部變量和定義內部變量,定義全局變量以VAR_GLOBAL開始,以END_VAR結束;定義外部變量以VAR_EXTERNAL開始,以END_VAR結束,將接收(發送)外部的數據定義為外部變量;定義內部變量以VAR開始,以END_VAR結束,將各功能塊定義為內部變量。(2)賦值區:對功能塊的管腳進行賦值,當賦值為數值時,則將該數值賦到該功能塊的管腳,當賦值為其他功能塊管腳時,則相當于兩個功能塊之間的管腳連接。如程序段“LD1.7STDUMY_8F_0009.X1”的含義為:將DUMY_8F_0009功能塊的X1管腳賦值為1.7;再如程序段“LDPDF_0036.QSTAND2_0013.I1”的含義為:PDF_0036功能塊的Q管腳與AND2_0013功能塊的I1管腳相連。2.2智能校核軟件框架設計本控保程序智能校核軟件的運行環境為Windows系統,使用了基于.NetFramework的WindowsForms開發,通過讀取控保程序CFC工程文件源代碼,使用Sqlite數據庫作為存儲配置文件和數據的載體,按照IL語言結構對源代碼進行分析,通過分析對比、提取需求信息實現功能塊信息比對和定值提取的功能,最后使用Nuget包NPOI操作將分析結果導出成Excel報告文件。軟件框架設計圖如圖1所示。2.3校核軟件對比功能開發讀取兩個版本程序的CFC工程文件信息,通過比對兩個程序源代碼中各變量屬性、數據及連接關系差異性,定性分析出圖形化界面的差異,并展示差異內容和所在程序頁碼,便于運維人員在圖形界面中核實相關信息。主要對比方法如下:(1)功能塊的增加或刪除:提取所有變量(含全局、外部和內部變量)信息,變量提取的方法為從VAR_GLOBAL、VAR_EXTERNAL以及VAR語句開始提取,在各段END_VAR語句結束提取,提取的變量保存至數據庫中并作對比分析,實現查找增加或減少的變量的功能。(2)功能塊名稱的改變:提取方法與(1)相同,通過比對變量名稱差異性,實現功能塊名稱改變情況的查找。(3)功能塊管腳值的改變:基于(1)的提取變量數據,逐一分析變量對應的所有管腳賦值情況,提取管腳數值的方法為:檢索CAL語句,定位相應變量(功能塊)的位置,按照“LD數值/功能塊.管腳ST功能塊.管腳”的固定語句分析各功能塊的管腳情況,若發現不一致,則輸出管腳差異情況。(4)功能塊管腳連線的改變:實現方法與(3)相同,當發現管腳信息不一致后,可返回圖形界面中核實管腳連線改變情況。(5)功能塊類型的改變:依據(1)方法查找所有內部變量范圍,按照“變量:變量類型;”的固定語句,提取各變量(功能塊)的類型,若發現不一致,則輸出功能塊類型差異情況。2.4校核軟件定值提取功能開發在Sqlite數據庫中新建config配置表,其按照用戶需求維護了各功能塊管腳和保護定值的對應關系,Data表存儲了某個保護中某個配置項的定值。config配置表和data是一對多的關系,即查一類配置可提供給多套同類型保護使用。通過數據庫的config配置表提取配置項,配置項包含了CFC文件名、功能塊名稱和管腳名稱等。已知“87CSYⅠ段定值”在“O3_FUNC1DCP2”工程文件中DUMY_8F_0001功能塊的X1管腳中,那么搜索“O3_FUNC1DCP2”定位相應CFC工程文件,讀取該工程文件的所有行,設置while循環語句,每次讀取兩行文本,若開頭為LD和ST開頭的則開始處理,否則跳過。使用以下兩個正則表達式提取并校驗需求保護名稱和定值:(1)保護定值:LD(?[-+]?[0-9]*\.?[0-9]+);(2)保護名稱:ST(?[A-Za-z0-9_.]+)。第一個正則表達式的含義為:LD開頭,接一個空格,再接數字字符串,則把數字存放到名為value的變量中。第二個正則表達式的含義為:ST開頭,接一個空格,再接一個由大小寫字母、數字、下劃線和一個點構成的字符串,把除了ST和空格以外的字符串放到名為pin的變量中。將所有存放至value和pin中的變量與config配置表相匹配,匹配正確則把定值插入到data表中,供軟件顯示使用。邏輯流程圖如圖2所示。3

軟件應用案例3.1比對功能應用通過比對修改前后的程序,驗證智能校核軟件的比對功能是否可用。運維人員將DUMY_8F_0002功能塊X1管腳定值從3.5修改為2.0,刪除DUMY_2F_0002功能塊,如圖3所示。通過智能校核軟件進行對比分析,輸出結果如表1所示,與程序修改情況相符。3.2定值提取功能應用通過提取6套直流極保護定值,驗證智能校核軟件的定值提取功能是否可用。運維人員將極保護所在文件夾導入,并導入預先按需求設置好的配置文件,點擊提取定值后,軟件能夠正常導出相關保護定值,與換流站的定值單定值一致,如圖4所示。此外,由于該配置文件可以靈活編輯,故運維人員可查詢圖形界面,按照個人需求進行個性化定制,快速導出其他需求的定值信息。4

結語本文介紹了一套適用于許繼路線的高壓直流控保程序的智能校核軟件的設計,利用提取

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論