我有一个应用系统,CPU为S7-313C-2DP,IO只有CPU自带的,无附加其他模块。如果从机柜上开机(PLC上电源开关开着),有30%的几率出错,SF灯红,BF灯闪,DC5V、RUN灯绿,其余灭。出错后关闭PLC上电源,然后再开电源,也会正常工作。
出错时检查PLC,得到的报警记录如下:
事件 10 / 10: 事件 ID 16# 2942
读取时发生 I/O 访问错误
P 区域,字访问, 访问地址: 102
所需的 OB:I/O 访问错误 OB (OB122)
优先等级: 1
外部错误, 进入的事件
16:00:02.368 2014-04-28
(编码: 16# 2942 017A 0020 0066 0000 0000)
经查OB122模块是空的,是否该写点什么东西?
问题补充:
看了两位的分析,特别是左传先生的分析,很受启发。本站通过DP总线连有一RFID读码器,很可能是PLC的初始化过程太快,读码器尚未完成初始化,这时PLC进行读写才出错。我想:
1、在PLC的初始化过程中,进行读写前,增加一个延时程序,请问在何处加?
2、如果出现错误,PLC自动执行冷启动,重新初始化一遍,请问在何处加什么程序?
最佳答案
OB122模块不需要写东西。
你这个打开电源,SF灯红,BF灯闪,DC5V、RUN灯绿,其余灭。过一会应该能正常启动起来的。刚开机,分站系统需要一个过程启动,CPU也需要一个过程去反映。
如果,过一会还是这个状态,出错后关闭PLC上电源,然后再开电源,也会正常工作。
应该就是你的CPU的硬件问题,可以再OB100里面,编写诊断故障不停机的程序来避免这种情况发生。
提问者对于答案的评价:
虽未最终解决,也给了我很大启发
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc209346.html