故事作者:everyone

最近创作

看看TA的故事

多年的“误解”

已锁定

everyone

  • 帖子

    367
  • 精华

    2
  • 被关注

    32

论坛等级:奇侠

注册时间:2009-05-21

普通 普通 如何晋级?

多年的“误解”

1036

23

2014-02-22 17:31:03

一直以来对PLC扫描过程中I与Q的表现有这样的错误理解:输入I输出Q状态(触点)在扫描周期过程中不会随时改变(这是为了PLC系统有稳定效果,当然对于立即刷新指令另当别论)。


对于要求逻辑:按钮(I0.0)按下或者解除时,Q0.0输出翻转,多年前写过下图程序。



编写以上逻辑,基于以下思考:

不论那个扫描周期检测到输入信号I0.0有变化(沿信号),如果Q0.00,那么就会执行SET指令,Q0.0变为1。由于输出刷新要到扫描结束时才执行,此时Q0.0的常开、常闭点不会有变化,所以RST指令不会被执行。

接下来的扫描周期,由于已经刷新了Q0.0的状态,Q0.0的常开、常闭点翻转,就为下次检测到输入信号I0.0变化时Q0.0继续翻转做好准备。

所以以上逻辑应该能完成随着输入变化输出随动翻转变化。

但是上图程序实际测试,Q0.0压根不动作。当年开始学习时没有深究,想当然认为这样写类似于OUT输出指令的双线圈,执行了最后那个RST指令。多年来遇到此类问题一直采用中间变量M过度解决,还想当然认为这是PLC的一个特殊点。

 

这几天与同事说到Q刷新问题,为自己的错误理解大吃一惊,如此低级错误竟然伴随自己这么多年!汗颜……

 

马上使用如下图示程序验证:


有沿信号输入,Q0.0只从0变为1执行一次,Q0.1压根不动作。这就充分说明由于先执行了SET Q0.0,导致Q0.0的常闭点立即断开,紧接着的SET Q0.1也就不会被执行了。

赶紧翻看PLC理论方面的书籍,原来白字黑字写得清清楚楚,有图为证:

 

哎!看来学习还需要有刨根问底的精神,不敢想当然了事。
多年的“误解” 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3363条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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