跳轉到內容

可程式設計邏輯控制器 (PLC) 程式設計入門 / 簡介

來自 Wikibooks,開放世界中的開放書籍

可程式設計邏輯控制器

主題

  • PLC 歷史
  • 梯形圖和繼電器
  • PLC 程式設計
  • PLC 操作
  • 一個示例

目標

  • 瞭解一般的 PLC 問題
  • 能夠編寫簡單的梯形圖程式
  • 理解 PLC 的工作原理

簡介

控制工程隨著時間的推移而發展。過去,人類是控制系統的主要方法。最近,電力被用於控制,早期的電氣控制基於繼電器。這些繼電器允許在沒有機械開關的情況下開啟和關閉電源。通常使用繼電器來進行簡單的邏輯控制決策。低成本計算機的發展帶來了最新的革命,即可程式設計邏輯控制器 (PLC)。PLC 的出現始於 1970 年代,並已成為製造控制中最常見的選擇。

PLC 在工廠車間越來越受歡迎,並且可能會在未來一段時間內保持主導地位。這主要是因為它們提供的優勢。

· 控制複雜系統的成本效益高。

· 靈活,可以快速輕鬆地重新應用於控制其他系統。

· 計算能力允許更復雜的控制。

· 故障排除輔助工具使程式設計更容易,並減少停機時間。

· 可靠的元件使這些裝置可能在出現故障之前執行數年。

梯形圖

梯形圖是 PLC 使用的主要程式設計方法。如前所述,梯形圖的開發是為了模擬繼電器邏輯。選擇使用繼電器邏輯圖是一個戰略性的決定。透過選擇梯形圖作為主要程式設計方法,工程師和技術人員所需的再培訓量大大減少。

現代控制系統仍然包括繼電器,但這些繼電器很少用於邏輯。繼電器是一種簡單的裝置,它使用磁場來控制開關,如圖所示參見簡單的繼電器佈局和原理圖。當電壓施加到輸入線圈時,產生的電流會產生磁場。磁場將金屬開關(或簧片)拉向它,觸點接觸,閉合開關。當線圈通電時閉合的觸點稱為常開觸點。當輸入線圈不通電時,常閉觸點接觸。繼電器通常在原理圖中用一個圓圈表示輸入線圈。輸出觸點用兩條平行線表示。常開觸點用兩條線表示,當輸入不通電時,它們將開啟(不導通)。常閉觸點用兩條線表示,並且有一條對角線穿過它們。當輸入線圈不通電時,常閉觸點將閉合(導通)。

 

簡單的繼電器佈局和原理圖

繼電器用於讓一個電源為另一個(通常是高電流)電源閉合開關,同時保持它們隔離。參見一個簡單的繼電器控制器中顯示了繼電器在簡單控制應用中的一個示例。在這個系統中,最左側的第一個繼電器用作常閉,並且將允許電流流動,直到電壓被施加到輸入 A。第二個繼電器是常開的,並且直到電壓被施加到輸入 B 時才會允許電流流動。如果電流流過前兩個繼電器,那麼電流將流過第三個繼電器中的線圈,並閉合輸出 C 的開關。該電路通常以梯形圖的形式繪製。這可以從邏輯上理解為 C 將在 A 關閉且 B 開啟時開啟。

 

一個簡單的繼電器控制器

參見一個簡單的繼電器控制器中的示例沒有顯示整個控制系統,而只是顯示了邏輯。當我們考慮一個 PLC 時,有輸入、輸出和邏輯。參見用繼電器說明的 PLC 顯示了 PLC 的更完整的表示。這裡有兩個來自按鈕的輸入。我們可以想象輸入激活了 PLC 中的 24V 直流繼電器線圈。這反過來驅動一個輸出繼電器,該繼電器切換 115V 交流電,從而開啟燈。注意,在實際的 PLC 中,輸入永遠不會是繼電器,但輸出通常是繼電器。PLC 中的梯形圖實際上是使用者可以輸入和更改的計算機程式。請注意,兩個按鈕輸入都是常開的,但 PLC 中的梯形圖有一個常開觸點和一個常閉觸點。不要認為 PLC 中的梯形圖需要與輸入或輸出匹配。許多初學者會陷入試圖使梯形圖與輸入型別匹配的困境。

 

用繼電器說明的 PLC

許多繼電器也有多個輸出(投擲),這允許一個輸出繼電器同時也是一個輸入。參見自保持電路中所示的電路就是一個例子,它被稱為自保持電路。在這個電路中,電流可以流過電路的任一支路,透過標記為 A 或 B 的觸點。輸入 B 僅在輸出 B 開啟時才會開啟。如果 B 關閉,A 通電,那麼 B 將開啟。如果 B 開啟,則輸入 B 將開啟,並將保持輸出 B 開啟,即使輸入 A 關閉。B 開啟後,輸出 B 不會關閉。

 

自保持電路

程式設計

