三菱PLC的ST程式語言的四大類指令的最後一個就是今天要說的重複指令。重複指令又叫循環指令,是指重複執行某個或多個符合條件的語句。重複指令有三個:FOR\WHILE\REPETT,EXIT是退出重複指令。
1,FOR指令
2,WHILE指令
3,REPEAT指令
4,EXIT跳出重複指令
FOR ?ANY_INT? := ?初始值(式)? TO ?結束值(式)? BY ?增加值(式)? DO
?執行語句? ;
END_FOR;
首先進行作為循環變量使用的數據的初始化。
根據增加值表達式對初始化後的循環變量進行加法或減法運算,再達到最終值前,一直重複執行「從DO算起到END_FOR內的1個以上語句。」
FOR…DO:語句結束後的重複變量保持著結束時的值。
ANY_INT:整形變量,要賦個初始值。
TO…最終值,可以是算式。
BY…增加值,可以是算式。
DO
執行語句;
END_FOR;
一個掃描周期執行完成。
WHILE ?條件式? DO
?執行語句? ;
END_WHILE;
條件式:BOOL變量。
條件式(布爾表達式)為真(TRUE)時,則執行一個或超過一個的語句。
先做判斷,真則重複循環,假則不重複循環。一個掃描周期執行完成。
REPEAT
?執行語句? ;
UNTIL ?條件式? END_REPEAT;
條件式:BOOL變量。
條件式(布爾表達式)為假(FALSE)時,則執行一個或超過一個的語句,
條件式為真時,退出重複。
先執行重複循環,再做判斷,假繼續重複循環,真退出重複循環。一個掃描周期執行完成。
後面兩個還簡單,為什麼用的多的是FOR指令呢?我想應該是這個單詞更好記吧。
退出重複就用:
IF ?條件式? THEN
EXIT;
END_IF;
總結:三菱PLC的ST程式語言的四大類指令分別是:1,最簡單的是代入(賦值)指令:(:=);2,條件(選擇)指令;3,重複(循環)指令;4,子程序(函數/FB塊)調用指令。
上圖用ST語言編寫的工位循環檢測程序,和《三菱Q系列PLC,結構化工程移位指令應用,良品檢測程序說明》是一樣的效果。