ST语言中的上升沿和下降沿指令

上升沿_上升星座月亮星座太阳星座查询_上升三角形k线形态图解

在梯形图中,我们都经常要用到上升沿和下降沿指令,书写起来也比较简单,只是不同PLC之间的差异比较大,如下图的西门子和三菱:

上升星座月亮星座太阳星座查询_上升沿_上升三角形k线形态图解

左:西门子PLC上升沿表达方式;

右:三菱PLC上升沿表达方式;

虽然表达形式不同,单其实原理都是一样的,都是根据检测信号由OFF状态突然变为ON状态的一瞬间,给出一个扫描周期的TURE信号,在西门子PLC中直接显示了用于辅助记录的信号;其实在三菱中也是同样的道理,只是不显示。

边沿触发指令的用途:比如我们有一个按钮,虽然我们只是按一下,但是与PLC的执行扫描时间比,按下的那一次接通时间已经远远大于了PLC的执行扫描时间,那么如果要让指令只执行一次就无法满足,特别是在伺服控制或其他高精度要求的控制系统中。所以就引入了边沿触发指令上升沿上升沿,那么在ST语言中如何表示呢?

上升沿_上升星座月亮星座太阳星座查询_上升三角形k线形态图解

·上升沿触发指令

在西门子PLC中:

""(CLK:=,Q=>);

在三菱PLC中:

(CLK:=,Q:=);

根据以上上升沿表达方式可以看出,不同PLC之间表现形式还是有差异的,当然我们也可以根据触发原理,引入中间变量利用之前分享的逻辑运算符编写同样功能的ST语言上升沿指令。

上升沿_上升星座月亮星座太阳星座查询_上升三角形k线形态图解

·下降沿触发指令

下降沿与上升沿用法刚好相反,是用来检测信号由ON状态变为OFF状态的瞬间,送出一个接通一个扫描周期ON的信号。同样来看一下西门子和三菱PLC中表达形式:

""(CLK:=,Q=>);西门子

(CLK:=,Q=);

下面我们变换一个等同的上升沿触发指令(利用检测上升沿原理):

上升沿_上升星座月亮星座太阳星座查询_上升三角形k线形态图解

按上图西门子PLC中的上升沿信号(三菱中不显示辅助BOOL变量)来转换,此处我们需要引入一个辅助变量,定义一个M_1;

M_1 := “REV” AND NOT “Tag_1”;

“Tag_1” := “REV”;

同样,还是拿电机的正反转控制电路为例子,如果我们采用启动按钮按下后松开的时候让电机开始旋转;那么用下降沿指令如何编写呢?欢迎留言讨论。下篇分享编写方法。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注