江华瑶族自治县
为什么D102是0??为什么呀!!!
分开一样!plc里面就这一段程序!!为什么呀!!!
王者之师--感叹号
DMUL /MUL是32位跟16位的区别。
第三条的乘法的结果D100和第二条除法的结果是不是重叠了?
mlqwain
你贴这一段程序那里看的出来,别的地方是不是有问题
第三条的乘法的结果D100和第二条除法的结果D102的地址范围是不是重叠了?
16位乘法结果是32位,32位乘法结果是64位,所以要考虑好存放数据的安排,地址不能相互交叉或重叠
候鸟在飞
一般在别的程序步中出现地址重复了。
哈哈!找到问题了!16位乘法结果是32位,32位乘法结果是64位 ,第三条的结果是占用了D100,D101,D102,D103,所以,第二条的计算结果是0.谢谢大家!!
还以为控制器问题呢!吓我一跳,以为买到水货!!!!
我先熟悉西门子的控制器!大家觉得从哪里入手!!
阿水--王者之师
三菱 的 计算中 D 是 16位数据,而 16位乘法结果是32位,这样的你 乘法中的 102 是 被占用了,D100,D101,D102,D103,是结果
大器晚成_77
重新启动仿真器变OK了
ljbcompany
编程前,要把指令的寄存器占用情况排列清楚;以免重复使用!尤其是修改别人编写的程式,特别容易“吃药”。
邵-王者之师
三菱,西门子不直观的地方就在这里,郁闷。内存占用必须心中有数才行,否则经常被覆盖掉,而且还不好查。
比较指令也是,连续占用好几个位但是你却看不到。
厦门游子江华
弄程序是伤脑子的劳动。。。。。