早期的 PLC 使用一種基於繼電器邏輯佈線原理圖的技術進行程式設計。這消除了教授電工、技術人員和工程師如何程式設計計算機的需要——但是,這種方法一直沿用至今,並且是如今程式設計 PLC 的最常見技術。在參見一個簡單的梯形圖中可以看到一個梯形圖的示例。要解釋這個圖,想象一下電源位於左側的垂直線上,我們稱之為熱軌。右側是中性軌。在圖中,有兩條梯級,每條梯級上都有輸入(兩條垂直線)和輸出(圓圈)的組合。如果輸入以正確的組合開啟或關閉,則電源可以從熱軌流過輸入,為輸出供電,最後流到中性軌。輸入可以來自感測器、開關或任何其他型別的感測器。輸出將是 PLC 外部的某些被開啟或關閉的裝置,例如燈或電機。在最上面的梯級中,觸點是常開和常閉的。這意味著如果輸入 A 開啟而輸入 B 關閉,那麼電源將流過輸出並激活它。任何其他輸入值的組合都會導致輸出 X 關閉。

 

一個簡單的梯形圖

參見一個簡單的梯形圖中的第二條梯級更復雜,實際上有多種輸入組合會導致輸出 Y 開啟。在梯級的最左側,如果 C 關閉而 D 開啟,則電源可以流過頂部。電源也可以(同時)流過底部,如果 E 和 F 都是真的。這將使電源流過梯級的一半,然後如果 G 或 H 為真,電源將被傳遞到輸出 Y。在後面的章節中,我們將研究如何解釋和構建這些圖。

可程式設計邏輯控制器 (PLC) 的程式設計方法有很多種。其中最早的技術之一是助記符指令。這些指令可以從梯形圖直接派生,並透過簡單的程式設計終端輸入到 PLC 中。助記符的示例見“助記符程式和等效梯形圖示例”。在本例中,指令從上到下逐行讀取。第一行 00000 的指令為 LDN(輸入載入並取反),用於輸入 A。這將檢查 PLC 的輸入,如果輸入關閉,則將記住 1(或真),如果輸入開啟,則將記住 0(或假)。下一行使用 LD(輸入載入)語句檢視輸入。如果輸入關閉,它將記住 0,如果輸入開啟,它將記住 1(注意:這與 LD 相反)。AND 語句回憶最後記住的兩個數字,如果這兩個數字都為真,則結果為 1,否則結果為 0。此結果現在替換了記住的兩個數字,並且只有一個數字被記住。對行 00003 和 00004 重複此過程,但是完成這些操作後,現在記住三個數字。最舊的數字來自 AND,較新的數字來自兩個 LD 指令。第 00005 行的 AND 組合了最後兩個 LD 指令的結果,現在記住兩個數字。OR 指令取現在剩餘的兩個數字,如果其中一個為 1,則結果為 1,否則結果為 0。此結果替換了兩個數字,現在只有一個數字。最後一條指令是 ST(儲存輸出),它將檢視儲存的最後一個值,如果為 1,則輸出將開啟,如果為 0,則輸出將關閉。

 

助記符程式和等效梯形圖示例

“助記符程式和等效梯形圖示例”中的梯形圖程式等效於助記符程式。即使您使用梯形圖對 PLC 進行了程式設計,它也會在 PLC 使用之前轉換為助記符形式。過去,助記符程式設計是最常見的,但現在使用者很少看到助記符程式。

順序功能圖 (SFC) 已被開發用於適應更高階系統的程式設計。它們類似於流程圖,但功能強大得多。在“順序功能圖示例”中看到的示例正在執行兩件不同的事情。要閱讀圖表,從頂部開始,那裡寫著“開始”。在下面是一條雙水平線,上面寫著“跟隨兩條路徑”。因此,PLC 將開始分別和同時跟隨左側和右側的分支。左側有兩個功能,第一個是上電功能。此功能將一直執行,直到它決定已完成,然後是斷電功能。右側是閃光功能,它將一直執行,直到完成。這些功能看起來沒有解釋,但是每個功能(如上電)將是一個小的梯形圖程式。這種方法與流程圖大不相同,因為它不必在流程圖中遵循單一路徑。

 

順序功能圖示例

結構化文字程式設計作為一種更現代的程式語言而被開發出來。它非常類似於 BASIC 等語言。一個簡單的例子見“結構化文字程式示例”。本例使用 PLC 記憶體位置 i。此記憶體位置用於整數,這將在本書後面解釋。程式的第一行將值設定為 0。下一行開始迴圈,迴圈將返回到此位置。下一行回憶位置 i 中的值,對其加 1,然後將其返回到同一位置。下一行檢查迴圈是否應退出。如果 i 大於或等於 10,則迴圈將退出,否則計算機將返回到 REPEAT 語句繼續執行。每次程式透過此迴圈時,i 將增加 1,直到該值達到 10。

 

i := 0;

REPEAT

i := i + 1;

UNTIL i >= 10

END_REPEAT;

結構化文字程式示例

PLC 連線

