一种基于Modbus协议的多主机通讯系统及方法与流程

文档序号:13168744阅读:946来源:国知局
一种基于Modbus协议的多主机通讯系统及方法与流程

本发明涉及modbus通讯总线应用扩展技术领域,更具体地说,本发明涉及一种基于modbus协议的多主机通讯系统及方法。



背景技术:

modbus网络是一个工业通信系统,它可应用于各种数据采集和过程监控。此协议支持传统的rs-232、rs-422、rs-485和以太网设备。许多工业设备,包括plc,dcs,智能仪表等都在使用modbus协议作为他们之间的通信标准。在工业现场应用非常广泛。

根据modbus协议规范,网络只有一个主机。但是现在很多工业现场由于可靠性的需要,很多监控设备都是冗余的,因此需要两个主机。现有的国内外基于这种情况的应用,都是通过在冗余的主机中编程相互切换modbus通讯通道满足单主机的规范,同时冗余主机之间相互通讯,实现在两台主机中都能接收显示基于modbus通讯的数据信息。在这种情况下,实现两台冗余主机modbus通讯过程相对复杂,可靠性降低,同时如果主机数目增加,难度将大幅度增加。



技术实现要素:

本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。

本发明还有一个目的是提供一种基于modbus协议的多主机通讯系统及其通讯方法,通过轮询中断方式实现多通讯主机与通讯从机的modbus通讯,简化了通讯流程,提高了通讯系统的可靠性。

为了实现根据本发明的这些目的和其他优点,提供了一种基于modbus协议的多主机通讯系统,包括:微处理器、电源模块、存储单元模块、人机交互模块、时钟模块、rs485接口模块以及modbus通讯处理分析模块;所述微处理器分别与存储单元模块、人机交互模块、时钟模块、rs485接口模块以及modbus通讯处理分析模块连通;多个modbus通讯主机和多个modbus通讯从机通过所述rs485接口模块连接通讯系统,所述rs485接口模块的输入端配置有一前端隔离单元,所述rs485接口模块的输出端配置有一光耦隔离单元。

优选的,多个所述modbus通讯主机通过至少两个所述rs485接口模块与所述通讯系统通讯连接,多个所述modbus通讯从机通过一个所述rs485接口模块与所述通讯系统通讯连接。

优选的,所述modbus通讯处理分析模块分别与存储单元模块和rs485接口模块连通,在所述rs485接口模块接收到的所述modbus通讯主机通道的信息时,通过中断机制进行modbus通讯处理,并与所述modbus通讯从机接收的数据进行匹配。

优选的,所述前端隔离单元采用sn74lvc4245型控制芯片。

优选的,所述光耦隔离单元包括一光电耦合器,所述光电耦合器前端串联第一电阻r32,所述光电耦合器前端并联第二电阻r36和电容c66,所述光电耦合器采用tlp121型光电耦合器。

优选的,所述电源模块通过一单键开关电路连接电源。

优选的,所述人机交互模块包括一彩色触摸屏。

一种基于modbus协议的多主机通讯系统的通讯方法,包括以下步骤:

步骤一、通过电源模块给整个通讯系统供电,通讯系统进行自检,检查安装的存储单元模块、人机交互模块和rs485接口模块工作是否正常,自检正常之后,通讯系统开始工作;

步骤二、根据modbus通讯需求,通过人机交互模块设置modbus通讯主机的数量;

步骤三、当通讯系统运行时,在人机交互模块上显示通道通讯状态信息;

步骤四、当通讯系统运行时,modbus通讯主机发送数据请求信息时,利用中断处理方式,将modbus通讯主机的通道进行标记,存入缓冲区,同时将请求信息通过rs485接口模块发送给modbus通讯从机,此后根据modbus通讯协议在中断程序中进行modbus通讯主机和modbus通讯从机信息的交互,当交互完成后,释放modbus通讯主机和modbus通讯从机的通路;

