PLC

PLC的周期循環(huán)掃描方式

ainet.cn   2014年06月18日

  PLC主要按掃描方式進(jìn)行工作,而且是周期掃描方式。

  PLC的中央處理器CPU與各外部設(shè)備之間的信息交換、用戶程序的執(zhí)行、輸入信號(hào)的采集、控制量的輸出等操作都是按固定的順序進(jìn)行的,而且是執(zhí)行一遍后再執(zhí)行下一遍,以循環(huán)掃描方式進(jìn)行。

  在正常狀態(tài)下,從某一操作點(diǎn)開(kāi)始,按順序掃描各個(gè)操作流程,再返回到這一操作點(diǎn)的整個(gè)過(guò)程稱為掃描周期,所用時(shí)間稱為掃描周期時(shí)間。

  PLC的掃描周期一般包括系統(tǒng)自檢、外部設(shè)備服務(wù)、通信服務(wù)、輸入采樣、程序執(zhí)行、輸出刷新等六個(gè)階段。PLC周期掃描流程框圖見(jiàn)圖。

  

  1.系統(tǒng)自檢階段

  PLC的CPU要對(duì)系統(tǒng)的有關(guān)硬件進(jìn)行自檢。這類工作中的一部分,上電啟動(dòng)后只進(jìn)行一次,不進(jìn)入掃描周期;有的部分要周期循環(huán)的進(jìn)行,歸入掃描周期內(nèi),作為系統(tǒng)自檢階段。

  這階段的工作還包括對(duì)運(yùn)行監(jiān)控定時(shí)器WDT(Watch Dog Timer)的檢查和復(fù)位。WDT監(jiān)控定時(shí)器的功能是,通過(guò)時(shí)間設(shè)定來(lái)檢測(cè)整個(gè)掃描周期是否有故障。

  首先,由系統(tǒng)或用戶對(duì)WDT定時(shí)器設(shè)定一個(gè)時(shí)間,這個(gè)時(shí)間與掃描周期時(shí)間相對(duì)應(yīng),略大于掃描周期時(shí)間,這個(gè)時(shí)間稱為設(shè)定值;WDT定時(shí)器還有一個(gè)記錄當(dāng)前值的寄存器,它從掃描周期開(kāi)始計(jì)時(shí),一個(gè)掃描周期進(jìn)行完畢后,當(dāng)前值寄存器記錄的當(dāng)前值就是這個(gè)掃描周期時(shí)間。運(yùn)行正常時(shí)掃描周期時(shí)間小于WDT定時(shí)器設(shè)定值。在PLC運(yùn)行的整個(gè)過(guò)程中,WDT定時(shí)器當(dāng)前值與設(shè)定值不斷的進(jìn)行比較。

  進(jìn)入系統(tǒng)自檢階段,標(biāo)志上一個(gè)掃描周期結(jié)束,此時(shí)檢查監(jiān)控定時(shí)器WDT,若WDT定時(shí)器當(dāng)前值小于設(shè)定值,則說(shuō)明運(yùn)行正常。在這種情況下,WDT檢查后,再對(duì)WDT定時(shí)器復(fù)位,當(dāng)前值寄存器歸零,開(kāi)始下一周期的計(jì)時(shí)。

  若由于某些原因,PLC發(fā)生了故障,例如程序進(jìn)入死循環(huán),執(zhí)行程序時(shí)間必然超時(shí),這樣,在WDT當(dāng)前值比設(shè)定值小時(shí),掃描循環(huán)周期不會(huì)進(jìn)入系統(tǒng)自檢階段,而最終會(huì)出現(xiàn)WDT定時(shí)器當(dāng)前值大于設(shè)定值的情況,此時(shí)WDT發(fā)出警告,再配合其他檢測(cè)信息,系統(tǒng)判斷故障性質(zhì),若屬偶然因素所至,系統(tǒng)能夠自動(dòng)清除,則復(fù)位WDT定時(shí)器,循環(huán)掃描重新開(kāi)始;否則,WDT定時(shí)器發(fā)出故障信號(hào),系統(tǒng)將自動(dòng)停止執(zhí)行用戶程序,封鎖硬件,切斷輸出,以保障設(shè)備和人身安全,并對(duì)外發(fā)出報(bào)警信號(hào),等待處理。

  有的PLC的WDT定時(shí)器的設(shè)定時(shí)間是固定的,不允許用戶改變;有的允許用戶用軟件來(lái)設(shè)定,以適應(yīng)用戶控制程序的需要。

  有的PLC雖然WDT定時(shí)器的設(shè)定時(shí)間是固定的,但指令系統(tǒng)中有WDT復(fù)位指令。如果用戶程序過(guò)長(zhǎng)而使周期掃描時(shí)間大于WDT定時(shí)器的設(shè)定時(shí)間,會(huì)出現(xiàn)非故障停機(jī),為解決這一問(wèn)題,可以把WDT復(fù)位指令插在程序中間,人為地讓W(xué)DT及時(shí)復(fù)位而使當(dāng)前值始終小于設(shè)定值而不會(huì)發(fā)出非故障的故障信號(hào)。

  2.外設(shè)服務(wù)階段

  在PLC RUN(運(yùn)行)時(shí),可能通過(guò)編程器或?qū)S帽O(jiān)控器或微機(jī)對(duì)運(yùn)行狀態(tài)進(jìn)行監(jiān)視,甚至強(qiáng)迫改變某些存儲(chǔ)器的值,或輸出某些數(shù)據(jù)。這就要求PLC與外部設(shè)備(編程器、監(jiān)控器、微機(jī)、外部存儲(chǔ)器、打印機(jī)等)進(jìn)行信息交換,這就是外設(shè)服務(wù)。外設(shè)服務(wù)的時(shí)間和次序是確定的,也在周期掃描時(shí)間內(nèi)。

  3.通信服務(wù)階段

  當(dāng)PLC不是單機(jī)控制而是形成控制網(wǎng)絡(luò)時(shí),PLC與PLC 之間,PLC與上位機(jī)之間要進(jìn)行信息和數(shù)據(jù)交換,也就是通過(guò)通信處理器(通信接口)進(jìn)行通信聯(lián)系。這個(gè)時(shí)間也是固定在周期掃描時(shí)間內(nèi)。在通信服務(wù)時(shí)間,PLC發(fā)出的信息和數(shù)據(jù)送到通信處理器,并從通信處理器中讀取所需數(shù)據(jù)和信息。當(dāng)數(shù)據(jù)交換完成或者通信服務(wù)時(shí)間到,服務(wù)就結(jié)束。PLC運(yùn)行不需要通訊時(shí),通信服務(wù)時(shí)間就是零。

  4.輸入采樣階段

  這是體現(xiàn)PLC周期循環(huán)掃描方式重要優(yōu)點(diǎn)的一個(gè)階段。我們知道,外部輸入開(kāi)關(guān)的通斷狀態(tài)改變是隨機(jī)地,這個(gè)改變隨時(shí)地通過(guò)輸入接口電路送到輸入狀態(tài)暫存器中,但不能隨時(shí)地送到輸入映像存儲(chǔ)器中。

  輸入映像存儲(chǔ)器中,一位(二進(jìn)制)存儲(chǔ)單元存儲(chǔ)一個(gè)外部輸入開(kāi)關(guān)的狀態(tài),通,存“1”;斷,存“0”。這里,一個(gè)二進(jìn)制一位存儲(chǔ)單元被稱為一個(gè)“輸入繼電器”。全部“輸入繼電器”(或說(shuō)整個(gè)輸入映像存儲(chǔ)器),可以稱為輸入狀態(tài)表,因?yàn)樗涗浟怂械耐獠枯斎腴_(kāi)關(guān)的狀態(tài)。

  什么時(shí)候把輸入狀態(tài)暫存器中的外部輸入開(kāi)關(guān)的狀態(tài)送到輸入映像存儲(chǔ)器(輸入狀態(tài)表)中?在輸入采樣階段。在這個(gè)階段,PLC把輸入狀態(tài)暫存器中全部的數(shù)據(jù),即外部輸入開(kāi)關(guān)的狀態(tài),不管有沒(méi)有改變,都同時(shí)地(也可以說(shuō),一次性集中地),按外部點(diǎn)地址與內(nèi)部位的對(duì)應(yīng)關(guān)系,讀入到內(nèi)存中的輸入映像存儲(chǔ)器中,也就是在各輸入繼電器中存起來(lái)。這稱為輸入采樣,也稱為輸入刷新,刷新輸入狀態(tài)表。輸入狀態(tài)表上所有的值在兩次輸入采樣之間都不改變,不管對(duì)應(yīng)輸入點(diǎn)上的開(kāi)關(guān)狀態(tài)發(fā)生變化還是沒(méi)有發(fā)生變化。這樣處理的好處,在后面介紹。

  5.程序執(zhí)行階段

  這個(gè)階段執(zhí)行用戶程序。從0000步程序開(kāi)始,按順序、按要求一條指令一條指令地執(zhí)行,直到“END”指令出現(xiàn),程序執(zhí)行階段結(jié)束。由于是周期循環(huán)掃描,所以用戶程序也是一個(gè)周期從頭到尾執(zhí)行一次,并且,隨著周期的循環(huán),不斷反復(fù)地執(zhí)行。執(zhí)行程序就要從內(nèi)存各類存儲(chǔ)器中讀數(shù)據(jù),進(jìn)行要求的運(yùn)算和操作,向有關(guān)存儲(chǔ)器中寫數(shù)據(jù)。向存儲(chǔ)器中寫入的數(shù)據(jù)當(dāng)然是運(yùn)算和操作的結(jié)果。需要控制外部輸出開(kāi)關(guān)量的數(shù)據(jù)一般由執(zhí)行輸出指令獲得,寫入到“輸出繼電器”,即輸出映像存儲(chǔ)器中。在一次程序執(zhí)行過(guò)程中,前面程序得到的運(yùn)算結(jié)果,可以馬上被后面指令使用;后面程序得到的運(yùn)算結(jié)果,在同一周期內(nèi)不能被前面指令使用,但可以在下一周期被前面指令使用。這樣,指令在程序中的前后位置是需要認(rèn)真考慮的。

  6.輸出刷新階段

  在程序執(zhí)行過(guò)程中,通過(guò)輸出指令寫到“輸出繼電器”中的“0”、“1”是控制輸出接口中的輸出開(kāi)關(guān)的,進(jìn)而控制外部輸出器件的通電或斷電?!拜敵隼^電器”的全體稱為輸出映像存儲(chǔ)器,一個(gè)“輸出繼電器”占據(jù)輸出映像存儲(chǔ)器的一位。輸出映像存儲(chǔ)器又可看作為輸出狀態(tài)表。在程序執(zhí)行階段,執(zhí)行一次對(duì)“輸出繼電器”的輸出指令,就立即把得到的0、1數(shù)據(jù)寫到輸出映像存儲(chǔ)器的對(duì)應(yīng)位中,執(zhí)行幾次,寫幾次。也就是說(shuō),可以隨時(shí)地即時(shí)刷新輸出狀態(tài)表。但是不能即時(shí)刷新輸出狀態(tài)鎖存器,即輸出狀態(tài)鎖存器的各位不能隨時(shí)被改寫。輸出狀態(tài)鎖存器的各位是在輸出刷新階段被統(tǒng)一集中刷新。在這個(gè)階段,CPU把內(nèi)存中輸出映像存儲(chǔ)器,也就是輸出狀態(tài)表的內(nèi)容一一對(duì)應(yīng)地同時(shí)轉(zhuǎn)存到輸出接口電路的輸出狀態(tài)鎖存器中,再經(jīng)過(guò)光耦驅(qū)動(dòng),刷新輸出開(kāi)關(guān),再使PLC輸出口的執(zhí)行器件的工作狀態(tài)被刷新,實(shí)現(xiàn)PLC的控制目的。

(轉(zhuǎn)載)

標(biāo)簽:PLC 繼電器 CPU 我要反饋 
泰科電子ECK、ECP系列高壓直流接觸器白皮書下載
優(yōu)傲機(jī)器人下載中心
億萬(wàn)克
專題報(bào)道