談PLC編程之前 先聊一下Ladder logic語言
文章 概述
本文引用地址:http://www.ex-cimer.com/article/202408/461792.htmPLC 作為工業(yè)自動(dòng)化中不可或缺的重要組成部分,在生產(chǎn)過程中發(fā)揮著關(guān)鍵的作用。特別是 Ladder Logic語言 作為PLC編程的重要工具,為工業(yè)系統(tǒng)的控制提供了精準(zhǔn)而可靠的支持。
本文詳細(xì)闡述了PLC編程的基本原理和功能,深入介紹了Ladder Logic語言的定義、特點(diǎn)、基本語法及其在實(shí)際工業(yè)系統(tǒng)中的應(yīng)用。此外,還探討了PLC特殊塊功能和用戶定義功能塊的概念及其作用。
? 在當(dāng)今自動(dòng)化產(chǎn)業(yè)中,可編程邏輯控制器(PLC)扮演著至關(guān)重要的角色。而 Ladder logic( 梯形邏輯) 語言可以被視為基于規(guī)則而非過程的語言,被廣泛用于編程PLC中 ,特別是需要順序控制過程或復(fù)雜的自動(dòng)化系統(tǒng)。
本文講述關(guān)于PLC -Ladder logic語言基礎(chǔ),希望能幫助你更好 的理解 PLC的邏輯。
1. 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)作。
2. 什么是 Ladder Logic語言 ?
我們先來了解一下PLC編程語言的種類,根據(jù) IEC 61131-3定義。這包括:
梯形邏輯(LL,Ladder logic)
功能框圖(FBD,F(xiàn)unction Block Diagram)
順序流程圖(SFC,Sequential Flow Chart)
結(jié)構(gòu)化文本(ST,Structured Text)
指令列表(IL,Instruction List)
其中 Ladder logic語言 應(yīng)用很廣,他可以 快速理清PLC的邏輯規(guī)則 。 Ladder logic 語言的排列方式類似于梯子舉例:如下圖所示的一個(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ī)則。
3. Ladder logic語言基本語法
在對(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è)?nbsp;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)語句。請(qǐng)注意,前綴ui是匈牙利語的無符號(hào)整數(shù)表示法。這種特殊的構(gòu)造導(dǎo)致了一個(gè)相對(duì)干凈的梯形邏輯。Rung 3的英文描述是這樣的:
如果UDFB FBuiEqual被啟用并且機(jī)器狀態(tài)(uiState)繼續(xù)
另外,如果主開關(guān)是打開的
同樣,如果瞬時(shí)選擇開關(guān)處于前進(jìn)位置,則切換到狀態(tài)2
否則,如果瞬間選擇開關(guān)處于反向位置,則切換到狀態(tài)4
相關(guān)產(chǎn)品:
可編程邏輯器件(PLC)
PLC 模塊
總結(jié)
作為工業(yè)自動(dòng)化不可或缺的組成部分,PLC在現(xiàn)代工業(yè)中的應(yīng)用越來越廣泛。 梯形邏輯已經(jīng)發(fā)展成為一種編程語言, 了解Ladder logic語言,可以幫助你更快理解PLC的邏輯。更多有關(guān) PLC 技術(shù)文章,請(qǐng)點(diǎn)擊以下鏈接, 也歡迎大家在文末留言討論 。
怎樣選擇 PLC (可編程邏輯控制器)
PLC 是什么, PLC 的功能是什么?
如何配置正交編碼器 Modicon PLC
( PLC )存儲(chǔ)器 / 數(shù)據(jù)保留問題
PLC 通信協(xié)議
小編的話
正如本文所介紹的,Ladder Logic語言以其 直觀 、 易懂 、 靈活 的特點(diǎn)在PLC編程中占據(jù)重要地位。通過圖形化的表示方法,它簡(jiǎn)化了復(fù)雜的控制邏輯,使得工程技術(shù)人員能夠更快速地理解和編寫PLC程序。因此,Ladder Logic語言成為許多工程師的首選編程方式。您對(duì)PLC編程語言的特性及其應(yīng)用有哪些經(jīng)驗(yàn)或疑問? 歡迎留言,分享交流!
評(píng)論