文章概述
PLC作為工業(yè)自動(dòng)化中不可或缺的重要組成部分,在生產(chǎn)過程中發(fā)揮著關(guān)鍵的作用。特別是Ladder Logic語(yǔ)言作為PLC編程的重要工具,為工業(yè)系統(tǒng)的控制提供了精準(zhǔn)而可靠的支持。 本文詳細(xì)闡述了PLC編程的基本原理和功能,深入介紹了Ladder Logic語(yǔ)言的定義、特點(diǎn)、基本語(yǔ)法及其在實(shí)際工業(yè)系統(tǒng)中的應(yīng)用。此外,還探討了PLC特殊塊功能和用戶定義功能塊的概念及其作用。
?在當(dāng)今自動(dòng)化產(chǎn)業(yè)中,可編程邏輯控制器(PLC)扮演著至關(guān)重要的角色。而Ladder logic(梯形邏輯)語(yǔ)言可以被視為基于規(guī)則而非過程的語(yǔ)言,被廣泛用于編程PLC中,特別是需要順序控制過程或復(fù)雜的自動(dòng)化系統(tǒng)。
本文講述關(guān)于PLC -Ladder logic語(yǔ)言基礎(chǔ),希望能幫助你更好的理解PLC的邏輯。
PLC是什么?
PLC(Programmable Logic Controller),即可編程邏輯控制器,是一種專為工業(yè)環(huán)境設(shè)計(jì)的數(shù)字運(yùn)算操作電子系統(tǒng)。它使用可編程存儲(chǔ)器存儲(chǔ)執(zhí)行各種操作(如邏輯運(yùn)算、順序控制、定時(shí)、計(jì)數(shù)和算術(shù)運(yùn)算)的指令,并通過數(shù)字或模擬輸入輸出來控制各類機(jī)械設(shè)備或生產(chǎn)過程。
圖 1 :這臺(tái)集成顯示屏的 Crouzet EM4 PLC正在運(yùn)行經(jīng)典的 “Hello World!” 計(jì)劃。
PLC的基本功能是通過邏輯將輸入信號(hào)轉(zhuǎn)換為設(shè)備輸出。這類似于鍵盤輸入字符后在屏幕上顯示輸出。在工業(yè)環(huán)境中,PLC用于控制各種設(shè)備和過程,例如根據(jù)傳感器信號(hào)使機(jī)器人執(zhí)行復(fù)雜動(dòng)作。
什么是Ladder Logic語(yǔ)言?我們先來了解一下PLC編程語(yǔ)言的種類,根據(jù)IEC61131-3定義。這包括:
梯形邏輯(LL,Ladderlogic)
功能框圖(FBD,F(xiàn)unctionBlock Diagram)
順序流程圖(SFC,SequentialFlow Chart)
結(jié)構(gòu)化文本(ST,StructuredText)
指令列表(IL,InstructionList)
其中Ladder logic語(yǔ)言應(yīng)用很廣,他可以快速理清PLC的邏輯規(guī)則。Ladder logic語(yǔ)言的排列方式類似于梯子
舉例:如下圖所示的一個(gè)梯形圖。這個(gè)是 Modicon PLC 程序用于單個(gè)按鈕控制過程。
圖 2 :在Schneider Modicon PLC上實(shí)現(xiàn)的梯形邏輯程序
創(chuàng)建一個(gè)新的梯形圖時(shí),首先可以看到兩條豎線(如圖中橙色線),我們就是在這兩條豎線之間進(jìn)行梯形圖的編寫程序。
什么是Rung?
如圖2梯形圖中,每一條水平線被稱為一個(gè)Rung。Ladder logic符號(hào)就放置在這些水平線上。每條Rung代表一條規(guī)則,我們可以從左到右、從上到下閱讀這些邏輯和規(guī)則。
Ladder logic語(yǔ)言基本語(yǔ)法
在對(duì)PLC進(jìn)行編程之前,請(qǐng)先查看以下編程的基本符號(hào)。符號(hào)還附帶地址或值,可用于指定輸入、輸出、定時(shí)器、計(jì)數(shù)器和其他特定指令。
Ladder logic符號(hào)
Rung 輸入
Rung輸出
為了更好理解,你可以想象“Rung 輸入”是一個(gè)按鈕/開關(guān),而“Rung輸出”是一個(gè)燈泡/負(fù)載。內(nèi)部的斜線表示常開/常閉狀態(tài)。
邏輯 “與”(AND)
上述實(shí)現(xiàn)了功能:電機(jī)開門= “開關(guān) 1 觸發(fā)“與 ”開關(guān) 2觸發(fā)“,即當(dāng)開關(guān) 1與開關(guān) 2同時(shí)觸發(fā)的時(shí)候,電機(jī)開門。
可以想象成,兩個(gè)安保人員,各拿一把銀行金庫(kù)的鑰匙。只有兩個(gè)人同時(shí)轉(zhuǎn)動(dòng)鑰匙時(shí),金庫(kù)門的電機(jī)運(yùn)作,把門打開。
邏輯“與非”(AND with NOT)
上述實(shí)現(xiàn)了功能:電機(jī)開門= “開關(guān)觸發(fā)”與非“障礙物觸發(fā)”,即當(dāng)開關(guān)觸發(fā),但是障礙物沒有觸發(fā)的時(shí)候,電機(jī)開門。
可以想象成,兩個(gè)安保人員,一個(gè)有銀行金庫(kù)的鑰匙,一個(gè)巡邏是否有壞人。只有當(dāng)時(shí)轉(zhuǎn)動(dòng)鑰匙并且沒有壞人的時(shí)候,金庫(kù)門的電機(jī)運(yùn)作,把門打開。當(dāng)然,障礙物也可以是某個(gè)停止按鈕沒有被按下。
邏輯“或”(OR)
上述實(shí)現(xiàn)了功能:電機(jī)開門= “開關(guān)1觸發(fā)”或“開關(guān)2觸發(fā)”,即當(dāng)開關(guān)1和開關(guān)2只要有一個(gè)觸發(fā)的時(shí)候,電機(jī)開門。
可以想象成,兩個(gè)安保人員,兩個(gè)人都有銀行金庫(kù)的鑰匙。任何一個(gè)人轉(zhuǎn)動(dòng)鑰匙,金庫(kù)門的電機(jī)運(yùn)作,把門打開。
組合邏輯
上述實(shí)現(xiàn)了功能:電機(jī)開門= (“開關(guān)1觸發(fā)”或“開關(guān)2觸發(fā)”)與非“障礙物觸發(fā)”,即當(dāng)開關(guān)1和開關(guān)2只要有一個(gè)觸發(fā)的時(shí)候,并且障礙物沒有觸發(fā)的時(shí)候,電機(jī)開門。
可以想象成,三個(gè)安保人員,兩個(gè)人有銀行金庫(kù)的鑰匙,一個(gè)人巡邏是否有壞人。任何一個(gè)人轉(zhuǎn)動(dòng)鑰匙并且沒有壞人的時(shí)候,金庫(kù)門的電機(jī)運(yùn)作,把門打開。
舉個(gè)實(shí)際應(yīng)用:空調(diào)系統(tǒng)
圖3:空調(diào)系統(tǒng)
我們可以看到有兩條規(guī)則:
Rung1:實(shí)現(xiàn)功能:空調(diào)打開 = “開關(guān)觸發(fā)” 與 (“溫度傳感器觸發(fā)” 或“濕度傳感器觸發(fā)“),即當(dāng)開關(guān)觸發(fā)并且溫濕度傳感器只要有一個(gè)觸發(fā)的時(shí)候,空調(diào)打開。
Rung2: 實(shí)現(xiàn)功能:制冷打開=“空調(diào)觸發(fā)”與非“制熱觸發(fā)”,即空調(diào)打開并且沒有按下制熱按鈕的時(shí)候,執(zhí)行制冷
注意:在第二條規(guī)則里,空調(diào)從規(guī)則一里的執(zhí)行器變成了規(guī)則二里的一個(gè)檢查器。規(guī)則二里的“制冷”,如果繼續(xù)寫下一條規(guī)則的時(shí)候,也可以變成一個(gè)檢查器,饋送到另一個(gè)輸出設(shè)備比如“壓縮機(jī)”。這種系統(tǒng)允許將非常復(fù)雜的邏輯設(shè)計(jì)分解和評(píng)估。
PLC具有許多類型的特殊塊。它們包括定時(shí)器、算術(shù)運(yùn)算符和比較器、表查找、文本處理、PID控制和濾波等功能。
更強(qiáng)大的PLC可以在一組內(nèi)部存儲(chǔ)位置上操作,并在一定地址范圍內(nèi)執(zhí)行操作,例如模擬物理順序鼓控制器或有限狀態(tài)機(jī)。在某些情況下,用戶可以定義自己的特殊塊,這實(shí)際上是子程序或宏。豐富的特殊塊庫(kù)以及高速執(zhí)行使得PLC能夠?qū)崿F(xiàn)非常復(fù)雜的自動(dòng)化系統(tǒng)。
用戶定義功能塊(UDFB)
用戶定義功能塊(UDFB)之于可編程邏輯控制器(PLC)就像功能之于微控制器一樣。兩者都是用于簡(jiǎn)化代碼的結(jié)構(gòu),使其更容易編寫,故障排除和維護(hù)。它們也是允許代碼在將來被重用的基本結(jié)構(gòu)。
UDFB實(shí)例:
我們?cè)?a href="http://hljzzgx.com/v/tag/62/" target="_blank">Arduino Opta 中使用的簡(jiǎn)單UDFB的構(gòu)造。該UDFB采用Arduino PLC集成開發(fā)環(huán)境 (IDE) 1.0.3.0版本開發(fā)。
圖 4 :UDFB實(shí)例
如上圖,我們將構(gòu)建如圖1中突出顯示的UDFB。這個(gè)塊被用作狀態(tài)機(jī)的一部分。它的作用是充當(dāng)看門人。如果機(jī)器的uiState狀態(tài)變量等于1,并且啟用了該塊,則執(zhí)行該行的其余部分。從C編程的角度來看,這就像一個(gè)以u(píng)iState為索引的開關(guān)語(yǔ)句。請(qǐng)注意,前綴ui是匈牙利語(yǔ)的無符號(hào)整數(shù)表示法。
這種特殊的構(gòu)造導(dǎo)致了一個(gè)相對(duì)干凈的梯形邏輯。Rung 3的英文描述是這樣的:
如果UDFBFBuiEqual被啟用并且機(jī)器狀態(tài)(uiState)繼續(xù)
另外,如果主開關(guān)是打開的
同樣,如果瞬時(shí)選擇開關(guān)處于前進(jìn)位置,則切換到狀態(tài)2
否則,如果瞬間選擇開關(guān)處于反向位置,則切換到狀態(tài)4
總結(jié)
作為工業(yè)自動(dòng)化不可或缺的組成部分,PLC在現(xiàn)代工業(yè)中的應(yīng)用越來越廣泛。梯形邏輯已經(jīng)發(fā)展成為一種編程語(yǔ)言,了解Ladder logic語(yǔ)言,可以幫助你更快理解PLC的邏輯。
小編的話
正如本文所介紹的,Ladder Logic語(yǔ)言以其直觀、易懂、靈活的特點(diǎn)在PLC編程中占據(jù)重要地位。通過圖形化的表示方法,它簡(jiǎn)化了復(fù)雜的控制邏輯,使得工程技術(shù)人員能夠更快速地理解和編寫PLC程序。因此,LadderLogic語(yǔ)言成為許多工程師的首選編程方式。您對(duì)PLC編程語(yǔ)言的特性及其應(yīng)用有哪些經(jīng)驗(yàn)或疑問?
-
plc
+關(guān)注
關(guān)注
5010文章
13271瀏覽量
463046 -
工業(yè)自動(dòng)化
+關(guān)注
關(guān)注
17文章
2368瀏覽量
67218 -
可編程邏輯控制器
+關(guān)注
關(guān)注
4文章
266瀏覽量
25932
原文標(biāo)題:談PLC編程之前 先聊一下Ladder logic語(yǔ)言
文章出處:【微信號(hào):得捷電子DigiKey,微信公眾號(hào):得捷電子DigiKey】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論