最初研制生產(chǎn)的 PLC主要用于代替?zhèn)鹘y(tǒng)的由繼電器接觸器構(gòu)成的控制裝置,但這兩者的運行方式是不相同的:

(1)繼電器控制裝置采用硬邏輯并行運行的方式,即如果這個繼電器的線圈通電或斷電,該繼電器所有的觸點(包括其常開或常閉觸點)在繼電器控制線路的哪個位置上都會立即同時動作。
(2)PLC的CPU則采用順序邏輯掃描用戶程序的運行方式,即如果一個輸出線圈或邏輯線圈被接通或斷開,該線圈的所有觸點(包括其常開或常閉觸點)不會立即動作,必須等掃描到該觸點時才會動作。
PLC是采用“順序掃描,不斷循環(huán)”的方式進行工作的。即在PLC運行時,CPU根據(jù)用戶按控制要求編制好并存于用戶存儲器中的程序,按指令步序號(或地址號)作周期性循環(huán)掃描,如無跳轉(zhuǎn)指令,則從第一條指令開始逐條順序執(zhí)行用戶程序,直至程序結(jié)束。然后重新返回第一條指令,開始下一輪新的掃描。在每次掃描過程中,還要完成對輸入信號的采樣和對輸出狀態(tài)的刷新等工作。
PLC的一個掃描周期必經(jīng)輸入采樣、程序執(zhí)行和輸出刷新三個階段。
PLC在輸入采樣階段:首先以掃描方式按順序?qū)⑺袝捍嬖谳斎腈i存器中的輸入端子的通斷狀態(tài)或輸入數(shù)據(jù)讀入,并將其寫入各對應的輸入狀態(tài)寄存器中,即刷新輸入。隨即關閉輸入端口,進入程序執(zhí)行階段。
PLC在程序執(zhí)行階段:按用戶程序指令存放的先后順序掃描執(zhí)行每條指令,經(jīng)相應的運算和處理后,其結(jié)果再寫入輸出狀態(tài)寄存器中,輸出狀態(tài)寄存器中所有的內(nèi)容隨著程序的執(zhí)行而改變。
輸出刷新階段:當所有指令執(zhí)行完畢,輸出狀態(tài)寄存器的通斷狀態(tài)在輸出刷新階段送至輸出鎖存器中,并通過一定的方式(繼電器、晶體管或晶閘管)輸出,驅(qū)動相應輸出設備工作。
為了消除二者之間由于運行方式不同而造成的差異,考慮到繼電器控制裝置各類觸點的動作時間一般在 100ms以上,而PLC掃描用戶程序的時間一般均小于100ms,因此,PLC采用了一種不同于一般微型計算機的運行方式---掃描技術(shù)。這樣在對于I/O響應要求不高的場合,PLC與繼電器控制裝置的處理結(jié)果上就沒有什么區(qū)別了。
1、掃描技術(shù)
當 PLC投入運行后,其工作過程一般分為三個階段,即輸入采樣、用戶程序執(zhí)行和輸出刷新三個階段。完成上述三個階段稱作一個掃描周期。在整個運行期間,PLC的CPU以一定的掃描速度重復執(zhí)行上述三個階段。
(1)輸入采樣階段
在輸入采樣階段, PLC以掃描方式依次地讀入所有輸入狀態(tài)和數(shù)據(jù),并將它們存入I/O映象區(qū)中的相應得單元內(nèi)。輸入采樣結(jié)束后,轉(zhuǎn)入用戶程序執(zhí)行和輸出刷新階段。在這兩個階段中,即使輸入狀態(tài)和數(shù)據(jù)發(fā)生變化,I/O映象區(qū)中的相應單元的狀態(tài)和數(shù)據(jù)也不會改變。因此,如果輸入是脈沖信號,則該脈沖信號的寬度必須大于一個掃描周期,才能保證在任何情況下,該輸入均能被讀入。
(2)用戶程序執(zhí)行階段
在用戶程序執(zhí)行階段, PLC總是按由上而下的順序依次地掃描用戶程序(梯形圖)。在掃描每一條梯形圖時,又總是先掃描梯形圖左邊的由各觸點構(gòu)成的控制線路,并按先左后右、先上后下的順序?qū)τ捎|點構(gòu)成的控制線路進行邏輯運算,然后根據(jù)邏輯運算的結(jié)果,刷新該邏輯線圈在系統(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í)行結(jié)果會對排在下面的凡是用到這些線圈或數(shù)據(jù)的梯形圖起作用;相反,排在下面的梯形圖,其被刷新的邏輯線圈的狀態(tài)或數(shù)據(jù)只能到下一個掃描周期才能對排在其上面的程序起作用。
(1)輸出刷新階段
當掃描用戶程序結(jié)束后, PLC就進入輸出刷新階段。在此期間,CPU按照I/O映象區(qū)內(nèi)對應的狀態(tài)和數(shù)據(jù)刷新所有的輸出鎖存電路,再經(jīng)輸出電路驅(qū)動相應的外設。這時,才是PLC的真正輸出。
這兩段程序執(zhí)行的結(jié)果完全一樣,但在 PLC中執(zhí)行的過程卻不一樣。程序1只用一次掃描周期,就可完成對%M4的刷新; 程序2要用四次掃描周期,才能完成對%M4的刷新。
這兩個例子說明:同樣的若干條梯形圖,其排列次序不同,執(zhí)行的結(jié)果也不同。另外,也可以看到:采用掃描用戶程序的運行結(jié)果與繼電器控制裝置的硬邏輯并行運行的結(jié)果有所區(qū)別。當然,如果掃描周期所占用的時間對整個運行來說可以忽略,那么二者之間就沒有什么區(qū)別了。
一般來說, PLC的掃描周期包括自診斷、通訊等,如下圖所示,即一個掃描周期等于自診斷、通訊、輸入采樣、用戶程序執(zhí)行、輸出刷新等所有時間的總和。
2、PLC的I/O響應時間
為了增強 PLC的抗干擾能力,提高其可靠性,PLC的每個開關量輸入端都采用光電隔離等技術(shù)。
為了能實現(xiàn)繼電器控制線路的硬邏輯并行控制, PLC采用了不同于一般微型計算機的運行方式(掃描技術(shù))。
以上兩個主要原因,使得 PLC得I/O響應比一般微型計算機構(gòu)成的工業(yè)控制系統(tǒng)滿的多,其響應時間至少等于一個掃描周期,一般均大于一個掃描周期甚至更長。
所謂 I/O響應時間指從PLC的某一輸入信號變化開始到系統(tǒng)有關輸出端信號的改變所需的時間。其最短的I/O響應時間與最長的I/O響應時間如圖所示:
以上是一般的 PLC的工作原理,但在現(xiàn)代出現(xiàn)的比較先進的PLC中,輸入映像刷新循環(huán)、程序執(zhí)行循環(huán)和輸出映像刷新循環(huán)已經(jīng)各自獨立的工作,提高了PLC的執(zhí)行效率。在實際的工控應用之中,編程人員應當知道以上的工作原理,才能編寫出質(zhì)量好、效率高的工藝程序。