1 引 言
20世纪90年代以来,随着工业自动化的飞速发展,人们对生产设备的可靠性也提出了越来越高的要求。仅仅通过提高控制系统的硬件可靠性来满足特殊工业部门对可靠性的要求是不太可能的。为此,工业制造商们提出了多种解决方案,这其中包括基于网络控制的PLC冗余热备系统。目前,此系统多采用两套CPU处理器模块,一个处理器模块作为主处理器,另外一个作为从处理器。正常情况下,由主处理器执行程序,控制I/O设备,从处理器不断监测主处理器状态。如果主处理器出现故障,从处理器立即接管对I/O的控制,继续执行程序,从而实现对系统的冗余热备控制。实践证明,冗余热备系统能够保证系统的连续运行,有效的避免了由于控制系统出现故障而引起的停产或设备损坏造成极大的经济损失。
目前,PLC冗余热备系统多分为两种:冗余由硬件实现的硬件冗余热备以及冗余由软件实现的软件冗余热备。本文以Rockwell公司的ControlLogix为例,介绍了PLC冗余热备系统的工作原理,基于ControlNet网络,利用软件开发了CPU冗余热备系统,并结合对风力负载被控模型的控制实验,对其性能进行了测试和分析。
2 PLC冗余热备系统的工作原理
PLC在一个工作周期内的任务主要有:系统内务处理、扫描输入映像表、执行程序、刷新输出映像表。在ControlLogix冗余热备系统中,当主处理器执行完程序之后,会将所有输出指令的结果传送给从处理器。同时,由于ControlLogix系统所有的I/O设备都在ControlNet网络中,由ControlNet网络 的“生产者/消费者”通讯模式,从处理器作为一个“消费者”可以与主处理器具有一样的地位,获取I/O的输入信息。这样,就确保了主、从处理器内输入、输出映像表的一致。
图1 正常情况下主处理器程序执行过程 |
图2 主、从处理器之间的切换过程 |
3 CPU冗余热备系统的设计
3.1系统硬件设计
本文设计的基于ControlNet网络的ControlLogix处理器冗余热备系统,主要由连接到ControlNet上的ControlLogix处理器1、ControlLogix处理器2、通过1203-CN1连接的PowerFlex70以及检验冗余效果的风动模型等组成,系统的硬件平台如图3所示。
图3 系统硬件平台 |
3.2系统软件设计
在上述硬件平台的基础上,需要对系统进行软件设计。其中包括ControlNet网络的组态及优化、PowerFlex70变频器参数设计以及对主从处理器的编程。这里主要讲述系统中主从处理器的编程问题。
由PLC冗余热备系统的工作原理可知,通过对主从处理器的软件编程需要实现:
⑴ 主、从处理器器通过ControlNet网络获取各节点模块的输入信息,主处理器通过ControlNet发送控制信息到具有输出功能的PowerFlex70变频器。
⑵ 由主处理器通过生产者/消费者模式将控制数据发送给备用控制器,以实现主备控制器数据同步。
⑶ 从处理器在主处理器处于硬件故障、主要错误或编程状态时,获得在ControlNet网络上发送控制信息到PowerFlex70的权力,同时主控制器失去在ControlNet网络上发送控制信息到PowerFlex70变频器的权力。
因此,基于ControlNet网络的ControlLogix处理器冗余热备系统中的RSLogix5000工程要完成的任务包括:对主处理器按控制系统的设计及要求进行通道设置、标签的建立及梯形图的编写,梯形图中包括用于过程控制,用于系统联锁保护和用于系统CPU热备的梯形图等几大部分。其中,用于CPU冗余备份程序的流程图如图4所示。
图4 冗余热备系统的冗余程序流程图
当主处理器进入非正常工作状态时,整个系统的输出模块的控制权交给了从处理器,由于输出模块在切换中无论是模拟量还是开关量都必须保持不变。所以,从处理器在主处理器工作时,处理器内部储存的输出模块的值就必须实时地与主处理器中的相应的输出值保持一致,实现无扰切换。而完成这项功能,就要求我们在两个ControlLogix处理器中,用梯形图程序来实时进行检测出模块值的传递,当主处理器对输出有改变时,同时把相应的变化值传递给从处理器。这样在切换时才会对连续的生产不产生任何的影响。
4 结束语
本文设计了基于ControlNet网络控制的ControlLogix冗余热备系统。系统通过切换控制权来切换对网络上的变频器PowerFlex70的控制;通过风力负载模型的浮球位置的变化,来直观的反映切换效果。此CPU冗余热备系统的切换时间小于0.5秒,切换过程中的扰动小于5%。设计方案可应用于基于不同网络控制的可编程控制器系统。在工业控制中应用该方案,不仅可以降低系统硬件成本,而且可以有效地提高控制系统的可靠性,降低由于控制器故障带来的损失和危害。