IF:條件執(zhí)行
使用“條件執(zhí)行”指令,可以根據(jù)條件控制程序流的分支。該條件是結(jié)果為布爾值(TRUE 或 FALSE)的表達式。可以將邏輯表達式或比較表達式作為條件。
執(zhí)行該指令時,將對指定的表達式進行運算。如果表達式的值為 TRUE,則表示滿足該條件;如果其值為 FALSE,則表示不滿足該條件。
語法
? IF 分支:
IF <條件> THEN <指令>
END_IF;
如果滿足該條件,則將執(zhí)行 THEN 后編寫的指令。如果不滿足該條件,則程序?qū)?END_IF 后的下一條指令開始繼續(xù)執(zhí)行。
? IF 和 ELSE 分支:
IF <條件> THEN <指令 1="">
ELSE <指令 0="">;
END_IF;
如果滿足該條件,則將執(zhí)行 THEN 后編寫的指令。如果不滿足該條件,則將執(zhí)行 ELSE 后編寫的指令。程序?qū)?END_IF 后的下一條指令開始繼續(xù)執(zhí)行。
<條件> BOOL I、Q、M、D、L 待求值的表達式
<指令> -在滿足條件時,要執(zhí)行的指令。如果不滿足條件,則執(zhí)行 ELSE 后編寫的指令。如果不滿足程序循環(huán)內(nèi)的任何條件,則執(zhí)行這些指令。
以下例子說明了該指令的工作原理:
IF "Tag_1" = 1
THEN "Tag_Value" := 10;
ELSIF "Tag_2" = 1
THEN "Tag_Value" := 20;
ELSIF "Tag_3" = 1
THEN "Tag_Value" := 30;
ELSE "Tag_Value" := 0;
END_IF;
練習:
建立FC150 SCL 聯(lián)系程序.
實現(xiàn)一個功能按一下按鈕,有輸出再按一次輸出關(guān)閉
沒按時狀態(tài)
按時狀態(tài)
抬起狀態(tài)
再次按鈕時的狀態(tài)
再次抬起后的狀態(tài)
FUNCTION FC150 : INT 程序名FC150 / 輸出反饋的屬性INT
VAR_INPUT 輸入變量
a: BOOL; BOOL變量a
END_VAR 輸入變量區(qū)結(jié)束
VAR_outPUT 輸出變量
b: BOOL; BOOL變量b
END_VAR 輸出變量區(qū)結(jié)束
VAR_TEMP 臨時變量
END_VAR 臨時變量區(qū)結(jié)束
------------程序---------------
IF a = false AND M1.3=true THEN 中間標識位
M1.3:=false;
END_IF;
IF a = true AND b=false AND M1.3=false THEN 第一次按”按鈕”
b:=true; 激活輸出B
END_IF;
IF a = false AND b=true THEN 中間標識位
M1.2:=true;
END_IF;
IF a = true AND b=true AND M1.2=true THEN 第二次按”按鈕”
M1.2:=false;
b:=false; 關(guān)閉輸出B
M1.3:=true;
END_IF;
FC150:= 100; FC反饋值
END_FUNCTION
-
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28329 -
SCL
+關(guān)注
關(guān)注
1文章
239瀏覽量
17036 -
控制程序
+關(guān)注
關(guān)注
1文章
51瀏覽量
9015
原文標題:SCL--IF小練
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論