plc梯形图编程入门编程_梯形图编程语言由什么组成

plc梯形图编程入门编程_梯形图编程语言由什么组成梯形图(LAD)是PLC编程的最佳可视化语言,它看起来非常类似于继电器电路图,因此如果你对继电器控制和电子电路有所了解的话,那么学起来会非常容易!在这个教程中,我们将学习关于使用梯形图进行PLC编程的有关知识。现在,让我们开始吧!什么是梯形图梯形图是一种PLC编程语言,也被称为梯形逻辑(LadderLogic)。之所以称为梯形图,是因为这种程序由一条条水平线构成,看起来很像梯子。梯形…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

梯形图(LAD)是PLC编程的最佳可视化语言,它看起来非常类似于继电器电路图,因此如果
你对继电器控制和电子电路有所了解的话,那么学起来会非常容易!

在这个教程中,我们将学习关于使用梯形图进行PLC编程的有关知识。现在,让我们开始吧!

什么是梯形图

梯形图是一种PLC编程语言,也被称为梯形逻辑(Ladder Logic)。之所以称为梯形图,是因为
这种程序由一条条水平线构成,看起来很像梯子。

梯形图是为电气工程师发明的,它是一种图形化的编程语言,这意味着编程的过程不是采用
文本,而是组合各种不同的图形符号,由于目标用户是电气工程师,因此采用的符号非常类似于
电路符号,以便于电气工程师理解。

梯形图主要用于位逻辑操作,其规范有PLCOpen负责制定,因此梯形图是标准化的PLC编程语言,
该标准为IEC 61131-3。

如何阅读梯形图

梯形图和电路图的一个区别在于编制绘制方法不同。梯形图通常从左到右、从上到下编制,
原因在于:

1.更容易读图

我们的眼睛自然地从左向右读图,然后继续到下一行,就像你阅读的时候一样。

2.易于在计算机上编制

当在计算机上编制梯形图时,你可以一次编制一行。当绘制出越来越多的行时,它们将叠加在一起,
看起来就像一个梯子。查看一个行数众多的梯形图的最佳方式,就是沿着屏幕上下滚动。

3.执行的顺序

最后一个原因在执行的顺序,也就是PLC运行梯形图的先后顺序,更确切的说,就是梯形图中
的指令如何依次执行:PLC总是从梯形图顶部开始,然后依次向下执行。

梯形图看起来非常像电路图。大多数人也是这样开始学习编制梯形逻辑图的。
但是还是有一些不同之处,主要的差异在于:

  • PLC每次执行梯形图的一行,然后才继续下一行
  • 电气系统则是许多回路同时激活

了解了这些关键的区别,现在让我们开始学习梯形逻辑。

梯形图基础

创建梯形图时,你首先看到的就是两条竖线,就是在这两条竖线之间进行梯形图的编制,其中
每一条水平线被称为一个Rung(横线):

在这里插入图片描述

梯形逻辑符号就放置在这些水平线上,正如你在上图中看到的,我在每一个水平线上标记了数字,
以便于理解PLC是如何执行梯形逻辑的。你可能听说过PLC扫描时间或扫描周期,简单地说,PLC首先
扫描其输入,然后执行程序,最后设置输出。

但是PLC如何执行我们的梯形逻辑?

一次一条水平线。

这可能是梯形逻辑的最重要的一条规则:PLC一次只能执行一条水平线,然后才是下一条。实际上,
PLC只能一次执行一个逻辑符号。

编写梯形逻辑

梯形逻辑中的每个符号都是一个指令,初看起来这相当令人困惑。但是别担心,我将用简单的例子
加以解释。让我给你一个简单的实例,在这个例子当中将引入两个梯形逻辑符号。

那么,这些符号或指令到底是什么?

它们是基本的逻辑指令,让你可以创建一小段逻辑,也就是你的PLC程序。如果你仔细看下面的
示例,可以看到两个指令(符号):

在这里插入图片描述

闭路检查指令

第一个指令被称为闭路检查,指令的符号看起来是这样:

在这里插入图片描述

这是一个条件指令,意思是说这个指令用来检查某个条件是否满足,例如检查某个数据位是否
处于ON的状态。

闭路检查指令用来检查某个地址的特定位,在上图中指的是一个数字输入的特定位,它也可以是
内存位,甚至是输出位。

闭路检查指令也被称为常开指令,基本上它类似于电路中的常开触点,因此可以对应于一个点动开关。

需要指出的是,每个闭路检查指令必须要设置PLC中的一个地址。

输入和输出都是PLC中的内存点位。在上面的示例中,闭路判断指令设置地址I0.0作为条件,
这个地址属于PLC的第一个输入。

