直流换流站控制保护程序特征码的算法设计

2020-12-01 03:17汤晓峥刘海斌施琳喻春雷宋金山
电脑知识与技术 2020年29期
关键词:逻辑关系功能块

汤晓峥 刘海斌 施琳 喻春雷 宋金山

摘要:基于ViGET工具平台上,完成的特高压直流控制保护程序,保存并生成CFC文件,然后通过对CFC文件的导入,解析其中各个不同功能块之间及变量与功能块之间的连接关系。通过这种连接关系,构建出实现整体逻辑功能的模型结构,建立完全对应于根据XML格式生成相应的关系模式,并转换为XML格式的存储文件。构建一条完整逻辑功能的数据链,并剔除掉与逻辑运算无关的因素,然后合并形成包含特定信息的字符串,最后生成的特征码作为控制和保护程序的唯一特征码。该方法确保在工程现场下载到装置中的控制保护程序准确无误。

关键词:控制保护程序;特征码;图形化编程;逻辑关系;功能块

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2020)29-0217-03

1 背景

对于特高压工程换流站控制保护系统应用程序,作为全站最核心的数据信息,描述了换流站系统中所有的控制保护功能,对特高压直流工程的设计、调试、运行、检修具有十分重要的意义。虽然特高压直流工程建设在不断地加快,但仍然缺少可靠的整体调试方案和全面系统的安全控制手段提供支撑[1]。现有特高压控制和保护程序的管理存在着很多的不规范,比如针对控制和保护可视化程序缺少可靠的程序升级修改后,一致性功能校核的手段。

对已经投入运行的特高压直流工程、柔性直流输电保护工程,当系统功能要求改进时,需要进行可视化页面程序功能的修改。首先由开发人员在实验室修改部分程序,然后做完全部试验并验证功能正确后,再经过专家审核评审,然后将修改过的程序页面以及修改内容发给换流站现场。现场工作人员在换流站现场工作站打开需要修改的程序页面,按照修改的内容,逐步进行程序的修改,最近完成全部编译并下载到系统装置中[2]。现场工作站是网络物理隔离的,不允许外接移动设备等操作,也不能直接复制厂家修改的程序文件进行粘贴操作,这就出现了实验室修改的程序和现场修改的程序是否修改完全一致的问题,所以迫切需要有一种可靠的校验手段,能够在程序逻辑功能的层面实现可信的判据,既不会误判,也不能漏判。

针对直流控制保护程序的现场测试及一致性校验国外未见有相关的研究报告或文献,也未有专门的检测装置或测试仪器。而当前对程序的一致性分析对比研究主要内容是在文本代码或二进制文件之间的差异方面,它们的本质操作就是直接处理程序的存储文件,将其转换成一种更易于处理的表示形式,从而确定相似度和分析差异。对可视化页面程序的差异分析尚未有涉及[3]。

故本文提出了一种控制保护程序校验码算法,通过分析控制保护程序的逻辑内容,通过数据处理计算出校验码,从而实现进行程序一致性的快速判断,校验内容不仅能去除与逻辑运算无关的属性设置以及模块位置差异的同时,又能有效比较出程序实质逻辑功能发生的变化。通过本算法的应用,从而提高程序的防误校验能力。

2 ViGET工具介绍

2.1 ViGET工具软件整体结构

