PLC梯形图编程实战【逻辑实现】

在前一个教程PLC编程入门-梯形图中,我们学习了梯形图的基础知识以及一些基本的指令。在今天这个教程里,我们将学习如何采用梯形逻辑解决实际问题,以及如何进行PLC编程,同时我们还会学习一些新的梯形逻辑指令。

让我们从上一个教程中的锁存(latch)指令继续。在PLC编程中,锁存并不是保持线圈状态的唯一方法。

要快速入门软件开发,土建汇智网的在线互动编程课程

1、置位/复位指令

set/reset指令在AB的术语中被称为latch/unlatch,其作用就是让你不使用触点就实现锁存功能。因此你可以在梯形逻辑中只使用一个指令就设置输出,然后在另一个地方复位线圈。

set或latch指令的符号如下:

set latch

reset或unlatch指令的符号如下:

unset unlatch

set/reset指令包含两个线圈,但是控制同一个地址位。当你给set线圈一个脉冲时,该地址位将置位,与普通线圈的区别在于,set线圈将一直保持,直到使用reset线圈复位。

当你在构建包含上千点位的大型PLC程序时,或者连接到一个SCADA系统时,确保你了解在哪里置位,又在哪里复位。

1.1 置位或复位的优先级

使用两个线圈来实现set/reset功能带来了一个新问题:

哪个线圈的优先级高?

当set和reset的条件都是true时,线圈的状态最终是什么?

PLC最后执行的哪个,结果就是哪个

如果你在一个网络中置位/set了线圈,然后在下面的网络中复位/reset,那么线圈将复位。记住,PLC是从上到下依次执行梯形逻辑指令的。

1.2 置位/复位函数块

实现set/reset功能的另一种方式是使用函数块,函数块不仅可以用于梯形逻辑,也可以用于函数块图和结构化文本代码中。

  • SR函数块

第一个函数块被称为set优先的单稳模块,或者SR或set/reset函数块。set具有最高的优先级,意思是当set和reset的条件同时为真时,输出将置位。

SR函数块的符号如下:

set reset function block

它有两个输入:一个用于置位/set,一个用于复位/reset。在另一侧则有一个输出。

  • RS函数块

另一个函数块被称为RS或reset优先的单稳模块。基本上它和SR的工作原理一样,区别在于reset的优先级最高:

reset set function block

2、梯形图逻辑实战

我们已经学习了一些梯形图的基础知识和常用指令,是时候开始实现一些真正的任务了。

因为要成为一个优秀的PLC梯形图程序员,只了解指令是不够的,必须要能够使用梯形逻辑来解决实际问题。现在让我们看一下如何使用梯形图开发PLC程序来解决现实世界的问题。

当我在使用梯形逻辑解决问题时,喜欢思考的一件事就是从条件的角度去思考,这通常被成为组合式逻辑,你可能也听说过这个,或者至少了解逻辑门吧 —— 与、或、非等等。

我要给出的第一个实例是互锁逻辑的实现。因为使用简单的指令你就可以实现互锁功能。

在很多PLC程序中都会用到互锁,因为它可以避免不相容的情况同时激活。一个经典的案例就是star/delta电机的控制。如果你在用PLC控制一个star/delta电机,你必须保证当delta继电器的输出激活时,star继电器的输出一定不能激活。

2.1 start/stop逻辑示例

让我们看一下两个电机的互锁示例,要求在同一时刻只有一个电机可以运转。每个电机都有一个start按钮和stop按钮,分别用来启动和停止电机。

start stop 2 motors

电机的启动和停止可以使用前面介绍的set/reset指令实现。

每个电机的启动和停止按钮的第一个条件当然是电机启动或停止的条件。由于电机可以处于两种状态之一,我们需要检查这两种状态:

如果按下启动按钮 AND 没有按下停止按钮
那么激活电机

如果按下停止按钮
那么停止电机

由于电机只可能处于这两种状态,我们只需要检查电机激活的条件。因为如果这些条件都不满足,那么电机将不会激活。

我们也可以添加锁定功能:

如果按下启动按钮 OR 电机处于运转状态 AND 没有按下停止按钮
那么激活电机

需要注意的一点是,我们已经将功能分解为逻辑实现:

start stop ladder logic

你可以看到,这些逻辑关系可以使用梯形逻辑很轻松地实现。

2.2 使用梯形图实现与/AND、或/OR逻辑

启动按钮和电机状态的逻辑关系是或/OR,当启动按钮或电机状态这两个条件之一为真时,电机都将被激活。

在梯形逻辑中,或/OR逻辑使用两个并联的指令来实现:

