海为PLC乘法指令输出为0 点击:293 | 回复:3



15306909866

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 4回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2020年6月29日
发表于:2020-07-27 15:29:51
楼主

程序仿真计算没有问题,但是连接PLC上电监控发现乘法指令输出值为0。这是为什么?




楼主最近还看过



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10219回
  • 年度积分:3353
  • 历史总积分:48938
  • 注册:2005年4月22日
发表于:2020-07-27 15:57:37
1楼

原因在于:32位乘法指令的结果占用64位存储空间,即V1505乘以V1522的结果占用4个字的存储空间,即V200,V201,V202,V203而V1507乘以V1522的结果占用了V202,V203,V204,V205,因此发生了地址重叠。


之所以没有发生计算错误的原因在于乘法指令后立即进行了除法运算,如果不是这样将发生数据混乱。


HAVE FUN!

15306909866

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 4回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2020年6月29日
发表于:2020-07-27 16:18:36
2楼

"yuanle" 的回复,发表在1楼
        对内容: 【原因在于:32位乘法指令的结果占用64位存储空间,即V1505乘以V1522的结果占用4个字的存储空间,即V200,V201,V202,V203而V1507乘以V1522的结果占用了V202,V203...】进行回复:

        -----------------------------------------------------------------


是我放错截图了,之后我把V200后面用的地址都隔开6个来写,还是不行的呀

15306909866

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 4回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2020年6月29日
发表于:2020-07-27 16:19:23
3楼

我后面写的时候V200、V206这样写了,但是输出结果还是依然为0是为什么呢?


热门招聘
相关主题

官方公众号

智造工程师