plc的工作原理和計算機的工作原理基本上一致。但是工作方式有所不同,計算機采用等待命令的工作方式,而plc采用循環(huán)掃描的工作方式。
plc有兩種工作方式:運行(run)與停止(stop)。處于停止工作模式時,plc只進行內(nèi)部處理和通信服務(wù)等內(nèi)容。當處于運行工作模式時,plc要進行內(nèi)部處理、通信服務(wù)、輸入處理、執(zhí)行程序和輸出處理的操作,然后按上述過程循環(huán)掃描工作。plc的這種周而復(fù)始的循環(huán)工作方式稱為掃描工作方式。
循環(huán)掃描的工作方式是plc的一大特點,也可以說plc是“串行”工作的,這和傳統(tǒng)的繼電器控制系統(tǒng)“并行”工作有質(zhì)的區(qū)別,plc的串行工作方式避免了繼電器控制系統(tǒng)中觸點競爭和時序失配的問題。
plc的掃描周期分為三個階段:
輸入采用階段:cpu用掃描方式把所有輸入端的外部輸入信號的on/off狀態(tài)一次寫入到輸入映像寄存器,同時刷新寄存器;同時在本掃描周期內(nèi)輸入映像寄存器的內(nèi)容保持不變;
執(zhí)行階段:cpu按順序?qū)Τ绦蜻M行掃描,即從上到下、從左到右掃描每條指令,并分別從輸入映像寄存器、內(nèi)部元件寄存器(位存儲器、定時器、計數(shù)器)和輸出映像寄存器中獲得需要的數(shù)據(jù)進行運算、處理,把執(zhí)行結(jié)果寫入輸出映像寄存器,但不會送到輸出端口;
輸出刷新階段:程序執(zhí)行完畢,存放在輸出映像寄存器中的狀態(tài)轉(zhuǎn)存到輸出鎖存寄存器,經(jīng)過輸出模塊功率放大,轉(zhuǎn)換成相應(yīng)的信號去驅(qū)動外部負載。
plc是采用循環(huán)掃描方式工作的,圖2-6為一般plc的工作流程框圖:
其循環(huán)過程為: ①內(nèi)部處理 ②通迅服務(wù)
③輸入刷新 ④執(zhí)行用戶程序
⑤輸出刷新。
1.內(nèi)部處理:
cpu對plc內(nèi)部的硬件作故障檢查,復(fù)位wdt等。
2.通信服務(wù):
與外圍設(shè)備、編程器、網(wǎng)絡(luò)設(shè)備等進行通信。
3.輸入刷新:
將接在輸入端子上傳感器、開關(guān)、按鈕等輸入元件狀態(tài)讀入,并保存在“輸入狀態(tài)表” (i/o映像存儲器)中,給本掃描周期用戶程序運行時提供最新的輸入信號。
4.執(zhí)行用戶程序:
cpu逐條解釋并執(zhí)行用戶程序。根據(jù)i/o狀態(tài)表(屬數(shù)據(jù)表狀態(tài)存儲器)中on / off信息,按用戶程序給定的邏輯關(guān)系運算,將運算結(jié)果寫入i/o狀態(tài)表。
注意:“i/o狀態(tài)表”這個概念,用戶程序中的部分輸入、輸出“元件”是它,但它當前的狀態(tài)值和與它對應(yīng)i/o端子上的元件之狀態(tài)不一定相同。(這點在學(xué)過i/o響應(yīng)時間之后就明白了)。
5.輸出刷新
將“輸出狀態(tài)表” (i/o映像存儲器)中的內(nèi)容輸出到接口電路,以驅(qū)動輸出端子上的輸出元件,實現(xiàn)控制?!拜敵鰻顟B(tài)表”中的內(nèi)容是本次掃描周期用戶程序運行的結(jié)果。