回复:局部变量的使用问题

芳季

西门子1847工业学习平台

  • 帖子

    15537
  • 精华

    101
  • 被关注

    963

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2011-06-22 20:59:28

5楼

请你把你的程序复制粘贴出来。或者像我下面的,一字一字打出来。
你未明白先赋值再使用的原则。
调用一次当然没有问题。来来去去都是自己的。
请看下面程序。
LD I0.0
O Q0.0
AN I0.1
= Q0.0
这里Q0.0仅为了试验方便而使用输出点。你觉得毫无疑问吧。
这里的Q0.0已经违反了先赋值再使用的原则。
你看“O Q0.0”这一句是在“= Q 0.0”的上面的。所以这就是已经使用过了,再刷新值。
把上面的Q换成L,你看看你的程序里是否有L有以上情况?
还有。
LD I0.0
S L0.0 1
......
LD L0.0
= Q0.0
这里的L0.0同样违反原则。别以为“S L0.0 1”出现在“LD L0.0”前面就没事。其实当I0.0是0的时候就使得“S L0.0 1”形同虚设。
你看看你的程序有没有类似这样的情况?
还有,
LD I0.0
EU
MOVW 32 LW0
.....(完)
还是违反原则。
以上是最常见的三种出错形态。
一定要注意扫描顺序,包括跳转造成的顺序颠倒的影响。总之使用任何L之前,值要毫无疑问地说出来历,才算及格。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33266条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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