西门子模块6ES7155-6AA01-0BN0
西门子模块6ES7155-6AA01-0BN0
西门子模块6ES7155-6AA01-0BN0
SIMATIC ET 200SP, PROFINET IM 捆绑包, IM 155-6PN ST, 较多 32 外围模块 和 16 ET 200AL 模块, Single Hot SWAP, 捆绑包由以下部分组成: 接口模块 (6ES7155-6AU01-0BN0), 服务器模块 (6ES7193-6PA00-0AA0), 总线适配器 BA 2个RJ45 (6ES7193-6AR00-0AA0)
PLC编程入门之梯形图
梯形图(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使用结果做什么,让我们 看下一个指令:
输出线圈指令用来打开或关闭一个数据位。
正如你看到的,该符号位于水平线的右侧,意思是(同一水平线上)之前的指令作为该指令的条件。 在我们的示例中,之前的指令就是闭路检查指令。
让我们检查下该指令的较终结果,来了解其工作过程:
PLC 扫描 | 输入 -> I0 字节
程序执行 | I0.0 -> Xic结果