我采用的是以太网冗余,我查了下,冗余正常,可是就是CPU报错,SF灯亮。删除在线程序,重新上传多次都没解决。不知是什么原因。下面是报错的图
问题补充:
我的DB块定义到1000多,CPU315可以允许16000个,而且我的DB都不大。都没怎么超过100BYTE。有时候还报错16#2522,只有两个循环报。
instancedb,double-word access access address 481/487
图片说明:
最佳答案
1、查看是否是使用了指针,如果使用指针,那么肯能由于读循环了一个周期而造成指针寻址错误,从而出现你的这种情况
2、看看程序中的地址和硬件组态的地址是否一直,不一致也会出现这样的问题。
3、查看cpu手册比如cpu支持的m区最大是127,你要使用大于127的m区地址也会出现这样的问题
4、如果db定义的地址最大是100,那你使用这个db中的地址大于100也出现上面的问题。
补充:你截图的这个只是初始化过程,实际冗余的程序呢?你在线把程序错误硬件错误,等错误处理需要调用的ob都删除,这时cpu会停下来,然后你打开截图中的那个stacks选项,看里面提示你什么?那里提示的就是出现问题时cpu正在处理的数据的程序和数据块。
提问者对于答案的评价:
谢谢
专家置评
可根据诊断缓冲区内的提示进行查找。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc227277.html