IF #start THEN
#Step_Variable := 1;
END_IF;
#Timer_1.TON(IN:=(#Step_Variable=1),
PT:=T#5S);
#Timer_2.TON(IN :=(#Step_Variable=3),
PT := T#5s);
CASE #Step_Variable OF
1:
#motor_1 := true;
IF #Timer_1.Q THEN
#Step_Variable := 2;
END_IF;
2:
#motor_2 := true;
IF #stop THEN
#Step_Variable := 3;
END_IF;
3:
#motor_2 := FALSE;
IF #Timer_2.Q THEN
#motor_1 := false;
#Step_Variable := 0;
END_IF;
END_CASE;
(*
IF #Step_Variable = 1 THEN
#motor_1 := true;
IF #Timer_1.Q THEN
#Step_Variable := 2;
END_IF;
ELSE IF #Step_Variable = 2 THEN
#motor_2 := true;
IF #stop THEN
#Step_Variable := 3;
END_IF;
ELSE IF #Step_Variable = 3 THEN
#motor_2 := FALSE;
IF #Timer_2.Q THEN
#motor_1 := false;
#Step_Variable := 0;
END_IF;
END_IF;
END_IF;
END_IF;
*)
可以发现,用CASE做顺控程序还是可以的。程序的后面部分用IF语句替代CASE语句的情况,效果也一样。
注意:把定时器放到CASE中,它的IN端口,在时间到达的时是不能切断的(大家可以分析其原因)。
朋友们如果感兴趣,可以看看我写的课程《S7-1200应用技术》。
https://mooc1-2.chaoxing.com/course/201475891.html
最后修改:2018/10/27 19:21:42
最多只能说是备选的语言方法 ,主流怕是很难,可读性并不是很好,推广也难。老外是因为人家母语就是字母组成 对他们来说可读性还是非常强。现在PLC 还是以 LAD SFC ST CFC 这一类为代表 也符合IEC标准的。如果哪一家PLC只有一种你说的SCL怕是干不了几年在中国就只能关门了
市场决定的。