其工作原理如下:

当PLC扫描周期开始,PLC将首先检查所有输入的状态,然后将输入状态(0或1)写入内存中,
如果输入是LOW,那么对应的内存位置位0,如果输入是HIGH,则对应的内存位置为1.

输出线圈指令

每个指令本身在PLC内存中也有个位置,PLC会将指令的结果存入。要了解PLC使用结果做什么,让我们
看下一个指令:

在这里插入图片描述

输出线圈指令用来打开或关闭一个数据位。

正如你看到的,该符号位于水平线的右侧,意思是(同一水平线上)之前的指令作为该指令的条件。
在我们的示例中,之前的指令就是闭路检查指令。

让我们检查下该指令的最终结果,来了解其工作过程:

  1. PLC 扫描 | 输入 -> I0 字节
  2. 程序执行 | I0.0 -> Xic结果

在这里插入图片描述

在上面的动画中,你会看到PLC首先扫描所有的输入,并将输入状态存入内存。一个内存
字节是彼此相邻的8位。

一旦PLC保存了所有输入的状态,程序将开始运行。第一个要执行的指令是闭路检查指令,
该指令的结果与内存位状态一致 —— 这也是该指令被称为常开指令的原因 —— 在正常状态
(内存位为0),触点将保持常开,结果将为0,但是如果内存位为1,触点将闭合,结果也
变为1。

最后,让我们看这条线的输出:

  1. XiC结果 -> 输出线圈
  2. 输出线圈 -> 输出字节

现在,输出线圈指令使用了前序指令的结果作为条件。这被称为RLO(逻辑操作结果)。逻辑操作
结果保存在PLC内存中的特定位置。在西门子S7系列PLC中,这个位置被称为状态字。

在PLC术语中,一个WORD是16位,或2个字节。

输出线圈指令很简单,它只是将其结果设置为与条件相同的值。

在PLC中所有的数字输出也映射到内存地址。我们将其称为输出位,因此地址Q0对应Q0.0 – Q0.7.
输出线圈指令的结果将被写入内存位Q0.0。

当PLC执行完整个程序,它将设置输出。每个输出被设置为与输出内存位一致的状态。

扫描周期这个概念非常重要,当你在编制梯形逻辑时一定要记住。否则你的程序可能会有
奇怪的行为。我们将在下一个示例中展示这一点,同时引入3个新的梯形逻辑指令。

输出锁存

在前面的示例中,我们学会了如何读取数字输入的状态,并将数字输出设置为同样的状态。
需要指出数字输入是一个暂态按钮,因为它内部有个弹簧,这意味着按钮只有在你一直按下
时才会保持激活。

上面的梯形图可以正常工作,不过你可能注意到,只有输入激活时输出才会激活。因此你不
得不用手指一直按住按钮,才能让输出保持激活。但是想一下,如果输出控制的是一个通风系统
里的风机,那么要求操作员一直按着按钮就很不合理了。我们需要一个办法来保持输出
激活,即使操作员已经释放了按钮。

在梯形逻辑中,有两种办法实现这一点:

在这里插入图片描述

如果你熟悉电路,就会发现这很类似,这杯称为锁存(Latching)或者自我保持(self holding)。

这个名称揭示了其工作原理:线圈简单的维持自己前一个扫描周期的状态。让我们单步分析一下:

当PLC第一次运行这个梯形逻辑程序时(按下按钮时),输出将被激活,就像前一个例子一样。
有趣的事情发生在后续运行逻辑的时候。因为这是一个暂态按钮,它不会一直激活。依赖于
PLC程序的运行总时长,按钮可能在第二次、第三次或第四次运行时不再激活。

让我们进入按钮释放之后的第一个扫描周期。

输出还处于激活状态,因为上一个扫描周期按钮被按下。这时PLC将再次读取输入并存入对应
的内存位。内存位I0.0”这次将存入“0”。因此I0.0的闭路判断指令结果为false或“0”。

但是你可以看到,还有另一个并行的闭路判断指令,不过该指令的条件是输出内存位,因此
其结果为true或“1”,因为这是输出还处于激活状态。只要输出内存位是“1”,输出就会激活,
它就像自己的条件一样。

自保持指令与其他指令并联的原因在于构造一个OR条件,在这个示例当中,I0.0或Q0.0中
的一个为true都会激活输出。

开路检查指令

你刚学习了如何编制一个有用的PLC梯形图程序。一个激活输出的按钮。在我们的示例中,这个
可能是连接到一个风机的触点,输出可以自保持。

但是这个程序有个问题,怎么关掉风机?

我们希望能够再次关掉风机。最简单的方法是添加一个停机按钮,该按钮将连接到PLC的第二
个输入,因此其内存地址为I0.1。

