双机冗余控制系统及其冗余控制/故障监测方法和装置
技术领域
本申请涉及自动控制技术领域,更具体地说,涉及一种双机冗余控制系统及其冗余控制/故障监测方法和装置。
背景技术
可编程逻辑控制器PLC因其结构简单、易于控制、价格便宜等特点在工业领域得到广泛的应用。然而,在实际应用场景中,PLC的容易因其CPU发生失电或死机、控制网络故障等原因导致被控工业设备失控。对于一些可靠性要求较高的工业系统来说,这是不可接受的,需要相应控制系统能够提供安全可靠的控制,避免被控系统失控。
发明内容
有鉴于此,本申请提供一种双机冗余控制系统及其冗余控制/故障监测方法和装置,用于为工业系统提供安全可靠的控制,以避免被控系统失控。
为了实现上述目的,现提出的方案如下:
一种双机冗余控制系统,包括主备关系的第一PLC设备和第二PLC设备,还包括第一IO模块和第二IO模块,其中:
所述第一PLC设备包括第一电源模块、第一CPU、第一总线通讯模块和第一冗余通讯模块,所述第二PLC设备包括第二电源模块、第二CPU、第二总线通讯模块和第二冗余通讯模块;
所述第一冗余通讯模块与所述第二冗余通讯模块通过线缆连接,用于用户组态逻辑运算结果的同步通信;
所述第一总线通讯模块通过第一总线分别与所述第一IO模块、所述第二IO模块、所述第二总线通讯模块连接;
所述第二总线通讯模块通过第二总线分别与所述第二IO模块、所述第一IO模块、所述第一总线通讯模块连接。
可选的,所述线缆为冗余线缆。
可选的,所述第一通讯总线和所述第二通讯总线均为Profibus-DP总线、POWERLINK总线或CANopen总线。
可选的,所述第一CPU与外设之间通过第一高速串行总线和第一低速串行总线连接;
所述第二CPU与外设之间通过第二高速串行总线和第二低速串行总线连接。
可选的,所述第一CPU与外设之间通过数据块的方式进行通信,所述第二CPU与外设之间通过数据块的方式进行通信。
一种冗余控制方法,应用于如上所述的双机冗余控制系统的第一PLC设备或第二PLC设备,所述冗余控制方法包括步骤:
获取现场传感器采集的现场参数;
判断本机为主机还是备机;
如果本机是主机则根据所述现场参数执行用户组态逻辑运算,向数据总线输出所述控制数据,以使所述控制数据输出至被控设备;
如果是备机则从所述数据总线接收所述控制数据,并利用所述控制数据对自身的数据区进行更新。
一种冗余控制装置,应用于如上所述的双机冗余控制系统,所述冗余控制装置包括:
参数采集模块,用于获取现场传感器采集的现场参数;
主从判断模块,用于判断本机主机还是备机;
第一执行模块,用于如果是主机则根据所述现场参数执行用户组态逻辑,向数据总线输出所述控制数据,以使所述控制数据输出至被控设备;
第二执行模块,用于如果是备机则从所述数据总线接收所述控制数据,并利用所述控制数据对自身的数据区进行更新。
一种故障监测方法,应用于如上所述的双机冗余控制系统的第一PLC设备或者第二PLC设备,所述故障监测方法包括步骤:
按插槽位置依次轮询扩展模块的故障诊断状态,并广播所述故障诊断状态;
监听所述故障诊断状态;
通过监听所述故障诊断状态如果发现当前主机发生故障,则将当前备机升级为主机。
一种故障监测装置,应用于如上所述的双机冗余控制系统的第一PLC设备或者第二PLC设备,所述故障监测装置包括:
故障监控模块,用于按插槽位置依次轮询扩展模块的故障诊断状态,并广播所述故障诊断状态;
故障监听模块,用于监听所述故障诊断状态;
故障处置模块,用于通过监听所述故障诊断状态如果发现当前主机发生故障,则将当前备机升级为主机。
从上述的技术方案可以看出,本申请公开了一种双机冗余控制系统及其冗余控制/故障监测方法和装置,该系统包括第一PLC设备、第二PLC设备、第一IO模块和第二IO模块。第一PLC设备包括第一电源模块、第一CPU、第一总线通讯模块和第一冗余通讯模块,第二PLC设备包括第二电源模块、第二CPU、第二总线通讯模块和第二冗余通讯模块;第一冗余通讯模块与第二冗余通讯模块通过线缆连接,用于用户组态逻辑运算结果的同步通信;第一总线通讯模块通过第一总线分别与第一IO模块、第二IO模块、第二总线通讯模块连接;第二总线通讯模块通过第二总线分别与第二IO模块、第一IO模块、第一总线通讯模块连接。由于总线通讯模块之间通过总线随时进行数据的同步,使成主备关系的PLC设备能够随时在一个PLC设备出现故障时相互冗余替代,避免了被控系统的失控。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的一种双机冗余控制系统的示意图;
图2为本申请实施例的一种冗余控制方法的流程图;
图3为本申请实施例的一种冗余控制装置的框图;
图4为本申请实施例的一种故障检测方法的流程图;
图5为本申请实施例的一种故障检测装置的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图1为本申请实施例的一种双机冗余控制系统的示意图。
如图1所示,本实施例提供的双机冗余控制系统用于对工业现场的被控设备提供控制服务,该系统包括第一PLC设备10、第二PLC设备20、第一IO模块30和第二IO模块40。
该第一PLC设备和第二PLC设备实际为相应的PLC控制器,每个控制器中包括相应的电源模块、CPU、总线通讯模块和冗余通讯模块。这两个PLC设备为一主一备的关系,即在一个PLC设备作为主设备对被控设备提供控制的同时,另一个作为备用设备随时在主设备发生故障时作为主设备投入使用。
电源模块用于为CPU、总线通讯模块和冗余通讯模块提供驱动电压,具备双路24VDC输入;CPU与其他扩展模块之间通过高速串行总线连接,例如通过PCIe串行总线,速率可达2.5Gbps,另外,CPU还与其他扩展模块通过低速串行总线连接,用于接收扩展模块的故障诊断信息,即用于监听其他扩展模块的故障诊断状态。
相应的,为了方便描述,我们将第一PLC设备中内部构成描述为第一电源模块11、第一CPU12、第一总线通讯模块13和第一冗余通讯模块14;同时,将第二PLC设备中内部构成描述为第二电源模块21、第二CPU22、第二总线通讯模块23和第二冗余通讯模块24。
其中,第一冗余通讯模块与第二冗余通讯模块通过线缆50连接,用于对CPU输出的用户组态逻辑运算结果进行同步通讯,以便作为备用设备的PLC设备与作为主设备的PLC设备随时保持数据的一致性。为了提高其可靠性,该线缆为双线结构的冗余线缆。该冗余线缆采用千兆全双工以太网,速率可达1Gbps。
第一总线通讯模块通过第一总线31分别与第一IO模块、第二IO模块、第二总线通讯模块连接;第二总线通讯模块则通过第二总线41与第二IO模块、第一IO模块、第一总线通讯模块连接。上述总线通讯模块用于接收相应IO模块采集的输入信号,还用于向IO模块输出控制信号。
该第一总线和第二总线可以为Profibus-DP总线、POWERLINK总线或CANopen总线。为了适应具体的工业场景,虽然附图中总线通讯模块和IO模块数量有限,其实其数量可以为多个,以便对更多的被控设备实施控制。
该第一IO模块与第二IO模块处于上述第一总线、第二总线连接外,还通过相应的信号线缆与被控设备的信号输入端连接,以实现对被控设备的控制。
从上述技术方案可以看出,本实施例提供了一种双机冗余控制系统,包括第一PLC设备、第二PLC设备、第一IO模块和第二IO模块。第一PLC设备包括第一电源模块、第一CPU、第一总线通讯模块和第一冗余通讯模块,第二PLC设备包括第二电源模块、第二CPU、第二总线通讯模块和第二冗余通讯模块;第一冗余通讯模块与第二冗余通讯模块通过线缆连接,用于用户组态逻辑运算结果的同步通信;第一总线通讯模块通过第一总线分别与第一IO模块、第二IO模块、第二总线通讯模块连接;第二总线通讯模块通过第二总线分别与第二IO模块、第一IO模块、第一总线通讯模块连接。由于总线通讯模块之间通过总线随时进行数据的同步,使成主备关系的PLC设备能够随时在一个PLC设备出现故障时相互冗余替代,避免了被控系统的失控。
本实施例中,第一PLC设备的第一CPU与其外设之间通过第一高速串行总线和第一低速串行总线连接;第二PLC设备的第二CPU与其外设之间通过第二高速串行总线和第二低速串行总线连接。且任一CPU与其外设、如冗余通讯之间进行通信时,将数据分成一定大小的数据块,每次传输一个数据块后再传输下一个数据块,这样对于同一数据块来说是串行传输,而对于不同的数据块来说是并行传输,从而最大限度地发挥硬件的性能。
实施例二
图2为本申请实施例的一种冗余控制方法的流程图。
如图2所示,本实施例提供的冗余控制方法应用于本申请中的双机冗余控制系统,具体来说是应用于该第一PLC设备或者第二PLC设备。该冗余控制方法具体包括如下步骤:
S11、获取现场传感器采集的现场参数。
具体来说是在相应CPU、如第一CPU或第二CPU通过相应的IO模块获取到该IO模块采集的现场参数。
S12、判断本机为主机还是备机。
在获取现场参数之后或同时,对其本身为主机还是备机,其主机或备机的标准是其本身的存储器或寄存器内相应标志位被置入的相应信息,例如相应寄存器被置入的标志位,如果标志位显示为主机则判定自身为主机,相应的如果该标志位显示为备机则判定自身为备机
如果本机为主机则执行步骤S13,如果判定本机为备机则执行步骤S14。
S13、根据现场参数执行用户组态逻辑运算。
即如果判定自身为主机,则利用获取的现场参数执行用户组态逻辑运算,并根据运算得到的控制数据输出至相应的数据总线,即上面所说的第一总线或者第二总线。以使该控制数据通过相应的IO模块输出至被控设备,从而实现对被控设备的控制。
S14、接收控制数据并对自身数据区进行更新。
如果判定自身为备机,此时与其总线通讯模块相连接的数据总线会存在主机输出的控制数据,则随时接收该控制数据,并利用该控制数据对自身的数据区的数据进行更新。
这样做的好处是在自身因主机出现故障而升级为主机时,利用其数据区被随时更新的控制数据实时开始进行用户组态逻辑运算,实现与主机的无缝交接。
实施例三
图3为本申请实施例的一种冗余控制装置的框图。
如图3所示,本实施例提供的冗余控制装置应用于本申请中的双机冗余控制系统,具体来说是应用于该第一PLC设备或者第二PLC设备。该冗余控制装置具体包括参数采集模块101、主从判断模块102、第一执行模块103和第二执行模块104。
参数采集模块用于获取现场传感器采集的现场参数。
具体来说是在相应CPU、如第一CPU或第二CPU通过相应的IO模块获取到该IO模块采集的现场参数。
主从判断模块用于判断本机为主机还是备机。
在获取现场参数之后或同时,对其本身为主机还是备机,其主机或备机的标准是其本身的存储器或寄存器内相应标志位被置入的相应信息,例如相应寄存器被置入的标志位,如果标志位显示为主机则判定自身为主机,相应的如果该标志位显示为备机则判定自身为备机
第一执行模块用于根据现场参数执行用户组态逻辑运算。
即如果判定自身为主机,则第一执行模块利用获取的现场参数执行用户组态逻辑运算,并根据运算得到的控制数据输出至相应的数据总线,即上面所说的第一总线或者第二总线。以使该控制数据通过相应的IO模块输出至被控设备,从而实现对被控设备的控制。
第二执行模块用于接收控制数据并对自身数据区进行更新。
如果判定自身为备机,此时与其总线通讯模块相连接的数据总线会存在主机输出的控制数据,则第二执行模块随时接收该控制数据,并利用该控制数据对自身的数据区的数据进行更新。
这样做的好处是在自身因主机出现故障而升级为主机时,利用其数据区被随时更新的控制数据实时开始进行用户组态逻辑运算,实现与主机的无缝交接。
实施例四
图4为本申请实施例的一种故障监测方法的流程图。
如图4所示,本实施例提供的故障监测方法应用于本申请中的双机冗余控制系统,具体来说是应用于该第一PLC设备或者第二PLC设备。该故障监测方法具体包括如下步骤:
S21、监听故障并广播自身故障诊断状态。
具体来说,通过其低速串行总线按插槽位置顺序依次轮询其扩展模块的故障诊断状态,以便对自身的故障诊断状态有全面的描述;在轮询故障诊断状态的同时,还通过总线广播自身的故障诊断状态。
S22、监听故障诊断状态。
即随时监听总线中广播的故障诊断状态,由于对于一个PLC设备来说,其对自身的故障诊断状态是了解的,因此这里监听故障诊断状态其实是监听另一个PLC设备的故障诊断状态。
S23、当主机发生故障时将自身升级为主机。
其实这里是针对从机来说的,当通过监听主机广播的故障诊断状态判定该主机发生故障时,即刻将自身升级为主机,以被同步到其数据区的数据开始进行用户组态逻辑运算,并向被控设备输出该运算得到的控制数据,以实现对被控设备的无缝交接。
实施例五
图5为本申请实施例的一种故障监测装置的框图。
如图5所示,本实施例提供的故障监测方法应用于本申请中的双机冗余控制系统,具体来说是应用于该第一PLC设备或者第二PLC设备。该故障监测装置具体包括故障监控模块201、故障监听模块202和故障处置模块203。
故障监控模块用于监控故障并广播自身故障诊断状态。
具体来说,通过其低速串行总线按插槽位置顺序依次轮询其扩展模块的故障诊断状态,以便对自身的故障诊断状态有全面的描述;在轮询故障诊断状态的同时,还通过总线广播自身的故障诊断状态。
故障监听模块用于监听故障诊断状态。
即随时监听总线中广播的故障诊断状态,由于对于一个PLC设备来说,其对自身的故障诊断状态是了解的,因此这里监听故障诊断状态其实是监听另一个PLC设备的故障诊断状态。
故障处置模块用于当主机发生故障时将自身升级为主机。
其实这里是针对从机来说的,当通过监听主机广播的故障诊断状态判定该主机发生故障时,即刻将自身升级为主机,以被同步到其数据区的数据开始进行用户组态逻辑运算,并向被控设备输出该运算得到的控制数据,以实现对被控设备的无缝交接。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。