當西門子PLC模塊投入運行后,其工作過程一般分為三個階段,即輸入采樣、用戶程序執(zhí)行和輸出刷新三個階段。完成上述三個階段稱作一個掃描周期。在整個運行期間,西門子PLC模塊的CPU以一定的掃描速度重復執(zhí)行上述三個階段。
輸入采樣:
在輸入采樣階段,西門子PLC模塊以掃描方式依次地讀入所有輸入狀態(tài)和數(shù)據(jù),并將它們存入I/O映象區(qū)中的相應得單元內(nèi)。輸入采樣結束后,轉入用戶程序執(zhí)行和輸出刷新階段。在這兩個階段中,即使輸入狀態(tài)和數(shù)據(jù)發(fā)生變化,I/O映象區(qū)中的相應單元的狀態(tài)和數(shù)據(jù)也不會改變。因此,如果輸入是脈沖信號,則該脈沖信號的寬度必須大于一個掃描周期,才能保證在任何情況下,該輸入均能被讀入。
用戶程序執(zhí)行:
在用戶程序執(zhí)行階段,西門子PLC模塊總是按由上而下的順序依次地掃描用戶程序。在掃描每一條梯形圖時,又總是先掃描梯形圖左邊的由各觸點構成的控制線路,并按先左后右、先上后下的順序對由觸點構成的控制線路進行邏輯運算,然后根據(jù)邏輯運算的結果,刷新該邏輯線圈在系統(tǒng)RAM存儲區(qū)中對應位的狀態(tài);或者刷新該輸出線圈在I/O映象區(qū)中對應位的狀態(tài);或者確定是否要執(zhí)行該梯形圖所規(guī)定的特殊功能指令。
即,在用戶程序執(zhí)行過程中,只有輸入點在I/O映象區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)不會發(fā)生變化,而其他輸出點和軟設備在I/O映象區(qū)或系統(tǒng)RAM存儲區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)都有可能發(fā)生變化,而且排在上面的梯形圖,其程序執(zhí)行結果會對排在下面的凡是用到這些線圈或數(shù)據(jù)的梯形圖起作用;相反,排在下面的梯形圖,其被刷新的邏輯線圈的狀態(tài)或數(shù)據(jù)只能到下一個掃描周期才能對排在其上面的程序起作用。
輸出刷新:
當掃描用戶程序結束后,西門子PLC模塊就進入輸出刷新階段。在此期間,CPU按照I/O映象區(qū)內(nèi)對應的狀態(tài)和數(shù)據(jù)刷新所有的輸出鎖存電路,再經(jīng)輸出電路驅動相應的外設。這時,才是西門子PLC模塊的真正輸出。
同樣的若干條梯形圖,其排列次序不同,執(zhí)行的結果也不同。另外,采用掃描用戶程序的運行結果與繼電器控制裝置的硬邏輯并行運行的結果有所區(qū)別。當然,如果掃描周期所占用的時間對整個運行來說可以忽略,那么二者之間就沒有什么區(qū)別了。