100次浏览 发布时间:2024-10-07 08:21:18
哈喽啊,又见面了!昨天给大家介绍了SCL(IF条件语句),今天给大家介绍下SCL(CASE选择语句)。学好PLC编程第一步,就是了解编程语言,大家快收藏,反复观看!
写给初学者的SCL教程02(CASE选择语句)
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;
在上面的语句中,程序首先读取SelectInput的值,然后根据这个值选择执行相应的语句。若这个值为1,则执行NextLable:=‘a’,若这个值为2,则执行NextLable:=‘b’,若这个值为3,则执行NextLable:=‘c’,若此值不符合所有的选择条件则执行ELSE后面的语句NextLable:=‘d’。
SCL案例程序
1.星三角控制:
#IEC_Counter_0_Instance(
CU:=#StartOR #Time_Q,
R:=#Stop,
PV:=2,
CV=>#CV);
CASE #CVOF
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△;
米家小米集成灶售后服务维修号码实时反馈-今-日-汇-总
2025-04-29 22:32:07BEKO燃气灶400全国各售后服务热线号码实时反馈-今-日-更-新
2025-04-29 22:24:56诚帝燃气灶维修售后号码24小时丨全国400服务点实时反馈-今-日-资-讯
2025-04-29 22:24:52喜讯!西亚豪门名帅已确定现身济南,刚亮相就携手多名强援来鲁能
2025-04-29 22:19:00美时科空气能用户售后客服中心实时反馈-今-日-更-新
2025-04-29 22:17:19卡帕斯热水器全国服务号码-全国400服务号码实时反馈-今-日-资-讯
2025-04-29 22:09:56现代工匠壁挂炉售后号码-全国400服务号码实时反馈-今-日-汇-总
2025-04-29 22:08:50福来姆燃气灶号码-全国统一400客服24小时服务热线实时反馈-今-日-资-讯
2025-04-29 22:04:20