PLC程式設計,選擇語句IF走天下,ST遠不止那麼簡單

選擇語句是根據規定的條件選擇表示式來確定執行它所組成的語句。從大類上可分為 IF 和CASE 兩類。

IF語句

1)用 IF語句實現單分支選擇結構,基本格式如下。

IF <布林表示式> THEN

<語句內容>;

END_IF

布林表示式:

可以是一個bool變數,或者多個布林量的與或關係;也可以是實數判斷條件,例如一個實數不等於0等等。

如果使用上述格式,只有當<布林表示式>為 TRUE 時,才執行語句內容,否則不執行 IF 語句的<語句內容>。語句內容可以為一條語句或者可以為空語句,也可以並列多條語句。

PLC程式設計,選擇語句IF走天下,ST遠不止那麼簡單

示例:判斷當前溫度是否超過了 60 攝氏度,如果超過,始終開啟風扇進行散熱處理。

PLC程式設計,選擇語句IF走天下,ST遠不止那麼簡單

2) IF…ELSE 語句

用 IF語句實現雙分支選擇機構,基本格式如下:

IF <布林表示式> THEN

<語句內容 1>;

ELSE

<語句內容 2>;

END_IF

如上表達式先判斷<布林表示式>內的值,如果為 TRUE,則執行<語句內容 1>,如下 FALSE,

則執行<語句內容 2>。

PLC程式設計,選擇語句IF走天下,ST遠不止那麼簡單

示例:判斷當溫度小於到 20攝氏度時,開啟加熱裝置,否則(溫度大於等於 20

攝氏度)加熱裝置斷開狀態。

PLC程式設計,選擇語句IF走天下,ST遠不止那麼簡單

當程式的條件判斷式不止一個時,此時,需要再一個巢狀的 IF…ELSE 語句,即多分支選擇結

構,基本格式如下。

IF <布林表示式 1> THEN

IF <布林表示式 2> THEN

<語句內容 1>;

ELSE

<語句內容 2>;

END_IF

ELSE

<語句內容 3>;

END_IF

如上,在 IF…ELSE 中有放入了一個 IF…ELSE 語句,實現巢狀。PLC週期性從上向下執行,當<布林表示式1>為True,則執行第二條IF語句,否則執行<語句內容3>。

3) IF。。ELSIF。。ELSE 語句

此外,多分支選擇結構還能透過如下方式來呈現。具體格式如下

IF <布林表示式 1> THEN

<語句內容 1>;

ELSIF <布林表示式 2> THEN

<語句內容 2>;

ELSIF <布林表示式 3> THEN

<語句內容 3>;

。 。 。

。 。 。

ELSE

<語句內容 n>;

END_IF

如上,PLC

PLC程式設計,選擇語句IF走天下,ST遠不止那麼簡單

週期性從上向下執行。

1。當<布林表示式1>為True,則執行<語句內容1>;

2。當<布林表示式2>為True,則執行<語句內容2>;

3。當<布林表示式3>為True,則執行<語句內容3>;

1、2、3都不為True,則執行<語句內容n>;

CASE 語句

CASE 語句是多分支選擇語句,他根據表示式的值來使程式從多個分支中選擇一個用於執行的

分支,基本格式如下。

CASE <條件變數> OF

<數值 1>: <語句內容 1>;

<數值 2>: <語句內容 2>;

<數值 3, 數值 4, 數值 5>: <語句內容 3>;

<數值 6 。。 數值 10>: <語句內容 4>;

。。。

<數值 n>: <語句內容 n>;

ELSE

END_CASE;

CASE 語句按照下面的模式進行執行:

 如果<條件變數>的值為<數值 i>,則執行指令<語句內容 i>。

 如果<條件變數>沒有任何指定的值,則執行指令< ELSE 語句內容>。

 如果條件變數的幾個值都需要執行相同的指令,那麼可以把幾個值相繼寫在一起,並且用逗號

分開。這樣,共同的指令被執行,如上程式第四行。

 如果需要條件變數在一定的範圍內執行相同的指令,可以透過寫入初、終值,以兩個點分開。

這樣,共同的指令被執行,如上程式第五行。

示例:當前狀態為 1 或 5 時,裝置 1 執行和裝置 3 停止;狀態為 2 時,裝置 2 停止和裝置

3 執行;如當前狀態在 10至 20 之間,裝置 1 和裝置 3 均執行,其他情況時要求裝置 1, 2, 3均停止。

PLC程式設計,選擇語句IF走天下,ST遠不止那麼簡單

如上:當 nState 為 1 或者 5時,裝置 1開,裝置 3 關;

nState 為 2時,裝置 2 關,裝置 3 開;

nState 為 10~20時,裝置 1關,裝置 3 開;

其他情況則裝置 1關,裝置 2關,裝置 3關。

編者旨在與對Codesys感興趣的同學一起分享交流,歡迎關注!關注!關注!轉發,然後私信我關鍵字“資料”。