一种基于MAC的PLC双机冗余方法及系统与流程

文档序号:11153361阅读:676来源:国知局
一种基于MAC的PLC双机冗余方法及系统与制造工艺

本发明涉及工业控制自动化技术领域,尤其涉及一种基于MAC的PLC双机冗余方法及系统。



背景技术:

可编程逻辑控制器(PLC)在工业控制自动化领域有着及其重要的作用,特别是在控制工艺流程比较复杂、被控对象种类数量较多的过程控制系统中,以通用PLC为核心搭建控制系统比专用控制器方式具有更强的灵活性、适用性和扩展性。PLC作为控制系统的核心控制单元,其可靠性直接关系到整个控制系统的安全性和稳定性,因此为了提高控制系统的健壮性,首先要提高PLC的健壮性,而在提升PLC本身健壮性的同时,引入PLC双机冗余机制可以极大地改善控制系统的整体可靠性。相比于单纯提升PLC本身可靠性的方式,PLC双机冗余方式可以达到若主PLC异常故障、则备PLC接管整个控制系统、并无扰继续运行控制逻辑的目标,从而使整个控制系统最大限度地消除异常故障的影响,将控制系统的可用性提高了一个数量级。

目前在控制系统中PLC双机冗余技术主要有基于PLC站间通信的软冗余技术和基于专用冗余通信模块的硬冗余技术。前者需要用户编写带有冗余功能的控制逻辑,并全程参与冗余的故障诊断判决和状态切换,对用户的要求较高,且由于没有专用的冗余通信通道,冗余的数据同步和状态切换带有很大的滞后性。基于专用冗余通信模块的硬冗余技术具有专用的冗余通信通道,可以有效地提升数据同步和状态切换的实时性,但是其成本较高、且不易于维护,只能应用到一些投入成本较高、对可靠性极为敏感的控制系统之中,这极大地限制了这种冗余技术的应用和普及。

为了克服PLC软冗余方式中用户工程和冗余技术的紧耦合和冗余处理迟滞问题,以及硬冗余技术中成本高、维护困难的问题,需要开发一种摆脱专用冗余通信模块限制的PLC双机冗余技术,无需用户参与冗余数据同步、故障诊断判决和状态切换,灵活地实现高可靠、高健壮性的PLC双机冗余功能,降低PLC双机冗余控制系统的构建成本。



技术实现要素:

本发明的目的是提供一种基于MAC的PLC双机冗余方法及系统,采用MAC作为冗余通信收发器的方式,由完全相同的冗余主机和冗余备机组成双机冗余系统。冗余系统无需专用的冗余通信模块,也无需使用高层级以太网协议栈;冗余系统提供完全独立于用户逻辑的冗余通信、故障诊断判决和状态切换机制,无需用户参与冗余系统具体实现,对用户水平没有较高的要求;面向工业控制自动化系统的高可靠应用需求,能够提供便捷、灵活、高效、低成本、易于维护的PLC双机冗余功能。

为达到上述目的,根据发明的一方面,提出了一种基于MAC的PLC双机冗余方法,所述PLC双机冗余方法的双方为冗余主机和冗余备机,冗余双方内部均包含MAC控制器芯片作为冗余通信的收发器,所述PLC双机冗余的双方搭载独立于用户逻辑的故障诊断判决和主备机切换机制,其特征在于,该方法包括以下步骤:

步骤1,建立所述PLC双机冗余双方之间的冗余通信信道;

步骤2,所述PLC双机冗余双方利用建立的冗余通信信道同步冗余配置;

步骤3,所述PLC双机冗余双方通过收到的对方冗余配置信息,确定所述双方的主备关系,并分别以主机工作模式或备机工作模式初始化系统;

步骤4,所述PLC双机冗余双方确定主备关系并以相应的工作模式初始化成功后,所述冗余主机以主机工作模式运行,所述冗余备机以备机工作模式运行。

其中,所述步骤1的最主要特征是冗余双方控制器都带有两个专门用于冗余通信的MAC,分别为MAC0和MAC1,MAC0和MAC1的MAC地址不一样,但是所有冗余控制器的MAC0都设为同样的MAC地址,所有冗余控制器的MAC1都设为同样的MAC地址,所述双方的冗余通信物理连接采用交叉相连方式,即一个控制器的MAC0连另一个控制器的MAC1,无需路由器或交换机参与组网;MAC直接用作冗余通信的数据收发器使用,无需更上层的以太网协议栈参与通信。

