国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于許繼路線的高壓直流控保程序智能校核軟件設(shè)計

2023-03-29 03:16:44吳梓陽鄭炯光李東陽韓豐收鄭星星
機電信息 2023年6期
關(guān)鍵詞:功能塊管腳源代碼

吳梓陽 鄭炯光 李東陽 韓豐收 鄭星星

(中國南方電網(wǎng)有限責(zé)任公司超高壓輸電公司廣州局,廣東廣州 510000)

0 引言

目前,高壓直流控制保護系統(tǒng)(以下簡稱“直流控保系統(tǒng)”)龐大的規(guī)模、豐富的功能以及復(fù)雜的程序邏輯[1],給直流控保系統(tǒng)的現(xiàn)場程序調(diào)試、版本管理和定值校核等運維工作帶來了一定的困難,若程序數(shù)據(jù)或版本管理不當(dāng),直流系統(tǒng)保護可能誤動,造成電力安全事故事件,主要問題如下:

(1)由于技改、消缺、反措等原因,換流站運維人員會定期對直流控保系統(tǒng)程序進行升級優(yōu)化,但因程序數(shù)據(jù)信息量龐大,且程序邏輯和結(jié)構(gòu)復(fù)雜,現(xiàn)場往往只能校核修改段程序的正確性,而無法校核非修改程序段是否與原程序一致,若中間某一環(huán)節(jié)出現(xiàn)疏忽,則有可能造成現(xiàn)場需要更新的程序存在錯誤。

(2)直流控制保護程序普遍采用可視化編程工具(VIGET)進行圖形化開發(fā),該工具的優(yōu)點是極大地提高了程序開發(fā)人員的效率,使程序的邏輯調(diào)整簡單、靈活[2],但同時給現(xiàn)場運維造成了一些不便,如無法對可視化頁面自動進行差異分析,僅能靠人工校核程序的正確性,核對效率較低,準(zhǔn)確度不高,網(wǎng)內(nèi)曾發(fā)生過由控保程序修改錯誤造成的直流閉鎖事件。

(3)目前,廣州局基于許繼路線的直流控保程序仍無法通過提取字段、管腳等方式自動生成直流保護定值單,檢修后需通過人工比對定值,耗費了大量的人力資源。

1 技術(shù)原理分析

針對上述現(xiàn)狀和問題,本文將基于許繼路線的HCM3000控保系統(tǒng),研究設(shè)計一套高壓直流控保程序智能校核軟件,其技術(shù)路線如下:

(1)該控保系統(tǒng)程序的源代碼為指令表語言(又稱“IL語言”),通過比對兩套不同版本的程序源代碼,輸出存在差異的字段,按照IL語言結(jié)構(gòu)判別出存在差異的功能塊名稱、類型、管腳及管腳連線等,并開發(fā)差異性分析報告導(dǎo)出功能。

(2)通過提取控保程序源代碼信息,按照IL語言結(jié)構(gòu)判別出高壓直流保護各保護功能定值,并開發(fā)保護定值比對和保護報告導(dǎo)出功能。

2 軟件方案設(shè)計

2.1 控保系統(tǒng)程序源代碼結(jié)構(gòu)

HCM3000平臺是許繼路線的高壓直流系統(tǒng)的保護層設(shè)備,其程序匯集大量邏輯功能塊,此類功能塊可實現(xiàn)各類復(fù)雜運算。在程序源代碼中,按照IL語言結(jié)構(gòu),將功能塊定義成變量,再給各變量賦值,則能實現(xiàn)數(shù)據(jù)運算,其在工程圖形界面內(nèi)涵為“讀取數(shù)據(jù)、運算數(shù)據(jù)和輸出數(shù)據(jù)”的過程,數(shù)據(jù)運算由功能塊承擔(dān),數(shù)據(jù)讀取和輸出由賦值完成。HCM3000平臺程序源代碼結(jié)構(gòu)如下:

(1)定義變量區(qū):分為定義全局變量、定義外部變量和定義內(nèi)部變量,定義全局變量以VAR_GLOBAL開始,以END_VAR結(jié)束;定義外部變量以VAR_EXTERNAL開始,以END_VAR結(jié)束,將接收(發(fā)送)外部的數(shù)據(jù)定義為外部變量;定義內(nèi)部變量以VAR 開始,以END_VAR結(jié)束,將各功能塊定義為內(nèi)部變量。

