IF:條件執(zhí)行
使用“條件執(zhí)行”指令,可以根據(jù)條件控制程序流的分支。該條件是結(jié)果為布爾值(TRUE 或 FALSE)的表達(dá)式。可以將邏輯表達(dá)式或比較表達(dá)式作為條件。
執(zhí)行該指令時(shí),將對(duì)指定的表達(dá)式進(jìn)行運(yùn)算。如果表達(dá)式的值為 TRUE,則表示滿足該條件;如果其值為 FALSE,則表示不滿足該條件。
語(yǔ)法
? 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 待求值的表達(dá)式
<指令> -在滿足條件時(shí),要執(zhí)行的指令。如果不滿足條件,則執(zhí)行 ELSE 后編寫的指令。如果不滿足程序循環(huán)內(nèi)的任何條件,則執(zhí)行這些指令。
以下例子說(shuō)明了該指令的工作原理:
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;
練習(xí):
建立FC150 SCL 聯(lián)系程序.
實(shí)現(xiàn)一個(gè)功能按一下按鈕,有輸出再按一次輸出關(guān)閉
沒按時(shí)狀態(tài)
按時(shí)狀態(tài)
抬起狀態(tài)
再次按鈕時(shí)的狀態(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 臨時(shí)變量
END_VAR 臨時(shí)變量區(qū)結(jié)束
------------程序---------------
IF a = false AND M1.3=true THEN 中間標(biāo)識(shí)位
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 中間標(biāo)識(shí)位
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)注
1文章
611瀏覽量
35812 -
SCL
+關(guān)注
關(guān)注
1文章
239瀏覽量
17173
原文標(biāo)題:SCL--IF小練
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論