所述步骤3的最主要特征是冗余双方控制器根据自身冗余配置和接收到的对方冗余配置信息确定冗余工作模式,冗余配置信息主要用于区分冗余双方的CPU选项(CPU0或CPU1),CPU选项的选择由控制器背板的拨码开关实现,通常配置为CPU0的控制器会优先工作于主机工作模式。在控制系统中不存在主机且冗余双方冗余配置不冲突(CPU选项不相同)的情况下,配置为CPU0的控制器会以主机工作模式启动,配置为CPU1的控制器会以备机工作模式启动;若冗余双方冗余配置冲突(CPU选项一样,都为CPU0或CPU1),冗余双方都无法启动。在控制系统中已经存在主机的情况下,若冗余双方冗余配置不冲突,无论配置成CPU0还是CPU1,本机都以备机工作模式运行;若冗余双方冗余配置冲突,本机无法启动。

所述步骤4的最主要特征是冗余系统的冗余主机和冗余备机各司其职,分别执行不同的功能,双方通过冗余通信信道同步过程数据和运行状态。处于主机工作模式的所述冗余主机正常运行用户逻辑,并刷新I/O数据,同时周期性地通过冗余通信信道将控制逻辑运行结果的过程数据同步到所述冗余备机;处于备机工作模式的所述冗余备机不运行用户逻辑,也不刷新I/O数据,仅将所述主机同步过来的用户控制逻辑运行结果过程数据更新到相应的过程数据区,同时时刻监视着所述主机的工作状态,随时在所述主机出现异常故障时升为主机、接管整个控制系统,并无扰地开始运行用户逻辑和执行I/O数据刷新操作。

根据本发明的另一方面,还提出了一种基于MAC的PLC双机冗余系统,其特征在于,该系统包括两个完全一致的PLC控制器以及多个直接与现场被控对象(采集设备或执行设备)相连的从站模块,其中,

所述PLC双机冗余系统工作的时候,一个控制器作为冗余主机工作于主机工作模式,另一个控制器作为冗余备机工作于备机工作模式;

所述PLC控制器主要包括用于执行用户控制逻辑的主控单元,用于双机冗余通信的冗余通信单元,以及用于与从站模块通信的现场总线主站单元,同时,主控单元还承担与上位机逻辑组态软件交互和提供通用工控通信协议栈的任务;

作为所述冗余通信单元核心的MAC控制器直接挂到所述主控单元的CPU总线上;

所述现场总线主站单元和所述主控单元之间通过双口RAM通信并交换数据,主要用于所述PLC控制器与所述从站模块之间的I/O刷新操作;

所述从站模块和所述PLC控制器组成工业现场总线网络并实现现场I/O数据的刷新操作,从站模块主要包括用于采集数字量输入信号的数字量输入模块(DI),用于采集模拟量输入信号的模拟量输入模块(AI),用于输出数字量控制信号的数字量输出模块(DO),用于输出模拟量控制信号的模拟量输出模块(AO),以及多种用于通信协议转换的网关模块和实现一些专用功能的功能模块。

根据本发明的另一方面,还提出了一种基于MAC的PLC冗余控制器,用作PLC双机冗余系统的核心控制单元,其特征在于,该控制器包括某国产航天用处理器、MAC控制器、与所述MAC相应的PHY控制器、现场总线主站以及电源变换模块,其中,

所述处理器用于运行用户控制逻辑、利用所述现场总线主站单元刷新I/O数据,还用于向所述MAC控制器发送指令进行数据传输,并建立PLC双机冗余通信信道,从而进行双机之间的数据同步和状态同步;

所述MAC控制器用于根据所述处理器发送的指令进行数据发送和接收,建立PLC双机冗余系统中冗余主机和冗余备机之间的通信连接,从而在二者之间同步数据和状态;

所述处理器的外围连接有时钟电路、复位电路、存储器外设以及编程接口和调试接口;

所述处理器扩展出3个所述MAC控制器和与之对应的PHY控制器和RJ45接口,其中一个带有完整的上层以太网协议栈,用于与上位机通信,另外两个不带上层以太网协议栈、只是作为双机冗余通信连接的数据收发器;

所述现场总线主站用于将控制系统从站采集的输入信号刷新到控制器数据区,同时将控制器用户控制逻辑运算结果的控制输出信号刷新到对应的从站,并时刻监视现场总线网络的运行状态和从站的工作状态;

所述电源变换模块与所述处理器连接,用于将输入的直流电压转换成处理器、所述MAC控制器、所述PHY控制器、现场总线以及存储器外设所需的电压。

