天天看點

自動化制造系統中的PLC(第九部分)

9 鎖存器、定時器、計數器等

9.1 引言

更複雜的系統無法僅通過組合邏輯進行控制。主要原因是我們不能或選擇不添加傳感器來檢測所有條件。在這些情況下,我們可以使用事件來估計系統的狀态。PLC通常使用的事件包括:

PLC首次掃描 - 表示PLC剛剛啟動

自輸入開/關以來的時間 - 延遲

事件計數 - 等待發生一定數量的事件

鎖存或解鎖 - 鎖定或關閉某物

所有這些事件的共同主題是它們都基于兩個問題之一:“多少?”或“多久?”事件裝置的一個示例如圖9.1所示。該裝置的輸入是一個按鈕。當按下按鈕時,裝置的輸入變為打開狀态。如果然後釋放按鈕并且裝置關閉,則它是一個邏輯裝置。如果釋放按鈕時裝置保持打開狀态,則它将是一種基于事件的裝置。總之,如果裝置對發生的一個或多個事情作出響應,它就是基于事件的。如果裝置對即時輸入隻有一種響應方式,則它是邏輯的。

自動化制造系統中的PLC(第九部分)

9.2 鎖存器

鎖存器就像一個粘性開關 - 按下時它将打開,并保持在那個位置,必須拉動才能釋放并關閉它。在梯形圖邏輯中,鎖存器使用一條指令進行鎖存,第二條指令進行解鎖,如圖9.2所示。帶有“L”标記的輸出将在輸入A變為真時打開輸出D。即使A變為假,D也将保持打開狀态。如果輸入B變為真,并且帶有“U”标記的輸出變為真(注意:這一點一開始可能會有點反直覺),輸出D将關閉。如果一個輸出被鎖存為打開狀态,即使電源被關閉,它也會保持其值。

自動化制造系統中的PLC(第九部分)

圖9.2中梯形圖邏輯的運作通過圖9.3中的時序圖進行了說明。時序圖顯示了随時間變化的輸入和輸出的值。例如,輸入A的值一開始是低電平(假),然後變為高電平(真),持續了一小段時間,然後再次變為低電平。在這裡,當輸入A變為真時,兩個輸出都會打開。由于程式掃描時間,輸入變化和輸出變化之間存在輕微的延遲。在這裡,虛線表示輸出掃描、健全性檢查和輸入掃描(假設它們非常短)。虛線之間的空間是梯形圖邏輯掃描的時間。考慮當A最初變為真時,直到第一條虛線之前它都不會被檢測到。然後,在梯形圖邏輯掃描時會有一個延遲到達下一個虛線的過程,接着是在下一個虛線時的輸出。當A最終變為假時,正常輸出C會關閉,但鎖存的輸出D仍然保持打開。輸入B将解鎖輸出D。輸入B啟動兩次,但第一次啟動的時間不足以被輸入掃描檢測到,是以被忽略。第二次啟動時,它解鎖了輸出D,輸出D關閉。

Figure 9.3 A Timing Diagram for the Ladder Logic in Figure 9.2

圖9.3中的時序圖比圖9.4中的時序圖中通常的時序圖更為詳細。短脈沖通常是不希望的,可以通過延長脈沖的持續時間或減小掃描時間來設計系統,将其排除在系統之外。理想的系統運作速度非常快,不會出現混疊的情況。

自動化制造系統中的PLC(第九部分)

圖9.5展示了一個更為複雜的鎖存器示例。在這個示例中,位址是針對Allen-Bradley MicroLogix控制器的。輸入以I/開頭,後面是輸入編号。輸出以O/開頭,後面是輸出編号。

自動化制造系統中的PLC(第九部分)

在梯形邏輯中,正常輸出應該隻出現一次,但鎖存和解鎖指令可以出現多次。在圖9.5中,正常輸出O/2重複兩次。當程式運作時,它将檢查第四行并更改記憶體中O/2的值(請記住,輸出掃描直到梯形掃描完成才會發生)。然後解釋最後一行,它覆寫了O/2的值。基本上,隻有最後一行會改變O/2。

并非所有PLC供應商都普遍使用鎖存器,其他供應商如西門子使用觸發器。它們的行為類似于鎖存器,但符号不同,如圖9.6所示。這裡的觸發器是連接配接到兩個不同邏輯梯形的輸出塊。所示的第一個梯形有一個輸入A連接配接到S設定端子。當A為真時,輸出值Q将變為真。第二個梯形有一個輸入B連接配接到R重置端子。當B為真時,輸出值Q将被關閉。輸出Q将始終是Q的反向。請注意,S和R的值等效于先前示例中的L和U的值。

自動化制造系統中的PLC(第九部分)

9.3 計時器

