
導語:當可編程邏輯控制器投入運行后,其工作過程一般分為三個階段,即輸入采樣、用戶程序執行和輸出刷新三個階段。完成上述三個階段稱作一個掃描周期。在整個運行期間,可編程邏輯控制器的CPU以一定的掃描速度重復執行上述三個階段。

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