PLC是一種存儲程序的控制器。用戶根據某一對象的具體控制要求,編制好控制程序後,用編程器将程序輸入到PLC (或用計算機下載到PLC)的用戶程序存儲器中寄存。PLC的控制功能就是通過運行用戶程序來實現的。
PLC運行程序的方式與微型計算機相比有較大的不同,微型計算機運行程序時,一旦執行到END指令,程序運行結束。而PLC從0号存儲地址所存放的第一條用戶程序開始,在無中斷或跳轉的情況下,按存儲地址号遞增的方向順序逐條執行用戶程序,直到END指令結束。然後再從頭開始執行,并周而複始地重複,直到停機或從運行(RUN)切換到停止(STOP)工作狀态。把PLC這種執行程序的方式稱為掃描工作方式。每掃描完一次程序就構成 個掃描周期。另外,PLC對輸入、輸出信号的處理與微型計算機不同。微型計算機對輸入、輸出信号實時處理,而PLC對輸入、輸出信号是集中批處理。下面具體介紹PLC的掃描工作過程。其運行和信号處理示意如圖所示。
PLC掃描工作方式主要分為三個階段:輸入掃描、程序執行、輸出刷新。
(1)輸入掃描
PLC在開始執行程序之前,首先掃描輸入端子,按順序将所有輸入信号讀入到寄存器-輸入狀态的輸入映像寄存器中,這個過程稱為輸入掃描。PLC 在運行程序時,所需的輸入信号不是現時取輸入端子上的信息,而是取輸入映像寄存器中的信息。在本工作周期内這個采樣結果的内容不會改變,隻有到下一個掃描周期輸入掃描階段才被刷新。PLC的掃描速度很快,取決于CPU的時鐘速度。
(2)程序執行
PLC完成了輸入掃描工作後,按順序從0号地址開始的程序進行逐條掃描執行,并分别從輸入映像寄存器、輸出映像寄存器以及輔助維電器中獲得所需的數據進行運算處理。再将程序執行的結果寫入輸出映像寄存器中保存。但這個結果在全部程序未被執行完畢之前不會送到輸出端子上,也就是物理輸出是不會改變的。掃描時間取決于程序的長度、複雜程度和CPU的功能。
(3)輸出刷新
在執行到END指令,即執行完用戶所有程序後,PLC上将輸出映像寄存器中的内容送到輸出鎖存器中進行輸出,驅動用戶設備。掃描時間取決于輸出模塊的數量。
從以上的介紹可以知道,PLC程序掃描特性決定了PLC的輸入和輸出狀态并不能在掃描的同時改變,例如一個按鈕開關的輸入信号的輸入剛好在輸入掃描之後,那麼這個信号隻有在下一個掃描周期才能被讀入。
上述三個步驟是PLC的軟件處理過程,可以認為就是程序掃描時間。掃描時間通常由三個因素決定,一是CPU的時鐘速度,越高檔的CPU,時鐘速度越高,掃描時間越短:二是10模塊的數量,模塊數量越少,掃描時間越短:三是程序的長度,程序長度越短,掃描時間越短。一般的 PLC執行容量為IK的程序約需要的掃描時間是1~ 10ms.