文章概述
PLC作為工業自動化中不可或缺的重要組成部分,在生產過程中發揮著關鍵的作用。特別是Ladder Logic語言作為PLC編程的重要工具,為工業系統的控制提供了精準而可靠的支持。 本文詳細闡述了PLC編程的基本原理和功能,深入介紹了Ladder Logic語言的定義、特點、基本語法及其在實際工業系統中的應用。此外,還探討了PLC特殊塊功能和用戶定義功能塊的概念及其作用。
?在當今自動化產業中,可編程邏輯控制器(PLC)扮演著至關重要的角色。而Ladder logic(梯形邏輯)語言可以被視為基于規則而非過程的語言,被廣泛用于編程PLC中,特別是需要順序控制過程或復雜的自動化系統。
本文講述關于PLC -Ladder logic語言基礎,希望能幫助你更好的理解PLC的邏輯。
PLC是什么?
PLC(Programmable Logic Controller),即可編程邏輯控制器,是一種專為工業環境設計的數字運算操作電子系統。它使用可編程存儲器存儲執行各種操作(如邏輯運算、順序控制、定時、計數和算術運算)的指令,并通過數字或模擬輸入輸出來控制各類機械設備或生產過程。
圖 1 :這臺集成顯示屏的 Crouzet EM4 PLC正在運行經典的 “Hello World!” 計劃。
PLC的基本功能是通過邏輯將輸入信號轉換為設備輸出。這類似于鍵盤輸入字符后在屏幕上顯示輸出。在工業環境中,PLC用于控制各種設備和過程,例如根據傳感器信號使機器人執行復雜動作。
什么是Ladder Logic語言?我們先來了解一下PLC編程語言的種類,根據IEC61131-3定義。這包括:
梯形邏輯(LL,Ladderlogic)
功能框圖(FBD,FunctionBlock Diagram)
順序流程圖(SFC,SequentialFlow Chart)
結構化文本(ST,StructuredText)
指令列表(IL,InstructionList)
其中Ladder logic語言應用很廣,他可以快速理清PLC的邏輯規則。Ladder logic語言的排列方式類似于梯子
舉例:如下圖所示的一個梯形圖。這個是 Modicon PLC 程序用于單個按鈕控制過程。
圖 2 :在Schneider Modicon PLC上實現的梯形邏輯程序
創建一個新的梯形圖時,首先可以看到兩條豎線(如圖中橙色線),我們就是在這兩條豎線之間進行梯形圖的編寫程序。
什么是Rung?
如圖2梯形圖中,每一條水平線被稱為一個Rung。Ladder logic符號就放置在這些水平線上。每條Rung代表一條規則,我們可以從左到右、從上到下閱讀這些邏輯和規則。
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的英文描述是這樣的:
如果UDFBFBuiEqual被啟用并且機器狀態(uiState)繼續
另外,如果主開關是打開的
同樣,如果瞬時選擇開關處于前進位置,則切換到狀態2
否則,如果瞬間選擇開關處于反向位置,則切換到狀態4
總結
作為工業自動化不可或缺的組成部分,PLC在現代工業中的應用越來越廣泛。梯形邏輯已經發展成為一種編程語言,了解Ladder logic語言,可以幫助你更快理解PLC的邏輯。
小編的話
正如本文所介紹的,Ladder Logic語言以其直觀、易懂、靈活的特點在PLC編程中占據重要地位。通過圖形化的表示方法,它簡化了復雜的控制邏輯,使得工程技術人員能夠更快速地理解和編寫PLC程序。因此,LadderLogic語言成為許多工程師的首選編程方式。您對PLC編程語言的特性及其應用有哪些經驗或疑問?
-
plc
+關注
關注
5008文章
13167瀏覽量
462181 -
工業自動化
+關注
關注
17文章
2313瀏覽量
67182 -
可編程邏輯控制器
+關注
關注
4文章
265瀏覽量
25909
原文標題:談PLC編程之前 先聊一下Ladder logic語言
文章出處:【微信號:得捷電子DigiKey,微信公眾號:得捷電子DigiKey】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論