本发明的显著特点在于将MAC控制器应用于PLC双机冗余通信信道的建立以及数据通信过程中,PLC双机冗余的双方冗余主机和冗余备机在物理上采用双MAC交叉相连的方式建立冗余通信连接,使得冗余的双方完全对称,任何一个控制器都可以工作于冗余主机或冗余备机模式,不需要单独开发PLC冗余主机和PLC冗余备机,不仅避免了高可靠PLC双机冗余系统对于控制器具有独立专用冗余通信模块的苛刻要求,也无需上层以太网协议栈的支持,MAC控制器直接作为冗余通信的数据收发器使用,提高了数据通信的实时性和系统的灵活性,也节省了PLC双机冗余系统的构建成本。

本发明提供独立于用户控制逻辑的冗余双方状态同步和数据同步方式,以及对控制逻辑组态人员透明的故障诊断判决和状态切换机制,控制逻辑组态人员只需要专注于控制系统的工艺流程和控制逻辑本身,无需直接或过多参与PLC双机冗余系统的搭建和运行,不仅提高了PLC双机冗余处理机制的时效性,还提高了控制系统开发的便利性和高效性,节省了人力开发成本,同时提升了控制系统的可维护性。

附图说明

图1是本发明基于MAC的PLC双机冗余方法及系统的组成框图;

图2是本发明基于MAC的PLC双机冗余方法及系统的系统流程图;

图3是本发明基于MAC的PLC双机冗余方法及系统的冗余通信流程图;

图4是本发明基于MAC的PLC双机冗余方法及系统的冗余状态机;

图5是本发明基于MAC的PLC双机冗余方法及系统的PLC控制器的硬件电路连接图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

基于MAC的PLC双机冗余方法,是构建低成本、高可靠工业控制自动化系统的有效解决方式,直接采用MAC作为冗余通信的数据收发器、无需上层以太网协议栈的冗余通信方式,有效地解决了高可靠PLC双机冗余系统对专用冗余通信模块的高度依赖问题,降低了控制系统的构建成本;同时提供对控制逻辑组态人员透明且与用户控制逻辑无关的冗余系统运行机制,提高了PLC双机冗余系统在具体应用过程中的便利性和快捷性,也提高了冗余系统的可靠性。以下结合附图对该发明的具体实施方式进行说明。需要指出的是,本发明所提供的实施例只是发明内容中的一种实施方式,其发明内容包含但不限于该实施例。

图1为PLC双机冗余系统的组成框图。该系统包含两个完全一样的PLC控制器,以及多个与现场被控对象连接的从站模块,由此构成了PLC双机冗余系统和现场总线网络。其中冗余控制器由主控单元、基于MAC的冗余通信单元以及现场总线主站组成,主控单元和现场总线主站之间通过双口RAM连接,而作为冗余通信单元核心的MAC控制器直接挂到主控单元处理器的总线上。冗余控制器都带有两个独立的MAC,分别为MAC0和MAC1,其MAC地址不一样,所有控制器的MAC0都共用一个MAC地址,所有控制器的MAC1也都共用一个MAC地址。组成PLC双机冗余系统的两个控制器在物理上通过交叉方式构成冗余连接,即冗余控制器A的MAC0接冗余控制器B的MAC1,冗余控制器A的MAC1接冗余控制器B的MAC0,如图1所示。冗余连接通信的方向永远是从MAC0到MAC1,比如冗余控制器A向冗余控制器B发送请求要经过冗余控制器A的MAC0到冗余控制器B的MAC1,冗余控制器B在MAC1上接到来自于冗余控制器A的请求后,会通过自身的MAC0向冗余控制器A的MAC1发送响应。从站模块主要包含DI、DO、AI、AO以及其他功能模块,主要用于连接数据采集和功能控制的功能部件等被控对象,比如传感器、电动机、电磁阀、继电器等。从站模块与冗余控制器之间通过现场总线网络通信,各个从站模块之间通过背板总线通信,耦合器模块将现场总线数据包转换为背板总线信号。

图2为所述PLC双机冗余系统的系统流程图,所述冗余PLC控制器可以工作于冗余主机和冗余备机两种工作模式,两种模式执行的功能和所承担的任务不同。冗余主机工作模式下,控制器的执行功能主要包含初始化、通信处理、状态切换、I/O输出、I/O输入、运行用户控制逻辑、同步过程数据几个步骤。冗余备机工作模式下,控制器的执行功能主要包含初始化、通信处理、状态切换、获取同步数据。相比于冗余主机,冗余备机不运行用户控制逻辑,也不刷新I/O数据,其所有用户控制逻辑的运行结果数据和I/O数据都直接来自于冗余主机的数据同步操作。冗余备机通过冗余通信连接时刻监视着冗余主机的运行状态,在检测到冗余主机异常故障时升为冗余主机,并接管整个控制系统,并无扰地继续执行控制逻辑。

