ADD指令和SUB指令算出来的结果怎么回事?? 点击:3750 | 回复:9



sszhangyan

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 17回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2012年5月16日
发表于:2013-02-28 22:05:59
楼主

小弟初学,万分疑惑!达人不要笑话我,可能是我漏了某些知识点,请多指教。

这是在WPLSoft上的梯形图监控模式上的截图,请问为什么会有这样的结果?不是K100+K0=K100吗?怎么会等于225??

 

 

根据各位大虾的提示,尝试了几个修改,问题已经解决!改动如下:

1,首先把数据寄存器D200以上的停电保留型寄存器改成D200以下的普通型寄存器;

2,然后,把ADD和SUB和MUL等运算指令往上移动,提前在步进指令开始之前处理。

 

就这样问题就解决了。




MWB0500

  • 精华:0帖
  • 求助:2帖
  • 帖子:22帖 | 151回
  • 年度积分:0
  • 历史总积分:188
  • 注册:2002年7月08日
发表于:2013-03-01 08:37:40
1楼

是不是地址复用了,你下面SUB的也不对

王者之师----青蛙

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 159回
  • 年度积分:30
  • 历史总积分:1264
  • 注册:2010年4月08日
发表于:2013-03-01 09:03:08
2楼

地址在别的地址使用过了吧,再者,这两年指令已经执行了吗?注意一下扫描方式

sszhangyan

  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 17回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2012年5月16日
发表于:2013-03-01 09:35:57
3楼
回复内容:
对:MWB0500关于 是不是地址复用了,你下面SUB的也不对 内容的回复:

地址重复会导致运算错误?

sszhangyan

  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 17回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2012年5月16日
发表于:2013-03-01 09:39:23
4楼
回复内容:
对:王者之师----青蛙关于 地址在别的地址使用过了吧,再者,这两年指令已经执行了吗?注意一下扫描方式 内容的回复:

用的是步进指令,前后步进点之间的数据引用,所以同一个地址用了两次

。那我试一下重新规划过地址

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:148帖 | 4867回
  • 年度积分:1651
  • 历史总积分:39896
  • 注册:2005年6月28日
发表于:2013-03-01 09:54:06
5楼

1.首先是不是就这里加减两个指令用到了以上存储器地址D171、D172、D210、D211、D233。

2.上面第一条是的话,可以先将D171、D172、D210、D211、D233清零后在赋值运算。

出现以上情况只能是在程序其他部分对以上存储器又一次赋值了或者有重复地址使用情况,例如别的地方使用了双字的D170。

sszhangyan

  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 17回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2012年5月16日
发表于:2013-03-01 11:13:08
6楼
回复内容:
对:sszhangyan关于 回复内容:对:MWB0500关于 是不是地址复用了,你下面SUB的也不对 内容的回复:地址重复会导致运算错误? 内容的回复:

多谢大侠的指教,问题已经解决,是扫描方式没处理好的问题!

sszhangyan

  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 17回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2012年5月16日
发表于:2013-03-01 11:14:09
7楼
回复内容:
对:王者之师----青蛙关于 地址在别的地址使用过了吧,再者,这两年指令已经执行了吗?注意一下扫描方式 内容的回复:

多谢大侠的指教,问题已经解决,是扫描方式没处理好的问题!

sszhangyan

  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 17回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2012年5月16日
发表于:2013-03-01 11:15:05
8楼
回复内容:
对:秦君_1关于 1.首先是不是就这里加减两个指令用到了以上存储器地址D171、D172、D210、D211、D233。2.上面第一条是的话,可以先将D171、D172、D210、D211、D233清零后在赋值运算。出现以上情况只能是在程序其他部分对以上存储器又一次赋值了或者有重复地址使用情况,例如别的地方使用了双字的D170。 内容的回复:

多谢大侠的指教,问题已经解决,是扫描方式没处理好的问题!

lakerssixers

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 12回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2010年12月10日
发表于:2013-07-06 09:39:16
9楼

关键看你这两句有没有执行


热门招聘
相关主题

官方公众号

智造工程师