[三菱] 三菱FX5U PLC,ST编程语言的语句类型,循环语句和函数调用...

[复制链接]
查看15252 | 回复0 | 2024-4-28 08:58:17 | 显示全部楼层 |阅读模式

三菱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编程语言的语句类型,赋值语句和条件选择语句》

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则