(2)賦值區(qū):對功能塊的管腳進行賦值,當(dāng)賦值為數(shù)值時,則將該數(shù)值賦到該功能塊的管腳,當(dāng)賦值為其他功能塊管腳時,則相當(dāng)于兩個功能塊之間的管腳連接。如程序段“LD 1.7 ST DUMY_8F_0009.X1”的含義為:將DUMY_8F_0009功能塊的X1管腳賦值為1.7;再如程序段“LD PDF_0036.Q ST AND2_0013.I1”的含義為:PDF_0036功能塊的Q管腳與AND2_0013功能塊的I1管腳相連。

2.2 智能校核軟件框架設(shè)計

本控保程序智能校核軟件的運行環(huán)境為Windows系統(tǒng),使用了基于.Net Framework的Windows Forms開發(fā)[3],通過讀取控保程序CFC工程文件源代碼,使用Sqlite數(shù)據(jù)庫作為存儲配置文件和數(shù)據(jù)的載體,按照IL語言結(jié)構(gòu)對源代碼進行分析,通過分析對比、提取需求信息實現(xiàn)功能塊信息比對和定值提取的功能,最后使用Nuget包NPOI操作將分析結(jié)果導(dǎo)出成Excel報告文件[4]。軟件框架設(shè)計圖如圖1所示。

圖1 智能校核軟件框架設(shè)計圖

2.3 校核軟件對比功能開發(fā)

讀取兩個版本程序的CFC工程文件信息,通過比對兩個程序源代碼中各變量屬性、數(shù)據(jù)及連接關(guān)系差異性,定性分析出圖形化界面的差異,并展示差異內(nèi)容和所在程序頁碼,便于運維人員在圖形界面中核實相關(guān)信息。主要對比方法如下:

(1)功能塊的增加或刪除:提取所有變量(含全局、外部和內(nèi)部變量)信息,變量提取的方法為從VAR_GLOBAL、VAR_EXTERNAL以及VAR語句開始提取,在各段END_VAR語句結(jié)束提取,提取的變量保存至數(shù)據(jù)庫中并作對比分析,實現(xiàn)查找增加或減少的變量的功能。

(2)功能塊名稱的改變:提取方法與(1)相同,通過比對變量名稱差異性,實現(xiàn)功能塊名稱改變情況的查找。

(3)功能塊管腳值的改變:基于(1)的提取變量數(shù)據(jù),逐一分析變量對應(yīng)的所有管腳賦值情況,提取管腳數(shù)值的方法為:檢索CAL語句,定位相應(yīng)變量(功能塊)的位置,按照“LD數(shù)值/功能塊.管腳ST 功能塊.管腳”的固定語句分析各功能塊的管腳情況,若發(fā)現(xiàn)不一致,則輸出管腳差異情況。

(4)功能塊管腳連線的改變:實現(xiàn)方法與(3)相同,當(dāng)發(fā)現(xiàn)管腳信息不一致后,可返回圖形界面中核實管腳連線改變情況。

(5)功能塊類型的改變:依據(jù)(1)方法查找所有內(nèi)部變量范圍,按照“變量:變量類型;”的固定語句,提取各變量(功能塊)的類型,若發(fā)現(xiàn)不一致,則輸出功能塊類型差異情況。

2.4 校核軟件定值提取功能開發(fā)

在Sqlite數(shù)據(jù)庫中新建config配置表,其按照用戶需求維護了各功能塊管腳和保護定值的對應(yīng)關(guān)系,Data表存儲了某個保護中某個配置項的定值。config配置表和data是一對多的關(guān)系,即查一類配置可提供給多套同類型保護使用。通過數(shù)據(jù)庫的config配置表提取配置項,配置項包含了CFC文件名、功能塊名稱和管腳名稱等。

已知“87CSY Ⅰ段定值”在“O3_FUNC1DCP2”工程文件中DUMY_8F_0001功能塊的X1管腳中,那么搜索“O3_FUNC1DCP2”定位相應(yīng)CFC工程文件,讀取該工程文件的所有行,設(shè)置while循環(huán)語句,每次讀取兩行文本,若開頭為LD和ST開頭的則開始處理,否則跳過。使用以下兩個正則表達式提取并校驗需求保護名稱和定值:

