梯形图基础教程

梯形图基础教程原网址http://www.plcacademy.com/ladder-logic-tutorial/梯形图或梯形逻辑图,是一种可视化PLC编程语言,简单易学。梯形图看起来与继电器电路非常相似,如果有继电器控制和电子电路的基础,学习起来非常快。通过本教程,可以了解到关于梯形图语言的所有基础知识。然后,可以在任一种PLC编程软件中进行真正PLC编程。强烈建议,学完本教程后,继续学习…

大家好,欢迎来到IT知识分享网。

原网址 http://www.plcacademy.com/ladder-logic-tutorial/

ladder-logic-tutorial-1.jpg

梯形图或梯形逻辑图,是一种可视化PLC编程语言,简单易学。

梯形图看起来与继电器电路非常相似,如果有继电器控制和电子电路的基础,学习起来非常快。

通过本教程,可以了解到关于梯形图语言的所有基础知识。然后,可以在任一种PLC编程软件中进行真正PLC编程。强烈建议,学完本教程后,继续学习其他在线PLC编程课程。

  • 什么是梯形图
    • 梯形图简介
    • 继电器逻辑图
  • 梯形图基础
    • 梯形图编程指令
      • 通检测
      • 输出线圈
      • 输出自锁
      • 断检测
    • 用梯形图构建逻辑

什么是梯形图

梯形图是一种PLC编程语言。英文LD。之所以叫梯形图,就是因为程序由一档一档组成,看起来像梯子。 梯形图主要用于处理位逻辑操作,虽然也可以处理模拟量。

梯形图标准化组织是PLCOpen。梯形图并不是PLC唯一的编程语言,只是PLC标准编程语言的一种。对应的标准为IEC61131-3。 现在,只需要知道,是有一套标准描述、定义梯形图编程语言的即可。

梯形图简介

开始梯形图之前,需要了解编程语言的一些东西。应该知道为什么创造出了梯形图,要是有些电气继电器或布尔逻辑经验更好,这样更利于真正了解梯形图。

为技术人员创造

梯形图是图形编程语言,不是文本。编程过程就是通过组合不同的图形元素来实现,图形元素叫做符号。

一个明智之举是设计的梯形图符号就像电气符号。梯形图最初就是给电气工程师等有电气背景的技术人员使用的。 习惯看电气图的可以看下梯形图的符号,是否看起来非常熟悉。

和电气图一样,梯形图有触点和继电器(梯形图中叫线圈)的符号。符号和电气图稍微有些不同,但功能是一样的。

如何阅读梯形图

梯形图和电气图的另一个不同是绘制方向。电气图一般是垂直绘制,梯形图则是水平绘制。

水平绘制梯形图可以:

  1. 方便阅读

    一行一行从左到右对于眼睛是一种自然的方式,和读书一样。

  2. 方便计算机绘图

    在计算机上可以一行一行绘制,层叠起来,看起来如同梯子一样。同样,看很多行的大型程序图时,上下滑动更方便。

  3. 执行顺序

    最后一个原因是执行顺序,就是计算机运行梯形图程序的顺序。PLC按照梯形图逻辑指令的顺序依次执行,总是从梯形图顶部开始一次执行到底部。

继电器逻辑图

如前述,梯形图与电气图很像,大部分人按绘制电气图的思路学习绘制梯形图。但这两者是有不同的,所以还是建议另寻方法,分开来学。

本教程将会介绍一种学习方法。

主要的问题点是电气控制系统和PLC的工作原理是完全不同的。主要区别如下:

  • PLC读取一行梯形图(一个阶梯),然后执行运算,然后继续下一行
  • 电气系统,同时多行(电气路径)同时执行

记住这个关键不同点,就可以开始深入学习梯形图了。

梯形图基础

当创建一个新的梯形图后首先看到的是两条竖线。竖线中间绘制梯形图逻辑。绘制时,在两条线之间画水平连接。每一行叫做一个阶梯,和实际的梯子类似。

