CASE:创建多路分支

CASE:创建多路分支

CASE:创建多路分支
文章插图
CASE语句用来选择几个分支程序部分之一 。选择是基于选择表达式当前值的 。
使用“创建多路分支”指令,可以根据数字表达式的值执行多个指令序列中的一个 。
表达式的值必须为整数 。执行该指令时,会将表达式的值与多个常数的值进行比较 。如果表达式的值等
于某个常数的值,则将执行紧跟在该常数后编写的指令 。常数可以为以下值:
? 整数(例如,5)
? 整数的范围(例如,15..20)
? 由整数和范围组成的枚举(例如,10、11、15..20)
CASE语句按下列规则执行:
·选择表达式必须返回一个整数类型的值 。
·当CASE语句被处理时,程序检查是否选择表达式的值包含在指定的值表之中 。如果找到匹配项,列表指定的语句部分将被执行 。
·如果没有发现匹配项,程序选择ELSE后面的语句,或者如果ELSE分支不存在则无语句可执行 。
如果表达式的值等于第一个常数(<常数 1="">)的值,则将执行紧跟在该常数后编写的指令(<指令 1="">) 。程序将从 END_CASE 后继续执行 。如果表达式的值不等于第一个常数(<常数 1="">)的值,则会将该值与下一个设定的常数值进行比较 。以这种方式执行 CASE 指令直至比较的值相等为止 。如果表达式的值与所有设定的常数值均不相等,则将执行 ELSE 后编写的指令(<指令 0="">) 。ELSE 是一个可选的语法部分,可以省略 。此外,CASE 指令也可通过使用 CASE 替换一个指令块来进行嵌套 。END_CASE 表示 CASE 指令结束 。
【CASE:创建多路分支】
CASE:创建多路分支
文章插图
根据管角value输入数来决定OUT1输出的数
FUNCTION FC1 : INT建立FC1程序,输出反馈值得属性是INT整数
VAR_input
value:INT;
END_VAR
VAR_outPUT
OUT1:INT;
END_VAR
VAR_TEMP
END_VAR
CASE value OF
1 :
OUT1:=1;
2 :
OUT1:=2;
3 :
OUT1:=3;
4 :
OUT1:=4;
5 :
OUT1:=5;
6 :
OUT1:=6;
ELSE:不是1-6 就输出99
OUT1:=99;
END_CASE;
FC1 := OUT1;FC1的反馈值和OUT1值一致.
END_FUNCTION

    推荐阅读