[发明专利]一种通用的通讯规约实现方法有效
申请号: | 202110070028.2 | 申请日: | 2021-01-19 |
公开(公告)号: | CN112929331B | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 徐怀红;丁武锋;张娟 | 申请(专利权)人: | 江苏智源自动化技术有限公司 |
主分类号: | H04L69/00 | 分类号: | H04L69/00;H04L47/2425;H04L67/30;H04L67/133;H04L69/22 |
代理公司: | 昆明合众智信知识产权事务所 53113 | 代理人: | 刘静怡 |
地址: | 210000 江苏省南京市雨*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通用 通讯 规约 实现 方法 | ||
1.一种通用的通讯规约实现方法,其特征在于:包括如下步骤:
S1、将通讯规约的链路层和应用层分离开来,将物理链路交给主系统实现并定义了规约模块和一个配置文件:规约模块根据配置文件配置的报文原型和处理运算式生成发送报文,根据配置文件中各发送报文的初始优先级控制进行轮询式切换报文或跳转式切换报文以控制发送通讯流程,根据配置文件中的判定运算式检查收到的数据是否正确,根据配置文件中的解析运算式解析数据;
S2、主系统实现与终端通讯的物理链路、对规约模块的接口的调用以及规约模块向主系统更新数据的回调接口,所述更新数据的回调接口包括测量值更新接口、状态量更新接口、遥控返校接口和写终端参数返回接口;
主系统启动后,加载规约模块,提取出规约模块中的初始化接口、注册终端接口、发送数据接口、遥控接口、写终端参数接口和接收数据处理接口;
加载成功后调用初始化接口,获取规约模块标识,在后续的接口调用中都会将标识以接口参数的形式传送给规约模块以指定通道;接下来调用注册终端接口,将待通讯终端的基本信息传送给规约模块;
在后续的流程中,主系统定时调用发送数据接口,获取规约模块组织好的报文并发送给终端;在用户进行遥控操作时调用遥控接口,将遥控的目标点号和目标状态以接口参数的形式传送给规约模块,获取规约模块组织好的遥控报文并发送给终端,在用户进行写终端参数操作时调用写终端参数接口,将终端参数以接口参数的形式传送给规约模块,获取规约模块组织好的写终端参数报文并发送给终端;在获取到终端返回的报文时调用接收数据处理接口,将接收到的报文传送给规约模块;
S3、规约模块实现初始化接口、注册终端接口、发送数据接口、切换报文机制和接收数据处理接口;
初始化接口生成所述规约模块的标识以支持多通道,主系统调用所述规约模块其他接口时,均需要以接口参数的形式将该标识传送给所述规约模块以指定通道;
注册终端接口用于获取终端的基本信息,规约模块在该接口中存储了主系统传送过来的终端编号,用于在组织发送报文时加入终端链路地址、判断返回报文链路地址是否正确和向主系统更新数据时指定更新的终端;
发送数据接口中使用配置文件第二部分配置的发送处理运算式对配置文件第一部分配置的报文原型做校验前处理,向待发送报文中加入终端信息;为待发送报文添加校验码;将待发送报文转换为密文;
切换报文机制在发送数据超时、接收数据超时及收到完整数据时按照待发送报文的实时优先级进行切换;
切换报文机制在配置文件中为每条待发送报文设置了预设优先级,待发送的常规轮询报文预设为程序指定的常规轮询优先级;待发送的遥控报文、待发送的写终端参数报文和定时待发送报文分别预设为程序指定的对应优先级,这些优先级高于常规轮询优先级;
切换报文机制在运行过程中动态调整各报文的优先级:待发送的常规轮询报文实时优先级与预设优先级相同;待发送的遥控报文的实时优先级初始值为不发送,在规约模块遥控接口被调用时更改为预设优先级;待发送的写终端参数报文实时优先级初始值为不发送,在规约模块写终端参数接口被调用时更改为预设优先级;定时待发送报文实时优先级初始值为不发送,在定时时间到达时更改为预设优先级;待发送的常规轮询报文发送完毕后,它的实时优先级保持不变,非常规轮询待发送报文发送完毕后,它的实时优先级恢复为初始值;
切换报文机制在配置文件中为每个待发送报文和回复报文处理过程设置了一组优先级调整策略,在报文发送和回复报文解析后调整各报文发送次序;
切换报文机制设置了当前终端序号并为每个终端设置了当前报文序号,切换报文时,如果各终端中没有实时优先级高于常规轮询优先级的待发送报文时执行轮询式切换报文,否则执行跳转式切换报文;对于轮询式切换报文,当前终端序号加1并在达到最大值时归0,该操作完成后,加1后的终端序号对应终端的当前报文序号加1并在达到最大值时归0;对于跳转式切换报文执行,备份当前终端序号和当前终端的当前发送报文序号后,将当前终端序号设置为高实时优先级报文所在的终端序号,将高实时优先级报文所在的终端的当前发送序号设置为高实时优先级报文的序号;
接收数据处理接口设置了一个存储区并将接收到的报文存储在存储区中,该接口最先开始的是报文长度判断部分,在此部分程序执行配置文件中第三部分的报文长度表达式计算出应该收到的报文长度,如果报文长度已达到则开始解析报文部分,否则退出本次调用;在解析报文部分,程序执行配置文件中第四部分的判定运算式,判断报文接收是否正确,如果正确则开始数据解析部分,否则去除一个字节后退回到长度判断部分;在数据解析部分,程序分别执行配置文件中第五部分的测量值解析运算式、状态量解析运算式、遥控返回解析运算式、写终端参数返回解析运算式、时间信息解析运算式、SOE解析运算式或事件信息解析运算式,解析出报文中的测量值数据、状态量数据、遥控返回数据、写终端参数返回数据、时间信息返回数据、SOE信息或事件信息;解析完成后调用主系统的更新数据的回调接口将数据传送给主系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏智源自动化技术有限公司,未经江苏智源自动化技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110070028.2/1.html,转载请声明来源钻瓜专利网。