PLC的可靠性很高且本身有很完善的自诊断功能,如果PLC出现故障,借助自诊断程序可以方便地找到故障的原因,排除后就可以恢复正常工作。
大量的工程实践表明,PLC外部输入、输出设备的故障率远远高于PLC本身的故障率,而这些设备出现故障后,PLC一般不能觉察出来,可能使故障扩大,直至强电保护装置动作后才停机,有时甚至会造成设备和人身事故。停机后,查找故障也要花费很多时间。为了及时发现故障,在没有酿成事故之前使PLC自动停机和报好,也为了方便查找故障,提高维修效率,可用PLC程序实现故障的自诊断和自处理。
现代的PLC拥有大量的软件资源,如FX2N系列PLC有几千点辅助继电器、几百点定时器和计数器,有相当大的裕量,可以把这些资源利用起来,用于故障检测。
(1)超时检测 机械设备在各工步的动作所需的时间一般是不变的,变化也不会太大,可以以这些时间为参考,在PLC发出输出信号,相应的外部执行机构开始动作时启动一个定时器定时,定时器的设定值比正常情况下该动作的持续时间长20%左右。例如设某执行机构(如电动机)在正常情况下运行50s后,它驱动的部件使限位开关动作,发出动作结束信号。若该执行机构的动作时间超过60s(即对应定时器的设定时间),PLC还没有接收到动作结束信号,定时器延时接通的常开触点发出故障信号,该信号停止正常的循环程序,启动报好和故障显示程序,使操作人员和维修人员能迅速判别故障的种类,及时采取排除故障的措施。
(2)逻辑错误检测 在系统正常运行时,PLC的输入、输出信号和内部的信号(如辅助继电器的状态)相互之间存在着确定的关系,如出现异常的逻辑信号,则说明出现了故障。可以编制一些常见故障的异常逻辑关系,一旦异常逻辑关系为ON状态,就应按故障处理。例如某机械运动过程中先后有两个限位开关动作,这两个信号不会为ON状态,若它们为ON,说明至少有一个限位开关被卡死,应停机进行处理。
3.预知干扰
某些干扰是可以预知的,如PLC的输出命令使执行机构(如大功率电动机、电磁铁)动作,常常会伴随产生火花、电弧等干扰信号,它们产生的干扰信号可能使PLC接收错误的信息。在容易产生这些干扰的时间内,可用软件封锁PLC的某些输入信号,在干扰易发期过去后,再取消封锁。
六、采用冗余系统或热备用系统
某些控制系统(如化工、造纸、冶金、核电站等)要求有极高的可靠性,如果控制系统出现故障,由此引起停产或设备损坏将造成极大的经济损失。仅仅通过提高PLC控制系统的自身可靠性是满足不了要求。在这种要求极高可靠性的大型系统中,常采用冗余系统或热备用系统来有效地解决上述问题。
1.冗余系统
所谓冗余系统是指系统中有多余的部分,没有它系统照样工作,但在系统出现故障时,这多余的部分能立即替代故障部分而使系统继续正常运行。冗余系统一般是在控制系统中重要的部分(如CPU模块)由两套相同的硬件组成,当某一套出现故障立即由另一套来控制。是否使用两套相同的I/O模块,取决于系统对可靠性的要求程度。
如图6-39a所示,两套CPU模块使用相同的程序并行工作,其中一套为主CPU模块,一块为备用CPU模块。在系统正常运行时,备用CPU模块的输出被禁止,由主CPU模块来控制系统的工作。主CPU模块还不断通过冗余处理单元(RPU)同步地对备用CPU模块的I/O映像寄存器和其它寄存器进行刷新。当主CPU模块发出故障信息后,RPU在1~3个扫描周期内将控制功能切换到备用CPU。I/O系统的切换也是由RPU来完成。
图6-39 冗余系统与执备用系统
a)冗余系统 b)热备用系统
2.热备用系统
热备用系统的结构较冗余系统简单,也有两个CPU模块在运行一个程序,但没有冗余处理单元RPU。系统两个CPU模块的切换,是由主CPU模块通过通信口与备用CPU模块进行通信来完成的。如图6-39b所示,两套CPU通过通讯接口连在一起。当系统出现故障时,由主CPU通知备用CPU,并实现切换,其切换过程一般较慢。