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