PLC采用循環(huán)執行用戶(hù)程序的方式,稱(chēng)為循環(huán)掃描工作方式,一個(gè)循環(huán)掃描周期,主要可分為輸入采樣、用戶(hù)程序執行和輸出刷新三個(gè)階段。PLC運行后首先執行一次啟動(dòng)組織塊,再開(kāi)始監視時(shí)間,在輸入采樣階段,讀取輸入設備的狀態(tài),并存儲到IO映像區中,之后進(jìn)入執行用戶(hù)程序階段,按照從上到下從左到右的順序依次執行用戶(hù)程序,執行完用戶(hù)程序,將輸出映像區的結果刷新到輸出設備。這一過(guò)程就是一個(gè)掃描周期,循環(huán)進(jìn)行上述步驟稱(chēng)為循環(huán)掃描工作方式。
在掃描周期中的輸入采樣階段,依次讀入所有輸入狀態(tài)和數據,并將它們存入IO映像區中的相應單元內,輸入采樣結束后,轉入用戶(hù)程序執行和輸出刷新階段。在這兩個(gè)階段中,即使輸入狀態(tài)和數據發(fā)生變化,IO映像區中的相應單元的狀態(tài)和數據也不會(huì )改變。因此如果輸入是脈沖信號,該脈沖信號的寬度必須大于一個(gè)掃描周期,才能夠保證在任何情況下該輸入均能被讀入。
在掃描周期中的用戶(hù)程序執行階段,PLC總是按由上而下的順序依次掃描用戶(hù)程序,再掃描每一條梯形圖時(shí),并按先左后右先上后下的順序進(jìn)行邏輯運算。邏輯運算的結果存于映像區,上面的邏輯運算,其運算結果會(huì )對下面的邏輯運算起作用。相反下面的邏輯運算,其運算結果只能到下一個(gè)掃描周期,才能對上面的運算結果起作用。
在掃描周期中的輸出刷新階段,當掃描用戶(hù)程序結束后,PLC就進(jìn)入輸出刷新階段。在此期間,CPU按照保存在IO映像區的運算結果,刷新所有對應的輸出鎖存電路,再經(jīng)輸出電路驅動(dòng)相應的外設,這時(shí)才是PLC的真正輸出。
綜合上述過(guò)程,PLC的工作特點(diǎn)如下:
一、所有輸入信號在程序處理前統一讀入,并在程序處理過(guò)程中不再變化。而程序處理的結果也是在掃描周期的最后時(shí)段統一輸出,其工作特點(diǎn)是將一個(gè)連續的過(guò)程分解成若干靜止的狀態(tài)。
二、PLC僅在掃描周期的起始時(shí)段讀取外部輸入狀態(tài),該時(shí)段相對較短,對輸入信號的抗干擾能力強。
三、循環(huán)掃描的工作方式,對于高速變化的過(guò)程可能漏掉變化的信號,也會(huì )帶來(lái)系統響應的滯后。為克服上述問(wèn)題,可利用立即輸入輸出脈沖捕獲高速計數器或中斷技術(shù)等。
下面我們來(lái)看一個(gè)實(shí)例,I0.1代表外部的按鈕,當按鈕動(dòng)作后,左面的程序只需要一個(gè)掃描周期,就可以完成對M0.4的刷新,而右面的程序要經(jīng)過(guò)四個(gè)掃描周期才能完成對M0.4的刷新,在掃描周期極短,無(wú)時(shí)序配合要求時(shí),感覺(jué)不到這兩個(gè)程序執行的差異。在有時(shí)序配合的情況下,這種差異要引起注意。
結合PLC循環(huán)掃描工作方式分析圖示雙線(xiàn)圈輸出程序。當I0.0按下時(shí),最終輸出Q0.0還是0,當I0.1按下時(shí),最終輸出Q0.0才是1。
下面通過(guò)示意圖介紹西門(mén)子S7-1200 PLC啟動(dòng)到運行的過(guò)程,啟動(dòng)過(guò)程中依次執行以下步驟:A、清除輸入映像存儲器。B、使用上一個(gè)值或替換值,對輸出執行初始化。C、執行啟動(dòng)OB塊。D、將物理輸入的狀態(tài)復制到輸入映像存儲器。F、啟用將輸出映像存儲器的值寫(xiě)入到物理輸出。E、將所有中斷事件存儲到要在軟模式下處理的隊列中。運行時(shí)依次執行以下步驟:①將輸出映像存儲器寫(xiě)入物理輸出。②將物理輸入的狀態(tài)復制到輸入映像存儲器。③執行程序循環(huán)OB塊。④執行自檢診斷。⑤請注意,在掃描周期的任何階段,可實(shí)時(shí)處理中斷和通信。

S7-1200從啟動(dòng)到運行的執行過(guò)程