分层式MODBUS通讯系统及方法技术方案

技术编号:22661354 阅读:18 留言:0更新日期:2019-11-28 04:31
本发明专利技术公开了一种分层式MODBUS通讯系统及方法,现有MODBUS通讯方式无法兼容主机和从机、代码结构冗余的技术问题。本发明专利技术包括通讯硬件层、协议解析层、设备业务处理层;通讯硬件层用于规定设备的电气参数并与协议解析层完成信息交互;协议解析层用于判断通讯硬件层发送的报文的合法性;设备业务处理层用于执行协议解析层发出的合法报文。还设计一种MODBUS通讯方法,包括硬件层定义参数,解析层识别判断报文,业务层执行报文。本发明专利技术的有益技术效果在于:通用性强,可兼容主机和从机模式,代码结构简洁。

Layered Modbus communication system and method

The invention discloses a layered Modbus communication system and method, and the existing Modbus communication mode is unable to be compatible with the technical problems of redundancy of the host, slave and code structure. The invention includes a communication hardware layer, a protocol analysis layer and a device business processing layer; the communication hardware layer is used to define the electrical parameters of the device and complete information interaction with the protocol analysis layer; the protocol analysis layer is used to judge the legitimacy of the messages sent by the communication hardware layer; the device business processing layer is used to execute the legitimate messages sent by the protocol analysis layer. A Modbus communication method is also designed, including defining parameters in hardware layer, identifying and judging messages in analytic layer and executing messages in business layer. The invention has the advantages of strong universality, compatibility with host and slave modes, and simple code structure.

【技术实现步骤摘要】
分层式MODBUS通讯系统及方法
本专利技术涉及通信
,具体涉及一种分层式MODBUS通讯系统及方法。
技术介绍
MODBUS是一种串行通信协议,广泛应用于工业控制通信领域。MODBUS采用“主从模式”,一次通信只能有一个主机,来控制多个从机。这种方式网络结构比较简单,易于部署和维护,但是实际应用时不够灵活,兼容性不足。中国专利文献:《CN103941700B-一种基于Modbus协议的自动化过程安全监控系统》公开了一种使从机之间能够相互通讯的系统,将多个从机分为若干簇,每一簇中选择一个可以接收该簇其它从机数据的从机,即在整个系统框架下在从机之间设置局域网通信;中国专利文献《CN107465576A-一种基于Modbus协议的多主机通讯系统及方法》公开了一种使用多个主机的通信系统,该系统单次通讯仍然是一个主机,只不过各个主机接入轮询中断程序中,一次通信结束后选择另一个主机进行下一次通信,以这种方式实现多主机通信系统。但是,上述方式需要针对系统中的每一个设备就其硬件层进行深入定制,使得产品的软件部分可移植性不足,无法兼容主机和从机;而且每一个设备都需要重新编程,导致重复性代码非常多,结构冗余。
技术实现思路
本专利技术提供一种分层式MODBUS通讯系统及方法,以解决现有MODBUS通讯方式无法兼容主机和从机、代码结构冗余的技术问题。为解决上述技术问题,本专利技术采用如下技术方案:设计一种分层式MODBUS通讯系统,包括通讯硬件层、协议解析层、设备业务处理层;通讯硬件层用于规定设备的电气参数并与协议解析层完成信息交互;协议解析层用于判断通讯硬件层发送的报文的合法性;设备业务处理层用于执行协议解析层发出的合法报文。进一步的,通讯硬件层包括硬件驱动单元、数据收发单元、数据组织单元,硬件驱动单元用于将控制信号转换为设备能够识别的供能信号;数据收发单元用于完成所述通讯硬件层与所述协议解析层之间的信息传递;数据组织单元用于将通讯硬件层产生的数据转换为能被协议解析层接收的数据格式。进一步的,协议解析层包括硬件层连接单元、报文判断单元、报文准备单元,硬件层连接单元用于实现所述协议解析层与通讯硬件层之间的连接,报文判断单元用于判断所述通讯硬件层发送的报文是否符合MODBUS协议规定的格式,报文准备单元用于将报文判断单元识别的合法报文发送至设备业务处理层。进一步的,设备业务处理层包括常规业务处理单元和定制业务处理单元,常规业务处理单元包括MODBUS协议中规定的通用操作模块,定制业务处理单元包括为实现设备功能而单独制作的操作模块。还设计一种分层式MODBUS通讯方法,包括以下步骤:S1:通过通讯硬件层定义接入设备的电气参数,标注设备的主从机属性;S2:接入设备为主设备,则其发送承载有控制命令的报文,或接入设备为从设备,则其接收被标记为主设备的设备发送的控制命令报文;S3:协议解析层根据通讯硬件层对接入设备的设置是主机还是从机对设备接收或发送的报文进行合法性判断;若合法,则将报文发送至设备业务处理层执行;若不合法,则清除该报文。进一步的,步骤S3中,设备业务处理层在执行合法报文时,根据报文内容判断其为MODBUS通讯协议中预先定义的基本操作函数时,则直接调用该函数执行报文内容。进一步的,步骤S3中,合法报文被业务处理层执行的过程中,如果需要报文交互,则通过通讯硬件层设置的主机向其设置的从机发送对应的报文。与现有技术相比,本专利技术的主要有益技术效果在于:1.本专利技术通过硬件层对接入的设备进行标识,而不是直接预先定义设备本身属性,通过这种方式弱化设备本身属性在网络中的识别作用,同一个设备在同一个通讯网络中既可以是从设备也可以是主设备,当需要接入的设备充当主设备时,通讯硬件层在采集到的设备信息上增加主设备标识,协议解析层识别该标识然后组织通信,同样,需要完成从设备就加从设备标识。2.本专利技术将不同设备的业务单独封装为业务处理层,可以方便接入各种设备;业务处理层是针对不同的设备而定制的功能函数层,由于硬件层已经将物理硬件设备和业务物理层做了绑定,因此本专利技术在执行的时候会自动执行绑定的业务处理功能函数。3.本专利技术增加了常规业务处理层,封装了一些通用的功能模块,方便所有的设备进行调用,一方面提高了软件的通用性,所有设备能够加载同一个软件结构,不必再针对不同的设备进行单独设计软件;另一方面也简化了程序代码,不需要对同一个功能进行多次编写。附图说明图1为本专利技术分层式MODBUS通讯系统结构示意图。图2为本专利技术分层式MODBUS通讯方法的一种实施方式示意图。具体实施方式下面结合附图和实施例来说明本专利技术的具体实施方式,但以下实施例只是用来详细说明本专利技术,并不以任何方式限制本专利技术的范围。以下实施例中所涉及或依赖的程序如未特别说明,则均为本
的常规程序或简单程序,本领域技术人员均能根据具体应用场景做出常规选择或者适应性调整。实施例1:一种分层式MODBUS通讯系统,参见图1,包括通讯硬件层、协议解析层、设备业务处理层;由通讯硬件层定义设备的电气参数,标注接入的设备是主设备还是从设备,是主设备就按照主设备的数据流处理方式,是从设备就按照从设备的数据流处理方式;之后是协议解析层,用来判断通讯硬件层发送和接收的数据格式是否合法,将合法数据送入业务处理层执行,将不合法的数据丢弃,具体的:通讯硬件层中包括硬件驱动单元、数据收发单元、数据组织单元,首先硬件驱动单元要为设备的物理端口提供电能使其启动,然后设置设备的主从属性,如果是主设备就按照主设备的运行方式,数据收发单元向从设备发布任务,如果是从设备就按照从设备的运行方式,数据收发单元接收系统中主设备发布的任务;数据组织单元将数据收发单元接收或者发送的数据存放在一个特定的数据结构体中,该数据结构体包含一个一定容量的数据BUF,和数据接收相关的一些属性数据,譬如数据缓存区指针,数据缓存区大小等等。当数据放入该数据结构中时,数据缓存区属性数据也会相应进行更新,方便数据解析层来该层取数据;在协议解析层中,包括硬件层连接单元、报文判断单元、报文准备单元,硬件层连接单元接收通讯硬件层发送的报文,由报文判断单元判断通讯硬件层发送的报文是否符合MODBUS协议规定的格式,如果报文合法,就由报文准备单元将其发送到设备业务处理层,如果不合法,该报文将被丢弃;在设备业务处理层中,包括常规业务处理单元和定制业务处理单元,常规业务处理单元由MODBUS协议中规定的通用操作模块组成,如果报文表示的是常规操作,比如“读线圈”、“读输入寄存器”等,可以直接调用预先设置好的常规函数,通过这些通用功能的集成化,大大减少重复编码,使整个系统更加简结。实施例2:一种分层式MODBUS通讯方法的实现,参见图2,包括一个运行分层式MODBUS通讯方法的设备与一个普通主机、一个普通从机同时通讯的案例,以下“运行分层式MODBUS通讯协议本文档来自技高网
...

