写给初学者的博途SCL教程—CASE选择语句(第二章)

写给初学者的博途SCL教程—CASE选择语句(第二章)一 Case of 选择语句一个变量或语句可能存在若干个值 如果需要根据不同的值选择执行不同的语句的话 那么就需要选择语句了 选择语句是使用关键字 CASE 在语句或变量 变量和语句结果只可以是整型 可能存在的若干个结果中选择执行相应的程

欢迎大家来到IT世界,在知识的湖畔探索吧!

一、 Case…of 选择语句

一个变量或语句可能存在若干个值,如果需要根据不同的值选择执行不同的语句的话,那么就需要选择语句了。选择语句是使用关键字CASE在语句或变量(变量和语句结果只可以是整型)可能存在的若干个结果中选择执行相应的程序。它和IF语句相似,但IF语句对于多个可能性分支的选择编写较繁琐,而CASE可以很好地解决这个问题,它支持在多个可能存在的结果中选择。一般若小于3个条件分支建议使用IF语句,而若多于3个的条件分支则建议使用CASE语句。

说明:
使用“ 创建多路分支” 指令, 可以根据数字表达式的值执行多个指令序列中的一个。
表达式的值必须为整数。 执行该指令时, 会将表达式的值与多个常数的值进行比较。 如果表达式的值等于某个常数的 值, 则将执行紧跟在该常数后编写的指令。 常数可以为以下值:
整数( 例如, 5)
整数范围( 例如, 15 到 20)
由整数和范围组成的枚举( 例如, 10、 11、 15 到 20)

CASE #Select Input OF //Select Input只可以是整型

1:

#NextLable:=‘a’;

2:

#NextLable:=‘b’;

3:

#NextLable:=‘c’;

ELSE

#NextLable:=‘d’;

END_CASE;

在上面的语句中,程序首先读取Select Input的值,然后根据这个值选择执行相应的语句。若这个值为1,则执行NextLable:=‘a’,若这个值为2,则执行NextLable:=‘b’,若这个值为3,则执行NextLable:=‘c’,若此值不符合所有的选择条件则执行ELSE后面的语句NextLable:=‘d’。

二、 SCL案例程序

1. 星三角控制:

写给初学者的博途SCL教程—CASE选择语句(第二章)

欢迎大家来到IT世界,在知识的湖畔探索吧!

#IEC_Counter_0_Instance(

CU:=#Start OR #Time_Q,

R:=#Stop,

PV:=2,

CV=>#CV);

CASE #CV OF

1: // 当CV计数值等于1时启动星型;

#KM := 1;

#KMY := 1;

#IEC_Timer_0_Instance(IN:=#KMY,

PT:=#Time,

Q=>#Time_Q);

2: // 当CV计数值等于2时启动三角形

#KM:=1;

#KM△ := 1;

#KMY := 0;

ELSE // 当CV计数值不等于1或者2时复位输出

#KM := 0;

#KM△ :=0;

#KMY := 0;;

END_CASE;

在上面的语句中,当#Start等于1时,导通CU加计数计1,当#CV当前计数值等于1时,执行CASE1:后面的语句,将1赋值给#KM和#KMY,当#KMY等于1时导通TON定时器;当#Time_Q等于1时,导通CU加计数计2,当#CV当前计数值等于2时,执行CASE2:后面的语句,将1赋值给KM和KM△,将0赋值给KMY,按下停止按钮#stop,复位加计数#CV值,并且执行ELSE后面的语句,将0赋值给KM、KMY、KM△;

今天《写给初学者的SCL教程02(CASE选择语句)》小编就分享到这,大家可以收藏使用,如果遇到问题或者不能理解的地方可以私聊或评论留言,如果喜欢关注小编,点赞转发谢谢!

下篇预告……(FOR循环语句与EXIT 语句)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/107194.html

(0)
上一篇 8小时前
下一篇 8小时前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信