ladder-logic-tutorial-rungs.gif
带水平线的一条逻辑叫一个阶梯(一行)

在每一行里可以放置任意的梯形图逻辑符号。上图所示,每行已经放了些逻辑符号,这样可以理解PLC怎样执行程序。 你可能已经知道了扫描时间和扫描周期,简单的说,PLC首先扫描所有输入,然后执行程序,设置输出。

PLC怎样执行梯形图逻辑呢?实际上是每次执行一行。

这应该是梯形图最重要的概念。PLC每次只执行一行,然后再执行下一行。再进一步,PLC每次执行一个符号。

梯形图编程

梯形图的每个符号就是一条指令。现在这可能比较困惑,但不用担心,后面会用简单例子解释。 先从最简单的一个例子开始。在这第一个例子的中,会介绍两种逻辑符号。

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

这是基本的逻辑指令,用来创建复杂逻辑。这些逻辑就是梯形图或PLC程序。详细看下面例子,可以看到有两条指令(符号)

ladder-logic-two-instructions.gif
包含两条指令的一行程序

通检测

第一条指令叫常开逻辑(检测接通),指令符号如下图所示:

examine-if-closed-instruction.gif
标题通检测指令

这是一个条件检测指令,可以用来检测某物是否为真,如检查某一位是否为1。

如图上,指令符号的上面有个名字 – I0.0.

这代表了某个指定位的地址,这条指令将会检测这个位。此图中,这是一个数字输入。 也可以是内部存储中的某一位或一个输出位。

通检测叫常开触点,基本工作原理和电气图中的常开触点是一样的。只是常开触点没有相应的存储位作为判断条件。 这个条件是触点是否闭合,所以假如当按下按钮,条件触发。

这说的要点就是每条指令必须分配一个PLC地址。

是的,输入和输出也是PLC存储中的位。上面例子中,常开触点分配了I0.0作为判断条件,这个地址位于PLC的第一个输入。

工作流程如下:

  • PLC扫描周期开始,PLC检查其所有输入的状态
  • 根据这些状态修改存储区相应的位(0或1)
  • 如果输入为低电平,位设置成为0
  • 如果输入为高电平,存储位设置成为1

输出线圈

指令自身在内存空间也有相应的位,存储PLC指令的结果。要想了解PLC怎样使用运算结果,须看下条指令。

ladder-logic-output-coil.gif
梯形图输出线圈

输出线圈用于打开和关闭一个位。

如图所示,这个符号位于每一行的右侧。意味着,之前所有的指令(这一行内)作为这条指令的条件。上图例子中,条件是常开指令的运算结果。

可以看一下这条指令运算结果,以了解其怎样工作。

  1. PLC扫描 : 输入->IO字节
  2. 程序运行: I0.0->XiC结果
ladder-logic-inputs-outputs.gif
PLC扫描周期中梯形图指令的工作原理

上面动画中可以看到,PLC首先扫描所有输入,然后把对应状态存到相应的内存字。一个内存字就是彼此相邻的8个位。 现在不必考虑太多,但一位挨一位放置非常明智,后面会有叙述。

当PLC把所有输入存储好,程序逻辑开始执行。第一条是执行断检测(常开指令)。指令结果与对应内存的位一致。 诚如这条指令叫常开,正常状态下(内存位为0)触点是打开的,结果是0。如果内存位为1,则触点闭合,结果为1.

最后,看下输出:

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

现在,输出线圈使用前一条指令结果作为条件,叫做RLO(Result of logic operation)。RLO存储于PLC内存中一个特殊的位置。西门子S7PLC中,叫状态字。

字是相邻两个字节,16位。

输出线圈工作简单,就是把位设置成和条件(RLO)一样。

PLC中所有的输出也在内存中分配了一个位,叫做输出字(Q0),即位Q0.0 – Q0.7。 这个线圈输出结果会放在内存中的位Q0.0

当PLC执行完整个程序,会进行输出。每个实际输出都会根据输出位设置成相同的输出。

