隨著PLC技術(shù)的發(fā)展,PLC的表現(xiàn)形式和功能都已經(jīng)有很大的發(fā)展,從過(guò)的那種比較單一獨(dú)立單元時(shí)結(jié)構(gòu)發(fā)展到了現(xiàn)在的模塊化、網(wǎng)絡(luò)化、分布式控制的PLC,比如象比較有代表性的AB的Controllogix,MODICON的Quantum,都是大型PLC的典型形式。這些大型PLC可以應(yīng)用到比較重要、控制規(guī)模比較大的工業(yè)現(xiàn)場(chǎng),控制的點(diǎn)數(shù)可以有幾千點(diǎn),自然,這種情況下,如果仍然沿用過(guò)去PLC的工作方式的話就不能很好完成這種情況下的控制任務(wù),事實(shí)也確實(shí)如此,大中型PLC的工作方式和小型PLC的已經(jīng)有了很大的不同。
大中型PLC的一個(gè)掃描周期分為六個(gè)階段:
1、 自監(jiān)視掃描階段
為了保證工作的可靠性,PLC內(nèi)部具有自監(jiān)視或自診斷功能,自監(jiān)視功能是由監(jiān)視定時(shí)器(WDT,watchdog timer)完成的,WDT是一個(gè)硬件時(shí)鐘,自監(jiān)視過(guò)程主要是檢查及復(fù)位WDT,如果在復(fù)位前掃描時(shí)間已經(jīng)超過(guò)WDT的設(shè)定值,CPU將停止運(yùn)行,IO復(fù)位,給出報(bào)警信號(hào),這種故障稱為WDT故障。WDT故障可能由CPU硬件引起,也可能用戶程序執(zhí)行時(shí)間太長(zhǎng),使掃描時(shí)間超過(guò)WDT時(shí)間而引起的,用編程器可以消除故障。WDT的設(shè)定一般是150-200ms,一般系統(tǒng)的時(shí)間都小于50-60ms。在大中型PLC中一般可以對(duì)WDT進(jìn)行修改。
2、 與編程器交換信息階段
用戶使用編程器(計(jì)算集中的編程軟件)對(duì)PLC進(jìn)行用戶程序的上傳、下載或者使用上位機(jī)中的SCADA系統(tǒng)對(duì)PLC進(jìn)行監(jiān)視控制時(shí),PLC的CPU交出控制權(quán),處于被動(dòng)狀態(tài),上述工作完成或達(dá)到信心交換的規(guī)定時(shí)間后,CPU重新得到總線權(quán),恢復(fù)主動(dòng)狀態(tài)。
在這一階段中,用戶可以通過(guò)編程器修改內(nèi)存的程序,啟停CPU,控制IO。
3、 與數(shù)字處理器DPU交換信息的階段
當(dāng)配有DPU時(shí),才會(huì)有這一階段。
4、 與網(wǎng)絡(luò)進(jìn)行通訊的階段
目前的大中型PLC都是用現(xiàn)場(chǎng)總線協(xié)議進(jìn)行大量數(shù)據(jù)的交換,比如,controllogix使用controlnet,quantum使用MODBUS PLUS,在這一段十進(jìn)之中,PLC和網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)的交換。
5、 用戶程序掃描階段
PLC處于運(yùn)行狀態(tài)時(shí),一個(gè)掃描周期中就包含了用戶程序的掃描階段。該階段中,根據(jù)用戶程序中的指令,PLC從輸入狀態(tài)暫存區(qū)和其他軟元件的暫存區(qū)中將有關(guān)狀態(tài)讀出,從*條指令開(kāi)始順序執(zhí)行,每一步的執(zhí)行結(jié)果存入輸出狀態(tài)暫存區(qū)。
6、 IO服務(wù)掃描階段
CPU在內(nèi)存中設(shè)置兩個(gè)暫存區(qū),一個(gè)是輸入暫存區(qū)(輸入映象寄存器),一個(gè)是輸出暫存區(qū)(輸出映象寄存器),執(zhí)行用戶程序時(shí),用到的輸入值從輸入暫存區(qū)中取得,結(jié)果放在輸出暫存區(qū)。在輸入服務(wù)(輸入采陽(yáng)及刷新)中,CPU將實(shí)際的輸入端的狀態(tài)讀入到輸入暫存區(qū);在輸出服務(wù)(輸出刷新與鎖存)中,CPU將輸出暫存區(qū)的值同時(shí)傳送到輸出狀態(tài)鎖存器。
輸入暫存區(qū)的數(shù)據(jù)取決于輸入服務(wù)階段各實(shí)際輸入點(diǎn)的狀態(tài),在用戶程序執(zhí)行階段,輸入暫存區(qū)的數(shù)據(jù)不在隨輸入端的變化而變化,該階段中,輸出暫存區(qū)根據(jù)執(zhí)行結(jié)果的不同而變化,但輸出鎖存器內(nèi)容不變。