[发明专利]Modbus协议文件的编码、解码方法及编码器、解码器有效
申请号: | 201611177281.3 | 申请日: | 2016-12-19 |
公开(公告)号: | CN106712902B | 公开(公告)日: | 2019-09-27 |
发明(设计)人: | 卢昊;裘巍 | 申请(专利权)人: | 上海东软载波微电子有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L12/40 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 潘彦君;吴敏 |
地址: | 200235 上海市徐汇区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | modbus 协议 文件 编码 解码 方法 编码器 解码器 | ||
一种Modbus协议文件的编码、解码方法及编码器、解码器,所述编码方法包括:获取第一功能码以及对应的发送帧所需参数;将所述发送帧所需参数映射生成参数对象,并保存在参数字典中;从预设的功能码字典中查找与所述第一功能码对应的第一功能对象;从所述第一功能对象中读取所述发送帧所需参数的参数描述信息;根据所述发送帧所需参数的参数描述信息,从所述参数字典中查找对应的参数对象;确定所述参数对象的数据在所述发送帧的有效数据中的相应位置;生成发送帧并发送至从设备。上述方案能够降低采用Modbus协议通信时编码和解码过程中的复杂度,减少出错概率。
技术领域
本发明涉及协议处理领域,尤其涉及一种Modbus协议文件的编码、解码方法及编码器、解码器。
背景技术
Modbus协议是应用于电子控制器上的一种通用语言。通过Modbus协议,控制器相互之间、控制器经由网络与其他设备之间可以实现通信。
控制器通信使用主从技术,即主设备初始化查询,其他从设备根据主设备查询提供的数据做出相应的反应。Modbus通信方式建立了主设备查询的格式:从设备地址、功能代码、所有要发送的数据以及校验码。从设备回应消息采用Modbus通信方式进行,所述从设备回应消息包括确认要行动的域、要返回的数据和校验码。
PC主机是一个典型的主设备。PC软件在实现Modbus协议通信时,需要针对该协议实现相应的编码和解码。在每一个编码函数中都需要针对协议的具体组成结构进行组合,重复的数组操作较多,容易出错。
发明内容
本发明解决的技术问题是减少采用Modbus协议通信时编码和解码过程中的复杂度,降低出错概率。
为解决上述技术问题,本发明实施例提供一种Modbus协议文件的编码方法,所述Modbus协议文件包括从设备基本信息以及协议数据,所述编码方法包括:获取第一功能码以及对应的发送帧所需参数;将所述发送帧所需参数映射生成第一参数对象,并保存在第一参数字典中;从预设的功能码字典中查找与所述第一功能码对应的第一功能对象;从所述第一功能对象中读取所述发送帧所需参数的参数描述信息;根据所述发送帧所需参数的参数描述信息,从所述第一参数字典中查找对应的第一参数对象;确定所述第一参数对象的数据在所述发送帧的有效数据中的相应位置;生成发送帧并发送至从设备。
可选的,所述功能码字典采用如下方式生成:读取所述Modbus协议文件;对所述Modbus协议文件中的协议数据进行解析,生成与所述协议数据一一对应的功能对象;读取预设的特殊事件处理方法,获取与所述预设的特殊事件一一对应的功能对象;根据所述与所述协议数据一一对应的功能对象以及与所述预设的特殊事件一一对应的功能对象,建立功能对象与功能码的映射关系,生成所述功能码字典。
可选的,在从所述第一参数字典中查找对应的第一参数对象之后,还包括:判断是否存在预设的特殊处理事件;当存在所述特殊处理事件时,对所述查找到的对应第一参数对象的数据进行更新。
可选的,在从所述第一功能对象中读取所述发送帧所需参数的参数描述信息之前,还包括:判断是否存在发送帧预处理事件;当存在所述发送帧预处理事件时,对所述发送帧进行预处理操作。
可选的,在生成发送帧之前,还包括:判断是否存在发送帧后处理事件;当存在所述发送帧后处理事件时,对所述发送帧进行后处理操作。
可选的,所述生成发送帧,包括:根据所述从设备基本信息、所述发送帧中的数据部分的有效数据,生成所述发送帧。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海东软载波微电子有限公司,未经上海东软载波微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611177281.3/2.html,转载请声明来源钻瓜专利网。