基于modbus协议的动态解析方法、装置、服务器及存储介质制造方法及图纸

技术编号:19969876 阅读:21 留言:0更新日期:2019-01-03 15:55
本发明专利技术公开了一种基于modbus协议的动态解析方法、设备、服务器以及存储介质,方法包括:获取由设备上传的原始modbus数据;根据所述原始modbus数据查找与所述设备对应的协议映射表;获取所述原始modbus数据中的功能码,并采用与所述功能码对应的功能码指令解析所述原始modbus数据;将解析获得的modbus地址与所述协议映射表中的预先配置的modbus地址进行匹配;当在所述协议映射表中存在与解析获得的modbus地址对应的预先配置的modbus地址时,将解析获得的地址值赋值给与所述预先配置的modbus地址对应的编码,以供上层端通过所述编码进行取值。基于本发明专利技术,能够实现在服务端对协议进行灵活的解析,降低了开发工作量。

Dynamic analysis method, device, server and storage medium based on Modbus Protocol

The invention discloses a dynamic parsing method, device, server and storage medium based on Modbus protocol, which includes: acquiring the original MODBUS data uploaded by the device; searching the protocol mapping table corresponding to the device according to the original Modbus data; acquiring the function code in the original Modbus data, and parsing the function code instruction corresponding to the function code. The original Modbus data; matching the parsed MODBUS address with the pre-configured MODBUS address in the protocol mapping table; assigning the parsed MODBUS address value to the code corresponding to the pre-configured MODBUS address when there is a pre-configured MODBUS address corresponding to the parsed MODBUS address in the protocol mapping table for the upper end to pass through The encoding is taken as a value. Based on the invention, the protocol can be flexibly parsed at the server side, and the development workload can be reduced.

【技术实现步骤摘要】
基于modbus协议的动态解析方法、装置、服务器及存储介质
本专利技术涉及modbus领域,尤其涉及一种基于modbus协议的动态解析方法、装置、服务器及存储介质。
技术介绍
modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年制定的全球第一个真正用于工业现场的总线协议。modbus协议现已经成为一种通用的工业标准,其广泛用于控制器之间的通信互联。当在一modbus网络上通信时,每个控制器需要知道该网络中与其通信的所有控制器的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用modbus协议发出。随着智能时代的步伐加快,为传统modbus设备上云也变得必须。modbus虽然为标准协议,但由于其良好的可拓展性,可能每个厂家的每个产品在协议中都有不同的内容体现,故在云端解析时,需要根据不同的内容做多套协议的解析,每次新增产品都需要有一定量的开发任务,从而增加了开发难度和开发成本。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于modbus协议的动态解析方法、装置、服务器及存储介质,实现在服务端对协议进行灵活的解析,降低开发成本。本专利技术实施例提供了一种基于modbus协议的动态解析方法,包括:获取由设备上传的原始modbus数据;根据所述原始modbus数据查找与所述设备对应的协议映射表;其中,所述协议映射表包括预先配置的modbus地址、与所述modbus地址对应的编码以及与所述编码对应的编码含义;获取所述原始modbus数据中的功能码,并采用与所述功能码对应的功能码指令解析所述原始modbus数据,以获得所述原始modbus数据的modbus地址以及对应的地址值;将解析获得的modbus地址与所述协议映射表中的预先配置的modbus地址进行匹配;当在所述协议映射表中存在与解析获得的modbus地址对应的预先配置的modbus地址时,将解析获得的地址值赋值给与所述预先配置的modbus地址对应的编码,以供上层端通过所述编码进行取值。优选地,在获取由设备上传的原始modbus数据之前,还包括:获取基于设备制定的modbus协议内容;根据用户基于所述modbus协议内容定义的modbus地址、编码以及与所述编码对应的编码含义生成协议映射表;其中,所述编码含义与所述编码唯一对应。优选地,所述根据所述原始modbus数据查找与所述设备对应的协议映射表,具体为:根据所述原始modbus数据的数据头部的前N位获取与所述设备对应的条码信息,并根据所述条码信息查询与所述设备对应的协议映射表。优选地,还包括:当根据所述条码信息查询不到与所述设备对应的协议映射表时,生成无法解析指示,并将所述无法解析指示发送给相关的管理终端。优选地,还包括:当在所述协议映射表中不存在与解析获得的modbus地址对应的预先配置的modbus地址时,丢弃所述地址值。本专利技术实施例还提供了一种基于modbus协议的动态解析装置,包括:数据获取单元,用于获取由设备上传的原始modbus数据;查找单元,用于根据所述原始modbus数据查找与所述设备对应的协议映射表;其中,所述协议映射表包括预先配置的modbus地址、与所述modbus地址对应的编码以及与所述编码对应的编码含义;解析单元,用于获取所述原始modbus数据中的功能码,并采用与所述功能码对应的功能码指令解析所述原始modbus数据,以获得所述原始modbus数据的modbus地址以及对应的地址值;地址匹配单元,用于将解析获得的modbus地址与所述协议映射表中的预先配置的modbus地址进行匹配;赋值单元,用于当在所述协议映射表中存在与解析获得的modbus地址对应的预先配置的modbus地址时,将解析获得的地址值赋值给与所述预先配置的modbus地址对应的编码,以供上层端通过所述编码进行取值。优选地,所述查找单元具体用于,根据所述原始modbus数据的数据头部的前N位获取与所述设备对应的条码信息,并根据所述条码信息查询与所述设备对应的协议映射表。优选地,还包括:地址值丢弃单元,用于当在所述协议映射表中不存在与解析获得的modbus地址对应的预先配置的modbus地址时,丢弃所述地址值。本专利技术实施例还提供了一种基于modbus协议的动态解析服务器,包括处理器以及存储器,所述存储器内存储有计算机程序,所述计算机程序配置为被所述处理器执行时,能够实现如上述的基于modbus协议的动态解析方法本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的基于modbus协议的动态解析方法。上述一个实施例中,在服务器创建的协议映射表对设备而言,其唯一对应的标识为modbus地址;而对于上层端(如web前端、微信端、APP端)而言,其唯一对应标识为编码;在进行协议解析时,服务器根据modbus地址进行解析,再根据modbus地址与协议映射表预先配置的modbus地址,把地址值赋值到相应的编码上;上层端根据编码进行取值,当底层协议发生改变,只需对协议映射表中的modbus地址进行更新即可。基于这样的构造,对上层端来说,大大降低了开发难度,不需要每个上层端都做对应的modbus协议解析,且上层端只需要按统一的编码取值,不用担心modbus地址发生改变;对于服务器而言,数据解析变得灵活,不需要代码更改,降低了开发成本。附图说明为了更清楚地说明本专利技术的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术第一实施例提供的基于modbus协议的动态解析方法的流程示意图。图2是本专利技术第一实施例提供的协议映射表的一种编辑示意图。图3是本专利技术第二实施例提供的基于modbus协议的动态解析装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术第一实施例提供了一种基于modbus协议的动态解析方法,其可由基于modbus协议的动态解析服务器(以下简称服务器)来执行,并至少包括如下步骤:S101,获取由设备上传的原始modbus数据。在本实施例中,所述设备可为基于modbusRTU协议的设备。其中,所述设备上传的原始modbus数据至少包括从站地址、功能码、modbus地址以及相应的设备数据。S102,根据所述原始modbus数据查找与所述设备对应的协议映射表;其中,所述协议映射表包括预先配置的modbus地址、与所述modbus地址对应的编码以及与所述编码对应的编码含义。在本实施例中,对于不同的设备或者产品,在设备开发时,可针对该设备制定相应的modbus协议内容,例如,可以定义modbus地址对应的功能点位。同时,在服务器,用户根据所制定的协议内容,可以本文档来自技高网...