【技术保护点】
1.一种分层式MODBUS通讯系统,其特征在于,包括通讯硬件层、协议解析层、设备业务处理层;所述通讯硬件层用于规定设备的电气参数并与所述协议解析层完成信息交互;所述协议解析层用于判断所述通讯硬件层发送的报文的合法性;所述设备业务处理层用于执行所述协议解析层发出的合法报文。/n

【技术特征摘要】
1.一种分层式MODBUS通讯系统,其特征在于,包括通讯硬件层、协议解析层、设备业务处理层;所述通讯硬件层用于规定设备的电气参数并与所述协议解析层完成信息交互;所述协议解析层用于判断所述通讯硬件层发送的报文的合法性;所述设备业务处理层用于执行所述协议解析层发出的合法报文。


2.根据权利要求1所述的分层式MODBUS通讯系统,其特征在于,所述通讯硬件层包括硬件驱动单元、数据收发单元、数据组织单元,所述硬件驱动单元用于将控制信号转换为设备能够识别的供能信号;所述数据收发单元用于完成所述通讯硬件层接收和发送报文;所述数据组织单元用于将所述数据收发单元中的数据放入缓存区以便所述数据解析层提取。


3.根据权利要求1所述的分层式MODBUS通讯系统,其特征在于,所述协议解析层包括硬件层连接单元、报文判断单元、报文准备单元,所述硬件层连接单元用于实现所述协议解析层与所述通讯硬件层之间的连接,所述报文判断单元用于判断所述通讯硬件层发送的报文是否符合MODBUS协议规定的格式,所述报文准备单元用于将所述报文判断单元识别的合法报文发送至设备业务处理层。


4.根据权利要求1所述的分层式MODBUS通讯系统,其特征在于,所述设备...

【专利技术属性】
技术研发人员:郭德强周亮冯小娟郝芳娟袁显文魏金伟张燕李波
申请(专利权)人:正星科技股份有限公司
类型:发明
国别省市:河南;41

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

1