登录
首页 PLC论坛 台达PLC
回帖 发帖
正文

主题:“奇妙”的逻辑

点击:983 回复:12

随便给出了一个题目:按钮按下或者解除时,Y0输出翻转。
顺手写了一个程序测试(台达DVP14SS2上机测试),结果大跌眼镜。于是一口气连续写了N多变种逻辑测试,有些测试结果解释不通,不能理解,望坛内高手不吝赐教,在此先行谢过!
今天发帖希望能得到更多网友关注答疑。
1.下图逻辑为首先第一个写出来的,不论X0怎样变化,Y0不会有输出。
附件 1.jpg
按钮(X0)按下时,Y0不置位;释放时当然也谈不上复位了。
为什么Y0没有输出?


2. 接着下图逻辑,Y0还是没有输出。
附件 2.jpg
看来与上升沿、下降沿并联没有关系(记得200不容许这样做)。


3. 下图逻辑,X0每按下一次,Y0输出就会翻转。
附件 3.jpg
这个是我们经常习惯性做法,不知道为什么必须要使用中间变量?


4.下图逻辑,完全实现了题目的逻辑要求。
附件 4.jpg
再一次证明上升沿与下降沿可以并联使用。


5. 下图逻辑,不论X0怎样变化,Y0置位后就不再变化。
附件 5.jpg
还是疑惑:为什么是这样?

6. 下图逻辑,不论X0怎样变化,Y1置位后就不再变化,Y0始终不变。
附件 6.jpg
为什么?
14-02-21 11:14
将程序转换成stl  再来分析  也许会有另外的体会吧!
14-02-21 12:05
直接ALT指令多简单?何必绕这么个大弯呢!
14-02-21 13:01
1.  SET  Y0后,Y0变为ON,到y0的常开触点能流有效,RST Y0就会被执行,所以Y0马上又被复位成OFF了。
其他类似。
加中间继电器判断流程也类似。
14-02-21 13:27
IEC1131-3编程:
R_FB(CLK:=KEY);
IF R_FB.Q THEN
FB:=NOT FB;
END_IF
14-02-21 14:25
1、2两个图所用置位、复位指令在同一个周期内执行,所以执行的是复位指令,把rst放上面,set放下面y0就动作了(图5),
3、4两个图中的复位指令是在下一个扫描周期执行的,所以可以实现要求
6图中第一个扫描周期y0被复位,后面按下x0只能置位y1,。
最后修改:2014/2/21 16:01:29
14-02-21 15:48
我一直受输出Y0在程序扫描结束时刷新的影响,以为在扫描过程中Y0的触点不会即时变化,所以怎么分析都不能得到正确的逻辑结果,一直有疑惑。
再次感谢楼上各位同仁!
14-02-21 16:13
1. Y0接通后,紧接着被复位了。
2. 同上。
3. 扫描周期的问题。
4. 上升沿与下降沿,两个信号。
5. Y0没有接通时,Y0置位;Y0接通后,先复位,再又接通。
6. 若Y0没有预先接通,则Y1接通,无Y1复位指令。
14-02-21 16:24

引用 sjm213 在 2014/2/21 13:27:29 发言【内容省略】

正是3楼分析的这样。可以将程序稍作改动,如下所示,即可实现楼主所期望的功能了。
附件 1.jpg
14-02-21 16:39
9楼
该帖内容不符合相关规定!
14-02-21 20:14

上一页下一页

工控新闻

更多新闻资讯