三菱FX5U PLC,ST编程语言的四大语句(下)
上回说到ST编程语言的语句类型的前两大类型,这回小李来说一说ST编程语言的语句类型的别外两种。
三、循环语句
1、FOR 循环语句
新建一个ST编程语言的工程,在右侧“部件选择”栏里找到“控制语法”,点击进入,打到“FOR”语句,双击它,在编程窗口光标处就自动输入了“FOR”。
在编程窗口“FOR”右边,鼠标右击打开菜单,找到“模板显示”(软件上方的工具栏里也有),点击它,编程窗口立马显示“FOR”的格式模板,或者直接按CTRL+F1也可以调出格式模板。
按住“CTRL”+“ALT”+“→”或者“←”可以移动模板参数,进行选择、更改。
其他指令、语句、函数也同样可以按此操作,这是基本知识。格式如下:
FOR ?ANY_INT? := ?初始值(式)? TO ?结束值(式)? BY ?增加值(式)? DO
?执行语句? ;
END_FOR;
它的初始值、结束值、增加值均可调整或者是一个运算结果。
FOR语句一般有前置条件,不然就会进入死循环。
下图中的IF语句就是FOR语句的前置条件。
IF LDP(1,X0) THEN
D0:=0;
D2:=0;
FOR D100:=0 TO 99 BY 1 DO
INC(1,D0);
D2:=D2+D0;
//此处可嵌套8层。
END_FOR;
END_IF;
2、WHILE循环语句
这个语句是条件语句和循环语句的结合体,条件为真就一直执行“执行语句”。为了防止死循环,所以这里也一般有前置条件。语句格式如下:
WHILE ?条件式? DO
?执行语句? ;
END_WHILE;
WHILE LDP(1,X0) DO
Y0:=1;
Y1:=0;
END_WHILE;//做IF语句用
WHILE X0 AND D100<100 DO
INC(1,D100);
D110:=D110+D100;
END_WHILE;//做FOR语句用
上图为进入死循环,CPU报警了,应当把D0改为D100。
3、REPEAT语句
语句格式如下:
REPEAT
?执行语句? ;//先执行语句。
UNTIL ?条件式? //达到条件后停止。
END_REPEAT;
IF LDP(1,X0) THEN //为防止死循环,加前置条件。
D0:=0;
D2:=0;
REPEAT
D0:=D0+1;
D2:=D0+D2;
UNTIL
D0>= K100
END_REPEAT;
END_IF;
4、EXIT退出循环语句
IF LDP(1,X0) THEN//前置条件
D0:=0;
D2:=0;
FOR D1:=0 TO 99 BY 1 DO
INC(1,D0);
D2:=D2+D0;
//此处可嵌套8层。
IF D0=50 THEN
EXIT;//EXIT有效
END_IF;
END_FOR;
END_IF;
IF LDP(1,X1) THEN//前置条件
WHILE D100<100 DO
INC(1,D100);
D110:=D110+D100;
IF D100=50 THEN
EXIT;//EXIT有效
END_IF;
END_WHILE;//做FOR语句用
END_IF;
IF LDP(1,X2) THEN//前置条件
D10:=0;
D20:=0;
REPEAT
D10:=D10+1;
D20:=D10+D20;
IF D10=50 THEN
EXIT;//EXIT有效
END_IF;
UNTIL
D10>= K100
END_REPEAT;
END_IF;
四、用户函数调用RETURN语句
举例说明:
右击导航栏的FB/FUN,新建一个数据:
数据类型选择函数,数据名、程序语言、返回值类型等,根据需要选择。
建立标签,如上图所示。
编辑函数程序,如上图所示。
完成函数调用,如上图所示,D0的值为3时,函数的返回值为3333。
好了,ST语言的四大语句类型就介绍到这里,谢谢品读。
参考:《三菱FX5U PLC,ST编程语言的语句类型,赋值语句和条件选择语句》 |