2- PLC的工作原理
最初研制生產的PLC主要用于代替?zhèn)鹘y(tǒng)的由繼電器接觸器構成的控制裝置,但這兩者的運行方式是不相同的:
(1)繼電器控制裝置采用硬邏輯并行運行的方式,即如果這個繼電器的線圈通電或斷電,該繼電器所有的觸點(包括其常開或常閉觸點)在繼電器控制線路的哪個位置上都會立即同時動作。
(2)PLC是采用“順序掃描,不斷循環(huán)”的方式進行工作的。即在PLC運行時,CPU根據用戶按控制要求編制好并存于用戶存儲器中的程序,按指令步序號(或地址號)作周期性循環(huán)掃描,從第一條指令開始逐條順序執(zhí)行用戶程序,直至程序結束。然后重新返回第一條指令,開始下一輪新的掃描。在每次掃描過程中,還要完成對輸入信號的采樣和對輸出狀態(tài)的刷新等工作。如果一個輸出線圈或邏輯線圈被接通或斷開,該線圈的所有觸點(包括其常開或常閉觸點)不會立即動作,必須等掃描到該觸點時才會動作。
為了消除二者之間由于運行方式不同而造成的差異,考慮到繼電器控制裝置各類觸點的動作時間一般在100ms以上,而PLC掃描用戶程序的時間一般均小于100ms,因此,PLC采用了一種不同于一般微型計算機的運行方式---掃描技術。這樣在對于I/O響應要求不高的場合,PLC與繼電器控制裝置的處理結果上就沒有什么區(qū)別了。
1、掃描技術
當PLC投入運行后,其工作過程一般分為三個階段,即輸入采樣、用戶程序執(zhí)行和輸出刷新三個階段。完成上述三個階段稱作一個掃描周期。在整個運行期間,PLC的CPU以一定的掃描速度重復執(zhí)行上述三個階段,如圖1-3。
(1)輸入采樣階段
CPU將全部現(xiàn)場輸入信號,如按鈕、限位開關、速度繼電器的通斷狀態(tài)以掃描方式依次地讀入所有輸入狀態(tài)和數據,并將它們存入I/O映象區(qū)中的相應得單元內,這一過程稱為輸入采樣。輸入采樣結束后進入程序執(zhí)行階段后,期間即使輸入信號發(fā)生變化,輸入映像寄存器內數據不再隨之變化,直至一個掃描循環(huán)結束,下一次輸入采樣時才會更新。因此,如果輸入是脈沖信號,則該脈沖信號的寬度必須大于一個掃描周期,才能保證在任何情況下,該輸入均能被讀入。
(2)用戶程序執(zhí)行階段
在用戶程序執(zhí)行階段,若不出現(xiàn)中斷或跳轉指令,PLC總是按由上而下的順序依次地掃描用戶程序(梯形圖)。在掃描每一條梯形圖時,又總是先掃描梯形圖左邊的由各觸點構成的控制線路,并按先左后右、先上后下的順序對由觸點構成的控制線路進行邏輯運算,然后根據邏輯運算的結果,刷新該邏輯線圈在系統(tǒng)RAM存儲區(qū)中對應位的狀態(tài);或者刷新該輸出線圈在I/O映象區(qū)中對應位的狀態(tài);或者確定是否要執(zhí)行該梯形圖所規(guī)定的特殊功能指令。
即,在用戶程序執(zhí)行過程中,只有輸入點在I/O映象區(qū)內的狀態(tài)和數據不會發(fā)生變化,而其他輸出點和軟設備在I/O映象區(qū)或系統(tǒng)RAM存儲區(qū)內的狀態(tài)和數據都有可能發(fā)生變化,而且排在上面的梯形圖,其程序執(zhí)行結果會對排在下面的凡是用到這些線圈或數據的梯形圖起作用;相反,排在下面的梯形圖,其被刷新的邏輯線圈的狀態(tài)或數據只能到下一個掃描周期才能對排在其上面的程序起作用。
在程序執(zhí)行的過程中如果使用立即I/O指令則可以直接存取I/O點。即使用I/O指令的話,輸入過程影像寄存器的值不會被更新,程序直接從I/O模塊取值,輸出過程影像寄存器會被立即更新,這跟立即輸入有些區(qū)別。
(3)輸出刷新階段
當掃描用戶程序結束后,PLC就進入輸出刷新階段。在此期間,CPU按照I/O映象區(qū)內對應的狀態(tài)和數據刷新所有的輸出鎖存電路,再經輸出電路驅動相應的外設。這時,才是PLC的真正輸出。