一种支持双网双主冗余的ModbusRTU/TCP网关装置的制造方法

文档序号:10538595阅读:516来源:国知局
一种支持双网双主冗余的Modbus RTU/TCP网关装置的制造方法
【专利摘要】本发明涉及工业自动化通信领域,特别涉及一种支持双网双主冗余的Modbus RTU/TCP网关装置,包括处理器单元1、总线接口单元2、第一以太网口单元3和第二以太网口单元4,所述处理器单元1通过独立的信号线与第一以太网口单元3和第二以太网口单元4分别相连,所述处理器单元1还通过信号线与总线接口单元2相连。本发明的装置能够完整地让中低端嵌入式控制器以主站方式接入双网双主冗余的Modbus TCP网络,使得嵌入式控制器实现全双工通信并无需担心双主冲突,还能保持所有通信连接并行地存在。
【专利说明】
_种支持双网双主冗余的Modbus RTU/TCP网关装置
技术领域
[0001 ] 本发明涉及工业自动化通信领域,特别涉及一种支持双网双主冗余的ModbusRTU/TCP网关装置。
【背景技术】
[0002]在发电机励磁、发电机静止变频启动等高级工业控制应用中,对控制系统的可靠性要求非常高。这些工业控制器一般通过以太网和其他执行机构连接在一起。为了保证整个控制系统有较高的可靠性,同时保证成本适中,一般采用双以太网双主站(简称双网双主)冗余的解决方案。
[0003]如图1所示,控制系统中包含2台相同的控制器主站I和主站2,二者互为备用,实现控制器冗余。每台控制器还同时连接到2个独立的以太网上,同时收发数据,实现网络冗余。控制系统中还包含从站I?从站N等若干从站设备,每个从站设备也是同时接入2个独立的以太网中。每个主站不仅要跟从站交互数据,获取信息和发出命令,同时还要和另外一个主站交互数据,以实现控制数据的备份和同步。同时还要处理来自两个独立以太网的数据和异常情况。可以看出,主站的网络通信任务非常复杂。
[0004]Modbus TCP是一种在工业控制领域广泛应用的以太网通信协议,数十万计的设备使用了该通信协议。在上述双主双以太网冗余的通信解决方案中,也可以使用,并且使整个控制系统具有良好的兼容性和可扩展性。对于工业控制领域中的高端控制器,通常都带有操作系统和网络通信功能,直接接入Modbus TCP网络并不困难。然而,随着制造业竞争的加剧,降低工业控制器成本的要求也越来越明显。目前市面上性价比较高的工业控制器均为中低端的嵌入式控制器,如基于单片机或者数字信号处理器(DSP)的控制器等等。这类中低端控制器的主要特征是价格低廉、软件简单、不带操作系统、不带网络接口。虽然这类中低端嵌入式控制器接入如RS232,RS485,CAN等现场总线并不困难,但由于硬件资源有限,要实现以太网的接入十分困难。如果还希望这类中低端嵌入式控制器作为主站接入双以太网,同时构成双主站冗余的高可靠性控制系统,就异常困难。
[0005]传统的解决中低端嵌入式控制器接入以太网的方式包括以下三种。
[0006]1.通过在板上中低端CPU上直接编程,采用一些轻量级的TCP/IP协议栈。该方案的优点是无需增加硬件成本,但缺点是轻量级的TCP/IP协议栈是简化的协议栈,一方面其功能较弱甚至不具备并发多连接的能力,难以满足双网双主冗余的复杂应用,另一方面简化的协议栈多为非商用版本,不能保证可靠性。
[0007]2.控制器通过外部现场总线转Modbus TCP以太网的网关。该方案的优点是中低端嵌入式控制器无需进行软件升级即可接入以太网。但缺点一方面是集成度低,要求控制系统中增设额外的设备,降低可靠性,另一方面是控制器与外部现场总线通信速率受限制,难以满足高速大容量的双网双主通信应用。
[0008]3.采用板载的串行总线如SPI/UART转Modbus TCP以太网的网关模块。该方案的优点是集成度高,中低端嵌入式控制器软件改动小。但缺点是现有报道产品功能过于简单,没有针对双网双主冗余系统进行特殊设计。现有报道产品而只针对了单网络来实现ModbusRTU到Modbus TCP的数据包的透明收发,且其网络通信的服务器/客户端角色固定,双主机同时在线时存在竞争问题,无法满足对双网双主络系统的应用要求。

【发明内容】