图3为所述PLC双机冗余系统的冗余通信流程图,主要分为冗余主机和冗余备机两部分。

如图3所示,冗余主机采用如下的冗余通信流程:

A1.控制器对冗余通信进行初始化,并与所述PLC双机冗余系统的另一个控制器建立冗余连接,转B1;

B1.控制器向与其建立冗余连接的控制器同步冗余配置,冗余配置主要为用于区分两个控制器的CPU选项,通过控制器背板的拨码开关设置,有CPU0和CPU1两种模式,转C1;

C1.判断所述PLC双机冗余系统的两个控制器的冗余配置是否冲突,即是否同为CPU0或同为CPU1,如果不冲突转D1,否则转I1;

D1.判断控制器配置为主机,默认设为CPU0选项的控制器以冗余主机模式运行,转E1;

E1.刷新I/O数据并运行用户控制逻辑,转F1;

F1.向冗余备机同步过程数据,过程数据主要包含用户控制逻辑运行的结果数据和I/O变量数据,转G1;

G1.向冗余备机发送冗余心跳,转H1;

H1.判断是否接收到用户结束控制器运行操作,如果没接收到结束运行操作,转I1结束运行控制器,否则转E1继续运行控制器;

I1.结束运行控制器。

冗余备机采用如下的冗余通信流程:

A2.控制器对冗余通信进行初始化,并与所述PLC双机冗余系统的另一个控制器建立冗余连接,转B2;

B2.控制器向与其建立冗余连接的控制器同步冗余配置,转C2;

C2.判断所述PLC双机冗余系统的两个控制器的冗余配置是否冲突,如果不冲突转D2,否则转I2;

D2.判断控制器配置为主机,默认设为CPU1选项的控制器以冗余备机模式运行,转E2;

E2.通过冗余通信连接接收冗余主机同步过来的过程数据,并写入相应的数据区,转F2;

F2.通过冗余通信连接获取冗余主机发送过来的冗余心跳,转G2;

G2.诊断主机是否发生异常故障,如果诊断出主机发生异常故障,控制器升为主机,并以最近接收到的有效过程数据为起点,继续运行用户控制逻辑和执行刷新I/O操作,否则转H2;

H2.判断是否接收到用户结束控制器运行操作,如果没接收到结束运行操作,转I2结束运行控制器,否则转E2继续运行控制器;

I2.结束运行控制器。

图4为所述冗余控制器的状态转移图,状态机主要包含9个状态,状态定义及条件跳转关系如下表格1所示:

表1冗余状态机切换关系

图5是PLC双机冗余系统冗余控制器的一种实施例的硬件连接框图。该冗余控制器包括某国产处理器、现场总线主站模块、MAC控制器、与所述MAC控制器相连的PHY、电源变换模块、存储器外设、时钟电路、复位电路和编程调试接口。

所述MAC主要用于冗余控制器之间冗余通信连接的数据收发器,PHY主要用于通信电平信号转换。

现场总线主站用于提供现场总线协议栈支持、维持控制器与从站之间的通信连接以及执行实际的I/O变量刷新操作。

该冗余控制器以某国产处理器(该实施例中采用国产宇航用CPU)为核心,在处理器上运行业务处理程序、用户控制逻辑、冗余通信以及冗余故障诊断判决和状态切换程序。具体来说,所属某国产处理器通过所述现场总线主站采集现场设备的输入信号,然后执行用户控制逻辑,最后将控制逻辑的执行结果的控制输出信息通过所述现场总线主站发送到被控设备,同时处于冗余主机工作模式的所述处理器还会实时地将用户控制逻辑的过程数据通过所述MAC控制器构成的冗余通信连接同步到冗余备机,而工作于冗余备机工作模式的所述处理器会将冗余主机同步过来的过程数据写入到相应的数据区,并时刻监视着冗余主机的运行状态,随时准备升主从而接管整个控制系统。

在处理器外围提供时钟电路、复位电路、存储器外设以及编程调试接口,构成某国产处理器的最小系统。该冗余控制器还包含与处理器连接的电源转换模块,将输入的9~30V直流电压转换为处理器、MAC控制器、现场总线主站模块等外围器件所需的5V和3.3V电压。

本发明采用基于MAC的PLC双机冗余方法,以MAC控制器作为冗余通信的数据收发器,提供对控制逻辑组态开发人员完全透明的冗余数据通信、冗余故障诊断判决以及冗余状态切换机制,使PLC双机冗余系统可以灵活、便捷地应用在构建成本低、可靠度高的控制系统中,不受专用冗余通信模块的制约,也不受具体用户控制逻辑的影响,大大方便了PLC双机冗余系统在工业自动化控制系统中的应用。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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