一种通用的通讯规约实现方法技术

技术编号:28762242 阅读:15 留言:0更新日期:2021-06-09 10:38
本发明专利技术公开了一种通用的通讯规约实现方法,包括如下步骤:S1、将通讯规约的链路层和应用层分离开来;S2、主系统实现与终端通讯的物理链路、对规约模块的接口的调用以及规约模块向主系统更新数据的回调接口;主系统加载规约模块,提取出其中的初始化接口、注册终端接口、发送数据接口、遥控接口、写终端参数接口、接收数据处理接口;S3、规约模块实现模块初始化接口,注册通讯目标接口,发送数据接口,切换报文机制,接收报文处理接口;本发明专利技术采用固化程序结合配置文件的方式,固化程序开发完成后,接入不同的通讯规约只需要调整配置文件,不需要编译环境,有效的降低了开发门槛,可有效的降低通讯规约开发成本。低通讯规约开发成本。

【技术实现步骤摘要】
一种通用的通讯规约实现方法


[0001]本专利技术属于通讯规约实现
,更具体地说,尤其涉及一种通用的通讯规约实现方法。

技术介绍

[0002]规约由源代码实现:用户需要掌握开发语言,编译环境,开发门槛高,针对上述的问题,本专利技术使用程序结合配置文件的方式实现通讯规约,用户只需要更改配置文件即可实现通讯规约,不需要掌握开发语言和编译环境,有效降低了开发门槛。

技术实现思路

