ST语句:CASE
CASE
语句是一种条件控制结构,它使语句或语句的一部分仅在特定条件下执行。通过比较条件和标签来确定执行的部分。
功能描述
CASE
语句由一个对基本数据类型(选择符)变量求值的表达式和一个语句列表组成。每组都可应用一个或多个直接数据值、枚举值或子范围值来标记。这些标记的数据类型应该与选择符变量的数据类型匹配,选择符号变量的值应该可以和标号进行比较运算。
对于CASE
的语句列表,其范围之一包含选择符的计算值,即执行改组逻辑,如果选择符的计算值不满足CASE
语句列表的任何一个条件时,将执行ELSE
关键字的语句序列。如果没有ELSE
分支则不执行任何逻辑。
ST 用法
CASE <条件变量> OF
<标签-1> :
<指令-1>
<标签-2> :
<指令-2>
<标签-3, 标签-4, 标签-5> :
<指令-3>
<标签-6 .. 标签-10> :
<指令-4>
<标签-n> :
<指令-n>
ELSE <ELSE-指令>
END_CASE
| 条件的整型变量 例子: 将变量的值与构造中声明的标签进行比较。 在 所有标签必须具有不同的值。 |
| 与条件具有相同数据类型的常量、文字或常量表达式 在 例子: 如果该值等于 如果该值不等于 |
| 带有多个标签的逗号分隔列表,用作跳转目标 例子: 如果其中一个标签符合 |
| 带下限和上限标签的范围
如果 |
| 可选,最多一次 默认跳转目标,如果之前的所有标签都不匹配条件,则跳转到该目标。 |
| 语句,或由多条语句组成的语句段 语句始终以分号 ( |
示例
CASE iCondition OF
1, 5, c_ONE, C_TWO:
bVar1 := TRUE;
bVar3 := FALSE;
2:
bVar2 := FALSE;
bVar3 := TRUE;
10..20:
bVar1 := TRUE;
bVar3 := TRUE;
ELSE
bVar1 := NOT bVar1;
bVar2 := bVar1 OR bVar2;
END_CASE