首先,我们要理解上升沿和下降沿的含义。
上升沿:前一个周期的按钮信号=0,当前周期的按钮信号=1,那么此时我们就认为是产生了上升沿的信号。
下降沿:前一个周期的按钮信号=1,当前周期的按钮信号=0,那么此时我们就认为是产生了下降沿的信号。
从上面的逻辑关系可以得出,我们要知道的是前一个周期的按钮信号的状态,因此,我们需要用一个变量来存储当前状态(所以只能用FB块来做,因为它有背景数据块,里面的static区可以记忆前一个周期的状态),然后用于下一个周期(对于下一个周期来说,当前周期就是前一个周期,大家可以好好想想。)
有了这种逻辑关系,那么我们就可以写程序了:如下图所示
沿信号只停留一个扫描周期
通过上面的这个程序,我们就得到了上升沿信号和下降沿信号。比如说,当形参“I_请求1”的实参”I0.0”从0变1时,那么形参“上升沿信号”就变为了1。此时,我们就可以用这个形参=1的信号来做事情了。
下面简单介绍个小案例,主要目的是理解整个编写过程,相当于一个小框架。
整个框架的流程:
首先做一个FB功能块1,用于实现某个重复的功能,比如这里的上升沿和下降沿功能。
然后再做一个FB功能块2,用于整个项目里的某一个功能,里面调用FB功能块1。
Zui后再做一个FC块1,将各个类似FB功能块2的块整合起来,里面做好逻辑等。这样就是一个完整的小框架了。
下面是整个调用过程:
第一步:创建FB块,做一个小功能
第二步:用上面的FB块来实现某个功能
第三步:将所有类似的功能块整合到FC块中,它可以表示整个项目的流程,也可以表示某个工位的流程(然后把各个工位的FC块再整合到新的FC块里,然后MAIN里面直接调用这个新的FC块,这样程序就显的很干净整洁)
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/16381.html