APP下载

基于IEC 60870-5-104协议的调度命令发送方法研究

2021-03-02

机械与电子 2021年2期
关键词:标识符命令消息

(广东电网有限责任公司电力调度控制中心,广东 广州 510600)

0 引言

随着计算机、网络和数据库等相关技术的不断发展和完善,调度自动化系统的发展也越来越迅速[1-2]。如何根据电力调度自动化系统中网络结构和应用系统的独特特点,按照国家信息安全等级保护要求和行业安全规范,在系统内建立全方位的调度自动化系统的安全保障体系,使电力企业应对信息安全快速变化的能力大幅提高,成为了电力企业亟待解决的安全问题。

电网调度自动化命令系统是一个重要的工具,能在已有数据库中收集调度资源程序的修改请求,包括控制室操作员的后续操作和最优潮流(OPF)过程的计算结果。这些请求在通过适当的格式转换后,将作为“调度消息”迅速发送给电厂管理者。调度消息中包含的信息可归类为需要高可用性的信息。以前的解决方案是通过互联网发送信息,但不能保证信息具有高可用性。提出的解决方案涉及使用IEC 60870-5-104协议中包含的发送文件功能,该功能广泛应用于电网调度自动化的远程控制和操作系统[3-5]。因此,有必要使一个函数能够周期性地从命令系统获取调度消息,连接用于远程控制系统和操作的IEC 60870-5-104库[6-8],处理并通知命令系统文件传输的结果。此外,函数还需要与调度资源的管理者一起管理保持活跃的消息,以及对调度消息发送过程中可能出现的故障进行管理。新功能“管理平衡订单传输”(以下简称“脚本”)将用“bash”语言实现,其激活将在SCADA过程中实现[9-10],专用于要求定期调度。

为适应新形势的需要,提出了一种基于现有IEC 60870-5-104协议的调度命令发送新方法。这种先进的技术充分利用了IEC 60870-5-104协议的文件发送功能,通过远程终端单元向电厂发送包含调度命令的文本文件。

1 数据模型和程序

1.1 实现说明

在此,通过对数据库方案和数据提供过程进行修改来支持脚本。需要制定1个数据结构,来支持“传输进行中”状态和随后的命令系统通知的管理,并允许与“etso代码”(用于标识命令系统中的调度资源的代码)和用于文件传输的IEC 60870-5-104参数相关联。此外,还必须制定1个支持创建报警的程序,当命令系统数据库的连接失败时,系统进行警告。数据结构的简化模型如图1所示。

图1 数据结构简化模型

1.2 数据库模型和过程实现中表的描述

在SCADA数据库结构中,文件表将可能的调度消息类型与每个调度资源(单元表)相关联,并为与传输结果和命令系统通知相关的状态管理活动提供支持。此外,它还利用IEC 60870-5-104协议(包含在FILEX表中),建立了包含调度消息的文件与相应的文件传输参数之间的关系。

FILEX表为每种可能的文件类型和每种调度资源指定了使用IEC 60870-5-104协议进行文件传输的参数(公共地址、信息对象地址和RTU标识符),并支持对IEC60870-5-104库返回状态的管理。

UNIT表描述了调度资源,新功能通过“etso代码”将来自命令系统的信息关联起来。

RTU表将文件传输参数与必要信息(IP地址和端口)结合起来,以建立正确的IEC 60870-5-104连接。RTU表包括以下信息:

a.包含周期性和周期性函数的调度参数的表,经过修改后允许对具有第二分辨率(CRN)的函数进行调度。

b.定义虚拟信号的表,该信号与警报的生成相关联,并用于通知无法与命令系统数据库(TSS)建立连接。

1.3 发展详情

对CRN表的结构进行了修改,以添加包含具有第二分辨率的激活周期值的“SECOND”字段。为了管理新的CRN表结构,修改了在线数据库生成和数据提供的过程。此外,在该表中还插入1个新条目,其中包含以15 s为周期的激活参数。

修改了FILEX表的结构,以便添加用于管理IEC 60870-5-104库中的返回状态的字段和用于与文件链接表的字段。为了更好地管理新的FILEX表结构,修改了在线数据库生成和数据提供的过程。

定义了1个新的FILES表及其相关的管理过程;在TSS表中插入了1个新条目,用于管理与命令系统数据库的丢失连接;数据提供程序也已更改,以允许正确提供支持事件和警报创建链的所有表。

2 现有软件的修改

在继续进行详细说明之前,有必要对实施软件调整干预的应用领域进行界定。

2.1 SAS_CRN进程

新脚本将由专用的SCADA进程激活,这些进程需要1个重复或定期激活(SAS_CRN)。该过程是采用多线程编程技术实现的,允许独立地激活CRN表中包含的每个函数。因此,每个函数都可以由1个专用线程(专门为该函数开发)或1个通用线程(控制用bash编写的脚本的执行)控制。作为本文档主题的函数将由1个通用线程控制,该线程的任务是检查定期激活。

由于此过程需要很高的激活频率(周期为15 s)来确保及时提交包含调度消息的文件,故SAS_CRN进程已被修改。这有助于提高管理和过程所有者的可维护性。干预措施如下:

a.通过将粒度增加到1 s来调整调度管理逻辑。

b.更新定义激活规则的语法。

c.通过检查CRN表中的专用字段,提供检查功能激活的可能性。有3种可能性,即功能在激活参数对应的时刻激活、功能立即激活和功能未激活。

2.2 DAX_HRD流程

