在用戶(hù)程序執(zhí)行階段,可編程邏輯控制器總是按由上而下的順序依次地掃描用戶(hù)程序(梯形圖)。在掃描每一條梯形圖時(shí),又總是先掃描梯形圖左邊的由各觸點(diǎn)構(gòu)成的控制線路,并按先左后右、先上后下的順序?qū)τ捎|點(diǎn)構(gòu)成的控制線路進(jìn)行邏輯運(yùn)算,然后根據(jù)邏輯運(yùn)算的結(jié)果,刷新該邏輯線圈在系統(tǒng)RAM存儲(chǔ)區(qū)中對(duì)應(yīng)位的狀態(tài);或者刷新該輸出線圈在I/O映象區(qū)中對(duì)應(yīng)位的狀態(tài);或者確定是否要執(zhí)行該梯形圖所規(guī)定的特殊功能指令。 [5]
即,在用戶(hù)程序執(zhí)行過(guò)程中,只有輸入點(diǎn)在I/O映象區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)不會(huì)發(fā)生變化,而其他輸出點(diǎn)和軟設(shè)備在I/O映象區(qū)或系統(tǒng)RAM存儲(chǔ)區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)都有可能發(fā)生變化,而且排在上面的梯形圖,其程序執(zhí)行結(jié)果會(huì)對(duì)排在下面的凡是用到這些線圈或數(shù)據(jù)的梯形圖起作用;相反,排在下面的梯形圖,其被刷新的邏輯線圈的狀態(tài)或數(shù)據(jù)只能到下一個(gè)掃描周期才能對(duì)排在其上面的程序起作用。 [5]
在程序執(zhí)行的過(guò)程中如果使用立即I/O指令則可以直接存取I/O點(diǎn)。即使用I/O指令的話(huà),輸入過(guò)程映像寄存器的值不會(huì)被更新,程序直接從I/O模塊取值,輸出過(guò)程映像寄存器會(huì)被立即更新,這跟立即輸入有些區(qū)別。 [5]
輸出刷新
當(dāng)掃描用戶(hù)程序結(jié)束后,可編程邏輯控制器就進(jìn)入輸出刷新階段。在此期間,CPU按照I/O映象區(qū)內(nèi)對(duì)應(yīng)的狀態(tài)和數(shù)據(jù)刷新所有的輸出鎖存電路,再經(jīng)輸出電路驅(qū)動(dòng)相應(yīng)的外設(shè)。這時(shí),才是可編程邏輯控制器的真正輸出。 [5]
小結(jié)
根據(jù)上述過(guò)程的描述,可以對(duì)PLC工作過(guò)程的特點(diǎn)小結(jié)如下: [7]
①PLC采用集中采樣、集中輸出的工作方式,這種方式減少了外界干擾的影響。 [5]
②PLC的工作過(guò)程是循環(huán)掃描的過(guò)程,循環(huán)掃描時(shí)間的長(zhǎng)短取決于指令執(zhí)行速度、用戶(hù)程序的長(zhǎng)度等因素。 [5]