往期精彩文章:
项目设计流程:一个项目电气工程师要做的设计思路
三菱Q系列PLC,Modbus通信控制施耐德变频器运行
万用表应用基础知识,口诀速记万用表使用注意事项关于接触器的选择方法,你真的清楚了吗?
PLC通信基础知识三菱PLC,CC-Link通信协议基础知识
光电开关的L-ON,D-ON,是什么意思?如何接线?
三菱PLC结构化工程FBD块新建程序操作步骤简单教程
什么是ST语言?三菱PLC,ST语言创建方法及注意事项
什么是FB块?怎么用?以启保停程序为例学习很简单
三菱PLC输出接线,一篇文章搞懂,其他品牌大同小异
PLC输入接线,记住这两句口诀,什么机型的都会接了
基恩士FSN18N光纤传感器感光度异常处理,参数调校
欧姆龙(OMRON)E5CC温控器控制加热启停的设置
欧姆龙E3X-HD10光纤放大器调整资料更新
三菱FX5UPLC,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语句的前置条件。
IFLDP(1,X0)THEN
D0:=0;
D2:=0;
FORD:=0TO99BY1DO
INC(1,D0);
D2:=D2+D0;
//此处可嵌套8层。
END_FOR;
END_IF;
2、WHILE循环语句
这个语句是条件语句和循环语句的结合体,条件为真就一直执行“执行语句”。为了防止死循环,所以这里也一般有前置条件。语句格式如下:
WHILE?条件式?DO
?执行语句?;
END_WHILE;
WHILELDP(1,X0)DO
Y0:=1;
Y1:=0;
END_WHILE;//做IF语句用
WHILEX0ANDDDO
INC(1,D);
D:=D+D;
END_WHILE;//做FOR语句用
上图为进入死循环,CPU报警了,应当把D0改为D。
3、REPEAT语句
语句格式如下:
REPEAT
?执行语句?;//先执行语句。
UNTIL?条件式?//达到条件后停止。
END_REPEAT;
IFLDP(1,X0)THEN//为防止死循环,加前置条件。
D0:=0;
D2:=0;
REPEAT
D0:=D0+1;
D2:=D0+D2;
UNTIL
D0=K
END_REPEAT;
END_IF;
4、EXIT退出循环语句
IFLDP(1,X0)THEN//前置条件
D0:=0;
D2:=0;
FORD1:=0TO99BY1DO
INC(1,D0);
D2:=D2+D0;
//此处可嵌套8层。
IFD0=50THEN
EXIT;//EXIT有效
END_IF;
END_FOR;
END_IF;
IFLDP(1,X1)THEN//前置条件
WHILEDDO
INC(1,D);
D:=D+D;
IFD=50THEN
EXIT;//EXIT有效
END_IF;
END_WHILE;//做FOR语句用
END_IF;
IFLDP(1,X2)THEN//前置条件
D10:=0;
D20:=0;
REPEAT
D10:=D10+1;
D20:=D10+D20;
IFD10=50THEN
EXIT;//EXIT有效
END_IF;
UNTIL
D10=K
END_REPEAT;
END_IF;
四、用户函数调用RETURN语句
举例说明:
右击导航栏的FB/FUN,新建一个数据:
数据类型选择函数,数据名、程序语言、返回值类型等,根据需要选择。
建立标签,如上图所示。
编辑函数程序,如上图所示。
完成函数调用,如上图所示,D0的值为3时,函数的返回值为。
好了,ST语言的四大语句类型就介绍到这里,谢谢品读。
参考:《三菱FX5UPLC,ST编程语言的语句类型,赋值语句和条件选择语句》
宋城李您点赞、分享、在看,都给我力量