(1)保護定值:LD(?[-+]?[0-9]*.?[0-9]+);

(2)保護名稱:ST(?[A-Za-z0-9_.]+)。

第一個正則表達式的含義為:LD開頭,接一個空格,再接數(shù)字字符串,則把數(shù)字存放到名為value的變量中。第二個正則表達式的含義為:ST開頭,接一個空格,再接一個由大小寫字母、數(shù)字、下劃線和一個點構(gòu)成的字符串,把除了ST和空格以外的字符串放到名為pin的變量中。將所有存放至value和pin中的變量與config配置表相匹配,匹配正確則把定值插入到data表中,供軟件顯示使用。邏輯流程圖如圖2所示。

圖2 定值提取流程圖

3 軟件應(yīng)用案例

3.1 比對功能應(yīng)用

通過比對修改前后的程序,驗證智能校核軟件的比對功能是否可用。運維人員將DUMY_8F_0002功能塊X1管腳定值從3.5修改為2.0,刪除DUMY_2F_0002功能塊,如圖3所示。

圖3 修改前后程序配置情況

通過智能校核軟件進行對比分析,輸出結(jié)果如表1所示,與程序修改情況相符。

表1 程序差異信息

3.2 定值提取功能應(yīng)用

通過提取6套直流極保護定值,驗證智能校核軟件的定值提取功能是否可用。運維人員將極保護所在文件夾導(dǎo)入,并導(dǎo)入預(yù)先按需求設(shè)置好的配置文件,點擊提取定值后,軟件能夠正常導(dǎo)出相關(guān)保護定值,與換流站的定值單定值一致,如圖4所示。

圖4 智能校核軟件定值提取功能

此外,由于該配置文件可以靈活編輯,故運維人員可查詢圖形界面,按照個人需求進行個性化定制,快速導(dǎo)出其他需求的定值信息。

4 結(jié)語

本文介紹了一套適用于許繼路線的高壓直流控保程序的智能校核軟件的設(shè)計,利用提取工程文件源代碼,并對源代碼進行定性定量分析,實現(xiàn)兩段程序的快速比對和定值提取功能,可有效防止程序誤修改的問題,極大地減輕現(xiàn)場運維工作量。據(jù)統(tǒng)計,某換流站的14套保護定值核對工作,需耗費約10人·時的工作量,采用該智能軟件可實現(xiàn)一鍵導(dǎo)出定值,一鍵比對定值,可節(jié)省9人·時的人力成本,起到降本增效的作用,提高高壓直流輸電工程的運維能力和數(shù)字化水平。

猜你喜歡
功能塊管腳源代碼
人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
計算機仿真(2023年8期)2023-09-20 11:23:42
基于TXL的源代碼插樁技術(shù)研究
軟件源代碼非公知性司法鑒定方法探析
Ovation系統(tǒng)FIRSTOUT和FIFO跳閘首出比較
基于圖像處理的異型電子元器件管腳偏移誤差檢測方法研究
CMOS數(shù)字IC管腳電容的估算與測量
揭秘龍湖產(chǎn)品“源代碼”
自定義功能塊類型在電解槽聯(lián)鎖中的應(yīng)用
中國氯堿(2015年9期)2015-11-02 01:03:41
基于MACSV6.5.2的鍋爐燃盡風(fēng)開關(guān)量調(diào)節(jié)門控制功能塊設(shè)計
PLCopen運動控制功能塊的研究與開發(fā)
股票| 精河县| 崇仁县| 阿拉尔市| 闻喜县| 宜州市| 滦平县| 镇康县| 武陟县| 墨竹工卡县| 建始县| 威信县| 日土县| 正定县| 镇江市| 崇阳县| 息烽县| 金秀| 宁河县| 托克逊县| 蒙自县| 洞口县| 阜新市| 海原县| 昭平县| 全椒县| 安吉县| 辽阳市| 永昌县| 雷州市| 聊城市| 双鸭山市| 镇坪县| 大田县| 太仆寺旗| 龙陵县| 兴国县| 宁远县| 民县| 托克托县| 阿荣旗|