有四種基本類型的計時器,如圖9.7所示。通電延時計時器将在梯形邏輯線圈為真後等待一段時間再打開,但會立即關閉。脫電延時計時器将在梯形邏輯線圈為真後立即打開,但在關閉之前會有一定延遲。考慮一個舊車的例子。如果你轉動點火開關,但車輛不能立即啟動,那就是通電延時。如果你轉動點火開關以停止發動機,但發動機在幾秒鐘後才停止,那就是脫電延時。通電延時計時器可用于在開始生産之前讓烤箱達到溫度。脫電延時計時器可以在烤箱關閉後繼續運作冷卻風扇一段預設的時間。

自動化制造系統中的PLC(第九部分)

保持型計時器将累加計時器的開啟或關閉時間,即使計時器從未完成。非保持型計時器将每次從零開始計算延遲時間。保持型計時器的典型應用包括跟蹤維護所需的時間。非保持型計時器可用于啟動按鈕,在傳送帶開始移動之前設定短暫的延遲時間。

圖9.8顯示了一種Allen-Bradley TON計時器的示例。梯形邏輯線圈有一個單一的輸入A和一個TON功能塊(注意:對于不同的PLC,此計時器塊的外觀可能會有所不同,但它将包含相同的資訊)。計時器塊内的資訊描述了計時器的參數。第一項是計時器編号T4:0。這是PLC記憶體中存儲計時器資訊的位置。T4:表示它是計時器存儲器,0表示它在第一個位置。時間基數為1.0,表示計時器将以1.0秒的間隔工作。其他時間基數以秒的分數和倍數可用。預設值是計時器的延遲時間,在這種情況下是4。要找到延遲時間,将時間基數乘以預設值4*1.0秒=4.0秒。累加器值給出了計時器的目前值,為0。在計時器運作時,累加器值将增加,直到達到預設值。隻要輸入A為真,EN輸出将為真。DN輸出将在累加器達到預設值之前保持為假。EN和DN輸出在程式設計時無法更改,但在調試梯形邏輯程式時非常重要。梯形邏輯的第二行使用計時器DN輸出來控制另一個輸出B。

自動化制造系統中的PLC(第九部分)

圖9.8中的時序圖說明了帶有4秒通延遲的TON計時器的操作。A是計時器的輸入,每當計時器輸入為真時,計時器的EN啟用位也将為真。如果累加器值等于預設值,則會設定DN位。否則,将設定TT位,并且累加器值将開始增加。第一次A為真時,它僅為真3秒鐘,然後關閉,此後該值重置為零(注意:在保持型計時器中,該值将保持在3秒鐘)。第二次A為真時,它持續時間超過4秒。 4秒後,TT位關閉,DN位打開。但是,當A被釋放時,累加器重置為零,并且關閉DN位。

在程式設計時可以為累加器輸入一個值。當程式下載下傳時,該值将在計時器的第一次掃描中。如果TON計時器未啟用,則該值将被設定為零。通常,會為預設值輸入零。

圖9.9中的計時器與圖9.8中的計時器相同,隻是它是保持型的。最重要的差別是當輸入A關閉時,累加器值不會重置為零。是以,計時器将更早地打開,并且在打開後不會關閉。稍後将顯示一個複位指令,允許将累加器重置為零。

自動化制造系統中的PLC(第九部分)

圖9.10顯示了一個關斷延時計時器。該計時器的時間基準為0.01秒,預設值為350,總延遲時間為3.5秒。與以前一樣,計時器的EN啟用與輸入相比對。當輸入A為真時,DN位為開。當輸入A已關閉且累加器在計數時,DN位也為開。隻有當輸入A關閉足夠長的時間,使累加器值達到預設值時,DN位才會關閉。這種類型的計時器不是保持型的,是以當輸入A變為真時,累加器會重置。

自動化制造系統中的PLC(第九部分)

保持型關斷延時(RTF)計時器的應用較少,很少被使用,是以許多PLC供應商不包括它們。

圖9.11中顯示了一個示例程式。總共有四個計時器在這個例子中使用,分别是T4:1到T4:4。計時器指令采用了一種簡寫的符号表示法,其中時間基準和預設值結合在一起作為延遲。所有四種不同類型的計數器都有輸入I/1。當TON計數器T4:1完成時,輸出O/1将打開。所有四個計時器都可以使用輸入I/2進行複位。

自動化制造系統中的PLC(第九部分)

這個例子的時序圖如圖9.12所示。當輸入I/1打開時,TON和RTO計時器開始計數,并達到4秒後打開。當I/2變為true時,它們被複位,并在I/1關閉之前開始計數另外一秒。在輸入關閉後,TOF和RTF都開始計數,但都沒有達到4秒的預設。輸入I/1再次打開,TON和RTO都開始計數。RTO提前一秒打開,因為它在7-8秒的時間段記憶體儲了1秒。在I/1再次關閉後,所有的關斷延時計數器都開始倒計時,達到4秒延遲并打開。這些模式在整個圖表中持續發生。

