-
-
zhangmengmeng | 当前状态:在线
总积分:1958 2024年可用积分:2
注册时间: 2013-12-26
最后登录时间: 2023-08-14
-
PLC软件抗干扰技术措施
zhangmengmeng 发表于 2018/4/9 20:55:07 1135 查看 0 回复 [上一主题] [下一主题]
手机阅读
大量的工程实践表明,plc的外部输入、输出元件,如限位开关、电磁阀、接触器等的故障率远远高于PLC控制系统本身的故障率,而这些元件出现故障后,PLC控制系统一般不能检测出来,不会自动停机,可能使故障扩大,直至强电保护装置动作后停机,有时甚至会造成设备和人身事故。停机后,查找故障也要花费很多时间。为了及时发现故障,在酿成事故之前应使PLC控制系统自动停机和报警,也方便查找故障,提高维修效率。
现代的PLC控制系统拥有大量的软件资源,如FX2N系列PLC有几千点辅助继电器、几百点定时器和计数器,有相当大的裕量。可以将这些资源利用起来,用于故障检测。有时只采用硬件措施不能完全消除干扰的影响,必须用软件措施加以配合以取得较好的抗干扰效果。
对于开关量输入,可采用软件延时20ms,对同一信号作两次或两次以上读入,结果一致才确认输入有效。在现场设备信号不完全可靠的情况下,对于非严重影响设备运行的故障信号,在程序中应采取不同时间的延时判断,以防止输入接点抖动而产生“伪报警”。若延时后信号仍不消失,再执行相应动作。
某些干扰是可以预知的,如PLC的输出命令使执行机构(如大功率电动机、电磁铁)动作,常会伴随产生火花、电弧等干扰信号,这些干扰信号可能使PLC接收错误的信息。在容易产生这些干扰的时间内,可用软件封锁PLC的某些输入信号,在干扰易发期过去后,再取消封锁。
PLC的可靠性很高,本身有完善的自诊断功能,PLC若出现故障,借助自诊断程序可以方便地找到故障的部位与部件,更换后就可以恢复正常工作。
在PLC控制系统的工作循环中,各工步的运行有严格的时间规定,设备在各自T步的动作所需的时间一般是不变的,即使变化也不会太大,因此可以以这些时间为参数,在要检测的工步动作开始的同时,在PLC发出输出信号,启动一个定时器,定时器的时间设定值比正常情况下该动作要持续的时间长25%左右;当某工步动作时间超过规定时间,达到对应的定时器预置时间而还未转入下一个工步动作时,定时器发出故障信号,停止正常工作循环程序,启动报警及显示程序。这就是所谓的“超节拍保护”。
在PLC控制系统中,A/D、D/A、显示等输入、输出接口电路是必不可少的。这些接口与CPU之间采用查询或中断的方式工作,而这些设备或接口对干扰很敏感,干扰信号一旦破坏了某一接口的状态,就会导致CPU误认为该接口有输入、输出请求而停止现行工作,转去执行相应的输入、输出服务程序;但由于该接口本身并没有输入、输出数据,CPU资源被该服务程序长期占用而不释放,其他任务程序无法执行,使整个系统出现“死锁”。对于这种干扰造成的“死锁”问题,在软件编程中,可采用“时间片”的方法来解决,其具体步骤为:根据不同的输入、输出外设对时间的要求,分配相应的最大正常的输入、输出时间;在每一输入、输出的任务模块中,加入相应的超时判断程序。这样,当干扰破坏了接口的状态造成CPU误操作后,由于该外设准备好信息长期无效,经一定时间后,系统会从该外设的服务程序中自动返回,保证整个软件的周期性不受影响,从而避免“死锁”情况发生。
例如,设某执行机构(如电动机)在正常情况下运行10s后,它驱动的部件使限位开关动作,发出动作结束信号。若该执行的动作时间超过12s(即对应定时器的设定时间),PLC还没有接收到动作结束信号,则定时器延时接通的常开触点发出故障信号,该信号停止正常的循环程序,启动报警和故障显示程序,使操作人员和维修人员能迅速判别故障的种类,及时采取排除故障的措施。
充分利用信号间的组合逻辑关系构成条件判断,使个别信号出现错误时,系统不会因错误判断而影响其正常的逻辑功能。在系统正常运行时,PLC的输入、输出信号和内部的信号(如辅助继电器的状态)相互之间存在着确定的逻辑关系,如出现异常的逻辑信号,则说明出现了故障。因此,可以编制一些常见故障的异常逻辑关系,一旦异常逻辑关系为ON状态,就按故障处理。例如,某机械运动过程中先后有两个限位开关动作,这两个信号不会同时为ON状态,若它们同时为ON,说明至少有一个限位开关被卡死,应停机进行处理。在梯形图中,将这两个限位开关对应的输入继电器的常开触点串联,来驱动一个表示限位开关故障的辅助继电器。对易形成抖动的检测或控制回路,可采取不同时间的判断或保护子程序。
所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序,因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。
时间冗余是指在程序的适当位置设置若干检查点,在每一个检查点保存程序在该检查点之前正确运行而得到的全部信息及标志。如果故障是暂时性的,则程序回到上一检查点重新执行,这样可以完全消除错误。但它只能检出而不能消除永久性故障,是一种用时间换取可靠性的方法。