如图:STEP7指令里的MUL_I里的结果是否有问题?

我的程序写成语句表是:
  A     I      0.2
      JNB   _003
      L     30000
      L     1
      *I    
      T     MW     6
_003: NOP   0

值放在MW6中,那为什么这个MW7、8、9都有值呢?程序里只有这一段程序,怎么让连续四个字都改变了?

图片说明:

如图:STEP7指令里的MUL_I里的结果是否有问题?   

最佳答案

首先你要清楚西门子PLC存储结构
MW6由两个字节组成一个字,高位字节MB6,低位字节MB7
MW7由两个字节组成一个字,高位字节MB7,低位字节MB8
MW6和MW7字节重叠了,所以MW7会有值出现
为避免这种情况大家通常使用偶数序号访问字或双字
至于MW8和MW9的值是因MB9=1,这就说其它原因了,和这段代码无关。

提问者对于答案的评价:
非常好!

专家置评

youhm回答的非常好。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午11:18
下一篇 2018年12月1日 下午11:18

相关推荐