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

根据管角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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分