当编写程序时,扫描周期概念必须牢记,非常重要。否则你写的程序会出现些奇怪的问题。下面的例子有详细描述, 同时,也会学到另外3种梯形图逻辑指令。

输出自锁

上个例子中,学习了怎样读取输入位的状态并根据结果设置输出。这种输入是瞬时按钮。 之所以是瞬时,因为按钮内部有弹簧,这意味着,按钮只有一直按着才有效。

上面程序正常工作没有问题,但是需注意到,只有有输入时才有输出。所有为保证一直有输出,手必须一直按在按钮上。 但如果输出控制的是通风系统的风扇,让操作员手一直按着按钮会非常不友好。所以需要一种方式来保持输出,即使操作员松开按钮也没问题。

梯形图中有两种方式实现:

output-latch-ladder-logic.gif
梯形图的自锁

如果你熟悉电气图,会发现这很熟悉。这叫做自锁或自保持。

其名称说明了如何工作。线圈会保持住自己,我们逐步看下如何工作:

当PLC第一次运行程序时(按钮按下状态),输出为1,和上面例子是一样的。有意思的是PLC第二次和第三次运行。 按钮是自复位按钮,不会一直接通。取决于PLC运行整个程序的时间,按钮可能会在第二、第三个或第四个周期断开。

直接看下按钮断开的第一个扫描周期。

这时,输出依然为1,因为上个周期按钮是按下接通的。PLC在这个周期依然读取输入,并存入到存储字节中。所以I0.0现在保存为0.以I0.0为条件的常开指令运算结果为0。

如图所示,还有另一个常开指令与之并联。这个是以输出的内存位作为条件,因为输出现在为1,所以这条指令运算结果为1. 只要输出的内存位为1,就一直有输出,输出作为了自己的运算条件。

自锁指令与另一条指令平行放置,是为了形成OR条件。后面会详细叙述。需要知道的是I0.0或Q0.0必须有一个为真,输出才会是真。

断检测

刚学了如何通过PLC程序实现一个功能,一个按钮控制输出。上面例子中的输出可以连接接触器给一个风机供电。输出会自锁。

但出现了一个实际问题,如何停止风机?

要实现能停止输出,最简单的方法是增加一个停止按钮。然后按钮连到另一个输入,输入对应内存为I0.1

问题来了,停止按钮应该使用什么指令呢?更重要的是,应该放到梯形图的哪个位置呢?

第一问题,我们介绍另一种梯形图指令:断检测(常闭开关)

符号如下图所示:

examine-if-open-instruction.gif
断检测指令

这条指令和通检测指令工作方式正好相反。指令运算结果会反转条件。即,如果条件为0,则结果为1,反之,如果条件为1,则结果为0.

仔细回想下,这正是我想要的停止按钮的工作方式,要想关闭输出,我们必须让输出的条件为0.

第二个问题,放哪?

必须放到自锁指令的后面。也就是并联部分的后面。否则,即使停止按钮按下,自锁部分仍然为1。

现在,梯形图完成如下:

latch-with-examine-if-closed-ladder-logic.gif
XIO停止的自锁

上图可以看到,该指令反转了输出的条件,打断了自锁回路。要再次输出,再按开始按钮即可。

上面的例子中,停止按钮使用了通检测(常闭)指令。

实际应用中这并不是太好。

因为要让停止按钮在按下时起作用,必须使用一个常开按钮。可以阅读我的文章 为什么停止按钮必须使用常闭开关。简单说,就是确保连接到按钮的线断后系统可以停止。

根据实践经验改进后,梯形图逻辑如下图所示:

latch-with-stop-ladder-logic.gif
带有停止的自锁逻辑

虽然改变了指令,梯形图功能没有变化,因为我们也同时改变了真实按钮的工作方式。

现在你应该知道了启动、保持、停止逻辑,但实现的方式有很多种,自锁不是唯一的方式。

用梯形图构建逻辑

待续…

本梯形图教程后期会更新更多的学习资料。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15307.html

(0)

相关推荐

发表回复

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

关注微信