可采用如下的软件措施:
一、延时确认
对于开关量输入,可采用软件延时20ms,对同一信号作两次或两次以上读入,结果一致才确认输入有效。
二、封锁干扰
某些干扰是可以预知的,如可编程序控制器的输出命令使执行机构(如大功率电动机、电磁铁)动作,常常会伴随产生火花。电弧等干扰信号,它们产生地干扰信号可能使可编程序控制器接收错误的信息。在容易产生这些干扰的时间内,可用软件封锁可编程序控制器的某些输入信号,在干扰易发期过去后,再取消封锁。
三、软件滤波
对于模拟信号可以采取软件滤波措施,目前的大型plc编程大都支持SFC、结构化文本编程方式,这可以很方便的编制比较复杂的程序,完成相应的功能。
四、故障的检测与诊断
可编程序控制器的可靠性很高,本身有完善的自诊断功能,可编程序控制器如出现故障,借助自诊断程序可以方便的找到故障的部位与部件,更换后就可以恢复正常工作。
大量的工程实践表明,可编程序控制器外部的输入、输出元件,如限位开关、电磁阀、接触器等的故障率远远高于可编程序控制器本身的故障率,而这些元件出现故障后,可编程序控制器一般不能觉察出来,不会自动停机,可能使故障扩大,直至强电保护装置动作后停机,有时甚至会造成设备和人身事故。停机后,查找故障也要花费很多时间。为了及时发现故障,在没有酿成事故之前使可编程序控制器自动停机和报警,也为了方便查找故障,提高维修效率,可以使用梯形图程序实现故障的自诊断和自处理。
现代的可编程序控制器拥有大量的软件资源,如FX2N 系列可编程序控制器有几千点辅助继电器、几百点定时器和计数器,有相当大的裕量。可以这些资源利用起来,用于故障检测。
1、超时检测
机械设备在各自工步的动作所需的时间一般是不变的,即使变化也不会太大,因此可以以这些时间为参考,在可编程序控制器发出输出信号,相应的外部执行机构开始动作时启动一个定时器定时,定时器的设定值比正常情况下该动作的持续时间长20%左右。例如设某执行机构(如电动机)在正常情况下运行10s后,它驱动的部件使限位开关动作,发出动作结束信号。若该执行的动作时间超过12s(即对应定时器的设定时间),可编程序控制器还没有接收到动作结束信号,定时器延时接通的常开触点发出故障信号,该信号停止正常的循环程序,起动报警和故障显示程序,使操作人员和维修人员能顺速判别故障的种类,及时采取排除故障的措施。
2、逻辑错误检测
在系统正常运行时,可编程序控制器的输入、输出信号和内部的信号(如辅助继电器的状态)相互之间存在着确定的关系,如出现异常的逻辑信号,则说明出现了故障。因此,可以编制一些常见故障的异常逻辑关系,一旦异常逻辑关系为ON状态,就应该按故障处理。例如某机械运动过程中先后有两个限位开关动作,这两个信号不会同时为ON状态,若它们同时为ON,说明至少有一个限位开关被卡死,应停机进行处理。在梯形图中,用这两个限位开关对应的输入继电器的常开触点串联,来驱动一个表示限位开关故障的辅助继电器。