or-gate-ladder-logic-1.png

or gate ladder logic

另一方面,要让电机保持激活,就不能按下停止按钮。但是启动按钮和电机状态,和停止按钮的
关系是与/AND,因为要保持电机激活,就要求满足启动条件同时不能按下停止按钮。

与/AND逻辑使用指令的串联来实现:

and gate ladder logic

梯形图逻辑的一个优势就是你可以图形化的实现逻辑。因为如果你在每个网络中沿着线从左向右看,就可以了解指令间的逻辑关系。

或/OR逻辑总是有两个选项,因此会有两条线,与/AND只有一个选项,因此只有一条线。

2.3 使用梯形图实现非/NOT逻辑

上面示例中还有一种逻辑关系没有介绍。要保持电机激活,就不能按下停止按钮,为此我们需要使用非/NOT逻辑。

非/NOT逻辑可以使用反触点来实现:

not gate ladder logic

下面我们使用一个常规的闭合继电器来表示停止按钮,因此就实现了逻辑的翻转:

start stop motor ld instructions

2.4 使用梯形图实现互锁逻辑

当然这部分梯形逻辑只是一个电机的控制逻辑。在我们的实例中包含了两个电机,因此完整的
梯形图逻辑看起来是这样:

motor-control-2-motors-ladder-logic

现在我们至少还需要实现两个电机的互锁,互锁也可以视为逻辑。

实际上,如果你把互锁视为逻辑,那么就很容易实现它,因为电机互锁只需要一个额外的条件:另一个电机处于停止状态。
因此如果电机1#要激活,电机2#就不能激活,反之亦然:

如果按下1#电机启动按钮 OR 1#电机运行中 AND 没有按下1#电机的停止按钮 AND 2#电机没有运行
那么激活1#电机

如果按下2#电机启动按钮 OR 2#电机运行中 AND 没有按下2#电机的停止按钮 AND 1#电机没有运行
那么激活2#电机

只需要在梯形图中增加一个反向继电器:

motor-control-interlocking-ladder-logic

这个简单的示例展示了如何将一个现实的问题分解为逻辑步骤,然后用梯形图编制PLC程序来解决这个问题。但是这些逻辑关系不仅仅
用于常规的开闭指令,它们也可以用于很多不同的PLC指令,例如计数器和定时器。

2.5 梯形图逻辑实现练习题:互锁的实现

这个教程的核心就在于,你可以学会如何实现梯形逻辑。现在是做练习的时候了:

  • 功能需求

3个电机的启动/停止控制,最多只有2个电机可以同时运行。例如如果2#电机和3#电机在运行,那么就不能
启动1#电机。

  • 输入

ex 1 input

  • 输出

ex 1 output

希望你喜欢这个练习,并从中学到一些东西。

这个练习引入了另一个问题,这将引导我们学习下一个梯形逻辑指令。问题不在于梯形逻辑本身,
而是由于连接到输入的按钮引起的。

3、信号沿单触发指令

通常你希望操作员只会按一下启动按钮或者停止按钮 - 很短暂地按一下。但是现实情况是,
操作员会按住按钮很长时间,另一种情况是按钮按下后被卡住了,这种常见的硬件故障也会
影响PLC程序的运行。

如果某个电机的停止按钮被卡住,那么你就无法再启动这个电机了。事实上,当你在PLC上使用
暂态按钮时,这是一个经常遇到的问题。

不过别担心,我们有办法解决这个问题,幸运的是有针对这个问题的现成的梯形逻辑指令,
单触发指令。

3.1 上升沿检测

现在该学习新的指令了。我将介绍第一种类型的单触发指令 - 上升沿检测指令,R_TRIG,
在某些平台上,例如AB,这个指令被称为OSR - 上升沿单触发

正如名称所表达的,这些梯形逻辑指令检查一个数字信号的上升沿,这意味着他们将只检查
数字信号中从0到1的变化。

这是一个数字信号上升沿的图示:

positive-rising-edge

信号的长度是无关紧要的,因为我们只检查信号状态中发生的变化。因此,这些用来检测上升沿的
梯形逻辑指令完美匹配启动按钮和停止按钮的使用需求。

  • 上升沿触点与线圈

上升沿检测继电器看起来与常开触点类似,实际上它使用相同的符号,只是多了一个P在中间:

positive-transition-sensing-contact-ladder-diagram-symbol-300x300

上升沿触点的功能也有所不同,因为这个指令不是检查某个点位的状态,而是检查该点位状态
的变化,或者更确切地说是一个正向的从0到1的变化。

