回复:请教,这段程序为什么不正常执行呢?

布娃娃

  • 帖子

    22
  • 精华

    0
  • 被关注

    2

论坛等级:新手

注册时间:2006-09-19

普通 普通 如何晋级?

发布于 2006-10-10 15:08:05

0楼

quote:以下是引用yanxiao在2006-10-09 21:32:41的发言:
这段程序显然是LAD翻过来的


汗,的确如此,才入手做PLC,老板只要成果,用LAD容易上手。



帮助文档里是这样说明的。
“输出(=)指令将输出位的新数值写入过程映像寄存器。在LAD和FBD中,当输出指令被执行时,S7-200将过程映像寄存器中的输出位打开或关闭。对于LAD和FBD,指定的位被设为等于使能位。在STL,位于堆栈顶端的数值被复制至指定的位。”

“设置(S)和复原(R)指令设置(打开)或复原指定的点数(N),从指定的地址(位)开始。您可以设置和复原1至255个点。”

我理解在本程序中输出(=)指令是在一个扫描周期内,根据用户程序将数值写入输出过程映像寄存器,待到写输出时,根据输出映像寄存器的值动作输出继电器。

设置(S)指令不是很明白,没有说设置了某位后,写输出时输出继电器是根据什么动作,但是实际调试下面这个句中发现松开按钮后输出继电器是保持的,那是不是,一旦设置了输出映像寄存器某位的值那每次写输出的时候,值都能保持并能使输出继电器动作。
I1.2 Q1.6
----------( S )

而换做输出(=)指令则不能保持继电器的动作。每次扫描都是读入—>执行程序->通讯->自诊->写输出,鉴于写输出是必定的步骤,那是不是只有输出映像寄存器位的值被清0了,才使输出继电器还原到原来状态去了?
I1.2 Q1.6
----------( )
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33291条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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