S7 300 间接寻址出错

要求:把16#03载入MW100,在DB232中找出相同与MW100的值,并表明是第几个字与MW100相同,然后把MW120 的值赋值给DB232中与MW100值相同字的下一个字,小弟我用循环指令间接寻址,指针从P#0.0开始,每次偏移P#2.0.找出了DB232的第6个字与MW100相同,指针值存入了MD80中,然后偏移p#2.0,载入MD90.指向下一个字,当下一步当我准备把MW120赋值给在DB232中与mw100相同字的下一个字时,问题来了。接下来我的语句表是这样的:L    MW120
                                    T    DBW[MD90]
之前已经用OPN  DB232 了,为什么编译下载都没错,但一启动CPU,SF灯就报错红色,转在线显示:PLC_1的内容和当前不一致。我彻底就被搞晕过去了,动都没动莫名其妙就不一致了。当我只有删除最后一句 T DBM[MD90] 报错就消失,这个问题快把身为新手菜鸟的我逼疯了。希望各位师傅高手们,能为在下传道授业解惑,在此感激不尽

最佳答案

1:转在线时,查看 T DBW[MD90]时,DB寄存器内容,在执行这条语句前,你系统 不能存在任何指令 的操作数 带有DB232以外的DB块内容。
2:你的MD90数值是多少?假如你的第6个字与MW100相同,那么MD80应该是十进制48,MD90应该是10进制熟64。而不是6和8.
3:MD80和MD90在每次搜寻开始前,应该初始化。
3:实在不行 程序发过了,我学习下。
HAO.LEI@BUHLERGROUP.COM

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc198972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年10月24日 下午6:56
下一篇 2017年10月24日 下午6:57

相关推荐