IF:條件執行
使用“條件執行”指令,可以根據條件控制程序流的分支。該條件是結果為布爾值(TRUE 或 FALSE)的表達式。可以將邏輯表達式或比較表達式作為條件。
執行該指令時,將對指定的表達式進行運算。如果表達式的值為 TRUE,則表示滿足該條件;如果其值為 FALSE,則表示不滿足該條件。
語法
? IF 分支:
IF <條件> THEN <指令>
END_IF;
如果滿足該條件,則將執行 THEN 后編寫的指令。如果不滿足該條件,則程序將從 END_IF 后的下一條指令開始繼續執行。
? IF 和 ELSE 分支:
IF <條件> THEN <指令 1="">
ELSE <指令 0="">;
END_IF;
如果滿足該條件,則將執行 THEN 后編寫的指令。如果不滿足該條件,則將執行 ELSE 后編寫的指令。程序將從 END_IF 后的下一條指令開始繼續執行。
<條件> BOOL I、Q、M、D、L 待求值的表達式
<指令> -在滿足條件時,要執行的指令。如果不滿足條件,則執行 ELSE 后編寫的指令。如果不滿足程序循環內的任何條件,則執行這些指令。
以下例子說明了該指令的工作原理:
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 聯系程序.
實現一個功能按一下按鈕,有輸出再按一次輸出關閉
沒按時狀態
按時狀態
抬起狀態
再次按鈕時的狀態
再次抬起后的狀態
FUNCTION FC150 : INT 程序名FC150 / 輸出反饋的屬性INT
VAR_INPUT 輸入變量
a: BOOL; BOOL變量a
END_VAR 輸入變量區結束
VAR_outPUT 輸出變量
b: BOOL; BOOL變量b
END_VAR 輸出變量區結束
VAR_TEMP 臨時變量
END_VAR 臨時變量區結束
------------程序---------------
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; 關閉輸出B
M1.3:=true;
END_IF;
FC150:= 100; FC反饋值
END_FUNCTION
-
變量
+關注
關注
0文章
613瀏覽量
28370 -
SCL
+關注
關注
1文章
239瀏覽量
17081 -
控制程序
+關注
關注
1文章
51瀏覽量
9037
原文標題:SCL--IF小練
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論