ViGET软件是一种采用IEC61131-3国标的控制与保护程序可视化编程工具,IEC61131-3标准规范总体对公共元素和编程语言做出指导性的规定。标准的程序模型采用多层次结构表示,采用这种层次结构可直觀看出基本元素与元素之间的相互联系[41。IEC61131-3标准的程序层次模型如图1所示。

配置(装置级):位于程序模型的第1层,是顶层的语言元素;

资源(处理器):位于程序模型的第2层,为程序的正常运行提供支持的系统,每个配置内可由数量不限的资源组成; 任务:位于程序模型的第3层,用于定义POU(程序组织单元)在程序执行期间的特性,具有调用和分配能力,一个资源可由一个或多个任务所组成,任务分为两种类型:周期任务和中断任务;

程序(应用):资源的程序执行是由任务来控制并激活,然后按照所定义的顺序来运行。

2.2 CFC编辑器介绍

CFC编程语言是ViGET软件中一种主要应用语言。该编程语言主要用于工业系统中的过程控制中,而且其基本的图形图符是由三个部分所组成:函数功能块、变量、连接线。它们通常用来实现逻辑运算功能。每个单独的CFC应用程序可作为一个完整的电气电路图,电气中逻辑数据的连接用于描述在模块之间信号流的传输路径。路径的方向是从左传导到右,其中信号流在每一个函数功能块变量之间的传递方向都是从某一个函数功能块的输出传到另一个函数功能块的输入值。

3 特征码算法设计

需要先在ViGET工具平台上,完成特高压直流控制保护程序的开发与编辑,保存并生成CFC文件,然后通过对CFC文件的提取分析与计算,最后生成针对该程序具有唯一性的特征码。其主要功能是实现针对控制保护程序的智能校核,并判断出不同程序之间是否一致。

首先需要导人控制与保护应用程序(CFC文件),读取包含控制与保护程序的文件内容,然后解析其中所包含的函数功能块、变量以及连线信息,形成逻辑功能数据结构链,建立各个不同功能块之间及变量与功能块之间的连接关系。通过这种连接关系,构建出实现整体逻辑功能的模型结构,建立完全对应于根据XML格式生成相应的关系模式,并转换为XML格式的存储文件。

基于控制保护逻辑功能块与外部连接输入和输出调用关系,通过功能块输入的连接线回溯到相连接功能块的输出,排列所遍历到的全部功能块,构建一条完整逻辑功能的数据链;添加每一个逻辑数据链中的功能块属性、功能块管脚的初始值,从而得到所有功能块调用逻辑运算连接关系和相关属性设置信息,并剔除掉与逻辑运算无关的因素,然后合并形成包含特定要求数据信息的字符串[5];将得到的字符串通过特定算法处理后,最后生成的CRC作为控制和保护程序的唯一特征码。技术方案如图2所示。

3.1 CFC文件解析

首先读取控制和保护程序文件内容,解析所包含的模块和变量信息,形成逻辑数据结构,建立各功能块之间及各变量与功能块之间的调用关系,然后综合考虑,并构建出一种逻辑数据结构,清晰表达了功能块之间的逻辑关系,然后进行一系列的处理运算工作,对逻辑数据结构中的节点进行遍历。通过这种连接关系,构建出实现整体逻辑功能的模型结构,得出输入同输出变量之间的线性关系。提取并汇总当前程序对外的输入、输出的全部连接关系,基于逻辑功能块对外连接输入输出关系的分析,完成适应唯一性功能校验的逻辑功能块连接关系的排序;对外的输入和输出连接信息,变量按照名字的字母顺序完成降序排列。然后建立符合根据XML模式生成对应的关系模式,再根据生成的关系模式实现对XML的映射。格式如图3所示。

3.2 剔除无效因子

剔除掉程序中所有与逻辑运算无关的信息,包括模块的位置坐标信息、备注信息、创建修改时间、页码信息等。分析影响应用程序逻辑的关键因子,模块的执行次序,模块的属性,模块增减等均为影响程序行为逻辑的因子,剔除对应用逻辑无影响的因子,在此基础上根据有序数据链表生成排除了无影响因子的通用数据信息,对数据信息进行特征分析和计算。影响校验结果的因素如表1所示,不影响校验结果的因素如表2所示。

3.3 计算特征码

基于控制保护逻辑功能块对外连接输入输出调用关系,构建体现控制和保护程序可视化程序整体逻辑功能的模型结构,实现可视化程序中功能块节点及其他连接关系同有向无环图数据多层结构之间的互相映射;基于有向无环图的网络拓扑排序算法,完成适应唯一性程序校验的逻辑功能块连接关系排序,形成表征逻辑功能块连接关系的执行顺序表[6j。提取程序中输出点为外部连接的功能块,作为完整数据链的终点功能块。依次对程序中每一个终点功能块选择广度优先的遍历算法,通过功能块输入点的连接线找到连接到输出点的功能块,汇总所遍历到的全部功能块,形成该控制保护程序的完整数据链。

汇总每一个数据链路径中的功能块属性、功能块管脚变量的初始值,能得到输出变量的连接逻辑运算表达式和相关属性设置信息,合并形成包含全部特定数据信息的字符串。最后生成的CRC作为控制和保护程序的唯一特征码。

分别导人程序A和程序B,如图4和5所示。具体差异为:“删除模块ADD2—0001,增加模块RTYO01,模块ADD4_ 0002周期任务改为T2”。实现将比对结果另存为EXCEL文件中。

比对结果如图6所示,第1、2、3頁面的逻辑功能完全一致,其中标红的第4页为两个CFC文件的特征码不同,分别为“10283lb3”和“3aff49f9”,表明该页码内容不一致,表明第4页程序存在差异。

4 结束语

基于直流控制保护程序的控制逻辑模块对外连接输入输出调用关系的分析,提出控保程序页面的特征码生成技术,实现每个程序页面生成可信唯一特征码的目的,可快速准确地判断修改前后两个页面的逻辑功能是否一致。可确保软件修改和工程维护升级的正确性,可提升特高压直流输电工程的运维能力和水平。基于特征码算法的工具软件目前已经在+800kV特高压金华换流站中得到应用,通过现场实际验证,运行效果良好,并且极大地提高了现场调试人员的工作效率,确保可视化程序修改和工程维护的一致性、正确性。

参考文献:

[1]陈国平,王德林,裘愉涛,等,继电保护面临的挑战与展望[J].电力系统自动化,2017,41(16):1-11,26.

[2]李俊霞,严兵,张爱玲,等,特高压直流双极区直流保护系统可靠性研究[J].电力系统保护与控制,2016,44(12):130-136.

[3]曾鸣,赵荣彩,姚京松,等,基于特征提取的二进制代码比较技术[J].计算机工程与应用,2006,42(22):8-11.

[4]周士贵,宋颖超.IEC61131-3工控编程语言国际标准及其应用[J].计算机与信息技术,2008,16(7):78-80.

[5]刘国伟,陈宏君,刘克金,嵌入式装置可视化页面程序代码处理架构设计[J].单片机与嵌入式系统应用,2017,17(5): 9-12,18.

[6] SEDGEWICK R.C算法(第二卷,图算法)[M].北京:人民邮电出版社。2004.

【通联编辑:谢媛媛】

作者简介:汤晓峥(1976-),男,高级工程师,研究方向为高压直流输电技术。

猜你喜欢
逻辑关系功能块
三种国外集散控制系统(DCS)功能块扫描规则和执行顺序的分析和总结
基于IEC61131-3标准运动控制器的设计与应用*
Ovation系统FIRSTOUT和FIFO跳闸首出比较
浅谈英语“七选五”阅读理解
生物科学核心课程关系及内容研究
考研英语阅读理解浅析
自定义功能块类型在电解槽联锁中的应用
基于MACSV6.5.2的锅炉燃尽风开关量调节门控制功能块设计
PLCopen运动控制功能块的研究与开发