[0009]为克服上述传统方案中的种种问题,本发明提出一种支持双网双主冗余的ModbusRTU/TCP网关装置,该装置允许中低端嵌入式控制器以较低的成本和较高的可靠性以主站方式接入双网双主冗余的Modbus TCP网络。
[0010]为实现上述目的,本发明的技术方案如下。
[0011]一种支持双网双主冗余的Modbus RTU/TCP网关装置,其特征在于:包括处理器单元1、总线接口单元2、第一以太网口单元3和第二以太网口单元4,所述处理器单元I通过独立的信号线与第一以太网口单元3和第二以太网口单元4分别相连,所述处理器单元I还通过信号线与总线接口单元2相连。
[0012]第一以太网口单元3通过一组网线321连接到第一以太网323,第二以太网口单元4通过另一组网线322连接到第二以太网324,第一以太网323及第二以太网324上采用的通信协议为Modbus TCP协议,总线接口单元2通过总线33与本地嵌入式控制器34相连,本地嵌入式控制器34与网关装置31之间应用层的通信协议为Modbus RTU协议。
[0013]网关装置软件41在功能上位于多层模型的物理层、链路层、IP层以及TCP层,本地嵌入式控制器软件42位于应用层,网关装置软件41通过Modbus RTU方式与本地嵌入式控制器软件42通信;网关装置软件41通过以太网与网络上远端的设备软件43建立Modbus TCP连接;远端设备软件43对本地设备而言,也可以视为由应用层的软件431以及物理层、链路层、IP层以及TCP层的软件432组成。
[0014]网关装置软件41将收到的本地嵌入式控制器软件42的ModbusRTU数据包转换为Modbus TCP数据包,并发送给相应的远端设备软件43;同时将从远端设备软件43发来的Modbus TCP数据包转换为Modbus RTU数据包,并发送给本地嵌入式控制器软件42;对本地嵌入式控制器软件42而言,整个通信过程就像是通过一条虚拟的MODBUS RTU现场总线在与远端的MODBUS RTU设备软件431在通信。
[0015]本发明支持双网双主冗余的ModbusRTU/TCP网关装置的软件在结构上具有以下特征:网关装置的软件41在功能上包括服务器模块511、主站客户端模块512、从站客户端模块513和本地控制器通信模块514;所述服务器模块511用于与网络上的从站客户端建立Modbus TCP连接和交互数据;所述主站客户端模块512用于与网络上的另一个主站的服务器模块建立Modbus TCP连接和交互数据;所述从站客户端模块513用于与网络上的从站服务器建立Modbus TCP连接和交互数据;所述本地控制器通信模块514用于与本地嵌入式控制器通信进行Modbus RTU通信;服务器模块511、主站客户端模块512和从站客户端模块513同时存在,并彼此独立,互不影响;从站客户端模块513可以包含一个或多个客户端副本,以便同时访问网络上的多个从站服务器;本地控制器通信模块514分别与服务器模块511、主站客户端模块512、从站客户端模块513进行双向数据交互,完成Modbus RTU到Modbus TCP的协议转换。
[0016]本发明支持双网双主冗余的ModbusRTU/TCP网关装置的软件模块的对外数据的Modbus TCP连接关系具有以下特征:
(I)在该双网双主控制系统中,包括了两个相同的主站(第一主站与第二主站)以及若干从站。对应在软件上,包括了运行在第一主站上的主站软件61,运行在第二主站上的主站软件62以及运行在若干从站上的从站客户端软件63、运行在若干从站上的从站服务器软件64。主站软件61在功能上由服务器模块611、主站客户端模块612和从站客户端模块613组成。服务器模块611、主站客户端模块612和从站客户端模块613同时存在,并彼此独立,互不影响。主站软件62与主站软件61完全相同,在功能上也由服务器模块621、主站客户端模块622和从站客户端模块623组成。
[0017](2)在第一主站与第二主站都正常运行的情况下,第一主站的主站客户端模块612主动建立与第二主站的服务器模块621的连接,二者可双向交换数据(例如备份控制数据);同时,第二主站的主站客户端模块622也主动建立与第一主站的服务器模块611的连接,二者可双向交换数据(例如备份控制数据);当第一主站或第二主站故障时,第一主站、第二主站之间无通信需求;当所故障主站恢复运行时,上述连接重新建立;由此可以使得双主站互为热备份,在任何一个主站故障的情况下,另一个主站依然能够无缝地切入并继续执行控制任务。
[0018](3)若干从站客户端软件63主动建立与第一主站的服务器模块611、以及与第二主站的服务器模块621的连接,并且进行双向数据交换。
[0019](4)第一主站的从站客户端模块613、以及与第二主站的从站客户端模块623主动建立与若干从站服务器软件64的连接,并且进行双向数据交换。
[0020](5)上述的Modbus TCP连接关系同时在两个网络中都存在,并且彼此独立。
[0021]本发明支持双网双主冗余的Modbus RTU/TCP网关装置在应用层即虚拟ModbusRTU总线上的数据连接关系具有以下特征:系统中包括第一主站71和第二主站72,以及N个从站731、732、…,73N。每个主站都包含4个虚拟Modbus RTU站号,每个从站都包含2个虚拟Modbus RTU站号。所有虚拟Modbus RTU站号在I?255之间进行统一编址;虚拟Modbus RTU站号与数据连接(751,752至75k)—一对应;第一主站71和第二主站72以及N个从站均通过数据连接接入到虚拟Modbus RTU总线4,共计建立起k=8+2N个数据连接;虚拟Modbus RTU总线4上的设备没有主从之分。
[0022]本发明支持双网双主冗余的Modbus RTU/TCP网关装置在应用层即虚拟ModbusRTU站号与IP地址之间的映射关系具有以下特征:
(I)第一主站71的网关装置通过两个独立的以太网口连接到网段I和网段2上,这两个独立的网段为网段I和网段2;第一主站71在网段I上有且仅有一个唯一的IP地址,S卩IP11。第一主站71在网段2上有且仅有一个唯一的IP地址,即IP21。
[0023](2)第一主站71在网段I上作为客户端进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNolI。
[0024](3)第一主站71在网段I上作为服务器进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNol2。
[0025](4)第一主站71在网段2上作为客户端进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNo21。
[0026](5)第一主站71在网段2上作为服务器进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNo22。
[0027](6)第二主站72的软件与第一主站71相同,映射也遵循相同的映射规则。
[0028](7)其余若干从站也是通过两个独立的以太网口连接到网段I和网段2上,在每个网段上有且仅有一个唯一的IP地址。每个从站仅作为客户端或者服务器的一种在以太网上进行通信。无论是作为客户端还是服务器,每个从站的每个IP地址对应一个唯一的虚拟Modbus RTU总线站号。
[0029]本发明的优点在于:
1、功能完备。本发明的装置能够完整地让中低端嵌入式控制器以主站方式接入双网双主冗余的Modbus TCP网络,使得嵌入式控制器实现全双工通信并无需担心双主冲突,还能保持所有通信连接并行地存在。
[0030]2、集成度高,性能高。本发明的网关装置采用载板方式,通过并行或串行总线与中低端嵌入式控制器接口,集成度更高。同时载板方式也使得中低端嵌入式控制器能够以很高的通信速率参与网络通信,满足高性能的双网双主冗余通信性能要求。
[0031]3、可靠性好。本发明的网关装置独立于中低端嵌入式控制器,能够专注于网络通信功能,网关装置采用标准的TCP/IP协议栈实现网络接入功能,从而保证更高的可靠性。
[0032]4、使控制器开发成本低,易于实现。本发明的网关装置与中低端嵌入式控制器之间的通信采用Modbus RTU方式,使得中低端嵌入式控制器的软件开发成本低,易于实现。
【附图说明】
[0033]图1是双网双主控制系统的典型拓扑结构。
[0034]图2是本发明支持双网双主冗余的ModbusRTU/TCP网关装置的一种实施例结构示意图。
[0035]图3是本发明支持双网双主冗余的ModbusRTU/TCP网关装置的一种实施例与本地嵌入式控制器及网络的连接示意图。
[0036]图4是本发明支持双网双主冗余的ModbusRTU/TCP网关装置的一种实施例的软件功能多层模型。
[0037]图5是本发明支持双网双主冗余的ModbusRTU/TCP网关装置的一种实施例的软件结构示意图。
[0038]图6是本发明支持双网双主冗余的ModbusRTU/TCP网关装置的一种实施例的软件在双网双主控制系统中的Modbus TCP数据连接关系示意图。
[0039]图7是本发明支持双网双主冗余的ModbusRTU/TCP网关装置的一种实施例的软件在双网双主控制系统中的虚拟Modbus RTU总线上的数据连接关系示意图。
[0040]图8是本发明支持双网双主冗余的ModbusRTU/TCP网关装置的一种实施例的Modbus站号/IP地址映射方式示例。
[0041 ]图9是本发明支持双网双主冗余的Modbus RTU/TCP网关装置的另一种实施例的Modbus站号/IP地址映射方式示例。
【具体实施方式】
[0042] 实施例1一种支持双网双主冗余的Modbus RTU/TCP网关装置包括处理器单元1、总线接口单元
2、第一以太网口单元3和第二以太网口单元4,所述处理器单元I通过独立的信号线与第一以太网口单元3和第二以太网口单元4分别相连,所述处理器单元I还通过信号线与总线接口单元2相连。本发明的装置能够完整地让中低端嵌入式控制器以主站方式接入双网双主冗余的Modbus TCP网络,使得嵌入式控制器实现全双工通信并无需担心双主冲突,还能保持所有通信连接并行地存在。
[0043]实施例2
一种支持双网双主冗余的Modbus RTU/TCP网关装置包括处理器单元1、总线接口单元
2、第一以太网口单元3和第二以太网口单元4,所述处理器单元I通过独立的信号线与第一以太网口单元3和第二以太网口单元4分别相连,所述处理器单元I还通过信号线与总线接口单元2相连。
[0044]第一以太网口单元3通过一组网线321连接到第一以太网323,第二以太网口单元4通过另一组网线322连接到第二以太网324,第一以太网323及第二以太网324上采用的通信协议为Modbus TCP协议,总线接口单元2通过总线33与本地嵌入式控制器34相连,本地嵌入式控制器34与网关装置31之间应用层的通信协议为Modbus RTU协议。
[0045]网关装置软件41在功能上位于多层模型的物理层、链路层、IP层以及TCP层,本地嵌入式控制器软件42位于应用层,网关装置软件41通过Modbus RTU方式与本地嵌入式控制器软件42通信;网关装置软件41通过以太网与网络上远端的设备软件43建立Modbus TCP连接;远端设备软件43对本地设备而言,也可以视为由应用层的软件431以及物理层、链路层、IP层以及TCP层的软件432组成。
[0046]网关装置软件41将收到的本地嵌入式控制器软件42的ModbusRTU数据包转换为Modbus TCP数据包,并发送给相应的远端设备软件43;同时将从远端设备软件43发来的Modbus TCP数据包转换为Modbus RTU数据包,并发送给本地嵌入式控制器软件42;对本地嵌入式控制器软件42而言,整个通信过程就像是通过一条虚拟的MODBUS RTU现场总线在与远端的MODBUS RTU设备软件431在通信。
[0047]本发明支持双网双主冗余的Modbus RTU/TCP网关装置的软件在结构上具有以下特征:网关装置的软件41在功能上包括服务器模块511、主站客户端模块512、从站客户端模块513和本地控制器通信模块514;所述服务器模块511用于与网络上的从站客户端建立Modbus TCP连接和交互数据;所述主站客户端模块512用于与网络上的另一个主站的服务器模块建立Modbus TCP连接和交互数据;所述从站客户端模块513用于与网络上的从站服务器建立Modbus TCP连接和交互数据;所述本地控制器通信模块514用于与本地嵌入式控制器通信进行Modbus RTU通信;服务器模块511、主站客户端模块512和从站客户端模块513同时存在,并彼此独立,互不影响;从站客户端模块513可以包含一个或多个客户端副本,以便同时访问网络上的多个从站服务器;本地控制器通信模块514分别与服务器模块511、主站客户端模块512、从站客户端模块513进行双向数据交互,完成Modbus RTU到Modbus TCP的协议转换。
[0048]本发明支持双网双主冗余的ModbusRTU/TCP网关装置的软件模块的对外数据的Modbus TCP连接关系具有以下特征:
在该双网双主控制系统中,包括了两个相同的主站(第一主站与第二主站)以及若干从站。对应在软件上,包括了运行在第一主站上的主站软件61,运行在第二主站上的主站软件62以及运行在若干从站上的从站客户端软件63、运行在若干从站上的从站服务器软件64。主站软件61在功能上由服务器模块611、主站客户端模块612和从站客户端模块613组成。服务器模块611、主站客户端模块612和从站客户端模块613同时存在,并彼此独立,互不影响。主站软件62与主站软件61完全相同,在功能上也由服务器模块621、主站客户端模块622和从站客户端模块623组成。
[0049]在第一主站与第二主站都正常运行的情况下,第一主站的主站客户端模块612主动建立与第二主站的服务器模块621的连接,二者可双向交换数据(例如备份控制数据);同时,第二主站的主站客户端模块622也主动建立与第一主站的服务器模块611的连接,二者可双向交换数据(例如备份控制数据);当第一主站或第二主站故障时,第一主站、第二主站之间无通信需求;当所故障主站恢复运行时,上述连接重新建立;由此可以使得双主站互为热备份,在任何一个主站故障的情况下,另一个主站依然能够无缝地切入并继续执行控制任务。
[0050]若干从站客户端软件63主动建立与第一主站的服务器模块611、以及与第二主站的服务器模块621的连接,并且进行双向数据交换。
[0051 ]第一主站的从站客户端模块613、以及与第二主站的从站客户端模块623主动建立与若干从站服务器软件64的连接,并且进行双向数据交换。
[0052]上述的Modbus TCP连接关系同时在两个网络中都存在,并且彼此独立。
[0053]本发明支持双网双主冗余的Modbus RTU/TCP网关装置在应用层即虚拟ModbusRTU总线上的数据连接关系具有以下特征:系统中包括第一主站71和第二主站72,以及N个从站731、732、…,73N。每个主站都包含4个虚拟Modbus RTU站号,每个从站都包含2个虚拟Modbus RTU站号。所有虚拟Modbus RTU站号在I?255之间进行统一编址;虚拟Modbus RTU站号与数据连接(751,752至75k)—一对应;第一主站71和第二主站72以及N个从站均通过数据连接接入到虚拟Modbus RTU总线4,共计建立起k=8+2N个数据连接;虚拟Modbus RTU总线4上的设备没有主从之分。
[0054]本发明支持双网双主冗余的Modbus RTU/TCP网关装置在应用层即虚拟ModbusRTU站号与IP地址之间的映射关系具有以下特征:
第一主站71的网关装置通过两个独立的以太网口连接到网段I和网段2上,这两个独立的网段为网段I和网段2;第一主站71在网段I上有且仅有一个唯一的IP地址,S卩IPll。第一主站71在网段2上有且仅有一个唯一的IP地址,即IP21。
[0055]第一主站71在网段I上作为客户端进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNolI。
[0056]第一主站71在网段I上作为服务器进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNol2。
[0057]第一主站71在网段2上作为客户端进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNo21。
[0058]第一主站71在网段2上作为服务器进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNo22。
[0059]第二主站72的软件与第一主站71相同,映射也遵循相同的映射规则。
[0060]其余若干从站也是通过两个独立的以太网口连接到网段I和网段2上,在每个网段上有且仅有一个唯一的IP地址。每个从站仅作为客户端或者服务器的一种在以太网上进行通信。无论是作为客户端还是服务器,每个从站的每个IP地址对应一个唯一的虚拟ModbusRTU总线站号。
[0061]本发明的功能完备。本发明的装置能够完整地让中低端嵌入式控制器以主站方式接入双网双主冗余的Modbus TCP网络,使得嵌入式控制器实现全双工通信并无需担心双主冲突,还能保持所有通信连接并行地存在。
[0062]集成度高,性能高。本发明的网关装置采用载板方式,通过并行或串行总线与中低端嵌入式控制器接口,集成度更高。同时载板方式也使得中低端嵌入式控制器能够以很高的通信速率参与网络通信,满足高性能的双网双主冗余通信性能要求。
[0063]可靠性好。本发明的网关装置独立于中低端嵌入式控制器,能够专注于网络通信功能,网关装置采用标准的TCP/IP协议栈实现网络接入功能,从而保证更高的可靠性。
[0064]使控制器开发成本低,易于实现。本发明的网关装置与中低端嵌入式控制器之间的通信采用Modbus RTU方式,使得中低端嵌入式控制器的软件开发成本低,易于实现。
[0065]实施例3
如图2所示。本发明一种支持双网双主冗余的Modbus RTU/TCP网关装置由处理器单元
1、总线接口单元2、第一以太网口单元3、第二以太网口单元4组成。处理器单元I是本装置的核心,由它上面运行的软件来实现Modbus RTU与Modbus TCP协议间的转换。处理器单元I通常包括了最核心的数字信号处理芯片及其必须的外设如电源等。处理器单元I中的数字信号处理芯片通常要擅于进行较为复杂的网络通信,如ARM系列芯片等。总线接口单元2通常由板上总线接口芯片及其周边电路组成。总线接口单元2可以是典型的串行总线(UART、SPI)接口等,也可以是并行总线接口。第一以太网口单元3和以太网网口单元2是完全相同但彼此独立的模块。以太网口单元通常由以太网的物理层接口芯片和网口接口电路组成,但也有以太网的物理层接口芯片集成到处理器单元I的情况,这时以太网口单元就只包含网口的接口电路。处理器单元I一方面通过板上独立的信号线与第一以太网口单元3和2分别相连,以此保证双网络的完全独立性,另一方面通过板上信号线与总线接口单元2相连。
[0066]如图3所示。本发明一种支持双网双主冗余的Modbus RTU/TCP网关装置31的第一以太网口单元3通过一组网线321连接到第一以太网323,第二以太网口单元4通过另一组网线322连接到第二以太网324。第一以太网323及第二以太网324上采用的通信协议为ModbusTCP协议。第一以太网口单元3和第二以太网口单元4独立工作,互不影响。第一以太网口单元3相关的通信故障对第二以太网口单元4没有影响,反之亦然,如此使得本发明装置具有支持双网络冗余的能力。本发明的网关装置31的总线接口单元2通过总线33与本地嵌入式控制器34相连,本地嵌入式控制器34与本发明的网关装置31之间应用层的通信协议为Modbus RTU协议。值得指出,板上总线在物理层上可以是典型的串行总线,如UART、SP1、IIC等,也可以是并行总线,如地址数据总线等。但无论物理层实现如何,本地嵌入式控制器与本发明的网关之间的应用层通信协议为Modbus RTU协议。
[0067]如图4所示。本发明支持双网双主冗余的Modbus RTU/TCP网关装置的一种实施例的软件功能用多层模型来描述。本发明的网关装置软件41在功能上位于多层模型的物理层、链路层、IP层以及TCP层。本地嵌入式控制器软件42位于应用层。本发明的网关装置软件41通过Modbus RTU方式与本地嵌入式控制器软件42通信。同时,本发明的网关装置软件41通过以太网与网络上远端的设备软件43建立Modbus TCP连接。远端设备软件43对本地设备而言,也可以视为由应用层的软件431以及物理层、链路层、IP层以及TCP层的软件432组成。
[0068]通过本发明的网关装置软件41将收到的本地嵌入式控制器软件42的ModbusRTU数据包转换为Modbus TCP数据包,并发送给相应的远端设备软件43;同时将从远端设备软件43发来的Modbus TCP数据包转换为Modbus RTU数据包,并发送给本地嵌入式控制器软件42。对本地嵌入式控制器软件42而言,底层的网络通信过程完全透明,整个通信过程就像是通过一条虚拟的MODBUS RTU现场总线在与远端的MODBUS RTU设备软件431在通信。而这对于本地嵌入式控制器的通信软件开发者来说非常直观和方便。
[0069]如图5所示。本发明支持双网双主冗余的Modbus RTU/TCP网关装置的一种实施例的软件41在功能上由服务器模块511、主站客户端模块512、从站客户端模块513和本地控制器通信模块514组成。其中服务器模块511用于与网络上的从站客户端建立Modbus TCP连接和交互数据。主站客户端模块512用于与网络上的另一个主站的服务器模块建立ModbusTCP连接和交互数据。从站客户端模块513用于与网络上的从站服务器建立Modbus TCP连接和交互数据。本地控制器通信模块514用于与本地嵌入式控制器通信进行Modbus RTU通信。服务器模块511、主站客户端模块512和从站客户端模块513同时存在,并彼此独立,互不影响,例如它们运行在操作系统独立的线程或者进程中。从站客户端模块513可以包含一个或多个客户端副本,以便同时访问网络上的多个从站服务器。本地控制器通信模块514分别与服务器模块511、主站客户端模块512、从站客户端模块513进行双向数据交互,完成ModbusRTU到Modbus TCP的协议转换。
[0070]如图6所示。本发明支持双网双主冗余的Modbus RTU/TCP网关装置的一种实施例示意了在双网双主控制系统中,本发明网关装置的软件模块的对外数据的Modbus TCP连接关系。在该双网双主控制系统中,包括了两个相同的主站(第一主站与第二主站)以及若干从站。对应在软件上,包括了运行在第一主站上的主站软件61,运行在第二主站上的主站软件62以及运行在若干从站上的从站客户端软件63、运行在若干从站上的从站服务器软件64。主站软件61在功能上由服务器模块611、主站客户端模块512和从站客户端模块513组成。服务器模块611、主站客户端模块512和从站客户端模块513同时存在,并彼此独立,互不影响。主站软件62与主站软件61完全相同,在功能上也由服务器模块621、主站客户端模块622和从站客户端模块623组成。
[0071]在第一主站与第二主站都正常运行的情况下,第一主站的主站客户端模块612主动建立与第二主站的服务器模块621的连接,二者可双向交换数据(例如备份控制数据);同时,第二主站的主站客户端模块622也主动建立与第一主站的服务器模块611的连接,二者可双向交换数据(例如备份控制数据)。当第一主站或第二主站故障时,第一主站、第二主站之间无通信需求。当所故障主站恢复运行时,上述连接重新建立。由此可以使得双主站互为热备份,在任何一个主站故障的情况下,另一个主站依然能够无缝地切入并继续执行控制任务,进而提高整个控制系统的可靠性。
[0072]若干从站客户端软件63主动建立与第一主站的服务器模块611、以及与第二主站的服务器模块621的连接,并且进行双向数据交换。这使得第一主站、第二主站能够响应从站客户端的一些操作指令、并回传反馈的状态数据。
[0073]第一主站的从站客户端模块613、以及与第二主站的从站客户端模块623主动建立与若干从站服务器软件64的连接,并且进行双向数据交换。这使得第一主站、第二主站能够对各个从站下发一些操作指令、并获得其反馈的状态数据。
[0074]上述的Modbus TCP连接关系同时在两个网络中都存在,并且彼此独立。
[0075]如图7所示。本发明支持双网双主冗余的Modbus RTU/TCP网关装置在应用层即虚拟Modbus RTU总线上的数据连接关系。系统中包括第一主站71和第二主站72,以及N个从站731、732、...,73Ν。每个主站都包含4个虚拟Modbus RTU站号,每个从站都包含2个虚拟Modbus RTU站号。所有虚拟Modbus RTU站号在I?255之间进行统一编址。虚拟Modbus RTU站号与数据连接(751,752至75k)——对应。第一主站71和第二主站72以及N个从站均通过数据连接接入到虚拟Modbus RTU总线4,共计建立起k=8+2N个数据连接。虚拟Modbus RTU总线4上的设备没有主从之分,这与标准的Modbus RTU总线不同。本发明网关的这一设计使得所有本地嵌入式控制器都可以同时发起虚拟Modbus RTU通信,并且不必担心会发生双主机冲突问题。
[0076]如图8所示。本发明支持双网双主冗余的Modbus RTU/TCP网关装置的一种实施例在虚拟Modbus RTU站号与IP地址之间建立映射关系。该映射关系保存在本发明的网关装置的内部软件中。接入双网双主系统的主站设备的虚拟Modbus RTU站号与IP地址之间的映射关系按照以下规则来设计:
(I)第一主站71的网关装置通过两个独立的以太网口连接到网段I和网段2上,这两个独立的网段为网段I和网段2。第一主站71在网段I上有且仅有一个唯一的IP地址,S卩IP11。第一主站71在网段2上有且仅有一个唯一的IP地址,即IP21。
[0077](2)第一主站71在网段I上作为客户端进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNolI。
[0078](3)第一主站71在网段I上作为服务器进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNol2。
[0079](4)第一主站71在网段2上作为客户端进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNo21。
[0080](5)第一主站71在网段2上作为服务器进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上有且仅有一个唯一的站号StNo22。
[0081](6)第二主站72的软件与第一主站71相同,映射也遵循相同的映射规则。
[0082](7)其余若干从站也是通过两个独立的以太网口连接到网段I和网段2上,在每个网段上有且仅有一个唯一的IP地址。每个从站仅作为客户端或者服务器的一种在以太网上进行通信。无论是作为客户端还是服务器,每个从站的每个IP地址对应一个唯一的虚拟Modbus RTU总线站号。
[0083]如图9所示。本发明支持双网双主冗余的Modbus RTU/TCP网关装置的一种实施例在虚拟Modbus RTU站号与IP地址之间建立映射关系。该映射关系保存在本发明的网关装置的内部软件中。该实施例中接入双网双主系统的主站设备的虚拟Modbus RTU站号与IP地址之间的映射关系设计如下:
(I)第一主站71的网关装置通过两个独立的以太网口连接到网段I和网段2上,这两个独立的网段为网段I和网段2。第一主站71在网段I上的IP为192.168.1.1,在网段2上的IP为192.168.2.1ο
[0084](2)第一主站71在网段I上作为客户端进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上的站号为I。第一主站71在网段I上作为服务器进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上的站号为2。
[0085](3)第一主站71在网段2上作为客户端进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上的站号为21。第一主站71在网段2上作为服务器进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上的站号为22。
[0086](4)第二主站72的网关装置通过两个独立的以太网口连接到网段I和网段2上。第二主站72在网段I上的IP为192.168.1.3,在网段2上的IP为192.168.2.3。
[0087](5)第二主站72在网段I上作为客户端进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上的站号为3。第一主站71在网段I上作为服务器进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上的站号为4。
[0088](6)第二主站72在网段2上作为客户端进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上的站号为23。第一主站71在网段2上作为服务器进行通信时,其本地嵌入式控制器在虚拟Modbus RTU总线上的站号为24。
[0089](7)第一从站731在网段I上作为客户端进行通信,IP为192.168.1.5,对应在虚拟Modbus RTU总线上的站号为5。在网段2上为客户端进行通信,IP为192.168.2.5,对应在虚拟Modbus RTU总线上的站号为25。
[0090](8)第二从站732在网段I上作为客户端进行通信,IP为192.168.1.6,对应在虚拟Modbus RTU总线上的站号为6。在网段2上为客户端进行通信,IP为192.168.2.6,对应在虚拟Modbus RTU总线上的站号为26。
[0091](9)第三从站733在网段I上作为服务器进行通信,IP为192.168.1.7,对应在虚拟Modbus RTU总线上的站号为7。在网段2上为客户端进行通信,IP为192.168.2.7,对应在虚拟Modbus RTU总线上的站号为27。
[0092](10)第四从站734在网段I上作为服务器进行通信,IP为192.168.1.8,对应在虚拟Modbus RTU总线上的站号为8。在网段2上为客户端进行通信,IP为192.168.2.8,对应在虚拟Modbus RTU总线上的站号为28。
[0093](11)第五从站735在网段I上作为服务器进行通信,IP为192.168.1.9,对应在虚拟Modbus RTU总线上的站号为9。在网段2上为客户端进行通信,IP为192.168.2.9,对应在虚拟Modbus RTU总线上的站号为29。
【主权项】
1.一种支持双网双主冗余的Modbus RTU/TCP网关装置,其特征在于:包括处理器单元(I)、总线接口单元(2)、第一以太网口单元(3)和第二以太网口单元(4),所述处理器单元(I)通过独立的信号线与第一以太网口单元(3)和第二以太网口单元(4)分别相连,所述处理器单元(I)还通过信号线与总线接口单元(2)相连。2.根据权利要求1所述的一种支持双网双主冗余的ModbusRTU/TCP网关装置,其特征在于:第一以太网口单元(3)通过一组网线(321)连接到第一以太网(323),第二以太网口单元(4)通过另一组网线(322)连接到第二以太网(324),第一以太网(323)及第二以太网(324)上采用的通信协议为Modbus TCP协议,总线接口单元(2)通过总线(33)与本地嵌入式控制器(34)相连,本地嵌入式控制器(34)与网关装置(31)之间应用层的通信协议为ModbusRTU协议。3.根据权利要求2所述的一种支持双网双主冗余的ModbusRTU/TCP网关装置,其特征在于:还包括网关装置软件(41),所述网关装置软件(41)在功能上位于多层模型的物理层、链路层、IP层以及TCP层,本地嵌入式控制器软件(42)位于应用层,网关装置软件(41)通过Modbus RTU方式与本地嵌入式控制器软件(42)通信;网关装置软件(41)通过以太网与网络上远端的设备软件(43)建立Modbus TCP连接。4.根据权利要求3所述的一种支持双网双主冗余的ModbusRTU/TCP网关装置,其特征在于:网关装置软件(41)将收到的本地嵌入式控制器软件(42)的Modbus RTU数据包转换为Modbus TCP数据包,并发送给相应的远端设备软件(43);同时将从远端设备软件(43)发来的Modbus TCP数据包转换为Modbus RTU数据包,并发送给本地嵌入式控制器软件(42)。5.根据权利要求3所述的一种支持双网双主冗余的ModbusRTU/TCP网关装置,其特征在于:软件为网关装置的软件(41)在功能上包括服务器模块(511)、主站客户端模块(512)、从站客户端模块(513)和本地控制器通信模块(514);所述服务器模块(511)用于与网络上的从站客户端建立Modbus TCP连接和交互数据;所述主站客户端模块(512)用于与网络上的另一个主站的服务器模块建立Modbus TCP连接和交互数据;所述从站客户端模块(513)用于与网络上的从站服务器建立Modbus TCP连接和交互数据;所述本地控制器通信模块(514)用于与本地嵌入式控制器通信进行Modbus RTU通信;服务器模块(511)、主站客户端模块(512)和从站客户端模块(513)同时存在;从站客户端模块(513)包含一个或多个客户端副本,以便同时访问网络上的多个从站服务器;本地控制器通信模块(514)分别与服务器模块(511)、主站客户端模块(512)、从站客户端模块(513 )进行双向数据交互,完成ModbusRTU到Modbus TCP的协议转换。6.根据权利要求3所述的一种支持双网双主冗余的ModbusRTU/TCP网关装置,其特征在于:网关装置的软件(41)的对外数据的Modbus TCP连接关系具有以下特征:在该双网双主控制系统中,包括了两个相同的第一主站和第二主站以及若干从站;对应在软件上,包括了运行在第一主站上的主站软件(61),运行在第二主站上的主站软件(62)以及运行在若干从站上的从站客户端软件(63)、运行在若干从站上的从站服务器软件(64);主站软件(61)在功能上包括服务器模块(611)、主站客户端模块(612)和从站客户端模块(613);服务器模块(611)、主站客户端模块(612)和从站客户端模块(613)同时存在;主站软件(62)与主站软件(61)完全相同,在功能上也包括服务器模块(621)、主站客户端模块(622)和从站客户端模块(623)。7.根据权利要求6所述的一种支持双网双主冗余的ModbusRTU/TCP网关装置,其特征在于:在第一主站与第二主站都正常运行的情况下,第一主站的主站客户端模块(612)主动建立与第二主站的服务器模块(621)的连接,二者可双向交换数据;同时,第二主站的主站客户端模块(622)也主动建立与第一主站的服务器模块(611)的连接,二者可双向交换数据;当第一主站或第二主站故障时,第一主站、第二主站之间无通信需求;当所故障主站恢复运行时,上述连接重新建立;由此可以使得双主站互为热备份,在任何一个主站故障的情况下,另一个主站依然能够无缝地切入并继续执行控制任务; 若干从站客户端软件(63)主动建立与第一主站的服务器模块(611)、以及与第二主站的服务器模块(621)的连接,并且进行双向数据交换; 第一主站的从站客户端模块(613)、以及与第二主站的从站客户端模块(623)主动建立与若干从站服务器软件(64)的连接,并且进行双向数据交换; 上述的Modbus TCP连接关系同时在两个网络中都存在,并且彼此独立。8.根据权利要求3所述的一种支持双网双主冗余的ModbusRTU/TCP网关装置,其特征在于:在应用层即虚拟Modbus RTU总线上的数据连接关系具有以下特征:系统中包括第一主站(71)和第二主站(72),以及N个从站(731、732、...,73Ν;每个主站都包含4个虚拟ModbusRTU站号,每个从站都包含2个虚拟Modbus RTU站号;所有虚拟Modbus RTU站号在I?255之间进行统一编址;虚拟Modbus RTU站号与数据连接(751、752、."75k)——对应;第一主站(71)和第二主站(72)以及N个从站均通过数据连接接入到虚拟Modbus RTU总线(4),共计建立起k=8+2N个数据连接;虚拟Modbus RTU总线(4)上的设备没有主从之分。9.根据权利要求8所述的一种支持双网双主冗余的ModbusRTU/TCP网关装置,其特征在于:在应用层即虚拟Modbus RTU站号与IP地址之间的映射关系具有以下特征:第一主站(71)的网关装置通过两个独立的以太网口连接到网段I和网段2上,这两个独立的网段为网段I和网段2;第一主站(71)在网段I上有且仅有一个唯一的IP地址,S卩IPll; 第一主站(71)在网段2上有且仅有一个唯一的IP地址,S卩IP21; 第一主站(71)在网段I上作为客户端进行通信时,其本地嵌入式控制器在虚拟ModbusRTU总线上有且仅有一个唯一的站号StNol I; 第一主站(71)在网段I上作为服务器进行通信时,其本地嵌入式控制器在虚拟ModbusRTU总线上有且仅有一个唯一的站号StNol2; 第一主站(71)在网段2上作为客户端进行通信时,其本地嵌入式控制器在虚拟ModbusRTU总线上有且仅有一个唯一的站号StNo21 ; 第一主站(71)在网段2上作为服务器进行通信时,其本地嵌入式控制器在虚拟ModbusRTU总线上有且仅有一个唯一的站号StNo22 ; 第二主站(72 )的软件与第一主站(71)相同,映射也遵循相同的映射规则。10.根据权利要求9所述的一种支持双网双主冗余的ModbusRTU/TCP网关装置,其特征在于:其余若干从站通过两个独立的以太网口连接到网段I和网段2上,在每个网段上有且仅有一个唯一的IP地址;每个从站仅作为客户端或者服务器的一种在以太网上进行通信;无论是作为客户端还是服务器,每个从站的每个IP地址对应一个唯一的虚拟Modbus RTU总线站号。
【文档编号】H04L12/24GK105897574SQ201610359185
【公开日】2016年8月24日
【申请日】2016年5月27日
【发明人】周宏林, 凌乐, 刘静波
【申请人】中国东方电气集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1