首页> 中国专利> 一种变电站自动化系统通信协议动态实现方法

一种变电站自动化系统通信协议动态实现方法

摘要

本发明公开了一种变电站自动化系统通信协议动态实现方法,包括分析通信协议的文本描述,将其转换成有限状态机,有限状态机有限状态集、事件输入集、处理动作集、状态变迁的映射函数集和初始状态5部分组成;分别将有限状态集、事件输入集、处理动作集用基本格式表达,所述基本格式为:“关键字=描述字符串”;编写映射函数集,包括从左至右顺序编写的:当前状态、接收输入报文、执行运行操作和当前状态转化结果;对脚本语言中的关键字进行统一定义;对脚本语言中的语法进行统一说明。本发明将有限状态机应用于通信协议建模中,通过建构一个通信协议实现框架,实现了通信协议的配置化。

著录项

  • 公开/公告号CN104333540A

    专利类型发明专利

  • 公开/公告日2015-02-04

    原文格式PDF

  • 申请/专利权人 国电南瑞科技股份有限公司;

    申请/专利号CN201410567656.1

  • 发明设计人 贾德顺;张传羽;李园圆;

    申请日2014-10-22

  • 分类号H04L29/06;

  • 代理机构南京纵横知识产权代理有限公司;

  • 代理人董建林

  • 地址 210061 江苏省南京市高新区高新路20号

  • 入库时间 2023-12-17 03:45:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-13

    授权

    授权

  • 2015-03-11

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20141022

    实质审查的生效

  • 2015-02-04

    公开

    公开

说明书

技术领域

本发明涉及一种变电站自动化系统通信协议动态实现方法,属于通信技术领域。 

背景技术

目前国内变电站自动化系统中通信规约种类繁多,既有由各标准化组织制定的标准通信协议,如IEC60870系列,MODBUS,DNP,CDT等,也有各设备厂家自定义的非标协议。但即使是广泛使用的IEC60870系列标准协议,其4种配套标准:IEC60870-5-101、IEC60870-5-102、IEC60870-5-103、IEC60870-5-104,由于制定周期较长,协议中可选项较多,各地区使用单位、各装置生产厂家对协议的理解不同,4种配套标准都出现了很多子版本。 

变电站通信管理机作为变电站数据中心,需要与站内各智能设备和不同调度主站通信,由于协议的多样性和通信管理机内部协议处理过程的不可见性,通常通信接口调试工作需要占用较多的调试时间。同时、通信管理机需要维护一个数量巨大的协议库,对协议的任何修改都需要改动通信管理机的程序,也增大了通信管理机厂家的版本管理的难度。 

目前,计算机科学领域内的有限状态机理论一般用于对系统的动态行为建模,通过用状态图来可视化表示,是对反应式系统建模的强大工具。近20年来,有限状态机和状态图的形式化机制得到了很多研究,有效地支持了各种复杂行为的建模。 

发明内容

本发明的目的在于提供一种基于有限状态机和自定义脚本语言的变电站自动化系统通信协议动态实现方法,将有限状态机应用于通信协议建模中,通过建构一个通信协议实现框架,实现通信协议的配置化。 

为达到上述目的,本发明所采用的技术方案是:一种变电站自动化系统通信协议动态实现方法,包括如下步骤: 

步骤一:分析通信协议的文本描述,将其转换成有限状态机,有限状态机由:用于描述发送报文的有限状态集、用于描述接收报文的事件输入集、用于表示处理行为的处理动作集、用于表示有限状态机间的状态变迁的映射函数集和初始状态5部分组成; 

步骤二:分别将有限状态集、事件输入集、处理动作集用基本格式表达,所述基本格式为:“关键字=描述字符串”; 

步骤三:编写映射函数集,包括从左至右顺序编写的:当前状态、接收输入报文、执行运行操作和当前状态转化结果; 

步骤四:对脚本语言中的关键字进行统一定义,包括:有限状态机关键字定义、发送接收表达式关键字定义、处理表达式关键字定义和计算表达式关键字定义; 

步骤五:对脚本语言中的语法进行统一说明,包括:有限状态集语法说明、事件输入集语法说明、处理动作集语法说明和映射函数集语法说明。 

进一步的,所述有限状态集是从通信协议中提取的所有发送命令。 

进一步的,所述事件输入集是从通信协议中提取的所有接收命令。 

进一步的,所述描述字符串为立即数。 

进一步的,所述描述字符串为计算表达式。 

进一步的,所述描述字符串由多个子串组成,每个子串格式为“关键字:计算表达式”。 

与现有技术相比,本发明所达到的有益效果是: 

(1)提供了一种基于有限状态机和自定义脚本语言的变电站自动化系统通信协议动态实现方法,无论是客户端还是服务端协议,也无论协议为平衡式或非平衡式,变电站通信管理机都可采用同一通信模块和自定义脚本语言实现,实现了通信协议的配置化; 

(2)本发明定义了一种脚本语言描述通信协议,通过对脚本语言的编程控制有限状态机处理器的运行,不同的通信协议对应不同的脚本程序,相同的通信协议脚本程序也相同,日积月累可形成一个丰富的脚本程序库,方便现场使用; 

(3)有限状态集、事件输入集、处理动作集均采用统一的基本格式:“关键字=描述字符串”,这三种表达式格式统一,易学易用; 

(4)自定义的脚本语言具有扩展性,方便以后功能扩展。 

