分享一个IO模块掉线报警处理的过程及方法
之前的一个项目,已经验收很久了,最近听客户反应,设备最近总是莫名的报警,报警时气缸、吸盘等执行机构恢复到初始状态,伺服运动停止。设备上用的西门子1200PLC,扩展模块使用的第三方的PN通讯IO模块,每次报警过一分钟左右自行恢复。差不多每天一到两次的报警频率,尤其是每次白班刚开机时肯定报警,每次报警导致夹爪上的产品脱落,载具上的产品倾覆,机床内正在加工的产品因为暂停报废。
一开始怀疑是坦克链里面线路问题,可能是某个感应器的P24和N24短路导致PLC和模块报警,然后给电控柜的24V直流电源加了保险丝,第二天问题依然存在。
然后问现场作业人员每次报警时电控柜里的状态,得到的回答是PLC红灯闪,模块的SF亮红灯。此时大体判断是IO模块掉线。最初的解决方法就是换网线,由“山泽”网线换成了质量更好的网线,因为网线和强电走的同一个线槽,可能有干扰。刚开始是不报警,两天没出现,可接下来还是出现了,事实证明不是网线的问题。然后就把问题转移到交换机上,使用的TP-LINK品牌,因为听现场的人员讲每次模块报警不自行恢复时,他们就把网线重新插拔一下就恢复正常了。想着是不是网口接触不好,公司又重新买了一个新的交换机,是同一品牌,结果还是一样。
硬件问题排除了,接下来从软件方面着手。远程在线查看了PLC的诊断缓冲区,看到了报警信息“IO设备故障,看门狗时间已到”。
按照这个报警就去改了看门狗时间,那个更新时间默认是2ms,然后看门狗时间默认是其3倍,即6ms。我把更新时间改为8ms,看门狗时间就是24ms,报警的频率是低了,问题依然还在。
继续加大时间,改过后看门狗时间达到了96ms,结果问题依然存在,看来继续加大意义也不大。于是去百度搜,遇到相同问题的还挺多,有的说问题存在很久了依然没解决,有的说把看门狗时间增大到200多ms了依然没用。当然也有解决的,那就是换西门子交换机,因为西门子交换机会优先处理PN通讯数据包。
电脑既然有成功案例那就换交换机吧,考虑到西门子交换机价格昂贵、交期长,为了慎重起见,买之前打西门子技术客服请教了一下这个问题,得到的回答的确是西门子交换机会好一点,同时也说看门狗时间没必要设置那么长时间,可以把接收的更新周期改大试试,然后我把该值由默认的3改成8,结果再没出现模块掉线的问题,我想就是这个原因了。
电脑