梯形图(LAD)是 PLC 编程的最佳可视化语言。它的外观很类似于继电器电路图。所以,倘若你对继电器控制以及电子电路有所知晓,那么学习它就会十分容易。
在这个教程里,我们要学习与使用梯形图来进行 PLC 编程相关的知识。现在,我们开始吧!
相关链接:PLC梯形图逻辑实战 | PLC编程学习交流群
什么是梯形图
梯形图是一种 PLC 编程语言,它还被称作梯形逻辑。之所以叫梯形图,是因为这种程序由一条条水平线组成,其样子很像梯子。
梯形图是为电气工程师所发明的。它属于一种图形化的编程语言。这表明编程的过程并非使用文本,而是对各种不同的图形符号进行组合。因为目标用户是电气工程师,所以采用的符号与电路符号极为相似,这样便于电气工程师理解。
梯形图主要用于位逻辑操作。它的规范是由相关方负责制定的。所以,梯形图是一种标准化的 PLC 编程语言,其标准为 IEC -3。
如何阅读梯形图
梯形图和电路图存在一个区别,这个区别在于编制绘制的方法不一样。梯形图一般是从左到右、从上到下进行编制,之所以这样,是因为:
1.更容易读图
我们的眼睛会自然地从左向右去读图,接着会继续移到下一行,这种情况就如同你在阅读时所发生的那样。
2.易于在计算机上编制
在计算机上编制梯形图时,能够一次编制一行。随着绘制出越来越多的行,这些行会叠加在一起,呈现出像梯子一样的样子。查看行数众多的梯形图的最好方式,是沿着屏幕上下进行滚动。
3.执行的顺序
执行的顺序即 PLC 运行梯形图的先后顺序,最后一个原因与之相关。更确切地讲,是梯形图中的指令依次执行的方式:PLC 通常从梯形图的顶部开始,接着依次往下执行。
梯形图与电路图看起来极为相似。大多数人在开始学习编制梯形逻辑图时是这样的。然而,两者还是存在一些不同之处,主要的差异体现在以下几个方面:
了解了这些关键的区别,现在让我们开始学习梯形逻辑。
梯形图基础
创建梯形图时,首先映入眼帘的是两条竖线。在这两条竖线之间进行梯形图的编制。其中,每一条水平线都被称作一个 Rung(横线)。
梯形逻辑符号被放置在这些水平线上,如你在上图所见。我在每一个水平线上都标记了数字,这样便于理解 PLC 执行梯形逻辑的方式。你或许听说过 PLC 扫描时间或扫描周期,简单来讲,PLC 首先会扫描其输入,接着执行程序,最后设置输出。
但是PLC如何执行我们的梯形逻辑?
一次一条水平线。
梯形逻辑有一条很重要的规则:PLC 每次只能执行一条水平线,接着才能执行下一条。实际上,PLC 每次只能执行一个逻辑符号。
编写梯形逻辑
梯形逻辑中的每个符号都代表着一个指令,乍一看这会让人感到相当困惑。不过你不用担心,我会用简单的例子来进行解释。我给你举一个简单的实例,在这个实例中会引入两个梯形逻辑符号。
那么,这些符号或指令到底是什么?
它们属于基本的逻辑指令,能够让你构建出一小段逻辑,也就是你的 PLC 程序。倘若你仔细查看下面的示例,就可以发现两个指令(符号):
闭路检查指令
第一个指令被称为闭路检查,指令的符号看起来是这样:
这是一个条件指令,其意思是用于检查某一条件是否得以满足,比如检查某一数据位是否处于 ON 的状态。
闭路检查指令的作用是检查某个地址的特定位。在上述图中,所指的是一个数字输入的特定位。同时,它还可以是内存位,甚至是输出位。
闭路检查指令被称作常开指令。它在本质上与电路中的常开触点相似。所以,它能够对应于一个点动开关。
需要指出的是,每个闭路检查指令都需要在 PLC 中设置一个地址。
输入是 PLC 中的内存点位,输出也是 PLC 中的内存点位。在上述示例里,闭路判断指令将地址 I0.0 设定为条件,此地址属于 PLC 的第一个输入。
其工作原理如下:
PLC 扫描周期开始时,PLC 首先会检查所有输入的状态。接着,它会把输入状态(0 或 1)写入内存中。如果输入是 LOW,那么对应的内存位置就会被置为 0;如果输入是 HIGH,对应的内存位置就会被置为 1。
输出线圈指令
每个指令在 PLC 内存中都有其自身的位置,PLC 会把指令的结果存储进去。若要知晓 PLC 使用结果去做什么,那就让我们来看下一个指令吧。
输出线圈指令用来打开或关闭一个数据位。
你可以看到,这个符号处在水平线的右侧,其含义是(在同一水平线上)之前的指令会成为该指令的条件。在我们所举的例子里,之前的指令是闭路检查指令。
让我们检查下该指令的最终结果,来了解其工作过程:
PLC 进行扫描操作,从输入开始。接着进行 I0 字节的程序执行,其中包含 I0.0 这个元素,然后得出 Xic 结果。
在上述动画里,你能看到 PLC 首先对所有输入进行扫描,接着把输入状态存储到内存中。其中,一个内存字节由彼此相邻的 8 位构成。
PLC 保存所有输入状态后,程序开始运行。第一个要执行的指令是闭路检查指令,此指令的结果与内存位状态相同。这就是该指令被称作常开指令的缘由。在正常状态下(内存位为 0),触点保持常开,结果为 0;而如果内存位为 1,触点将闭合,结果也变为 1。
最后,让我们看这条线的输出:
XiC结果 -> 输出线圈输出线圈 -> 输出字节
现在,输出线圈指令是以使用前序指令的结果作为条件的。这被称作 RLO(逻辑操作结果)。该逻辑操作结果被保存在 PLC 内存里的特定位置。在西门子 S7 系列 PLC 中,此位置被称作状态字。
在PLC术语中,一个WORD是16位,或2个字节。
输出线圈指令很简单,它只是将其结果设置为与条件相同的值。
PLC 中的所有数字输出都映射到内存地址。我们把这些数字输出称为输出位。所以地址 Q0 对应着 Q0.0 到 Q0.7。输出线圈指令的结果会被写入内存位 Q0.0。
PLC 执行完整个程序后,它会设置输出。每个输出都会被设置成与输出内存位相同的状态。
扫描周期这一概念很重要。在编制梯形逻辑时,你一定要记住它。不然,你的程序可能会出现奇怪的行为。我们会在下一个示例中展示这一情况,并且会引入 3 个新的梯形逻辑指令。
输出锁存
在前面的示例里,我们学会了怎样读取数字输入的状态,并且能把数字输出设置为相同的状态。要明确的是,数字输入是一个暂态按钮,因为其内部有个弹簧,这就表明只有在一直按下按钮时,它才会保持激活状态。
上面的梯形图能够正常工作。然而,你或许会注意到,只有在输入被激活时,输出才会被激活。所以,你必须一直用手指按住按钮,这样输出才能保持激活状态。但是试想一下,如果输出控制的是通风系统中的风机,那么要求操作员一直按着按钮就显得很不合理了。我们需要找到一种办法,以便在操作员已经松开按钮的情况下,仍然能够保持输出激活。
在梯形逻辑中,有两种办法实现这一点:
如果你熟悉电路,就会发现这与某种情况很类似。这杯被称为锁存,也被称为自我保持。
这个名称把它的工作原理给揭示出来了,即线圈会维持自己在前一个扫描周期所具有的状态。接下来我们进行单步分析:
当 PLC 首次运行这个梯形逻辑程序(即按下按钮时),输出会被激活,情况如同前一个例子。在后续运行逻辑时,有趣的事情发生了。由于这是一个暂态按钮,它不会一直处于激活状态。依据 PLC 程序的运行总时长,按钮有可能在第二次、第三次或第四次运行时不再处于激活状态。
让我们进入按钮释放之后的第一个扫描周期。
输出处于激活状态,是因为上一个扫描周期按下了按钮。此时 PLC 会再次读取输入并将其存入对应的内存位。内存位 I0.0 这次会存入“0”。所以 I0.0 的闭路判断指令结果为“0”。
你可以看到,存在另一个并行的闭路判断指令。此指令的条件是输出内存位,所以其结果为 true 或“1”。这是因为输出仍处于激活状态。只要输出内存位是“1”,输出就会被激活,就如同它自己的条件一样。
自保持指令与其他指令并联的原因是要构造一个 OR 条件。在这个示例里,I0.0 或者 Q0.0 只要有一个为 true,就会激活输出。
开路检查指令
你刚学会了怎样编制一个有用的 PLC 梯形图程序。有一个能激活输出的按钮。在我们的示例里,这个按钮可能是与一个风机相连的触点,并且输出能够自保持。
但是这个程序有个问题,怎么关掉风机?
我们期望能够再次使风机停止运转。其中一种较为简单的方式是添加一个停机按钮,这个按钮会与 PLC 的第二个输入相连接,并且它的内存地址是 I0.1。
问题是,我们应该使用何种指令来设置停机按钮?更为重要的是,我们应当把它放置在梯形图的哪个位置?
第一个问题的答案是开路检查指令,这是另一个梯形逻辑指令,它的样子如下:
这个指令的工作方式与闭路检查指令不同,它导致了条件的反转。也就是说,当条件是“0”时,结果就会是“1”;而当条件是“1”时,结果就会是“0”。
你思考一下就会明白,这正是我们期望停机按钮去做的事情。若要关闭输出线圈,就必须给出“0”这个条件。
现在是第二个问题,在哪里放置这个指令?
如果不这样做,当停机按钮被按下时,依然会输出“1”。
现在,梯形逻辑如下:
你能够看到开路检查指令把它条件的反转结果传递给了输出线圈。若要让输出再次被激活,就必须再次按下启动按钮。
在上述示例里,我运用了一个开路判断指令当作停机按钮。这并非是良好的实践!
我们最终遵循最佳实践,修改后的梯形图如下:
我们修改了指令,然而梯形图的运行并未发生变化。这是由于我们也对物理停机按钮的工作方式进行了修改。
原文: for
版权声明:本文为 “博览广文网” 原创文章,转载请附上原文出处链接及本声明;
工作时间:8:00-18:00
客服电话
0755-88186625
电子邮件
admin@lanyu.com
扫码二维码
获取最新动态