【技术保护点】
1.一种基于modbus协议的动态解析方法,其特征在于,包括:获取由设备上传的原始modbus数据;根据所述原始modbus数据查找与所述设备对应的协议映射表;其中,所述协议映射表包括预先配置的modbus地址、与所述modbus地址对应的编码以及与所述编码对应的编码含义;获取所述原始modbus数据中的功能码,并采用与所述功能码对应的功能码指令解析所述原始modbus数据,以获得所述原始modbus数据的modbus地址以及对应的地址值;将解析获得的modbus地址与所述协议映射表中的预先配置的modbus地址进行匹配;当在所述协议映射表中存在与解析获得的modbus地址对应的预先配置的modbus地址时,将解析获得的地址值赋值给与所述预先配置的modbus地址对应的编码,以供上层端通过所述编码进行取值。

【技术特征摘要】
1.一种基于modbus协议的动态解析方法,其特征在于,包括:获取由设备上传的原始modbus数据;根据所述原始modbus数据查找与所述设备对应的协议映射表;其中,所述协议映射表包括预先配置的modbus地址、与所述modbus地址对应的编码以及与所述编码对应的编码含义;获取所述原始modbus数据中的功能码,并采用与所述功能码对应的功能码指令解析所述原始modbus数据,以获得所述原始modbus数据的modbus地址以及对应的地址值;将解析获得的modbus地址与所述协议映射表中的预先配置的modbus地址进行匹配;当在所述协议映射表中存在与解析获得的modbus地址对应的预先配置的modbus地址时,将解析获得的地址值赋值给与所述预先配置的modbus地址对应的编码,以供上层端通过所述编码进行取值。2.根据权利要求1所述的基于modbus协议的动态解析方法,其特征在于,在获取由设备上传的原始modbus数据之前,还包括:获取基于设备制定的modbus协议内容;根据用户基于所述modbus协议内容定义的modbus地址、编码以及与所述编码对应的编码含义生成协议映射表;其中,所述编码含义与所述编码唯一对应。3.根据权利要求1所述的基于modbus协议的动态解析方法,其特征在于,所述根据所述原始modbus数据查找与所述设备对应的协议映射表,具体为:根据所述原始modbus数据的数据头部的前N位获取与所述设备对应的条码信息,并根据所述条码信息查询与所述设备对应的协议映射表。4.根据权利要求3所述的基于modbus协议的动态解析方法,其特征在于,还包括:当根据所述条码信息查询不到与所述设备对应的协议映射表时,生成无法解析指示,并将所述无法解析指示发送给相关的管理终端。5.根据权利要求1所述的基于modbus协议的动态解析方法,其特征在于,还包括:当在所述协议映射表中不存在与解析获得的modbus地址对应的预先配置的modbus地址时,丢弃所述...

【专利技术属性】
技术研发人员:穆凯彤谢卓锐罗金星刘远辉高翔
申请(专利权)人:广东芬尼克兹节能设备有限公司
类型:发明
国别省市:广东,44

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

1