使用ADD指令做测试,上方计算结果就是不会变化,为128+1=129,而下方的add结果不断叠加 ,这是怎么回事,摸不着头脑了
问题补充:
不好意思,截图如下,第一个是DB块里的数值,第二个是自己用的一个mw,,,
图片说明:
最佳答案
1、DB600.DBW2 这是字寻址,寻址了 DB600.DBX2.7-DB600.DBX2.0 这高 8 位 以及 DB600.DBX3.7-DB600.DBX3.0 低 8 位;同理 MW584 寻址了 M584.0-M585.7;上下两个网络中,上面的地址引用重叠。
2、网络 8 中使得 DB600.DBX3.7 为 1,最初时使得 DB600.DBW2 的值为 128,也使 M585.7为 1 ,即 MW584=128。
但是每一个扫描周期,网络9中会加1,并不是你说的那样,都会增加,当增加到无符号数65535后,值又会从128开始增加。
如果是你说的那样,那你程序中是不是在其它地方对数据块的这个区域有清零操作。可以用交叉引用查找一下在程序中对此变量的操作。
我的测试结构与你的一样,只是程序只有这两个网络
图片说明:
提问者对于答案的评价:
感谢你的帮助。。。谢谢,,我再试试哪里问题
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc348189.html