PLC Ladder logic语言的基础知识

发布者:chunying最新更新时间:2024-10-16 来源: elecfans关键字:PLC  基础知识 手机看文章 扫描二维码
随时随地手机看文章

文章概述

PLC作为工业自动化中不可或缺的重要组成部分,在生产过程中发挥着关键的作用。特别是Ladder Logic语言作为PLC编程的重要工具,为工业系统的控制提供了精准而可靠的支持。 本文详细阐述了PLC编程的基本原理和功能,深入介绍了Ladder Logic语言的定义、特点、基本语法及其在实际工业系统中的应用。此外,还探讨了PLC特殊块功能和用户定义功能块的概念及其作用。


‍在当今自动化产业中,可编程逻辑控制器(PLC)扮演着至关重要的角色。而Ladder logic(梯形逻辑)语言可以被视为基于规则而非过程的语言,被广泛用于编程PLC中,特别是需要顺序控制过程或复杂的自动化系统。

本文讲述关于PLC -Ladder logic语言基础,希望能帮助你更好的理解PLC的逻辑。

PLC是什么?

PLC(Programmable Logic Controller),即可编程逻辑控制器,是一种专为工业环境设计的数字运算操作电子系统。它使用可编程存储器存储执行各种操作(如逻辑运算、顺序控制、定时、计数和算术运算)的指令,并通过数字或模拟输入输出来控制各类机械设备或生产过程。

a08960aa-3f22-11ef-a4c8-92fbcf53809c.png

图 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 程序用于单个按钮控制过程。

a0ba403a-3f22-11ef-a4c8-92fbcf53809c.png

图 2 :在Schneider Modicon PLC上实现的梯形逻辑程序

创建一个新的梯形图时,首先可以看到两条竖线(如图中橙色线),我们就是在这两条竖线之间进行梯形图的编写程序。

什么是Rung?

如图2梯形图中,每一条水平线被称为一个Rung。Ladder logic符号就放置在这些水平线上。每条Rung代表一条规则,我们可以从左到右、从上到下阅读这些逻辑和规则。

Ladder logic语言基本语法

在对PLC进行编程之前,请先查看以下编程的基本符号。符号还附带地址或值,可用于指定输入、输出、定时器、计数器和其他特定指令。

Ladder logic符号

Rung 输入

a10bb276-3f22-11ef-a4c8-92fbcf53809c.png

Rung输出

a121f108-3f22-11ef-a4c8-92fbcf53809c.png

为了更好理解,你可以想象“Rung 输入”是一个按钮/开关,而“Rung输出”是一个灯泡/负载。内部的斜线表示常开/常闭状态。

逻辑 “与”(AND)

a136518e-3f22-11ef-a4c8-92fbcf53809c.png

上述实现了功能:电机开门= “开关 1 触发“与 ”开关 2触发“,即当开关 1与开关 2同时触发的时候,电机开门。

可以想象成,两个安保人员,各拿一把银行金库的钥匙。只有两个人同时转动钥匙时,金库门的电机运作,把门打开。

逻辑“与非”(AND with NOT)

a1438714-3f22-11ef-a4c8-92fbcf53809c.png

上述实现了功能:电机开门= “开关触发”与非“障碍物触发”,即当开关触发,但是障碍物没有触发的时候,电机开门。

可以想象成,两个安保人员,一个有银行金库的钥匙,一个巡逻是否有坏人。只有当时转动钥匙并且没有坏人的时候,金库门的电机运作,把门打开。当然,障碍物也可以是某个停止按钮没有被按下。

逻辑“或”(OR)

a15e4d24-3f22-11ef-a4c8-92fbcf53809c.png

上述实现了功能:电机开门= “开关1触发”或“开关2触发”,即当开关1和开关2只要有一个触发的时候,电机开门。

可以想象成,两个安保人员,两个人都有银行金库的钥匙。任何一个人转动钥匙,金库门的电机运作,把门打开。

组合逻辑

a17876fe-3f22-11ef-a4c8-92fbcf53809c.png

上述实现了功能:电机开门= (“开关1触发”或“开关2触发”)与非“障碍物触发”,即当开关1和开关2只要有一个触发的时候,并且障碍物没有触发的时候,电机开门。

可以想象成,三个安保人员,两个人有银行金库的钥匙,一个人巡逻是否有坏人。任何一个人转动钥匙并且没有坏人的时候,金库门的电机运作,把门打开。

举个实际应用:空调系统

a18c8eb4-3f22-11ef-a4c8-92fbcf53809c.png

图3:空调系统

我们可以看到有两条规则:

Rung1:实现功能:空调打开 = “开关触发” 与 (“温度传感器触发” 或“湿度传感器触发“),即当开关触发并且温湿度传感器只要有一个触发的时候,空调打开。

Rung2: 实现功能:制冷打开=“空调触发”与非“制热触发”,即空调打开并且没有按下制热按钮的时候,执行制冷

注意:在第二条规则里,空调从规则一里的执行器变成了规则二里的一个检查器。规则二里的“制冷”,如果继续写下一条规则的时候,也可以变成一个检查器,馈送到另一个输出设备比如“压缩机”。这种系统允许将非常复杂的逻辑设计分解和评估。

PLC具有许多类型的特殊块。它们包括定时器、算术运算符和比较器、表查找、文本处理、PID控制和滤波等功能。

更强大的PLC可以在一组内部存储位置上操作,并在一定地址范围内执行操作,例如模拟物理顺序鼓控制器或有限状态机。在某些情况下,用户可以定义自己的特殊块,这实际上是子程序或宏。丰富的特殊块库以及高速执行使得PLC能够实现非常复杂的自动化系统。

用户定义功能块(UDFB)

用户定义功能块(UDFB)之于可编程逻辑控制器(PLC)就像功能之于微控制器一样。两者都是用于简化代码的结构,使其更容易编写,故障排除和维护。它们也是允许代码在将来被重用的基本结构。

UDFB实例:

我们在Arduino Opta 中使用的简单UDFB的构造。该UDFB采用Arduino PLC集成开发环境 (IDE) 1.0.3.0版本开发。

a1b06b54-3f22-11ef-a4c8-92fbcf53809c.png

图 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  基础知识 引用地址:PLC Ladder logic语言的基础知识

上一篇:其利天下技术·MOS管烧了有哪些原因?BLDC驱动方案
下一篇:固态继电器和固态断路器时代将至

热门资源推荐
热门放大器推荐
    Error

    An error occurred.

    Sorry, the page you are looking for is currently unavailable.
    Please try again later.

    If you are the system administrator of this resource then you should check the error log for details.

    Faithfully yours, OpenResty.

小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved