摘  要:
目前,基于许继路线的高压直流控制保护系统规模庞大、功能丰富、程序复杂,系统程序由可视化编程工具(VIGET)进行开发,但可视化界面不便于换流站运维人员校核程序,容易因为工作疏忽造成保护误动和直流闭锁。鉴于此,结合如何提取、分析和应用程序源代码,基于.Net Framework框架和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)赋值区:对功能块的管脚进行赋值,当赋值为数值时,则将该数值赋到该功能块的管脚,当赋值为其他功能块管脚时,则相当于两个功能块之间的管脚连接。如程序段“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
智能校核软件框架设计
本控保程序智能校核软件的运行环境为Windows系统,使用了基于.Net Framework的Windows Forms开发,通过读取控保程序CFC工程文件源代码,使用Sqlite数据库作为存储配置文件和数据的载体,按照IL语言结构对源代码进行分析,通过分析对比、提取需求信息实现功能块信息比对和定值提取的功能,最后使用Nuget包NPOI操作将分析结果导出成Excel报告文件。软件框架设计图如图1所示。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。