恭喜,你发布的帖子
发布于 2016-11-15 13:17:36
5楼
您好。
我使用公共DB对故障OB的结果进行存储。故障如下:
OB82未被调用
OB86未被调用
OB122被调用:
OB122_EV_CLASS = 16#29 OB122_SW_FLT = 16#42,查故障表,意思是I/O访问错误,读取
OB122_PRIORITY = 16#0A 出错OB的优先级
OB122_OB_NUMBR = 16#7A (OB编号122)
OB122_BLK_TYPE = 16#8C OB122_BLK_NUM = 16#15 表示错误块为FC21
我确实是在这个块中读取了IM 153的AI
OB122_MEM_AREA = 16#20,使用字访问I/O区域(为什么他认为我访问了I/O区域而不是输入的过程映像PIW?)
OB122_MEM_ADDR = 16#138,出错的内存地址为312 (PIW312)
OB122_PRG_ADDR = 16#18
那么,为什么在仿真模式下,IM 153的输入模块会被认为损坏呢?
为什么主CPU的输入模块被认为是正常的呢?
您好。ob121已下载,执行时未被调用。
我现在把其他硬件全都删掉,只留一个主CPU 315-2 pn/dp和一个扩展IO 153-4 pn
其他程序块全都删掉,符号表清空,只留OB1,OB82,OB86,OB121,OB122
OB1中用move指令试图分别读取CPU和扩展IO上的一个AI点
s7-PLCSIM试图分别给CPU和扩展IO上的一个AI点赋值。其中,CPU上的PIW270被成功赋值,PIW312显示地址无效
利用共享DB查看各个诊断OB的局部变量状态。发现只有OB122被调用,其他的故障OB未被调用
翻译:
OB122_EV_CLASS = 16#29 OB122_SW_FLT = 16#42,查故障表,意思是I/O访问错误,读取
OB122_PRIORITY = 16#01 出错OB的优先级
OB122_OB_NUMBR = 16#7A (OB编号122)
OB122_BLK_TYPE = 16#88 OB122_BLK_NUM = 16#0001 表示错误块为OB01
OB122_MEM_AREA = 16#20,使用字访问I/O区域(系统认为我访问了I/O区域而不是输入的过程映像PIW,为什么?)
OB122_MEM_ADDR = 16#0138,出错的内存地址为312 (PIW312)
OB122_PRG_ADDR = 16#000A
更新了图片,希望能正常显示
请填写推广理由:
分享
只看
楼主