• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關 閉

    新聞中心

    EEPW首頁 > 工控自動化 > 設計應用 > 談PLC編程之前 先聊一下Ladder logic語言

    談PLC編程之前 先聊一下Ladder logic語言

    作者: 時間:2024-08-08 來源:Digikey 收藏

    文章 概述

    本文引用地址:http://www.czjhyjcfj.com/article/202408/461792.htm

     作為工業自動化中不可或缺的重要組成部分,在生產過程中發揮著關鍵的作用。特別是  Logic語言 作為編程的重要工具,為工業系統的控制提供了精準而可靠的支持。
    本文詳細闡述了編程的基本原理和功能,深入介紹了 Logic語言的定義、特點、基本語法及其在實際工業系統中的應用。此外,還探討了PLC特殊塊功能和用戶定義功能塊的概念及其作用。


    在當今自動化產業中,可編程邏輯控制器(PLC)扮演著至關重要的角色。而  logic( 梯形邏輯) 語言可以被視為基于規則而非過程的語言,被廣泛用于編程PLC中 ,特別是需要順序控制過程或復雜的自動化系統。

    本文講述關于PLC -Ladder logic語言基礎,希望能幫助你更好 的理解 PLC的邏輯。

    1. PLC是什么?

    PLC (Programmable Logic Controller),即可編程邏輯控制器,是一種專為工業環境設計的數字運算操作電子系統。它使用可編程存儲器存儲執行各種操作(如邏輯運算、順序控制、定時、計數和算術運算)的指令,并通過數字或模擬輸入輸出來控制各類機械設備或生產過程。

    圖 : 這臺集成顯示屏的 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 程序用于單個按鈕控制過程。圖 :在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版本開發。圖 UDFB 實例如上圖,我們將構建如圖1中突出顯示的UDFB。這個塊被用作狀態機的一部分。它的作用是充當看門人。如果機器的uiState狀態變量等于1,并且啟用了該塊,則執行該行的其余部分。從C編程的角度來看,這就像一個以uiState為索引的開關語句。請注意,前綴ui是匈牙利語的無符號整數表示法。這種特殊的構造導致了一個相對干凈的梯形邏輯。Rung 3的英文描述是這樣的:

    1. 如果UDFB FBuiEqual被啟用并且機器狀態(uiState)繼續

    2. 另外,如果主開關是打開的

    3. 同樣,如果瞬時選擇開關處于前進位置,則切換到狀態2

    4. 否則,如果瞬間選擇開關處于反向位置,則切換到狀態4

    相關產品:

    • 可編程邏輯器件(PLC)

    • PLC 模塊


     總結

    作為工業自動化不可或缺的組成部分,PLC在現代工業中的應用越來越廣泛。 梯形邏輯已經發展成為一種編程語言, 了解Ladder logic語言,可以幫助你更快理解PLC的邏輯。更多有關 PLC 技術文章,請點擊以下鏈接, 也歡迎大家在文末留言討論 

    • 怎樣選擇 PLC (可編程邏輯控制器)

    • PLC 是什么, PLC 的功能是什么?

    • 如何配置正交編碼器 Modicon PLC

    • ( PLC )存儲器 數據保留問題

    • PLC 通信協議

     小編的話

    正如本文所介紹的,Ladder Logic語言以其 直觀 、 易懂 、 靈活 的特點在PLC編程中占據重要地位。通過圖形化的表示方法,它簡化了復雜的控制邏輯,使得工程技術人員能夠更快速地理解和編寫PLC程序。因此,Ladder Logic語言成為許多工程師的首選編程方式。您對PLC編程語言的特性及其應用有哪些經驗或疑問? 歡迎留言,分享交流!



    關鍵詞: Digikey PLC Ladder

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 永丰县| 冀州市| 榆社县| 郸城县| 筠连县| 惠东县| 达尔| 株洲县| 乐安县| 易门县| 三明市| 灌南县| 乐至县| 麻栗坡县| 洪泽县| 广灵县| 长宁县| 阿拉善左旗| 宁晋县| 江城| 平阳县| 昌都县| 鄢陵县| 翁牛特旗| 南丹县| 兰西县| 宣汉县| 都匀市| 耿马| 南木林县| 图片| 彭山县| 郧西县| 襄垣县| 凌海市| 通江县| 大洼县| 册亨县| 会东县| 新河县| 沙坪坝区|