2019独角兽企业重金招聘Python工程师标准>>>

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

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

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

1、置位/复位指令

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

set或latch指令的符号如下:

reset或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。在另一侧则有一个输出。

  • RS函数块

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

2、梯形图逻辑实战

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

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

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

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

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

2.1 start/stop逻辑示例

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

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

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

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

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

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

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

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

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

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

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

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

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

or-gate-ladder-logic-1.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 功能需求

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

  • 输入

  • 输出

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

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

3、信号沿单触发指令

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

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

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

3.1 上升沿检测

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

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

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

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

  • 上升沿触点与线圈

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

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

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

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

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

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

  • R_TRIG函数块

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

3.2 下降沿检测

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

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

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

  • 下降沿触点和线圈

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

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

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

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

  • F_TRIG函数块

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

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

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

  • 功能需求

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

  • 输入

  • 输出

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

  • 功能需求

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

  • 输入

  • 输出


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

转载于:https://my.oschina.net/u/3794778/blog/3052430

PLC编程梯形图实战相关推荐

  1. 新代系统plc梯形图说明书_东莞自动化PLC编程需要多少钱

    当然还有其它的指令,但只要熟织和应用以上的指令,我以为入个门应该没什么问题了,也够用了.入了门后再去研究其它的指令就不是很难了.故不再一一说明.4.熟知简易编程器各键的功能:以下是FX-10P(手持式 ...

  2. PLC编程入门梯形图实例讲解

    ​ 上升沿下降沿梯形图解析 上升沿:上升沿就是此点从不通到通的过程,在PLC里面表现就是只通一次. 举例:上图,当按钮1未按下的时候按钮1是断开的,此点不通,当按钮1被按下,按钮1导通,上面上升沿指令 ...

  3. plc编程STEP7梯形图之报警灯

    plc编程STEP7梯形图之报警灯----无故障灯不亮,有故障灯闪烁 方法一 当故障I0.0来到时t37开始计时 1秒后Q0.0输出,t38开始计时输出使t37断开 方法二 使用plc的sm0.5是秒 ...

  4. PLC初学者梯形图编程原则

    初学PLC梯形图编程,应要遵循一定的规则,并养成良好的习惯.下面以三菱FX系列PLC为例,简单介绍一下PLC梯形图编程时需要遵循的规则,希望对大家有所帮助.有一点需要说明的是,本文虽以三菱PLC为例, ...

  5. PLC编程基本功:梯形图与控制线路

    原文地址::PLC编程基本功:梯形图与控制线路 PLC的软件编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同于一般的汇编语言,且要满足易于编写和调试的要求. 早期的PLC仅支持 ...

  6. PLC梯形图设计S7-1200博途以及PLC仿真实现之 2. 编程梯形图实现

    PLC梯形图设计S7-1200博途以及PLC仿真实现之 2. 编程梯形图实现 二. 梯形图编程 上一节链接: PLC梯形图设计全自动洗衣机S7-1200博途以及PLC仿真实现之 1. 创建新工程 下一 ...

  7. 三菱plc编程实例3000_三菱PLC十字路口的红绿灯编程实例

    点击↑↑上方关注,回复100领取电气控制100例. 十字路口车辆穿梳,行人熙攘,车行车道,人行人道,有条不紊.那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统,下面介绍三菱PLC编程实现的 ...

  8. 三菱modbusRTU通讯实例_干货 | 解析西门子系列PLC编程实例

    点击箭头处"工业之家",选择"关注公众号"! 解析西门子系列PLC编程实例 三辊卷板机有分为机械式和液压式,机械式又分为对称式和非对称式.用于重型机械公司,将金 ...

  9. 伺服控制系统原理图_西门子PLC编程实例及技巧(运料小车控制系统)

    前面和大家一起进行了西门子PLC的一些基础知识及编程元件的学习,下面和大家一起探讨一下具体应用程序的编写方法,我们以运料小车控制系统的编程方法为例进行讲解. 运料车主要用于搬运加工工件,在工矿企业的生 ...

最新文章

  1. boost::asio异步模式的C/S客户端源码实现
  2. c语言考试经典编程题目及答案,经典练习C语言编程的题目及答案整理
  3. 3.1.10 基本分段存储管理方式
  4. 第K极值(Tyvj)
  5. mysql设计一个简单的系统_一个简单数据库设计例子
  6. 阿里技术专家加多:Java异步编程实战之基于JDK中的Future实现异步编程
  7. @property 各个属性作用【使用时最需注意strong/weak类型】【补充部分内存知识】...
  8. php隐藏表单提交表单提交表单_浅谈php提交form表单
  9. 小蠓虫如何灭_怎样消灭蠓虫?
  10. micropython websocket_通过websocket登录ESP32
  11. 灵异事件很多,却没有平行宇宙
  12. (十五)final关键字
  13. sha1算法源码c版
  14. SAI钢笔工具如何使用,入门篇
  15. make_interp_spline(x, y[1:151])(x_smooth) ValueError: x and y are incompatible.
  16. web服务器硬件软件配置选择
  17. 进入AI领域做产品 —— 我的自学之路(AI+行业的基础认知)
  18. 百度高级搜索指令浅析
  19. 国产安全芯片,请关注他们!
  20. 手机互联功能 android,亿连手机互联app下载

热门文章

  1. 直流电机和交流电机的区别
  2. 模块管理 Guice
  3. 遇到错误:python文件读写权限permission denied
  4. 计算机硬件的最低配置,Windows7系统的最低硬件配置要求是什么
  5. 以太网RFC2544测试
  6. qq聊天记录的图片怎么看
  7. 海思Hi3798MV200机顶盒芯片处理器简介
  8. 转:网络虚拟(包括overlay、underlay介绍)
  9. 1.3 模拟/dp|大话移动通信
  10. Switch 硬件破解经验分享 - Atmosphere 大气层破解签名补丁