步骤五、当通讯系统运行时,多个modbus通讯主机同时请求modbus通讯从机信息时,利用中断处理方式,将多个modbus通讯主机的通道分别进行标记,存入缓冲区,进行轮询中断处理,首先将第一个modbus通讯主机的请求信息通过rs485接口模块发送给modbus通讯从机,此后根据modbus通讯协议在中断程序中进行modbus通讯主机和modbus通讯从机信息的交互,当交互完成后,释放modbus通讯主机和modbus通讯从机的通路,然后进行第二个modbus通讯主机和modbus通讯从机的通讯交互,依此类推。

本发明至少包括以下有益效果:

1、本发明能够通过轮询中断方式实现多主机与从机的modbus通讯,简化了通讯流程,提高了可靠性,适用性广,具有很好的市场前景;

2、本发明能够结合现场需要设置主机通道数量,通过人机界面进行设置,操作简单,使用方便灵活;

3、本发明的装置结构简单,使用维护方便,稳定性和可靠性高;

4、采用在通信接口模块的前后端设置有前端隔离单元和光耦隔离单元,消除信号干扰,同时对基通讯系统进行了有效保护。

本发明的其他优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。

附图说明

图1是本发明一通讯系统的原理结构图;

图2是本发明的整体连接结构示意图;

图3为实施例中rs485接口模块输入输出口隔离处理电路图,其中,图3(a)为rs485接口模块输入端的前端隔离单元电路图,图3(b)为rs485接口模块的输出端配置的光耦隔离单元电路图;

图4为实施例中单键开关电路的电路图。

具体实施方式

下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。

应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不配出一个或多个其他元件或其组合的存在或添加。

如图1-4所示,本发明提供一种基于modbus协议的多主机通讯系统,包括微处理器1、电源模块7、存储单元模块3、人机交互模块2、时钟模块4、rs485接口模块5以及modbus通讯处理分析模块6;所述微处理器1分别与存储单元模块3、人机交互模块2、时钟模块4、rs485接口模块5以及modbus通讯处理分析模块6连通。

如图2所示,多个modbus通讯主机和多个modbus通讯从机通过所述rs485接口模块5连接通讯系统。

微处理器1可使用单片机、dsp或arm等;rs485接口模块5的接口为标准的rs485。

本实施例中,所述rs485接口模块5的输入端配置有一前端隔离单元,通讯系统中的通讯信号通过所述前端隔离单元连接所述rs485接口模块5的输入端,如图3(a)所示,所述前端隔离单元采用sn74lvc4245型控制芯片,为了防止通讯系统中因输入输出信号灌入电流引起监控单元发热或者过流,对所有的输入输出按钮或信号做隔离处理。

同时,所述rs485接口模块5的输出端配置有一光耦隔离单元,所述rs485接口模块5的输出端通过所述光耦隔离单元连接系统中的多个modbus通讯主机和多个modbus通讯从机,所述光耦隔离单元包括一光电耦合器,所述光电耦合器前端串联第一电阻r32,所述光电耦合器前端并联第二电阻r36和电容c66,所述光电耦合器采用tlp121型光电耦合器。具体的,如图3(b),光耦前端电阻可根据使用光耦选型进行配置,本设计选取tlp121,取r32和r36分压和限流。当回路中有大电流流过时,确保电流经过隔离芯片流入地端,防止通讯系统短路,大大地降低了硬件开发风险,降低了开发成本。

所述电源模块7通过一单键开关电路连接电源,为整个系统供电。如图4所示,所述电源模块7通过所述单键开关电路连接供电电源,目的是为了使通讯系统供电(220vac)时后端不能立刻上电,通过不自锁按钮控制后端电路实现单键开关机。图4中的40106两个非门电路起滤波效果,按钮触发74hc175通过8050触发继电器实现单键开关。

存储单元模块3存储通道故障及发生的故障时间,当检测到故障信息时,时钟模块4将时间信息添加到故障信息中记录保存。

所述人机交互模块2包括一彩色触摸屏,通过所述人机交互模块2选择通讯通道数、设置和显示故障信息、确认报警和查询报警记录。

