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