ST语言和C语言关于case of 和switch case语句的区别

C语言中,case后不可直接跟多个常量,要如下图所示使用(不要忘记defalut)

switch(int,char){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
//todo
break;
defalut:		break;

ST语言中,OF后可以用逗号直接将常量隔开,也可以使用省略号表示常量的范围。


```CASE isignal OF
	10,11,12,13..19:
	bredlight:=FALSE;
	bgreenlight:=FALSE;
	byellowlight:=FALSE;
	IF  waittimer.Q AND bXswitch THEN
		isignal:=20;
		END_IF
	20:
	bredlight:=FALSE;
	bgreenlight:=TRUE;
	byellowlight:=FALSE;
	
	IF  greentimer.Q THEN
		isignal:=30;
		END_IF
	30:
		bredlight:=FALSE;
		bgreenlight:=FALSE;
		byellowlight:=TRUE;
		
	IF  yellowtimer.Q THEN
		isignal:=40;
		END_IF
	40:
	bredlight:=TRUE;
	bgreenlight:=FALSE;
	byellowlight:=FALSE;

	IF  redtimer.Q THEN
		isignal:=10;
		END_IF

	ELSE:
	XXXXXXXXX;
END_CASE

要用END_CASE结尾,defalut用ELSE代替

猜你喜欢

转载自blog.csdn.net/wkwk7600/article/details/83501850