[0003]本专利技术的目的是为了解决现有技术中存在的缺点,而提出的一种通用的通讯规约实现方法。
[0004]为实现上述目的,本专利技术提供如下技术方案:
[0005]一种通用的通讯规约实现方法,包括如下步骤:
[0006]S1、将通讯规约的链路层和应用层分离开来,将硬件链路交给主系统实现并定义了规约模块和一个配置文件:规约模块根据配置文件配置的报文原型和处理运算式生成发送报文,根据配置文件中各发送报文的初始优先级、发送后各报文优先级、接收到数据后各报文优先级控制进行轮询式切换报文或跳转式切换报文以控制收通讯流程,根据配置文件中的判定运算式检查收到的数据是否正确,根据配置文件中的解析运算式解析数据;
[0007]S2、主系统实现与终端通讯的物理链路、对规约模块的接口的调用以及规约模块向主系统更新数据的回调接口,包括测量值更新接口、状态量更新接口、遥控返校接口、写终端参数返回接口;
[0008]系统启动后,主系统加载规约模块,提取出其中的初始化接口、注册终端接口、发送数据接口、遥控接口、写终端参数接口、接收数据处理接口;
[0009]加载成功后调用初始化接口,获取其通道标识,在后续的接口调用中都会将通道标识以接口参数的形式传送给规约模块以指定通道;接下来调用注册通讯目标接口,将待通讯终端的基础信息传送给规约模块;
[0010]在后续的流程中,主系统定时调用发送数据接口,获取规约模块组织好的报文并发送给终端;在用户进行遥控操作时调用遥控接口,将遥控的目标点号和目标状态以接口参数的形式传送给规约模块,获取规约模块组织好的遥控报文并发送给终端,在用户进行写终端参数操作时调用写终端参数接口,将终端参数以接口参数的形式传送给规约模块,获取规约模块组织好的写终端参数报文并发送给终端;在获取到终端返回的报文时主系统调用接收数据处理接口,将接收到的报文传送给规约模块;
[0011]S3、规约模块实现模块初始化接口,注册通讯目标接口,发送数据接口,切换报文机制,接收报文处理接口;
[0012]模块初始化接口生成本模块标识以支持多通道,主系统调用模块其他接口时,均
需要以接口参数的形式将该标识传送给规约模块以指定通道;
[0013]注册通讯目标接口用于获取终端基本信息,规约模块在该接口中存储了主系统传送过来的终端编号,用于在组织发送报文时加入终端链路地址、判断返回报文链路地址是否正确、向主系统更新数据时指定更新的终端;
[0014]发送数据接口中使用配置文件第二部分配置的处理运算式对配置文件第一部分配置的报文原型做校验前处理,向待发送报文中加入终端信息;为待发送报文添加校验码;将待发送报文转换为密文;
[0015]切换报文机制在发送数据超时、接收数据超时及收到完整报文时按照待发送报文的实时优先级进行切换;
[0016]切换报文机制在配置文件中为每条待发送报文设置了预设优先级,常规轮询的待发送报文预设为程序指定的常规轮询优先级;遥控待发送报文、写终端参数待发送报文、定时待发送报文分别预设为程序指定的对应优先级,这些优先级高于常规轮询优先级;
[0017]切换报文机制在运行过程中动态调整各报文的优先级:常规轮询的待发送报文实时优先级与预设优先级相同;遥控待发送报文的实时优先级初始值为不发送,在规约模块遥控接口被调用时更改为预设优先级;写终端参数待发送报文实时优先级初始值为不发送,在规约模块写终端参数接口被调用时更改为预设优先级;定时待发送报文实时优先级初始值为不发送,在定时时间到达时更改为预设优先级;常规轮询的待发送报文发送完毕后,它的实时优先级保持不变,非常规轮询待发送报文发送完毕后,它的实时优先级恢复为初始值;
[0018]切换报文机制在配置文件中为每个待发送报文和回复报文处理过程设置了一组优先级调整策略,在报文发送、回复报文解析后调整各报文发送次序;
[0019]切换报文机制设置了当前终端序号并为每个终端设置了当前报文序号,切换报文时,如果各终端中没有实时优先级高于常规轮询优先级的待发送报文时执行顺序切换,否则执行高优先级切换;对于顺序切换,当前终端序号加1并在达到最大值时归0,该操作完成后,加1后的终端序号对应终端的当前报文序号加1并在达到最大值时归0;对于高优先级切换执行,备份当前终端序号和当前终端的当前发送报文序号后,将当前终端序号设置为高实时优先级报文所在的终端序号,将高实时优先级报文所在的终端的当前发送序号设置为高实时优先级报文的序号;
[0020]接收报文处理接口设置了一个存储区并将接收到的报文存储在存储区中,该接口最先开始的是报文长度判断部分,在此部分程序执行配置文件中第三部分的的报文长度表达式计算出应该收到的报文长度,如果报文长度已达到则开始解析报文部分,否则退出本次调用;在解析报文部分,程序执行配置文件中第四部分的判定运算式,判断报文接收是否正确,如果正确则开始数据解析部分,否则去除一个字节后退回到长度判断部分;在数据解析部分,程序分别执行配置文件中第五部分的测量值解析运算式、状态量解析运算式、遥控返回解析运算式、写终端参数返回解析运算式、时间信息解析运算式、SOE解析运算式、事件信息解析运算式,解析出报文中的解析出测量值数据、状态量数据、遥控返回数据、写终端参数返回数据、时间信息返回数据、SOE信息、事件信息;解析完成后调用主系统的数据更新回调接口将数据传送给主系统。
[0021]所述步骤S1中规约模块定义了数学运算、逻辑运算、位运算和校验算法接口以支
持配置文件中的各运算式,定义了与主系统的接口以完成模块初始化、启动及与主系统的交互,定义了配置文件解析及执行的功能以完成实时的通讯过程;
[0022]在运行过程中,规约模块按照配置文件中定义的规则,通过主系统向通讯目标发送报文并获取通讯目标返回的报文,解析这些报文后生成业务数据并传给主系统;
[0023]所述规约模块的流程控制操作,如发送、接收、切换发送、切换终端由固化的程序完成,不需要开发者完成;
[0024]所述流程控制操作对于跳转式的报文发送是由固化的程序根据用户配置的预设报文优先级生成实时优先级实现的;
[0025]所述规约模块发送的报文是由固化的程序根据用户配置的报文原型和处理运算式组织出来的;
[0026]所述规约模块的接收数据正确性判断是由固化程序根据用户配置的判定表达式进行判断的;
[0027]所述规约模块的数据解析是由固化程序根据用户配置的解析运算式完成的;
[0028]所述规约模块的固化程序中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通用的通讯规约实现方法,其特征在于:包括如下步骤:S1、将通讯规约的链路层和应用层分离开来,将硬件链路交给主系统实现并定义了规约模块和一个配置文件:规约模块根据配置文件配置的报文原型和处理运算式生成发送报文,根据配置文件中各发送报文的初始优先级、发送后各报文优先级、接收到数据后各报文优先级控制进行轮询式切换报文或跳转式切换报文以控制收通讯流程,根据配置文件中的判定运算式检查收到的数据是否正确,根据配置文件中的解析运算式解析数据;S2、主系统实现与终端通讯的物理链路、对规约模块的接口的调用以及规约模块向主系统更新数据的回调接口,包括测量值更新接口、状态量更新接口、遥控返校接口、写终端参数返回接口;系统启动后,主系统加载规约模块,提取出其中的初始化接口、注册终端接口、发送数据接口、遥控接口、写终端参数接口、接收数据处理接口;加载成功后调用初始化接口,获取其通道标识,在后续的接口调用中都会将通道标识以接口参数的形式传送给规约模块以指定通道;接下来调用注册通讯目标接口,将待通讯终端的基础信息传送给规约模块;在后续的流程中,主系统定时调用发送数据接口,获取规约模块组织好的报文并发送给终端;在用户进行遥控操作时调用遥控接口,将遥控的目标点号和目标状态以接口参数的形式传送给规约模块,获取规约模块组织好的遥控报文并发送给终端,在用户进行写终端参数操作时调用写终端参数接口,将终端参数以接口参数的形式传送给规约模块,获取规约模块组织好的写终端参数报文并发送给终端;在获取到终端返回的报文时主系统调用接收数据处理接口,将接收到的报文传送给规约模块;S3、规约模块实现模块初始化接口,注册通讯目标接口,发送数据接口,切换报文机制,接收报文处理接口;模块初始化接口生成本模块标识以支持多通道,主系统调用模块其他接口时,均需要以接口参数的形式将该标识传送给规约模块以指定通道;注册通讯目标接口用于获取终端基本信息,规约模块在该接口中存储了主系统传送过来的终端编号,用于在组织发送报文时加入终端链路地址、判断返回报文链路地址是否正确、向主系统更新数据时指定更新的终端;发送数据接口中使用配置文件第二部分配置的处理运算式对配置文件第一部分配置的报文原型做校验前处理,向待发送报文中加入终端信息;为待发送报文添加校验码;将待发送报文转换为密文;切换报文机制在发送数据超时、接收数据超时及收到完整报文时按照待发送报文的实时优先级进行切换;切换报文机制在配置文件中为每条待发送报文设置了预设优先级,常规轮询的待发送报文预设为程序指定的常规轮询优先级;遥控待发送报文、写终端参数待发送报文、定时待发送报文分别预设为程序指定的对应优先级,这些优先级高于常规轮询优先级;切换报文机制在运行过程中动态调整各报文的优先级:常规轮询的待发送报文实时优先级与预设优先级相同;遥控待发送报文的实时优先级初始值为不发送,在规约模块遥控接口被调用时更改为预设优先级;写终端参数待发送报文实时优先级初始值为不发送,在规约模块写终端参数接口被调用时更改为预设优先级;定时待发送报文实时优先级初始值
为不发送,在定时时间到达时更改为预设优先级;常规轮询的待发送报文发送完毕后,它的实时优先级保持不变,非常规轮询待发送报文发送完毕后,它的实时优先级恢复为初始值;切换报文机制在配置文件中为每个待发送报文和回复...

【专利技术属性】
技术研发人员:徐怀红丁武锋张娟
申请(专利权)人:江苏智源自动化技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1