自動化制造系統中的PLC(第九部分)

考慮圖9.13中用于控制加熱烤箱的簡短梯形邏輯程式。系統通過按下啟動按鈕啟動,該按鈕導通自動模式。如果按下停止按鈕,則可以停止系統運作(請記住:停止按鈕通常為閉合狀态)。當自動模式一開始時,TON計時器用于在前10秒發出警報,提示烤箱即将啟動,之後警報停止,加熱線圈開始工作。當關閉烤箱時,風扇将繼續吹風,持續300秒或5分鐘。

自動化制造系統中的PLC(第九部分)

圖9.14中展示了一個每秒閃爍一次燈光的程式。當PLC啟動時,第二個計時器将處于關閉狀态,T4:1/DN位将關閉,是以第一個計時器的常閉輸入将打開。T4:0将開始計時,直到達到0.5秒,完成後第二個計時器将開始計時,直到達到0.5秒。在那時,T4:1/DN将變為真,第一個計時器的輸入将變為假。然後T4:0被設定回零,接着T4:1也被設定回零。整個過程再次從頭開始。在這個例子中,第一個計時器用于驅動第二個計時器。這種安排通常稱為級聯,可以使用超過兩個計時器。

自動化制造系統中的PLC(第九部分)

9.4 計數器

有兩種基本的計數器類型:遞增計數器和遞減計數器。當遞增計數器的輸入為真時,累加器值将增加1(不管輸入為真多長時間)。如果累加器值達到預設值,計數器的DN位将被設定。遞減計數器将減少累加器值,直到達到預設值。

圖9.15中展示了一條Allen Bradley遞增計數器(CTU)指令。該指令需要PLC中的存儲值和狀态的記憶體,本例中為C5:0。C5:表示它是計數器記憶體,0表示它是第一個位置。預設值為4,累加器中的值為2。如果輸入A從假變為真,累加器中的值将增加到3。如果A再次變為假,然後再次變為真,累加器值将增加到4,并且DN位将打開。計數可以繼續超過預設值。如果輸入B為真,計數器累加器中的值将變為零。

自動化制造系統中的PLC(第九部分)

遞減計數器與遞增計數器非常相似,實際上它們可以在相同的計數器記憶體位置上同時使用。考慮圖9.16中的示例,示例輸入I/1驅動計數器C5:1的遞增指令。輸入I/2驅動相同計數器位置的遞減指令。計數器的預設值存儲在記憶體位置C5:1中,是以遞增和遞減指令必須具有相同的預設值。輸入I/3将複位計數器。

自動化制造系統中的PLC(第九部分)

圖9.16中的時序圖說明了計數器的運作。如果我們假設累加器中的值從0開始,那麼I/1輸入會使其遞增到3,然後它會打開計數器C5:1。然後通過輸入I/3進行複位,累加器值變為零。接着,輸入I/1再次脈沖,導緻累加器值再次增加,直到達到最大值5。輸入I/2然後導緻累加器值減小到3以下,計數器再次關閉。輸入I/1然後導緻其遞增,但輸入I/3将累加器複位為零,脈沖将繼續直到接近末尾的3。

圖9.17中的程式用于從帶有氣缸的傳送帶上去掉每10個零件中的5個。當檢測到零件時,兩個計數器都将遞增1。當第六個零件到達時,第一個計數器将完成,進而允許氣缸在第五個零件之後的任何零件上動作。第二個計數器将繼續,直到檢測到第11個零件,然後兩個計數器都将被複位。

自動化制造系統中的PLC(第九部分)

9.5 主要繼電器(MCRs)

在電氣控制系統中,主要繼電器(MCR)用于關閉電氣系統的一部分,正如之前在電氣布線章節中所示。這個概念在梯形邏輯中也得到了實作。梯形邏輯的一部分可以被放置在兩個包含MCR的線之間。當第一個MCR線圈處于激活狀态時,所有中間的梯形邏輯将被執行,直到第二個MCR線圈所在的線。當第一個MCR線圈不活躍時,梯形邏輯仍然會被檢查,但所有輸出都會被強制關閉。

考慮圖9.18中的示例。如果A為真,則将執行後續的梯形邏輯,就像正常情況下一樣。如果A為假,則将檢查後續的梯形邏輯,但所有輸出都将被強制關閉。第二個MCR函數出現在一行中,标志着MCR塊的結束。在第二個MCR之後,程式執行恢複正常。當A為真時,X将等于B,Y可以通過C打開,并通過D關閉。但是,如果A變為假,X将被強制關閉,而Y将保持在其最後的狀态。使用MCR塊來移除程式的部分不會顯著增加程式執行的速度,因為邏輯仍然會被檢查。

自動化制造系統中的PLC(第九部分)

