控制Q0.0,利用邊沿檢測和輸出指令實現(xiàn)“一點兩用”,用STEP7 V5.3編制的STL程序如下。 A I0.0
FP M0.0
= M0.1
A M0.1
A Q0.0
= M0.2
A(
O M0.1
O Q0.0
)
AN M0.2
= Q0.0
程序說明:當(dāng)?shù)?次按下按鈕SB時,I0.0的常開觸點閉合,在RLO邊沿檢測指令FP的作用下,輔助繼電器M0.1接通一個掃描周期,從而輸出繼電器Q0.0的線圈得電,且Q0.0構(gòu)成自鎖(保持)電路,同時Q0.0另一對常開觸點閉合,為M0.2接通做準(zhǔn)備;當(dāng)?shù)?次按下按鈕SB時,在FP指令的作用下,M0.1的常開觸點接通M0.2的線圈回路,M0.2的常閉觸點切斷了PLC的輸出,從而實現(xiàn)一點兩用。
3.2 利用邊沿檢測、跳轉(zhuǎn)指令
若利用邊沿檢測和跳轉(zhuǎn)指令,實現(xiàn)起來較為簡便,其STL程序如下。
A I0.0
FP M0.0
JNB OUT
AN Q0.0
= Q0.0
OUT: NOP0
程序說明:第4、5個語句的功能是實現(xiàn)Q0.0的自取反,但若沒有前面的跳轉(zhuǎn)指令,則程序每個掃描周期都會將Q0.0的狀態(tài)取反一次;第1、2句的作用是限定只有當(dāng)I0.0的上升沿到時取反一次,否則跳出取反程序段,從而實現(xiàn)一點兩用。
3.3 利用邊沿檢測、異或指令
若利用邊沿檢測和異或指令實現(xiàn)起來更為簡便,程序如下。
A I 0.0
FP M0.0
X Q0.0
= Q0.0
程序說明:當(dāng)?shù)?次檢測到I0.0的上升沿,此時Q0.0為0,所以異或后輸出Q0.0為1,第2個掃描周期來時,已經(jīng)不是I0.0的上升沿了,因此為0,然而此時Q0.0確為1,所以異或后保持結(jié)果仍為1;第2次檢測到上升沿時,Q0.0為1,異或后輸出Q0.0的結(jié)果為0,等到下一個掃描周期到時,已經(jīng)不是上升沿了,而此時Q0.0還是為0,因此異或保持輸出仍為0。
4、