IEC61499 编程实战(1)-按键控制LED 闪烁
对IEC61499 感兴趣的人越来越多了,我开始向大家介绍IEC61499 编程的实例,希望能帮助大家,另外,如果有编程中的疑问,可以留言,交流。
按键开关LED 灯闪烁
前几天有网友做了一个LED 的实验,按下按键,LED 闪烁,再按一次 LED 停止闪烁。他的程序是这样的。
结果发现,长按,LED 会闪烁,而松开LED 就停止闪烁了。主要的问题出在 IX 只是读取输入脚的状态,他连接的是不带锁存功能普通按键。如果要实现按键功能,需要内部加锁存器。后来他改成了这样。
E_D_FF 是一个D触发器,只能暂存数据,没有翻转的功能。所以这个D 触发器只是将按键的值延时了一个周期,没有锁存,下一次读到0的时候又将0锁存了,所以也不行的。正确的方法应该是
上面的E_R_TRIG 功能块是上升沿检测,一旦检测到了上升沿,会产生EO 事件,这个事件触发E_T_FF 状态翻转状态。当然,这个程序还有优化的可能。
学习IEC61499 编程需要一些逻辑电路的知识和技巧。