问题是,我们为停机按钮使用什么指令?更重要的,我们应当将其放在梯形图的哪里?

第一个问题的答案是另一个梯形逻辑指令:开路检查指令,它看起来如下:

在这里插入图片描述

这个指令和闭路检查指令的工作方式恰恰相反,其结果是条件的反转。这意味着,如果条件
为“0”,那么结果为“1”,反之亦然。

如果你考虑一下,就会发现这恰恰就是我们希望停机按钮做的事情。要关闭输出线圈,我们
必须给出条件“0”。

现在是第二个问题,在哪里放置这个指令?

我们需要将其放在自锁指令之后,或者说,串联起来。否则当停机按钮按下时,还是会输出“1”。

现在,梯形逻辑如下:

在这里插入图片描述

你可以看到开路检查指令将其条件的反转结果传递给输出线圈。要再次激活输出,就需要
再次按下启动按钮。

在上面的示例中,我使用了一个开路判断指令作为停机按钮。这不是好的实践!

我们最终遵循最佳实践,修改后的梯形图如下:

在这里插入图片描述

虽然我们修改了指令,梯形图的运行没有变化,这是因为我们同样修改了物理停机按钮的
工作方式。

原文链接:http://blog.hubwiz.com/2018/12/10/plc-programming-ladder-logic/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180280.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vue(五)计算属性、过滤器、axios、vue 生命周期

    Vue(五)计算属性、过滤器、axios、vue 生命周期vue:计算属性、过滤器、axios、vue的生命周期,$nextTick()。

    2025年8月14日
    3
  • 常用存储过程语法

    常用存储过程语法 前面学过了基本的存储过程,见 存储过程入门 现在学一下常用的存储过程的语法,只要花一点点时间学习下,就能用存储过程实现很复杂的功能,可以少写很多代码。 为了方便说明,数据库使用SQLServer的示例数据库,Northwind和pubs,如果SQLServer中没有的话,可以按下面的方法安装1,下载SQL2000SampleDb.msi,下载地址是:http://ww

    2022年7月17日
    17
  • 学生个人网页制作html_个人网页简单模板

    学生个人网页制作html_个人网页简单模板静态HTML个人主页学生网页作品作品介绍修改教程作品演示代码演示源码文件作品下载作品介绍大学生网页设计个人主页网站模板采用DIVCSS布局制作,网页作品共4个页面,包括个人介绍(文字页面)、我的作品(图片列表)、个人技能(图文页面)、在线留言(表单页面)CSS样式方面网页整体采用左右布局结构,制作了网页背景图片,左侧导航区域每个导航背景色不同,导航四个背景色与页面背景呼应,简洁漂亮。修改教程网页代码采用基础学生水平DIV布局制作,可使用Dreamweaver、HBuilder、Notepad++

    2022年10月9日
    3
  • 卡方线性趋势检验_SPSS:趋势卡方检验

    卡方线性趋势检验_SPSS:趋势卡方检验SPSS:趋势卡方检验毕业季接近尾声,通过答辩的各位同学们即将开始新的旅程。回顾论文点滴,想必既有心酸又充满欣慰。回顾毕业生咨询论文写作得到一个启示与各位分享:论文完成的过程也是还原临床研究的过程,论文收集资料后进行统计分析时,可以用的统计方法有很多,至于用什么统计方法,决定于临床研究的目的。举个例子:某同学收集到一些数据:近五年某医院胃镜报告提示胃溃疡的男性、女性患者人数,根据数据得到类似下面的…

    2022年5月13日
    54
  • 非常好的Ansible入门教程(超简单)

    非常好的Ansible入门教程(超简单)Ansible是一个配置管理和配置工具,类似于Chef,Puppet或Salt。这是一款很简单也很容易入门的部署工具,它使用SSH连接到服务器并运行配置的任务,服务器上不用安装任何多余的软件,只需要开启ssh,所有工作都交给client端的ansible负责。关于Ansible的一个好处是,将bash脚本转换为可执行任务是非常容易的。我们可以编写自己的配置程序,但是Ansible更加干净,因为它

    2022年6月3日
    34
  • mfc可视化界面_mfc界面开发

    mfc可视化界面_mfc界面开发亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBarProfessionalforMFC和BCGSuiteforMFCv32.2正式发布!新版本改进的功能区和框架标题命令搜索、带有可选复选框的网格日期选择器、带有标签的功能区滑块等,需要最新版的可以点击这里【BCG下载】BCGControlBarProforMFCv32.2正式版下载RibbonBar1.新的全局变量globalData.m_sizeRibbonCategoryPadding和glo.

    2022年10月8日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号