談PLC編程之前 先聊一下Ladder logic語言
文章 概述
本文引用地址:http://www.j9360.com/article/202408/461792.htmPLC 作為工業自動化中不可或缺的重要組成部分,在生產過程中發揮著關鍵的作用。特別是 Ladder Logic語言 作為PLC編程的重要工具,為工業系統的控制提供了精準而可靠的支持。
本文詳細闡述了PLC編程的基本原理和功能,深入介紹了Ladder Logic語言的定義、特點、基本語法及其在實際工業系統中的應用。此外,還探討了PLC特殊塊功能和用戶定義功能塊的概念及其作用。
? 在當今自動化產業中,可編程邏輯控制器(PLC)扮演著至關重要的角色。而 Ladder logic( 梯形邏輯) 語言可以被視為基于規則而非過程的語言,被廣泛用于編程PLC中 ,特別是需要順序控制過程或復雜的自動化系統。
本文講述關于PLC -Ladder logic語言基礎,希望能幫助你更好 的理解 PLC的邏輯。
1. PLC是什么?
PLC (Programmable Logic Controller),即可編程邏輯控制器,是一種專為工業環境設計的數字運算操作電子系統。它使用可編程存儲器存儲執行各種操作(如邏輯運算、順序控制、定時、計數和算術運算)的指令,并通過數字或模擬輸入輸出來控制各類機械設備或生產過程。
圖 1 : 這臺集成顯示屏的 Crouzet EM4 PLC正在運行經典的 “Hello World!” 計劃。PLC 的基本功能是通過邏輯將輸入信號轉換為設備輸出。 這類似于鍵盤輸入字符后在屏幕上顯示輸出。在工業環境中,PLC用于控制各種設備和過程,例如根據傳感器信號使機器人執行復雜動作。
2. 什么是 Ladder Logic語言 ?
我們先來了解一下PLC編程語言的種類,根據 IEC 61131-3定義。這包括:
梯形邏輯(LL,Ladder logic)
功能框圖(FBD,Function Block Diagram)
順序流程圖(SFC,Sequential Flow Chart)
結構化文本(ST,Structured Text)
指令列表(IL,Instruction List)
其中 Ladder logic語言 應用很廣,他可以 快速理清PLC的邏輯規則 。 Ladder logic 語言的排列方式類似于梯子舉例:如下圖所示的一個梯形圖。這個是 Modicon PLC 程序用于單個按鈕控制過程。圖 2 :在Schneider Modicon PLC上實現的梯形邏輯程序創建一個新的梯形圖時,首先可以看到兩條豎線(如圖中橙色線),我們就是在這兩條豎線之間進行梯形圖的編寫程序。
什么是Rung?
如圖2梯形圖中, 每一條水平線被稱為一個Rung 。 Ladder logic 符號就放置在這些水平線上。每條Rung代表一條規則,我們可以從左到右、從上到下閱讀這些邏輯和規則。
3. Ladder logic語言基本語法
在對PLC進行編程之前,請先查看以下編程的基本符號。符號還附帶地址或值,可用于指定輸入、輸出、定時器、計數器和其他特定指令。
Ladder logic符號
Rung 輸入
Rung輸出
為了更好理解,你可以想象“Rung 輸入”是一個按鈕/開關,而“Rung輸出”是一個燈泡/負載。內部的斜線表示常開/常閉狀態。
邏輯 “與” ( AND )
上述實現了功能:電機開門= “開關 1 觸發“與 ”開關 2觸發“,即當開關 1與開關 2同時觸發的時候,電機開門。
可以想象成,兩個安保人員,各拿一把銀行金庫的鑰匙。只有兩個人同時轉動鑰匙時,金庫門的電機運作,把門打開。
邏輯“與非”(AND with NOT)
上述實現了功能:電機開門= “開關觸發”與非“障礙物觸發”,即當開關觸發,但是障礙物沒有觸發的時候,電機開門。可以想象成,兩個安保人員,一個有銀行金庫的鑰匙,一個巡邏是否有壞人。只有當時轉動鑰匙并且沒有壞人的時候,金庫門的電機運作,把門打開。當然,障礙物也可以是某個停止按鈕沒有被按下。
邏輯“或”(OR)
上述實現了功能:電機開門= “開關1觸發”或“開關2觸發”,即當開關1和開關2只要有一個觸發的時候,電機開門。可以想象成,兩個安保人員,兩個人都有銀行金庫的鑰匙。任何一個人轉動鑰匙,金庫門的電機運作,把門打開。
組合邏輯
上述實現了功能:電機開門= (“開關1觸發”或“開關2觸發”)與非“障礙物觸發”,即當開關1和開關2只要有一個觸發的時候,并且障礙物沒有觸發的時候,電機開門。可以想象成,三個安保人員,兩個人有銀行金庫的鑰匙,一個人巡邏是否有壞人。任何一個人轉動鑰匙并且沒有壞人的時候,金庫門的電機運作,把門打開。
舉個實際應用:空調系統
圖3:空調系統我們可以看到有兩條規則:Rung1:實現功能:空調打開 = “開關觸發” 與 (“溫度傳感器觸發” 或“濕度傳感器觸發“),即當開關觸發并且溫濕度傳感器只要有一個觸發的時候,空調打開。Rung2: 實現功能:制冷打開=“空調觸發”與非“制熱觸發”,即空調打開并且沒有按下制熱按鈕的時候,執行制冷注意: 在第二條規則里,空調從規則一里的執行器變成了規則二里的一個檢查器。規則二里的“制冷”,如果繼續寫下一條規則的時候,也可以變成一個檢查器,饋送到另一個輸出設備比如“壓縮機”。這種系統允許將非常復雜的邏輯設計分解和評估。PLC 具有許多類型的特殊塊。 它們包括定時器、算術運算符和比較器、表查找、文本處理、PID控制和濾波等功能。更強大的PLC可以在一組內部存儲位置上操作,并在一定地址范圍內執行操作,例如模擬物理順序鼓控制器或有限狀態機。在某些情況下,用戶可以定義自己的特殊塊,這實際上是子程序或宏。豐富的特殊塊庫以及高速執行使得PLC能夠實現非常復雜的自動化系統。
用戶定義功能塊(UDFB)
用戶定義功能塊(UDFB)之于可編程邏輯控制器(PLC)就像功能之于微控制器一樣。兩者都是用于簡化代碼的結構,使其更容易編寫,故障排除和維護。它們也是允許代碼在將來被重用的基本結構。
UDFB 實例:我們在 Arduino Opta 中使用的簡單UDFB的構造。該UDFB采用 Arduino PLC集成開發環境 (IDE) 1.0.3.0版本開發。圖 4 : UDFB 實例如上圖,我們將構建如圖1中突出顯示的UDFB。這個塊被用作狀態機的一部分。它的作用是充當看門人。如果機器的uiState狀態變量等于1,并且啟用了該塊,則執行該行的其余部分。從C編程的角度來看,這就像一個以uiState為索引的開關語句。請注意,前綴ui是匈牙利語的無符號整數表示法。這種特殊的構造導致了一個相對干凈的梯形邏輯。Rung 3的英文描述是這樣的:
如果UDFB FBuiEqual被啟用并且機器狀態(uiState)繼續
另外,如果主開關是打開的
同樣,如果瞬時選擇開關處于前進位置,則切換到狀態2
否則,如果瞬間選擇開關處于反向位置,則切換到狀態4
相關產品:
可編程邏輯器件(PLC)
PLC 模塊
總結
作為工業自動化不可或缺的組成部分,PLC在現代工業中的應用越來越廣泛。 梯形邏輯已經發展成為一種編程語言, 了解Ladder logic語言,可以幫助你更快理解PLC的邏輯。更多有關 PLC 技術文章,請點擊以下鏈接, 也歡迎大家在文末留言討論 。
怎樣選擇 PLC (可編程邏輯控制器)
PLC 是什么, PLC 的功能是什么?
如何配置正交編碼器 Modicon PLC
( PLC )存儲器 / 數據保留問題
PLC 通信協議
小編的話
正如本文所介紹的,Ladder Logic語言以其 直觀 、 易懂 、 靈活 的特點在PLC編程中占據重要地位。通過圖形化的表示方法,它簡化了復雜的控制邏輯,使得工程技術人員能夠更快速地理解和編寫PLC程序。因此,Ladder Logic語言成為許多工程師的首選編程方式。您對PLC編程語言的特性及其應用有哪些經驗或疑問? 歡迎留言,分享交流!
評論