siemens x
PLC

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

2025China.cn   2014年06月18日

  PLC主要按掃描方式進行工作,而且是周期掃描方式。

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

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

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

  

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

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

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

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

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

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

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

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

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

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

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

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

  4.輸入采樣階段

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

  輸入映像存儲器中,一位(二進制)存儲單元存儲一個外部輸入開關(guān)的狀態(tài),通,存“1”;斷,存“0”。這里,一個二進制一位存儲單元被稱為一個“輸入繼電器”。全部“輸入繼電器”(或說整個輸入映像存儲器),可以稱為輸入狀態(tài)表,因為它記錄了所有的外部輸入開關(guān)的狀態(tài)。

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

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

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

  6.輸出刷新階段

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

(轉(zhuǎn)載)

標(biāo)簽:PLC 繼電器 CPU 我要反饋 
2024世界人工智能大會專題
即刻點擊并下載ABB資料,好禮贏不停~
優(yōu)傲機器人下載中心
西克
2024全景工博會
專題報道