现在,由于这个指令仅仅查看点位的状态变化,因此即使按钮卡住,由于卡住后状态不再变化,
也就不会在后续的扫描周期中持续激活。这也是这些指令被成为单触发指令的原因。

positive-edge-animation-plc-ladder-logic

正如你看到的,这个指令只会在正向变化发生时给出一个脉冲。

最后,你也会看到上升沿检测线圈:

positive-transition-sensing-coil-ladder-diagram-symbol-300x300

它和上升沿触点功能一样,只是它是线圈而已。

  • R_TRIG函数块

你也可以使用一个函数块来实现上升沿检测,这个函数块被成为R_TRIG,是一个标准的PLC指令。

3.2 下降沿检测

和上升沿一样,也有用来检测下降沿的指令,或者成为F_TRIG。AB称之为下降沿单触发或OSF指令。

类似的,下降沿单触发检查信号状态中从1到0的变化,如下图所示:

negative-falling-edge

下降沿检测非常有用,例如可以用来检测设备的关闭。

  • 下降沿触点和线圈

下降沿指令包括下降沿触点和下降沿线圈。它们被称为单触发指令是因为只有在状态从1迁移到0时
才会激活。

negative-transition-sensing-contact-ladder-diagram-symbol-300x300

取决于你要在梯形逻辑中检测下降沿的位置,可以使用触点或线圈:

negative-transition-sensing-coil-ladder-diagram-symbol-300x300

下降沿指令的一个典型应用场景就是,你需要检测一个设备的停止,以便启动另一个设备。例如一个加热设备和两个风扇,
当一个加热设备运行时需要同时运行某个风扇,但是当加热设备关闭后,就需要立即运行第二个风扇以便加速冷却。

你可以在梯形逻辑练习3中尝试解决这个问题,看看是否需要使用下降沿指令。

  • F_TRIG函数块

你也可以使用一个函数块来实现下降沿检测,这个函数块被成为F_TRIG,是一个标准的PLC指令。

又学习了不少只是,是时候做练习了。在我的观点中,学习最好的方法就是解决问题。在这些
练习中你将使用上升沿和下降沿检测指令。但是首先要记住单触发指令仅在一个扫描周期有效。
如果你希望用它来启动需要长时间运行的东西,就需要锁定或使用set/reset指令。
.

3.3 梯形图逻辑实现练习题:上升沿检测

  • 功能需求

使用一个启动按钮和停止按钮来控制电机的启停,但是要确保只在上升沿启动或停止电机。

  • 输入

ex 2 input

  • 输出

ex 2 output

3.4 梯形图逻辑实现练习题:下降沿检测

  • 功能需求

使用一个启动和停止按钮来控制一个加热装置和一个风扇。当加热装置关闭后,启动第二个风扇。
当加热装置和第一个风扇都打开后,立刻关闭第二个风扇。

  • 输入

ex 3 input

  • 输出

ex 3 output


原文: 梯形图逻辑实战 - 汇智网

  • 29
    点赞
  • 135
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
台达PLC梯形编程实例是指使用台达PLC进行梯形编程的具体案例。梯形编程是一种用于控制逻辑形化编程方式,类似于电路的形式,通过在梯形上布置各种元件来实现控制功能。 在台达PLC梯形编程实例中,通常会包括以下步骤: 1. 确定需求:首先需要明确需要控制的设备或系统的需求,包括输入信号、输出信号、以及所需的逻辑功能等。 2. 设计梯形:根据需求,设计出相应的梯形梯形由各个元件连接而成,每个元件代表一个逻辑功能。常用的元件包括触点(输入)、线圈(输出)、定时器、计数器、比较器等。 3. 编写梯形程序:根据梯形的设计,使用台达PLC编程软件进行程序编写。编程软件通常提供了形化界面,可以通过拖拽元件并设置参数来完成程序编写。 4. 调试和优化:编写完梯形程序后,需要进行调试和优化。通过连接PLC设备并上传程序,可以进行仿真调试,检查程序的逻辑是否符合预期。如果发现问题,可以对程序进行修改和优化,直到达到预期效果。 在实际应用中,台达PLC梯形编程可以应用于各种自动化控制领域,比如工业生产线、自动化仓储系统、机械设备控制等。通过合理设计和编写梯形程序,可以实现对设备和系统的准确控制和监控,提高生产效率和质量。 总之,台达PLC梯形编程实例通过设计梯形、编写程序、调试和优化等步骤,可以实现对各种设备和系统的控制功能。这种形化编程方式简单易懂,方便快捷,广泛应用于自动化控制领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值