PLC是现代工业的三大支柱之一,是可靠性高、应用非常广泛的工业控制产品。在中大型模块化的PLC产品中,CPU模块(中央处理器)是PLC的中心。一些重大的工业生产线往往要求连续运行不能停顿,而可靠性再高的PLC也不能保证故障为零,因此,双CPU的冗余控制是一种满足连续生产要求、提高系统可用性的有效手段。下面以熔盐炉自控系统为实例详述双CPU冗余控制的实现方法。
一、熔盐炉自动系统综述
熔盐炉自控系统是一水硬铝管道化溶出生产线上的重要环节,控制熔盐的加热和循环,用熔盐的热量去循环加热铝矿石浆。铝矿石浆的加热至关重要,影响最终产品—氧化铝的质量和产量,因此,熔盐的温度控制和循环控制非常重要。
由于熔盐炉系统在管道化工程中的重要性,同时考虑到熔盐是一种活跃的化学品,在不同的温度下有不同的形态,低温下凝固,高温下不稳定会发生化学反应,从而腐蚀管壁甚至于爆炸,所以安全、可靠、操作简便和自动化管理是系统设计的关键,因此考虑用一套双CPU冗余的PLC、两套工控机、高质量的传感器、变送器和执行机构来控制两台1200万大卡的熔盐炉、一台盐泵、一组盐阀、一个熔盐槽和其他相关设备,实现熔盐的加热和循环过程自动化、计算机操作、监控和管理的自动化控制。该系统如图1所示。
控制器PLC、工控机(包括显示器)、通讯网络和电源及关键测试点等系统中的重要部件均采用冗余结构,两套工控机和大屏幕显示器组成的两套监控操作管理台并行运行;两条冗余的ControlNet高速通讯网络同时传送数据;两套直流电源同时向控制器PLC、变送器和开关量输入模块供电,关键测试点同时设置两个传感器测试数据。
冗余设计使系统关键部件的可靠性提高了一倍,而使系统的整体可靠性大大的提高。
二、双CPU的PLC控制器
PLC控制器是系统控制的中心,采集系统的全部工况信号,实时控制相关的设备动作;同时监视生产过程参数和设备运行状态,当危险工况出现时,及时发出声光报警,当极限工况出现时,联锁保护设备,保障生产过程安全。为此,我们选择了以产品可靠性高著称的罗克韦尔自动化公司的新一代控制平台:A-B ControlLogix系列,同时考虑采用双CPU模块冗余,进一步提高系统可靠性,避免因故障出现所引起的生产停顿或安全事故。
三、两种双CPU冗余方式的比较
ControlLogix提供有两种CPU冗余解决方法,一种为纯硬件冗余,另一种为软件冗余。
硬件冗余的方法,是将两个CPU模块插在不同的两个机架上,每个机架上除了CPU模块,还要有通讯模块CNBR、热备模块SRM和两个热备模块间的连接光缆,如图2所示。
软件冗余,是将两个CPU模块插在同一个框架上,利用背板通讯,进行冗余控制,如图3所示。
从以上可以看出,纯硬件冗余的方式硬件投入较多,成本开支较大大。而软件冗余,只需增加一块CPU模块,成本增加很少,因为一般像CPU这种PLC的心脏,厂家都会配有备件,用备件来实现冗余控制,既提高了系统的可靠性和可维护性(可做到在线维护,不影响生产线运行),又不会显著增加成本开支。
单纯从可靠性方面分析,纯硬件的冗余较之软件冗余并无优势。因为增加了较多的部件、模块,这些部件和模块的故障,也会影响系统的可靠性。例如,当两个热备模块之间的连接光缆出现故障,同样会使冗余控制失效。而软件冗余,只增加了一块CPU模块,而两个CPU模块的同时故障率几乎为零。
纯硬件冗余的优点之一,就是不需要软件进行专门的编程,CPU的状态监视和控制权的转移是由两个热备模块来完成的。而软件冗余中两个CPU模块的状态监视和控制权的转移是通过软件编程解决的。因此,软件冗余编程相对比较复杂,工作量较大。
综合考虑以上因素,本熔盐炉自动系统采用软件方式实现PLC的双CPU冗余控制。两块CPU模块同时在系统中运行,一块运行于主控模式,另一块运行于热备份模式。当其中任一块CPU发生故障时另一块CPU立即监视到并发出报警,自动将正常的CPU投入主控模式。CPU的无扰动切换,使系统一直受控,确保了安全,同时,使管道化生产线一直处于正常运行的良好工况中。
四、软件实现
CPU冗余控制的软件实现编程主要从下面两方面考虑:
CPU冗余控制的软件实现编程主要从下面两方面考虑:
1、控制权的裁决和转移
块CPU同时在线运行,一块处于主控制模式,另一块处于热备模式。拥有主控制权的CPU具有输出控制权,而热备CPU同时采集数据和保持通讯连接,但输出被禁止。
两个CPU模块互相监视对方的运行状态和通讯情况,一旦发现对方故障,立即发出报警,通过ControlNet网,传送给上位工控机,在操作管理台上显示报警。如果是主控CPU模块故障,热备CPU模块自动获得主控制权。控制权的裁决和转移的软件框图如图4所示。
2、两块CPU模块的同步控制
由于热备CPU随时准备着,一旦主CPU故障,就立即获取主控制权而成为主控CPU,因此,主CPU必须将自己的信息随时传递给热备CPU,而热备CPU必须跟踪主CPU的变化,与主CPU保持同步,这样,在两块CPU模块进行控制权的转移时,实现无扰动切换。CPU模块的同步控制程序框图如图5所示。
五、结束语
用A-B ControlLogix双CPU的PLC控制器实现的熔盐炉自动系统,已于2001年底开始成功运行于中国铝业河南分公司,运行情况良好,满足了一水硬铝管道化溶出氧化铝生产线的工艺要求。
用A-B ControlLogix双CPU的PLC控制器实现的熔盐炉自动系统,已于2001年底开始成功运行于中国铝业河南分公司,运行情况良好,满足了一水硬铝管道化溶出氧化铝生产线的工艺要求。
我们的体会是,ControlLogix双CPU冗余控制的软件方式实现是一种经济、有效的方法,它成本支出不大,却能使系统的可靠性大大提高。
另外,双CPU冗余控制时,如何利用Map命令,只将具有主控制权的CPU数据通过ControlNet网传送给其他控制设备,是值得进一步研究的。