STL中+D为什么导致CC1变为1呢?

已锁定

fzpxp

  • 帖子

    66
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2003-06-06

普通 普通 如何晋级?

STL中+D为什么导致CC1变为1呢?

571

3

2012-03-27 16:11:14

一段循环程序:把从3开始的、以2为差值递增长度为6的等差数列(3、5、7、9、11、13)传送到从MW200开始的字中
L 3
T LW 0
L P#200.0
T LD 4
L 6
j2: T LW 10
L LW 0
T MW [LD 4]
+ 2
T LW 0
L LD 4
L P#2.0
+D
T LD 4
L LW 10
+ -1
JN j2
程序运行后出错,发现是循环程序无限循环导致,监视寄存器发现,第六个循环执行完时 ACCU1=0,但CC1=0 CC0=0,应该是CC1值不对导致JN继续跳转。
继续分析发现第一个循环时执行完+D后CC1就是1了,之后一直不变,这里+D为什么导致CC1变为1呢?(只不过是P#200.0+P#2.0相加)。请各位指教
STL中+D为什么导致CC1变为1呢? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。