你的位置: 首页 > 工业控制 > 西门子plc

PLC扫描过程中I与Q的表现的错误理解

2016-12-25 17:55:46 | 人围观 | 评论:

一直以来对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理论方面的书籍,原来白字黑字写得清清楚楚,有图为证:
 
哎!看来学习还需要有刨根问底的精神,不敢想当然了事。




标签:

相关内容推荐: