IF:條件執(zhí)行
使用“條件執(zhí)行”指令,可以根據(jù)條件控制程序流的分支。該條件是結果為布爾值(TRUE 或 FALSE)的表達式??梢詫⑦壿嫳磉_式或比較表達式作為條件。
執(zhí)行該指令時,將對指定的表達式進行運算。如果表達式的值為 TRUE,則表示滿足該條件;如果其值為 FALSE,則表示不滿足該條件。
語法
? IF 分支:
IF <條件> THEN <指令>
END_IF;
如果滿足該條件,則將執(zhí)行 THEN 后編寫的指令。如果不滿足該條件,則程序將從 END_IF 后的下一條指令開始繼續(xù)執(zhí)行。
? IF 和 ELSE 分支:
IF <條件> THEN <指令 1="">
ELSE <指令 0="">;
END_IF;
如果滿足該條件,則將執(zhí)行 THEN 后編寫的指令。如果不滿足該條件,則將執(zhí)行 ELSE 后編寫的指令。程序將從 END_IF 后的下一條指令開始繼續(xù)執(zhí)行。
<條件> BOOL I、Q、M、D、L 待求值的表達式
<指令> -在滿足條件時,要執(zhí)行的指令。如果不滿足條件,則執(zhí)行 ELSE 后編寫的指令。如果不滿足程序循環(huán)內的任何條件,則執(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)一個功能按一下按鈕,有輸出再按一次輸出關閉
沒按時狀態(tài)
按時狀態(tài)
抬起狀態(tài)
再次按鈕時的狀態(tài)
再次抬起后的狀態(tài)
FUNCTION FC150 : INT 程序名FC150 / 輸出反饋的屬性INT
VAR_INPUT 輸入變量
a: BOOL; BOOL變量a
END_VAR 輸入變量區(qū)結束
VAR_outPUT 輸出變量
b: BOOL; BOOL變量b
END_VAR 輸出變量區(qū)結束
VAR_TEMP 臨時變量
END_VAR 臨時變量區(qū)結束
------------程序---------------
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
-
指令
+關注
關注
1文章
611瀏覽量
35840 -
SCL
+關注
關注
1文章
240瀏覽量
17185
原文標題:SCL--IF小練
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
GPRS通訊程序編碼練習
PLC編程軟件使用及基本指令編程練習
![PLC編程軟件使用及基本<b class='flag-5'>指令</b>編程<b class='flag-5'>練習</b>](https://file1.elecfans.com//web2/M00/A4/68/wKgZomUMNBGAXja4AABJQ7efuUU757.jpg)
SIMATIC使用方法和PLC的應用練習
![SIMATIC使用方法和PLC的應用<b class='flag-5'>練習</b>](https://file1.elecfans.com//web2/M00/A4/68/wKgZomUMNBGAPKRKAAA7oG0cy_4430.jpg)
邏輯操作指令
位操作指令
51單片機學習教程之基礎指令的練習
![51單片機學習教程之基礎<b class='flag-5'>指令</b>的<b class='flag-5'>練習</b>](https://file.elecfans.com/web1/M00/8E/E8/pIYBAFy2zraAd11-AAHnRRXG5eE696.png)
位操作指令
![位<b class='flag-5'>操作</b><b class='flag-5'>指令</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
S7-1200比較操作-變量指令說明
Variant類型的變量指令說明
SCL語言for指令的用法
![<b class='flag-5'>SCL</b>語言for<b class='flag-5'>指令</b>的用法](https://file1.elecfans.com/web2/M00/8A/11/wKgZomSP-76AI9gSAAAUWVGBUh8492.png)
評論