如果MCR塊包含另一個功能,比如一個TON定時器,關閉MCR塊将強制關閉定時器。一般規則是,正常的輸出應該放在MCR塊外,除非它們在MCR塊關閉時必須被強制關閉。

9.6 内部繼電器

在簡單的程式中,輸入用于設定輸出。更複雜的程式還使用不是輸入或輸出的内部記憶體位置。這些有時被稱為 '内部繼電器' 或 '控制繼電器'。熟練的程式員通常将其稱為 '位記憶體'。在Allen Bradley PLC中,這些位址預設以 'B3' 開頭。記憶體中的第一個位是 'B3:0/0',其中第一個零代表第一個16位字,第二個零代表字中的第一個位。位序列如圖9.19所示。程式員可以根據需要自由使用這些記憶體位置。

自動化制造系統中的PLC(第九部分)

位記憶體的使用示例如圖9.20所示。第一個梯形邏輯橫欄将在輸入 'hand_A' 被激活且輸入 'clear' 未激活時打開内部記憶體位 'B3:0/0'。 (請注意,B3記憶體既被用作輸入又被用作輸出。)第二行梯形邏輯類似。在這種情況下,當兩個輸入都被激活時,輸出 'press on' 處于激活狀态。

自動化制造系統中的PLC(第九部分)

位記憶體在這裡被簡要介紹,因為它對于後面章節的設計技術非常重要,但在那之後将會更深入地介紹。

9.7 設計案例

為了強調本章節提出的原理,以下提供設計案例。建議在檢視提供的解決方案之前嘗試開發梯形圖邏輯。

9.7.1 基本計數器和定時器

問題:開發梯形圖邏輯,使其在開關A打開後的15秒鐘後點亮輸出燈。

自動化制造系統中的PLC(第九部分)

問題:開發梯形圖邏輯,使其在開關A閉合10次後點亮一盞燈。按下按鈕B将複位計數器。

自動化制造系統中的PLC(第九部分)

9.7.2 更多計時器和計數器

問題:開發一個程式,使得在輸入A打開後的20秒内,輸出B被鎖存。按下A後,必須經過10秒的延遲,然後A才能再次産生任何效果。在A被按下3次後,B将被關閉。

自動化制造系統中的PLC(第九部分)

9.7.3 死鎖開關

問題:一台電機将由兩個開關控制。啟動開關将啟動電機,停止開關将停止電機。如果使用停止開關停止電機,則必須兩次扔啟動開關才能重新啟動電機。當電機處于活動狀态時,應點亮一個燈。停止開關将被連接配接為常閉開關。

自動化制造系統中的PLC(第九部分)

9.7.4 輸送機

問題:通過開關電機來運作輸送機。我們正在使用光學檢測器在輸送機上定位零件。當光學傳感器觸發時,我們希望等待1.5秒,然後停止輸送機。在延遲2秒後,輸送機将重新啟動。我們需要使用啟動和停止按鈕 - 在系統活動時應點亮一盞燈。

自動化制造系統中的PLC(第九部分)

9.7.5 接受/拒絕分類

問題:對于上一個情況中的輸送機,我們将添加一個分類系統。已連接配接了訓示零件好壞的測量儀器。如果零件是好的,它将繼續前進。如果零件是壞的,我們不希望延遲2秒,而是要啟動一個氣缸。

自動化制造系統中的PLC(第九部分)

9.7.6 剪切壓機

問題:基本要求如下,

  1. 必須同時開啟切換啟動開關(TS1)和安全門上的限位開關(LS1),才能激活電磁閥(SOL1)以将沖壓缸伸展到零件的頂部。
  2. 在沖壓電磁鐵激活期間,必須保持其激活狀态,直到激活限位開關(LS2)。第二個限位開關訓示了行程的結束。在此點上,電磁閥應該被去能,進而将缸縮回。
  3. 當缸完全縮回時,會激活限位開關(LS3)。在此限位開關激活之前,循環不得重新開始。
  4. 還應包括一個循環計數器,允許對生産的零件進行計數。當該值超過5000時,機器應關閉并點亮一盞訓示燈。
  5. 還應包括一個安全檢查。如果缸電磁鐵激活時間超過5秒,這表明缸可能卡住或機器存在故障。如果是這種情況,應關閉機器并點亮維護訓示燈。
自動化制造系統中的PLC(第九部分)

9.8 總結

• Latch(鎖存)和Unlatch(釋放)指令将保持輸出處于打開狀态,即使電源關閉。

• 定時器可以延遲打開或關閉。保持型定時器将保留數值,即使處于非活動狀态。保持型定時器需要複位。

• 計數器可以進行正向或反向計數。

• 當定時器和計數器達到預設限制時,DN(Done)位被設定。

• MCRs(主要制繼電器)可以強制關閉梯形邏輯的一部分。