附图说明

图1是采用本发明的问答式通信协议处理流程图。 

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。 

步骤一:分析通信协议的文本描述,将其转换成有限状态机。 

有限状态机由以下5部分组成: 

有限状态集:是从通信协议中提取的所有发送命令,用于描述发送报文,可以用[STATE_x]表示有限状态集代码,其中,x为数字,每个有限状态集的由发送报文编码packet和发送报文名称send_type组成,发送报文编码packet为必有项。 

事件输入集:是从通信协议中提取的所有接收命令,用于描述接收报文,以[INPUT_x]表示,每个事件输入集由接收报文编码packet和接收报文名称rece_type组成,其中packet为必有项。 

处理动作集:根据当前状态[STATE_x]和当前输入[INPUT_x],按照通信协议编写[OUTPUT_x],用于表示对应的处理行为。 

映射函数集:根据当前状态[STATE_x]和当前输入[INPUT_x],按照通信协议编写[TRANSLATE_x],用于表示有限状态机间的状态变迁。 

初始状态:表示有限状态机的初始状态,默认为[STATE_1]。 

步骤二:分别将有限状态集、事件输入集、处理动作集用基本格式表达,基本格式为:“关键字=描述字符串”。 

每个有限状态集、事件输入集、处理动作集都由若干个表达项组成,每个表达项左侧为关键字,右侧为描述字符串。关键字包括packet、send_type、test_input/test_input[x]等项,描述字符串可以为多个子串,每个子串格式为“关 键字:计算表达式”,每个子串可以是立即数,也可以是计算表达式,子串中的各个字节以逗号分隔。 

如packet="0xeb,0x90,0xeb,0x90,0xeb,0x90,Addr,0x00,0x00,SUM[6:8]",表示该状态发送10个字节,0x5a等为立即数,SUM[6:8]计算表达式,表示取第6至第8字节的累加和校验码。 

对于处理动作集,基本格式中关键字表示处理对象,描述字符串表示待处理数据。举例如下: 

如:yc4="(byte10*256+byte9)/100",表示将右侧计算表达式的值填入遥测数据库第4点。 

如:soe21="state:byte9==2,year:byte15,month:byte16,day:byte17,hour:byte18,min:byte19,second:byte20",表示此为遥信库第21号点的SOE信息,描述字符串由多个子串组成,描述了SOE信息的各项内容。子串表达式“state:byte9==2”,左侧state表示SOE信息的状态,右侧为计算表达式,表示SOE状态值,当接收的第9个字节为2时,SOE状态值为1,其他为0。子串表达式“year:byte15”,左侧year表示SOE信息的年时间,右侧为计算表达式,表示时间值。其余子串表达式分别表示SOE信息的月、日、小时、分、秒。 

如gps="year:asc(byte12)*1000+asc(byte13)*100+asc(byte14)*10+asc(byte15),month:asc(byte11)*10+asc(byte10),day:asc(byte9*0x100+byte8),hour:asc(byte3)*10+asc(byte2),min:asc(byte5)*10+asc(byte4),second:asc(byte7)*10+asc(byte6)",表示此为GPS对时信息,描述字符串由多个子串组成,描述了GPS对时的各项内容。子串"year:asc(byte12)*1000+asc(byte13)*100+asc(byte14)*10+asc(byte15)",左侧year表示GPS对时的年时间,右侧为计算表达式,表示时间值,其中asc()函数表示将接收的字节数据由ASCII码转换成二进制数据。 

步骤三:编写映射函数集,包括从左至右顺序编写的:当前状态、接收输入报文、执行运行操作和当前状态转化结果。 

如:映射函数为:STATE_1--->INPUT_2--->OUTPUT_2--->STATE_2,则表示当前状态处于STATE_1时,若接收输入报文为INPUT_2,执行运算操作 OUTPUT_2,并将当前状态转换为STATE_2。 

步骤四:对脚本语言中的关键字进行统一定义,包括:有限状态机关键字定义、发送接收表达式关键字定义、处理表达式关键字定义和计算表达式关键字定义。如表1-5所示,为各部分关键字定义对照表,表6为计算表达式中支持的运算符及函数。 

表1:有限状态机关键字定义对照表 

表2:发送接收表达式关键字定义对照表 

表3:处理表达式关键字定义对照表: 

表4:计算表达式关键字定义对照表 

表5:其他关键字定义对照表 

表6:计算表达式中支持的运算符及函数: 

步骤五:对脚本语言中的语法进行统一说明,包括:有限状态集语法说明、事件输入集语法说明、处理动作集语法说明和映射函数集语法说明。如表7-10为各部分的语法说明。 

表7:有限状态集语法说明 

表8:事件输入集语法 

表9:处理动作集语法 

表10:映射函数集语法 

如图1所示,是一种问答式通信协议处理流程图,首先通信管理机根据[STATE_1]组装发送报文,然后等待接收装置返回报文[INPUT_1]或[INPUT_2]或[INPUT_3],并根据装置返回的不同报文进入对应处理模块,之后按照映射函数[TRANSLATE_1]将状态转换至[STATE_2],发送ACK确认后,由于无接收和处理模块,再根据映射函数[TRANSLATE_2]将状态转换至[STATE_1],完成一次通信过程。 

下面以MODBUS协议电度表设备为例,给出与MODBUS协议电度表通信的配置文件: 

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号