如图2所示,多个所述modbus通讯主机通过至少两个所述rs485接口模块5与所述通讯系统通讯连接,多个所述modbus通讯从机通过一个所述rs485接口模块5与所述通讯系统通讯连接,通过rs485接口模块5将modbus通讯主机通道与modbus通讯从机接收的数据进行匹配。

所述modbus通讯处理分析模块6分别与存储单元模块3和rs485接口模块5连通,在所述rs485接口模块5接收到的所述modbus通讯主机通道的信息时,通过中断机制进行modbus通讯处理,并与所述modbus通讯从机接收的数据进行匹配。

一种基于modbus协议的多主机通讯系统的通讯方法,包括以下步骤:

步骤一、通过电源模块7给整个通讯系统供电,通讯系统进行自检,检查安装的存储单元模块3、人机交互模块2和rs485接口模块5工作是否正常,自检正常之后,通讯系统开始工作;

步骤二、根据modbus通讯需求,通过人机交互模块2设置modbus通讯主机的数量;

步骤三、当通讯系统运行时,在人机交互模块2上显示通道通讯状态信息;

步骤四、当通讯系统运行时,modbus通讯主机发送数据请求信息时,利用中断处理方式,将modbus通讯主机的通道进行标记,存入dma缓冲区,同时将请求信息通过rs485接口模块5发送给modbus通讯从机,此后根据modbus通讯协议在中断程序中进行modbus通讯主机和modbus通讯从机信息的交互,当交互完成后,释放modbus通讯主机和modbus通讯从机的通路;

步骤五、当通讯系统运行时,多个modbus通讯主机同时请求modbus通讯从机信息时,利用中断处理方式,将多个modbus通讯主机的通道分别进行标记,存入dma缓冲区,进行轮询中断处理,首先将第一个modbus通讯主机11的请求信息通过rs485接口模块5发送给modbus通讯从机,此后根据modbus通讯协议在中断程序中进行modbus通讯主机和modbus通讯从机信息的交互,当交互完成后,释放modbus通讯主机和modbus通讯从机的通路,然后进行第二个modbus通讯主机21和modbus通讯从机的通讯交互,依此类推。

由上所述,人机交互模块2用于选择主机通道数量、设置故障信息、显示故障信息、查询故信息;存储单元模块3,用以存储所设置的故障时间及所发生的故障记录;时钟模块4用以在装置运行后,当检测到故障信息时,将时间信息添加到故障信息中记录保存;rs485接口模块5用以和modbus通讯主机以及modbus通讯从机通讯的接口,同时和微处理器1连通,进行数据传递;modbus通讯处理分析模块6是程序模块,通过微处理器1的接口与rs485接口模块5连接,根据modbus通讯主机发送的信息,进行中断的程序处理方式,在同一时刻保持一个modbus通讯主机通道和modbus通讯从机联系,交互结束时,如果在存储区中还有另外的modbus通讯主机请求信息,那么进行该modbus通讯主机的中断处理,依此类推,实现多modbus通讯主机与modbus通讯从机的轮询中断处理,实现modbus通讯。

本发明根据设置的主机通道数量,通过微处理器轮询中断方式,进行主机通道和从机通道的切换配合,保证在modbus协议的基础上,实现多主机modbus通讯,减小以往实现此种功能的复杂度,提高可靠性,进一步提高modbus有效应用的范围和效率。

具体的,本发明能够通过轮询中断方式实现多主机与从机的modbus通讯,简化了通讯流程,提高了可靠性,适用性广,具有很好的市场前景;同时,本发明能够结合现场需要设置主机通道数量,通过人机界面进行设置,操作简单,使用方便灵活;进一步的,本发明的装置结构简单,使用维护方便,稳定性和可靠性高;并且,采用在通信接口模块的前后端设置有前端隔离单元和光耦隔离单元,消除信号干扰,同时对基通讯系统进行了有效保护。

尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1