當(dāng)可編程邏輯控制器投入運(yùn)行后,其工作過程一般分為三個階段,即輸入采樣、用戶程序執(zhí)行和輸出刷新三個階段。完成上述三個階段稱作一個掃描周期。在整個運(yùn)行期間,可編程邏輯控制器的CPU以一定的掃描速度重復(fù)執(zhí)行上述三個階段。
在輸入采樣階段,可編程邏輯控制器以掃描方式依次地讀入所有輸入狀態(tài)和數(shù)據(jù),并將它們存入I/O映象區(qū)中的相應(yīng)的單元內(nèi)。輸入采樣結(jié)束后,轉(zhuǎn)入用戶程序執(zhí)行和輸出刷新階段。在這兩個階段中,即使輸入狀態(tài)和數(shù)據(jù)發(fā)生變化,I/O映象區(qū)中的相應(yīng)單元的狀態(tài)和數(shù)據(jù)也不會改變。因此,如果輸入是脈沖信號,則該脈沖信號的寬度必須大于一個掃描周期,才能保證在任何情況下,該輸入均能被讀入。
在用戶程序執(zhí)行階段,可編程邏輯控制器總是按由上而下的順序依次地掃描用戶程序(梯形圖)。在掃描每一條梯形圖時,又總是先掃描梯形圖左邊的由各觸點(diǎn)構(gòu)成的控制線路,并按先左后右、先上后下的順序?qū)τ捎|點(diǎn)構(gòu)成的控制線路進(jìn)行邏輯運(yùn)算,然后根據(jù)邏輯運(yùn)算的結(jié)果,刷新該邏輯線圈在系統(tǒng)RAM存儲區(qū)中對應(yīng)位的狀態(tài);或者刷新該輸出線圈在I/O映象區(qū)中對應(yīng)位的狀態(tài);或者確定是否要執(zhí)行該梯形圖所規(guī)定的特殊功能指令。
即,在用戶程序執(zhí)行過程中,只有輸入點(diǎn)在I/O映象區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)不會發(fā)生變化,而其他輸出點(diǎn)和軟設(shè)備在I/O映象區(qū)或系統(tǒng)RAM存儲區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)都有可能發(fā)生變化,而且排在上面的梯形圖,其程序執(zhí)行結(jié)果會對排在下面的凡是用到這些線圈或數(shù)據(jù)的梯形圖起作用;相反,排在下面的梯形圖,其被刷新的邏輯線圈的狀態(tài)或數(shù)據(jù)只能到下一個掃描周期才能對排在其上面的程序起作用。
在程序執(zhí)行的過程中如果使用立即I/O指令則可以直接存取I/O點(diǎn)。即使用I/O指令的話,輸入過程映像寄存器的值不會被更新,程序直接從I/O模塊取值,輸出過程映像寄存器會被立即更新,這跟立即輸入有些區(qū)別。
當(dāng)掃描用戶程序結(jié)束后,可編程邏輯控制器就進(jìn)入輸出刷新階段。在此期間,CPU按照I/O映象區(qū)內(nèi)對應(yīng)的狀態(tài)和數(shù)據(jù)刷新所有的輸出鎖存電路,再經(jīng)輸出電路驅(qū)動相應(yīng)的外設(shè)。這時,才是可編程邏輯控制器的真正輸出。
①PLC采用集中采樣、集中輸出的工作方式,這種方式減少了外界干擾的影響。②PLC的工作過程是循環(huán)掃描的過程,循環(huán)掃描時間的長短取決于指令執(zhí)行速度、用戶程序的長度等因素。 ③輸出對輸入的影響有滯后現(xiàn)象。PLC采用集中采樣、集中輸出的工作方式,當(dāng)采樣階段結(jié)束后,輸入狀態(tài)的變化將要等到下一個采樣周期才能被接收,因此這個滯后時間的長短又主要取決于循環(huán)周期的長短。此外,影響滯后時間的因素還有輸入濾波時間、輸出電路的滯后時間等。 ④輸出映像寄存器的內(nèi)容取決于用戶程序掃描執(zhí)行的結(jié)果。 ⑤輸出鎖存器的內(nèi)容由上一次輸出刷新期間輸出映像寄存器中的數(shù)據(jù)決定。⑥PLC當(dāng)前實際的輸出狀態(tài)由輸出鎖存器的內(nèi)容決定。