Encoding and decoding method of Modbus protocol document and encoder, decoder, the encoding method includes obtaining the first transmission frame function code and the corresponding parameters needed in the transmission frame; the required parameters to generate object parameter mapping, and stored in the dictionary first function parameters; object lookup from preset function code in the dictionary and the first function code; reading the parameters sent from the first frame function object parameters needed to describe description information; information according to the parameter of the transmission frame parameters required, check the parameters from the object to find the corresponding parameters in the dictionary; determine the corresponding position of the effective data of the the parameter object data in the transmission of the frame; generating a transmission frame and sent to the equipment. The proposed scheme can reduce the complexity of encoding and decoding in Modbus protocol communication and reduce the error probability.
【技术实现步骤摘要】
Modbus协议文件的编码、解码方法及编码器、解码器
本专利技术涉及协议处理领域,尤其涉及一种Modbus协议文件的编码、解码方法及编码器、解码器。
技术介绍
Modbus协议是应用于电子控制器上的一种通用语言。通过Modbus协议,控制器相互之间、控制器经由网络与其他设备之间可以实现通信。控制器通信使用主从技术,即主设备初始化查询,其他从设备根据主设备查询提供的数据做出相应的反应。Modbus通信方式建立了主设备查询的格式:从设备地址、功能代码、所有要发送的数据以及校验码。从设备回应消息采用Modbus通信方式进行,所述从设备回应消息包括确认要行动的域、要返回的数据和校验码。PC主机是一个典型的主设备。PC软件在实现Modbus协议通信时,需要针对该协议实现相应的编码和解码。在每一个编码函数中都需要针对协议的具体组成结构进行组合,重复的数组操作较多,容易出错。
技术实现思路
本专利技术解决的技术问题是减少采用Modbus协议通信时编码和解码过程中的复杂度,降低出错概率。为解决上述技术问题,本专利技术实施例提供一种Modbus协议文件的编码方法,所述Modbus协议文件包括从设备基本信息以及协议数据,所述编码方法包括:获取第一功能码以及对应的发送帧所需参数;将所述发送帧所需参数映射生成第一参数对象,并保存在第一参数字典中;从预设的功能码字典中查找与所述第一功能码对应的第一功能对象;从所述第一功能对象中读取所述发送帧所需参数的参数描述信息;根据所述发送帧所需参数的参数描述信息,从所述第一参数字典中查找对应的第一参数对象;确定所述第一参数对象的数据在所述发送帧的有 ...
【技术保护点】
一种Modbus协议文件的编码方法,其特征在于,所述Modbus协议文件包括从设备基本信息以及协议数据,所述编码方法包括:获取第一功能码以及对应的发送帧所需参数;将所述发送帧所需参数映射生成第一参数对象,并保存在第一参数字典中;从预设的功能码字典中查找与所述第一功能码对应的第一功能对象;从所述第一功能对象中读取所述发送帧所需参数的参数描述信息;根据所述发送帧所需参数的参数描述信息,从所述第一参数字典中查找对应的第一参数对象;确定所述第一参数对象的数据在所述发送帧的有效数据中的相应位置;生成发送帧并发送至从设备。
【技术特征摘要】
1.一种Modbus协议文件的编码方法,其特征在于,所述Modbus协议文件包括从设备基本信息以及协议数据,所述编码方法包括:获取第一功能码以及对应的发送帧所需参数;将所述发送帧所需参数映射生成第一参数对象,并保存在第一参数字典中;从预设的功能码字典中查找与所述第一功能码对应的第一功能对象;从所述第一功能对象中读取所述发送帧所需参数的参数描述信息;根据所述发送帧所需参数的参数描述信息,从所述第一参数字典中查找对应的第一参数对象;确定所述第一参数对象的数据在所述发送帧的有效数据中的相应位置;生成发送帧并发送至从设备。2.如权利要求1所述的Modbus协议文件的编码方法,其特征在于,所述功能码字典采用如下方式生成:读取所述Modbus协议文件;对所述Modbus协议文件中的协议数据进行解析,生成与所述协议数据一一对应的功能对象;读取预设的特殊事件处理方法,获取与所述预设的特殊事件一一对应的功能对象;根据所述与所述协议数据一一对应的功能对象以及与所述预设的特殊事件一一对应的功能对象,建立功能对象与功能码的映射关系,生成所述功能码字典。3.如权利要求1所述的Modbus协议文件的编码方法,其特征在于,在从所述第一参数字典中查找对应的第一参数对象之后,还包括:判断是否存在预设的特殊处理事件;当存在所述特殊处理事件时,对所述查找到的对应第一参数对象的数据进行更新。4.如权利要求1所述的Modbus协议文件的编码方法,其特征在于,在从所述第一功能对象中读取所述发送帧所需参数的参数描述信息之前,还包括:判断是否存在发送帧预处理事件;当存在所述发送帧预处理事件时,对所述发送帧进行预处理操作。5.如权利要求1所述的Modbus协议文件的编码方法,其特征在于,在生成发送帧之前,还包括:判断是否存在发送帧后处理事件;当存在所述发送帧后处理事件时,对所述发送帧进行后处理操作。6.如权利要求1所述的Modbus协议文件的编码方法,其特征在于,所述生成发送帧,包括:根据所述从设备基本信息、所述发送帧中的数据部分的有效数据,生成所述发送帧。7.一种Modbus协议文件的解码方法,其特征在于,包括:接收从设备发送的帧;从接收帧中解析出第二功能码以及所述接收帧的有效数据;从预设的功能码字典中查找与所述第二功能码对应的第二功能对象;从所述第二功能对象中读取所述接收帧中的参数描述信息;根据所述接收帧中的参数描述信息,确定所述接收帧的有效数据中所述从设备返回参数对应的字符数组;将所述从设备返回参数对应的字符数组映射生成第二参数对象,并保存在第二参数字典中;对所述第二参数字典进行解析,得到解码结果。8.如权利要求7所述的Modbus协议文件的解码方法,其特征在于,在从接收帧中解析出第二功能码以及所述接收帧的有效数据之前,还包括:对所述接收帧进行校验,并对校验结果进行判断;当所述校验结果正确时,执行从所述接收帧中解析出第二功能码以及所述接收帧的有效数据的操作;当所述校验结果错误时,返回错误信息并结束解码操作。9.如权利要求7所述的Modbus协议文件的解码方法,其特征在于,在将所述从设备返回参数对应的字符数组映射生成第二参数对象之前,还包括:判断是否存在预设的特殊处理事件;当存在所述预设的特殊处理事件时,对所述从设备返回参数对应的字符数组进行更新。10.如权利要求7所述的Modbus协议文件的解码方法,其特征在于,在确定所述接收帧的有效数据中所述从设备返回参数对应的字符数组之前,还包括:判断是否存在接收帧预处理事件;当存在所述接收帧预处理事件时,对所述接收帧进行预处理操作。11.如权利要求7所述的Modbus协议文件的解码方法,其特征在于,在对所述第二参数字典进行解析之前,还包括:判断是否存在接收帧后处理事件;当存在所述接收帧后处理事件时,对所述接收帧进行后处理操作。12.如权利要求7所述的Modbus协议文件的解码方法...
【专利技术属性】
技术研发人员:卢昊,裘巍,
申请(专利权)人:上海东软载波微电子有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。