使用CASE指令,可以综合只有一个条件变量的多种指令情况。
语法:
CASE <Var1> OF
<value1>: <Instruction 1>
<value2>: <Instruction 2>
<value3, value4, value5>: <Instruction 3>
<value6 .. value10>: <Instruction4>
...
<value n>: <Instruction n>
ELSE <ELSE Instruction>
END_CASE;
CASE指令根据以下模型处理:
- 如果变量<Var1>有值 <Value I>, 那么指令 <Instruction I>会被执行
- 如果 <Var 1>没有任何一个指示值,那么 <ELSE Instruction>被执行
- 如果同一个指令在几个变量值时执行,那么可以把这些值一个接一个的写出来,用逗号隔开,因此共同执行
- 如果同一个指令会在一个变量范围内执行,可以写上初始值和结束值,中间用两个点隔开。你可以把这些情况合一
例子:
CASE INT1 OF
1, 5: BOOL1 := TRUE;
BOOL3 := FALSE;
2: BOOL2 := FALSE;
BOOL3 := TRUE;
10..20: BOOL1 := TRUE;
BOOL3:= TRUE;
ELSE
BOOL1 := NOT BOOL1;
BOOL2 := BOOL1 OR BOOL2;
END_CASE;