PLC_博图系列☞FBD
文章目录
- PLC_博图系列☞FBD
- 背景介绍
- FBD
- 优势
- 局限性
- FBD 元素
关键字:
PLC
、
西门子
、
博图
、
Siemens
、
FBD
背景介绍
这是一篇关于
PLC
编程的文章,特别是关于西门子的博图软件。我并不是专业的PLC
编程人员,也不懂电路,所以如果你希望从这里学习PLC
编程技术,可能会有些失望。然而,因为工作需要,我开始了解PLC
编程,特别是西门子的博图软件,并记录了这些经验。随着我国工业4.0
的推进,相信会有更多的人从事类似的工作。如果这篇文章能对你有所帮助,欢迎点赞
和关注
我❥(^_-)。
FBD
功能区块图(Function Block Diagram,简称FBD)是可用于可编程逻辑控制器(Programmable Logic Controller,简称PLC)设计的图形语言。它可以用函数的输入及输出来描述函数。函数是由许多基本模组集合而成,在图上会以一区块表示,各函数的输入及输出是由区块之间的连接线来连接。
FBD将各种功能块进行连接,实现所需的控制功能,它是一种图形化的高级编程语言,程序组织的本体表示为功能块之间的链接。FBD采用过程元素(功能块)和连线代表数据的信号流,类似电子线路图,图形化符号(box)代表函数或功能块,通过图形化的 I/O 连接线段来给它分配输入输出信号的布尔变量值。
FBD的编程类似于现代面向对象编程的结构化特点,符合代码反复使用的要求,可以广泛的使用在以PLC为基础的各种控制系统之中。由于FBD语言是一种受限制的图形化面向机器语言表示形式,这就表示一些IL编程语言可以由 FBD 来表示。
总的来说,FBD是一种非常直观且逻辑清晰的编程语言,被广泛应用在电气控制的闭环系统中。在PLC编程中,如果你想将程序和数据打包在一起使用,那就可以选择使用FBD。
优势
在PLC控制系统中,功能块图(Function Block Diagram,简称FBD)具有以下优势:
- 直观性:FBD是一种图形化的编程语言,通过连接各种功能块来实现所需的控制功能。这种方式使得程序的结构和数据流非常直观,便于理解和调试。
- 易学性:FBD的学习和使用相对简单,因为它的设计理念是将复杂的控制逻辑分解为一系列简单的功能块。
- 可重用性:在FBD中,一旦定义了一个功能块,就可以在多个地方重复使用,这大大提高了代码的可重用性。这也使得代码的维护和修改变得更加容易。
- 模块化:FBD支持模块化编程,可以将复杂的控制逻辑分解为一系列独立的功能块。这种方式不仅使得程序结构更清晰,也有利于团队协作。
- 标准化:FBD是IEC 61131-3标准中定义的五种PLC编程语言之一。这意味着使用FBD编写的程序具有良好的可移植性,可以在符合IEC 61131-3标准的各种PLC系统中运行。
- 适应性:FBD非常适合描述复杂的控制逻辑,特别是那些涉及到大量并行和顺序控制的系统。此外,FBD也非常适合实现批处理控制概念。
总的来说,FBD在PLC控制系统中的优势主要体现在其直观性、易学性、可重用性、模块化、标准化和适应性等方面。
局限性
- 存储空间:每种功能块都需要占用程序存储空间。这可能会在资源有限的系统中成为问题,特别是当使用大量功能块时。
- 程序执行周期:每个功能块的执行都会增加程序的执行周期。这可能会影响到系统的实时性能,特别是在需要快速响应的应用中。
- 复杂性:虽然FBD可以使复杂的控制逻辑更易于理解和管理,但是在非常复杂的系统中,FBD可能会变得难以管理和理解。
- 学习曲线:虽然FBD相对直观,但是对于没有电气或控制背景的人来说,学习和理解FBD可能需要一些时间。
- 依赖性:FBD通常依赖于特定的PLC系统和编程环境。这可能会限制代码的可移植性,特别是在需要在不同的PLC系统之间共享代码的情况下。
FBD 元素
FBD 程序由通过二进制信号流链接的各个元素组成。 必须给多数程序元素提供变量。
从左到右对 FBD 程序段进行编程。
例如,下图所示为一个 FBD 程序段的元素:
- 二进制函数
- 标准函数框
- 复杂函数框
二进制函数
可以使用二进制函数查询二进制操作数和组合这些操作数的信号状态。 下列运算是二进制函数的示例: “AND”(与运算)、“OR”(或运算)和“EXCLUSIVE OR”(异或运算)。
标准函数框:
可以在程序中使用标准函数框控制二进制操作数,执行 RLO 沿检测或执行跳转函数。 标准函数框通常只有一个输入。
复杂函数框
复杂函数框代表具有复杂函数的程序元素。 但空函数框除外。 可以使用空函数框作为占位符,在其中可以选择所需的指令。
在 FBD 程序中可以使用以下类型的函数框:
- 无 EN/ENO 机制的复杂函数框:
函数框的执行与函数框输入的信号状态无关。无法查询处理过程中的错误状态。 - 具有 EN/ENO 机制的复杂函数框:
只有使能输入“EN”的信号状态为“1”时才执行函数框。如果正确处理了该函数框,则“ENO”使能输出的信号状态为“1”。如果处理期间出错,则复位“ENO”输出。
如果未互连 EN 使能输入,则始终执行函数框。
代码块的调用在程序段中也显示为具有 EN/ENO 机制的复杂函数框。