ST自动控制灯模式
//之前是手动的
[要求]自动 模式切换5s 自动
[配件] m1减模式不用了 只需m0 m2 开始停止
[讲解]添加定时器(条件D0=1,tc0,50)
TS定时器当前值
**时间继电器一定要放在if或case语句外侧,否则就会每跑一次被清零
[代码]
(*M0启动*)
IF LDP(1,M0) THEN
D0:=D0+1;
END_IF;
(*M2 stop*)
IF M2=1 THEN
D0:=0;
END_IF;
(*定时器0123*)
OUT_T(D0=1,TC0,50);
IF TS0=1 THEN
D0:=2;
END_IF;
OUT_T(D0=2,TC1,50);
IF TS1=1 THEN
D0:=3;
END_IF;
OUT_T(D0=3,TC2,50);
IF TS2=1 THEN
D0:=4;
END_IF;
OUT_T(D0=4,TC3,50);
IF TS3=1 THEN
D0:=1;
END_IF;
(*D0 值对应灯状态*)
CASE D0 OF
0:
Y0:=0;
Y1:=0;
Y2:=0;
Y3:=0;
Y4:=0;
Y5:=0;
Y6:=0;
Y7:=0;
1:
Y0:=1;
Y1:=1;
Y2:=1;
Y3:=1;
Y4:=0;
Y5:=0;
Y6:=0;
Y7:=0;
2:
Y0:=0;
Y1:=0;
Y2:=0;
Y3:=0;
Y4:=1;
Y5:=1;
Y6:=1;
Y7:=1;
3:
Y0:=1;
Y1:=0;
Y2:=1;
Y3:=0;
Y4:=1;
Y5:=0;
Y6:=1;
Y7:=0;
(*利用M8012产生100ms为周期震荡 M8012的0与1映射灯0与1*)
4:
IF M8012=1 THEN
Y0:=1;
Y1:=1;
Y2:=1;
Y3:=1;
Y4:=1;
Y5:=1;
Y6:=1;
Y7:=1;
ELSE
Y0:=0;
Y1:=0;
Y2:=0;
Y3:=0;
Y4:=0;
Y5:=0;
Y6:=0;
Y7:=0;
END_IF;
END_CASE;
//现在我们只用一个定时器实现切换
之前我们使用4个定时器中转 ...
**新知识点 ts0的常闭触点
out_t(d0=1,tc0,50)→out_t(not ts0,tc0,50)
//也就是用T0的常闭使它得电(梯形图中在一个定时器前面串上自己的常闭触点)
//一上电5秒通5秒断把自己
ts0=1{d0+=1;}
**很瞬间的一个过程 不放心 可能它加的多了
**LDP(1,ts0)LDP t0触点的上升沿
(EN使能 【全时检测填1】只要PLC上电就检测它的上升沿,
)true √ 1
[讲解]会加过头
解决方案:等于5时为1.
[问题]在程序执行过程中,一上电就工作,有问题,停止键失效
解决方案:加上标志位!**新知识点
加条件 (D0>0) AND 有点乱?加括号
**ST语言先执行括号里面的 (()and())
先算括号里面的 然后括号与括号之间运算
[代码]
(*M0启动*)
IF LDP(1,M0) THEN
D0:=1;
END_IF;
(*M2 stop*)
IF M2=1 THEN
D0:=0;
END_IF;
(*定时器常闭触点初始化 5s一个*)
OUT_T(D0>0 AND NOT TS0),TC0,50);
D2:=TN0;
(*定时器常开触点上升沿检测 内部寄存器d0被改变*)
IF LDP(1,TS0)=1 THEN
D0:=D0+1;
END_IF;
(*D0=5时候处理过程*)
IF D0=5 THEN
D0:=1;
END_IF;
(*D0 值对应灯状态*)
CASE D0 OF
0:
Y0:=0;
Y1:=0;
Y2:=0;
Y3:=0;
Y4:=0;
Y5:=0;
Y6:=0;
Y7:=0;
1:
Y0:=1;
Y1:=1;
Y2:=1;
Y3:=1;
Y4:=0;
Y5:=0;
Y6:=0;
Y7:=0;
2:
Y0:=0;
Y1:=0;
Y2:=0;
Y3:=0;
Y4:=1;
Y5:=1;
Y6:=1;
Y7:=1;
3:
Y0:=1;
Y1:=0;
Y2:=1;
Y3:=0;
Y4:=1;
Y5:=0;
Y6:=1;
Y7:=0;
(*利用M8012产生100ms为周期震荡 M8012的0与1映射灯0与1*)
4:
IF M8012=1 THEN
Y0:=1;
Y1:=1;
Y2:=1;
Y3:=1;
Y4:=1;
Y5:=1;
Y6:=1;
Y7:=1;
ELSE
Y0:=0;
Y1:=0;
Y2:=0;
Y3:=0;
Y4:=0;
Y5:=0;
Y6:=0;
Y7:=0;
END_IF;
END_CASE;
以后会讲全局标签与局部标签的使用
本节课完成 手动与自动流程 前面还有启保停电路... 本节结束
标签:END,入门,笔记,ST,Y1,Y0,Y3,Y2,D0 From: https://www.cnblogs.com/ihoi/p/17302860.html