一、 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. 星三角控制:
#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 語句)
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!