脚本开发中的一个基本问题是修改SCADA进程(DAX_HRD),该进程专用于管理SCADA与现场设备之间的对话。关于文件传输,配置文件预计它们将作为“透明文件”传输,因此,根据协议,“文件名”的值将假定为1。DAX_HRD进程定义了应该对文件执行的操作,它需要添加1个扩展名,根据操作或传输状态,该扩展名可以采用以下值:自动发送;发送;已发送;发送失败。

透明文件必须放在预先确定的目录中,并按子目录组织,具体取决于:RTU标识符、共同地址和信息对象地址。

当远程控制和操作系统数据库正在更新时,可以观察到调度消息传输过程中的中断,因此,控制系统必须能够恢复并再次发送到命令系统。

2.3 新功能开发

调度信息管理功能是将指挥系统处理的调度信息发送给电厂业主。

处理的调度信息直接通过数据库查询从SCADA数据库获取到命令系统。由于无法将控制系统程序的激活与将调度消息插入命令系统数据库同步,因此必须在每min的第0 s、第15 s、第30 s和第45 s运行以下活动:

a.选择并发送等待传输的调度信息。

b.检查结果并通知挂起的传输状态。

c.管理保持活跃的消息。

在每min的第0 s、第15 s、第30 s和第45 s,控制系统将执行对命令系统数据库的查询,以选择等待传输的调度消息。特别是以下领域:插入日期;报文唯一标识符;电厂名称;信息类型;最大提交尝试次数;包含消息的文件名;消息文本。

通过筛选插入日期不为空且创建日期为空的所有邮件,将这些邮件按日期排序。

在发送这些按插入日期、电厂名称和优先级选择和排序的消息之前,有必要将唯一标识“文件104对象”的参数与它们关联起来。通过使用连接表单元、文件和文件的关系,这种关联是可行的。

通过使用电厂名称作为机组表的访问键,可以选择:RTU标识符;共同地址;信息对象地址;文件标识符。

有了这些信息,可以启动传输并通过更新以下信息通知命令系统接收文件传输:时间戳中的接管日期和时间;当前尝试次数;尝试的时间戳中的日期和小时。

同样,必须更新SCADA表文件和FILEX中的以下信息:时间戳中的接管日期和时间;转移状态;最后通知指挥系统的状态;分配给命令系统消息的唯一标识符;正在传输尝试次数;最大传输尝试次数。

如上所述,对于每个传输状态更改,DAX_HRD进程将根据达到的状态修改扩展名,重命名文件,此外,还将更新FILEX表中包含的以下信息:达到当前状态的日期和时间;当前转移状态。

每min的第0 s、第15 s、第30 s和第45 s,SCADA检查挂起传输的结果,并将到达的状态通知给命令系统。为了检查结果,有必要通过选择具有唯一分派消息的挂起传输文件来标识这些文件。对于每个选定的文件,需要验证:电位传递误差;转移时间可能到期;达到有效状态。

每当文件传输不成功时,DAX_HRD进程将通过将传输状态切换到“错误”通知错误。如果尚未达到最大尝试次数,则该文件必须在挂起传输的文件行中排队。否则,文件将被最终删除。因此,有必要实施一种考虑到未达到和已达到最大提交尝试次数这2种可能情况的管理逻辑。

如果未达到最大提交尝试次数,则必须按以下步骤进行:

a.减少可能的尝试。

b.将错误通知命令系统。

c.更新连接到SCADA数据库文件传输失败表的记录。需要更新的信息包括最后通知指挥系统的状态以及分配给新尝试的累进数。

如果已达到最大提交尝试次数,则有必要按以下步骤进行:

a.将错误通知指挥系统。

c.重置连接到错误传输文件的记录。

2.4 保持活跃消息管理

新的调度报文提交方式的可靠性,与现场设备与远程控制和操作系统之间连接链的整体可靠性密切相关。电网调度自动化命令系统负责监控自己的设备和通信媒介。为了进一步支持这一监测,在应用程序级别启动一个名为“保持活跃”的控制系统连接状态定期检查程序。这是一个选项,电厂管理者可以提交请求,并且在提交请求时,他们必须指明网关或RTU,从中可以接收保持活跃的信息。因此,控制系统将每隔5 min定期向指定的网关或RTU发送1条通用消息,其中包含:消息标识符、备注和消息创建日期。

3 结束语

本文提出的方法利用IEC 60870-5-104标准来发送调度信息,保证了基于该方法的鲁棒性,同时具有使用远程控制和操作系统发送调度命令的优点,避免了通过互联网发送机密数据。将该方法在电网调度自动化 SCADA系统中进行测试,测试过程表明,实现过程是安全的,不仅所有的异常和错误都被正确地检测到,而且可以实现交换数据的更高可用性,能够在不影响电网公司数据中心“大数据”的情况下提高网络安全管理水平和效率,为大电网系统安全做好网络保障。

相对于传统的电网调度自动化命令系统,本文介绍的基于IEC 60870-5-104协议的调度命令发送方法,具有良好的可靠性、灵活性、伸缩性和开放性,适用于各级电网调度自动化系统,保证了调度自动化系统的安全性,提高了电网信息安全防护水平,加快电力企业的发展步伐。

猜你喜欢

标识符命令消息
基于底层虚拟机的标识符混淆方法
只听主人的命令
基于区块链的持久标识符系统①
一张图看5G消息
移防命令下达后
这是人民的命令
科研人员唯一标识符的理论研究现状剖析
数字图书馆推广工程唯一标识符体系构建研究*
消息
消息