當一個過程由 PLC 控制時,它使用來自感測器的輸入來做出決策並更新輸出以驅動執行器,如“控制器和過程的分離”中所示。該過程是一個會隨時間變化的真實過程。執行器將驅動系統進入新狀態(或操作模式)。這意味著控制器受到可用感測器的限制,如果某個輸入不可用,控制器將無法檢測到任何狀態。

 

控制器和過程的分離

控制迴圈是 PLC 讀取輸入、解決梯形圖,然後更改輸出的連續迴圈。像任何計算機一樣,這不會立即發生。“PLC 的掃描週期”顯示了 PLC 的基本操作週期。當最初開啟電源時,PLC 會進行快速健全性檢查,以確保硬體正常工作。如果存在問題,PLC 將停止並指示存在錯誤。例如,如果 PLC 電源下降並且即將關閉,這將導致一種型別的故障。如果 PLC 透過健全性檢查,它將掃描(讀取)所有輸入。在將輸入值儲存在記憶體中後,將使用儲存的值(而不是當前值)掃描(求解)梯形圖。這樣做是為了防止輸入在梯形圖掃描過程中發生變化時出現邏輯問題。當梯形圖掃描完成後,將掃描輸出(輸出值將被更改)。之後,系統會返回執行健全性檢查,然後迴圈無限期地繼續。與普通計算機不同,整個程式將在每次掃描時執行。每個階段的典型時間以毫秒為單位。

 

PLC 的掃描週期

梯形圖輸入

PLC 輸入在梯形圖中很容易表示。“梯形圖輸入”顯示了三種類型的輸入。前兩種是之前討論過的常開和常閉輸入。IIT(立即輸入)功能允許在輸入掃描之後、在梯形圖掃描期間讀取輸入。這允許梯形圖比每個週期一次更頻繁地檢查輸入值。(注意:此指令在 ControlLogix 處理器上不可用,但在較舊的型號上仍然可用。)

 

梯形圖輸入

梯形圖輸出

在梯形圖中,有多種型別的輸出,但並非所有 PLC 都始終提供這些輸出。一些輸出將連線到 PLC 外部的裝置,但也可以在 PLC 中使用內部記憶體位置。“梯形圖輸出”顯示了六種型別的輸出。第一個是正常輸出,通電時輸出將開啟並通電。帶有斜線穿過圓圈的是常開輸出。通電時,輸出將關閉。這種型別的輸出並非所有 PLC 型別都提供。在最初通電時,OSR(單次繼電器)指令將開啟一個掃描週期,但在所有後續掃描週期中關閉,直到它被關閉。L(鎖存)和 U(解鎖)指令可用於鎖定輸出。當 L 輸出通電時,輸出將無限期地開啟,即使輸出線圈斷電也是如此。輸出只能使用 U 輸出關閉。最後一條指令是 IOT(立即輸出),它將允許更新輸出,而無需等待梯形圖掃描完成。

 

梯形圖輸出

案例研究

問題:嘗試開發(不看解決方案)一個基於繼電器的控制器,該控制器允許一個房間中的三個開關控制單個燈光。

 

總結

· 常開和常閉觸點。

· 繼電器及其與梯形圖的關係。

· PLC 輸出可以作為輸入,如電路中的密封所示。

· 程式設計可以使用梯形圖、助記符、SFC 和結構化文字完成。

· 有多種方法可以編寫 PLC 程式。

練習題

1. 舉一個 PLC 可用處的例子。

2. 為什麼會使用繼電器代替 PLC?

3. 簡要描述 PLC。

4. 列出 PLC 比繼電器更具優勢的原因。

5. PLC 可以有效地替代多個元件。舉例說明,並討論 PLC 的一些優缺點。

6. 解釋為什麼梯形圖輸出是線圈?

7. 在下面的圖中,第一級輸出的電源是常開還是常閉?第二級輸出的電源是常開還是常閉?

8. 為下面的梯形圖編寫助記符程式。

練習題答案

1. 控制傳送系統

2. 用於簡單的設計

3. PLC 是一種基於計算機的控制器,它使用輸入來監控過程,並使用輸出透過程式來控制過程。

4. 對於複雜的過程來說更便宜、除錯工具、可靠、靈活、易於擴充套件等等。

5. PLC 可以替代幾個繼電器。在這種情況下,繼電器可能更容易安裝且更便宜。要控制更復雜的系統,控制器可能需要計時、計數和其他數學計算。在這種情況下,PLC 將是一個更好的選擇。

6. 梯形圖輸出是根據繼電器邏輯圖建模的。繼電器梯形圖中的輸出是一個繼電器線圈,它切換一組輸出觸點。

7. 常閉,常開

8. 通用:LD A, LD B, OR, ST Y, END; Allen Bradley:SOR, BST, XIO A, NXB, XIO B, BND, OTE Y, EOR, END

作業

1. 解釋在控制應用中使用繼電器和 PLC 之間的權衡。

2. 開發一個簡單的梯形圖程式,如果輸入 A 和 B 或輸入 C 開啟,則開啟輸出 X。

華夏公益教科書