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 指令结束。
根据管角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
全部0条评论
快来发表一下你的评论吧 !