PLC编程中的异常处理

异常处理,是PLC编程中最重要,最核心的部分,也是一个机械设备,一套流水线是否有价值的体现。其实,异常处理,就好比是维生素,如果没有,并不影响设备的整体运行。但如果有,会使设备更加智能。那么,到底该怎么定义异常处理呢?其实,异常处理分两部分,一部分是PLC本身异常,另一部分就是操作工操作异常导致的设备故障。

PLC编程中的异常处理


1,PLC本身异常

PLC本身的异常比较好理解,比如PLC本身的故障,看门狗报警等等。虽然PLC非常可靠,但不代表不出问题。在西门子PLC中,有专门的OB块处理这些故障。一般情况下,这种异常就不需要处理了,因为PLC出现故障,再处理也不行,必须停机。所以,在一些非常重要的项目上,比如核电,市政,热电,矿山,大型工程机械等等,都采用PLC冗余方案。

PLC编程中的异常处理


在PLC编程时,应避免出现软故障,比如防止出现死循环,精简逻辑,以减少循环扫描时间等等。

2,操作导致的异常

这部分才是项目设计者最需要考虑的,也是考验一个工程师功底最重要的环节。小编认为,一个好的设备,操作步骤应该尽可能少,最好的方案是一键启动。当设备出现故障停机或是无法启动时,有足够的提示信息,方便操作者快速定位故障。

因此,小到触摸屏,大到WINCC,组态王等上位机,都应该提供足够多的诊断信息,这也是触摸屏和组态软件的意义之一。

那么,该如何防止操作导致的异常呢?最好的办法,就是割按钮的输入信号进行互锁,比如,在正常运行情况下,只有停止和急停两个按钮才能起作用,其它的比如手自动切换,自动状态下的一下操作,回零操作等,都应当在程序中屏蔽。目的就是防止工人误操作。

在运行过程中产生的异常,可以分为两种,一是导致停机,二是仅报警而不停机。比如变频器报警,伺服报警,气缸卡死等等,肯定会触发报警。那么,就应当根据设备的运行情况,对各个元件进行监控。比如,某伺服电机用于搬运工件,正常情况下2秒完成。那么,就需要对这个工序的运行时间进行监控,比如超过2.5秒还未完成,就触发报警。当然,此时间可以设置,以防止误报警。当然,还可以设置触发等级,比如2.5秒未完成仅警告,如果4秒还未完成,就直接触发停机。

按照结构化编程思想,以上检测功能可以做成单独的功能块,这样就和工艺处理部分实现分离,更方便调试和维护。

如果设备是顺序流程,那么,在处理停机故障时,应当记忆当前的状态。比如,机械手码垛设备,当码垛到某层时,伺服报警或是机械卡死,此时需要处理故障。当故障处理完成后,设备就需要继续码垛。当然,如果没有继续码垛功能也可以,那就需要工人清理工件,重新开始码垛,此设备的实用性可想而知。

一些对设备影响不大的辅助功能,就可以采用仅报警不停机的方式,比如,散热,润滑等系统。当然,这些辅助系统如果长时间不工作,对设备也会造成致命影响。因此,必须有足够的提示提醒工人处理,只有工人按下故障确认键后,提示信息才消除,保证设备的安全。

当然,本文说了等于没说,要想写出安全,可靠,高效的PLC程序,不是靠别人说,自己听就能实现的。需要在充分了解操作工艺的前提下,不断的总结,试验,不断的积累才行。PLC也是一门技术,技术只有在不断的犯错,总结,学习中才能提高。单纯的听别人说,是没有任何意义的。


分享到:


相關文章: