三菱ST语言:第2课 定时器计数器的应用
本节内容:
布尔逻辑操作
程序注释
定时器的应用
计数器的应用
1,布尔逻辑操作
布尔逻辑操作我们不一定是要BOOL值
我们可分为四个布尔操作分别为:
NOT 取反 a:= NOT b;
AND 与 a:=c AND b;
OR 或 a:=c OR b;
XOR 异或 a:=a XOR b;
比如我们梯形图中的启保停电路
可以看出我们X1和X2之间是与运算
X1和Y0是或运算
在我们的ST语言可以用OUT的方式表示起保停电路
代码可以复制
OUT((X1 OR Y0) AND NOT X2 , Y0);
因为我们ST语言中没有常闭这一说法 所以我们用NOT取一下反
我们的启保停电路就完成了
异或就是我们的并联常闭我这就不例举出来了,算是给大家的课堂小作业吧!
除了我们的逻辑操作,我们还有二个布尔操作
TRUE 真
FALSE 假
Y0:=TRUE;Y1:=FALSE;
比如我要Y0亮我就用 TRUE
要Y1灭我就用 FALSE
2,程序注释
ST和梯形图有个好处就是我们一会用不上的程序我们可以添加注释不用像梯形图一样删除或不接通。
ST语言程序注释专用符号是: (* *)
比如这条程序太长了我想要了我们可以加程序注释
这些带绿帽的就是不行了的被抛弃的
只有你打了这个符号(* *)在里面都是程序注释不会运行的
3,定时器的应用
定时器就是我们在设定一个值,当我们的PLC到达这个值后接通从而进行下一步动作。
在我们的梯形图中
我们的T0 表示我们的普通型定时器编号 第0个
K100表示我们记时10秒
当我们M0接通后T0开始计时
当我们T0计时完成后Y0接通
在我们ST语言中我们表达方式有所不同
首先我们输入OUT-T
OUT_T( ?BOOL_EN? , ?BOOL_TCoil? , ?ANY16_TValue? );
BOOL-EN:表示我们的开关信号
BOOL-TCoil:我们的定时器名称
ANY16-TValaue:16位的定时器数值设置
注:
我们BOOL-TCoi定时器名称在ST语言中是有变化的
比如我要T0 在定时器中就要写TC0而不是T0。
TC:表示我们定时器的名称编号
TS:表示我们定时器的触点也是我们的常开触点
TN:表示我们定时器当前的数值
例如:
OUT((x1 OR m0)AND NOT x2 , m0); (*启动保停*)OUT_T( M0 , TC0 , k100 ); (*M0接通开始T0计时10秒*)Y0:=TS0; (*10秒后接通Y0*)D0:=TN0; (*把T0当前值给D0*)
当然我们可以把K100的值换成D
比如
D1:=100;OUT((X1 OR M0) AND NOT X2 ,M0);OUT_T( M0 , TC0 ,D1);Y0:=TS0;D0:=TN0;
他和我们梯形图一样只是把触点分出来用了
4,计数器的应用
计数器就是当我们累计到多次后接通动作
可以看到我们的计到三次后接通Y0
当我们按下X2时C0重新开始计数
在我们ST语言中我们表达方式有所不同
首先我们输入OUT-C
BOOL-EN:表示我们的开关信号
BOOL-TCoil:我们的定时器名称
ANY16-TValaue:16位的计数器数值设置
注:
我们BOOL-TCoi定时器名称在ST语言中是有变化的
比如我要C0 在定时器中就要写CC0而不是C0。
CC:表示我们定时器的名称编号
CS:表示我们定时器的触点也是我们的常开触点
CN:表示我们定时器当前的数值
例如:
OUT_C(X1, CC0 ,k3 );Y0:=CS0;D0:=CN0;RST(X2,CC0);
他和我们梯形图一样只是把触点分出来用了
也是可以用D表示的
|