December 01.2023
![]()
结构式文件编程语言(英语:Structured text)也称为ST语言,是为可编程逻辑控制器(PLC)设计的编程语言,是相关的IEC 61131-3标准中支援几种语言之一。 |
赋值语句 |
赋值语句使用形式如下,其中“:=”为赋值操作符,且要用“;”结尾。 | |
![]() | |
范例: | |
![]() |
IF语句 |
此节将介绍IF语句使用方式以及范例。 IF语句是选择语句的一种,其根据条件 决定执行哪些语句。判断 一个指定的条件 是否为真,若真,则执行之后的语句; 若假,则 执 行ELSIF或者ELSE之后的语句。 一条标准的IF语句如图: | ![]() |
注意:条件表达式可以是一个表达式,也可以是一个变量,其结果 或者类型必须为布尔类型。一个IF语句中可以有多个ELSIF,但是 只能有一个IF,一个ELSE和END_IF。语句组中可以包含其他IF语句。 |
简单IF语句 | ||
最简单的IF语句只包含IF和END_IF,不包含 ESLIF和ELSE。 当表达式满足时,执行IF语句 的语句组,否则不执行该语句组。 | ![]() | |
程序执行流程图如下: | ||
![]() | ||
范例: | ||
![]() |
带ELSE的IF语句 | ||
当表达式满足时,执行语句组1; 不满足时,则执行语句组2; | ![]() | |
程序执行流程图如下: | ||
![]() | ||
范例: | ||
![]() |
带ELSEIF的IF语句 | ||
当表达式1满足时,执行语句组1;如果表达1 不满足且表达式2满 足时,则执行语句组2; 如 果表达1和表达2均不满足,则执行与语句组3; | ![]() | |
程序执行流程图如下: | ||
![]() | ||
范例: | ||
![]() |
带IF的嵌套语句 | ||
IF语句中可嵌套IF语句, 但IF与END_IF需成对出现; | ![]() | |
程序执行流程图如下: | |
![]() | 范例:![]() |
单次执行IF语句 | ||
搭配R_TRIG语句可实现单次执行的IF语句, 不必每次扫描周期均 执行。 | ![]() | |
程序执行流程图如下: | ||
![]() | ||
范例: | ||
![]() |
CASE语句 |
此节将介绍case语句如何使用以及使用范例。 CASE语句是选择语句的一种,在CASE语句中, 控制变量与几个 值作比较,如果表达式的 结果与其中一个值相同,那么就执 行相应的 语句;如果表达式的结果与任何一个值都不 相同,那么就执 行ELSE后面的程序: “表达式”是一个变量,其数据类型必须为 整数(16bit-INT)。 | ![]() | |
程序执行流程图如下: | ||
![]() | ||
范例: | ||
![]() |
循环语句 |
FOR语句 | ||
FOR循环语句格式中,控制变量是在 循环过程中不断变化的变量 ,在每次 循环执行后,该变量的的值增加增值, 即控制变量:=控制 变量+增值。初值是 控制变量起始值,终值是控制变量终止值,增 值是控制变量的每次增量。 每次循环执行后控制变量的值变化,如果其值没有超过终止值,则继续 执行循环,反之,如果超过终止 值或执行过程中执行到EXIT或BREAK 语句,则循环执行终止。 | ![]() | |
程序执行流程图如下: | ||
![]() | ||
范例: | ||
![]() |
WHILE语句 | ||
先判断表达式条件是否为真(满足), 如果为真才执行循环有关语 句,反之 则不执行。适合循环次数不确定,且需 要先判断条件再确 定是否执行。执行 过程中执行到EXIT或BREAK语句, 则立即终止 循环。 | ![]() | |
程序执行流程图如下: | ||
![]() | ||
范例: | ||
![]() |
REPEAT语句 | ||
REPEAT语句先执行循环有关语句,再判断 条件表达式条件是否 为真(满足),如果为 真则结束循环,反之如果为假,则执行循环 有 关语句。适用循环次数不确定,且需要先 执行,再判断条件。 | ![]() | |
程序执行流程图如下: | ||
![]() | ||
范例: | ||
![]() |
EXIT/BREAK 语句 | ||
EXIT/BREAK语句通常在执行循环有关 语句的过程中立即中断循 环语句的执行。 当EXIT/BREAK位于嵌套循环语句内时,其 执行时 ,其所在的循环回路立即中断,但 更外层的循环不受其影响。 | ![]() | |