TIA Portal 功能块图简明教程

功能块图(FBD)语言是西门子 TIA Portal 生态的一部分,通过图形化编程助力创建精密的控制算法。借助 FBD 语言,工程师可以通过选择并连接功能块来搭建控制逻辑,构成连贯而高效的控制序列。

TIA Portal 功能块图简明教程
博途PLC工程智能体 | AI智能体博途网关 | 博途PLC程序知识图谱 | 梯形图转SCL | 自然语言生成梯形图 | 自然语言生成SCL | 逆向生成程序块文档 | 梯形图在线查看 | 博途编程文档MCP | AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI

工业自动化依赖多种编程语言来有效实现控制逻辑。在 IEC 61131-3 标准化的五种语言中,功能块图(FBD)是其中的佼佼者。这种图形化编程语言为工程师提供了一款强大的工具,用于在 TIA Portal 环境中设计复杂的控制序列。FBD 以能够利用预定义功能块而著称——这些功能块涵盖数学运算、定时器、计数器和逻辑函数。它们运行在一块可视画布上,通过代表数据流的线条相互连接,让复杂自动化系统的设计、调试和维护变得可行。

功能块图(FBD)语言是西门子 TIA Portal 生态的一部分,通过图形化编程助力创建精密的控制算法。借助 FBD 语言,工程师可以通过选择并连接功能块来搭建控制逻辑,构成连贯而高效的控制序列。

在本教程中,你将学会如何在 TIA Portal 中发挥 FBD 语言的威力,创建各种控制逻辑场景。我们将一步步带你完成添加新块、连接功能块以及使用 FBD 语言指令库的操作。教程涵盖三个实用程序:实现布尔代数、建模线性方程,以及编写一个电机控制应用。

0、前置要求

要跟随本教程,你需要安装 TIA Portal。我们将使用当时的最新版本(v18),但你也可以使用任何其他版本。不需要额外的硬件或软件。

1、在 TIA Portal 中用 FBD 语言编程

首先创建一个新的 TIA Portal 项目。完成后,在项目树中点击"添加新设备"。

图 1.1 - TIA Portal 功能块图(FBD)PLC 编程 | 创建新的 TIA Portal 项目

然后,你可以选择任何一款心仪的 CPU;所有西门子 PLC 型号都支持 FBD。这里我们使用 1511-1 PN CPU,然后点击"确定"。

图 1.2 - TIA Portal 功能块图(FBD)PLC 编程 | 选择 CPU

站点创建完成后,我们可以添加一个新的 FBD 程序块。在项目树的程序块部分点击"添加新块"。

图 1.3 - TIA Portal 功能块图(FBD)PLC 编程 | 添加新块

FBD 语言可用于 OB、FB 和 FC。这里我们创建一个 FB。在"添加新块"窗口中选择"函数块",然后打开语言列表并选择"FBD"。

图 1.4 - TIA Portal 功能块图(FBD)PLC 编程 | 选择 FBD 语言

接下来,给块起个名字并点击"确定"。

图 1.5 - TIA Portal 功能块图(FBD)PLC 编程 | 命名并创建 FB

块创建完成后,我们就进入了 FBD 编程界面。

FBD 语言是一种图形化语言,允许你利用预定义功能块——如数学运算、定时器、计数器、逻辑运算等——来创建复杂的控制序列。FBD 运行在一块可视画布上,功能块之间通过代表数据流的线条互连。用户通过排列和连接这些块来设计逻辑,实现所需的控制行为。

图 1.6 - TIA Portal 功能块图(FBD)PLC 编程 | FBD 编程界面
  1. 块接口:与任何其他 FB 块一样,FBD 块有一个接口,你可以在其中定义块的输入、输出、常量、临时变量等。
  2. 工作区:在这里组装并连接功能块。
  3. 指令:包含 FBD 语言中所有可用的功能块,如位逻辑运算、定时器、数学函数等。

为了演示 FBD 语言的工作方式,我们将为 3 个应用创建 3 个小程序。第一个程序包含一个布尔代数方程,第二个程序包含一个简单的线性数学方程,第三个程序包含一个简单的电机控制应用。

2、布尔代数

先从布尔代数方程开始。我们将对这个简单方程 (A+B)(C+D) = D 进行建模——它可以翻译为 ( A OR B ) AND ( C OR D ) 等于 E。为此,我们将使用 FB 的 Network 1。

图 2.1 - TIA Portal 功能块图(FBD)PLC 编程 | Network 1 中的布尔代数

要建模这个方程,我们只使用位逻辑运算。打开基本指令部分的"位逻辑运算"文件夹,你会在这里找到所有常见的布尔指令,如 AND/OR 运算符、赋值、置位、复位等。

图 2.2 - TIA Portal 功能块图(FBD)PLC 编程 | 位逻辑运算

首先添加一个 OR 运算符。在指令列表中选择 OR 运算符( >=1 )并拖到工作区。

图 2.3 - TIA Portal 功能块图(FBD)PLC 编程 | 添加 OR 功能块

OR 功能块出现在工作区中。它左侧有两个输入,用于指定布尔标签/元素;还有一个输出,包含运算的逻辑结果。

图 2.4 - TIA Portal 功能块图(FBD)PLC 编程 | OR 功能块

接下来,在接口中创建两个布尔输入(A 和 B),我们将在块中用它们对方程的 A + B 部分建模。

图 2.5 - TIA Portal 功能块图(FBD)PLC 编程 | 创建接口输入

完成后,把这些输入添加到块中,如下图所示。

图 2.6 - TIA Portal 功能块图(FBD)PLC 编程 | 把输入添加到块中

现在,重复此操作以创建 C + D 部分。在接口中再创建两个布尔输入(C 和 D),并把它们添加到第二个 OR 功能块。

图 2.7 - TIA Portal 功能块图(FBD)PLC 编程 | 创建第二个 OR 块

现在两个 OR 部分都有了。下一步是把这两个块的结果输出连接到一个 AND 功能块。在指令部分选择 AND 运算( & )并拖到第一个 OR 块的输出上。

图 2.8 - TIA Portal 功能块图(FBD)PLC 编程 | 添加 AND 块

AND 块被添加到工作区,其第一个输入已连接到第一个 OR 块的输出。不过你可以注意到,它还没有连接到第二个 OR 块。

图 2.9 - TIA Portal 功能块图(FBD)PLC 编程 | AND 块已创建

要把第二个 OR 块连接到 AND 块,选中它的输出并拖到 AND 块的第二个输入上。

图 2.10 - TIA Portal 功能块图(FBD)PLC 编程 | 把第二个 OR 块连接到 AND 块

第二个 OR 块就连上了 AND 块。

图 2.11 - TIA Portal 功能块图(FBD)PLC 编程 | AND 块已连接

方程的搭建已接近完成;最后一步是在 AND 块的输出处取出结果。为此,我们需要在 AND 块的输出上添加一个赋值功能块。在指令中选择赋值功能块( = )并拖到 AND 块的输出上。

图 2.12 - TIA Portal 功能块图(FBD)PLC 编程 | 添加赋值块

赋值功能块出现在工作区中,其输入直接连到 AND 块的输出。它让我们取出逻辑结果并放进一个标签或接口元素。

图 2.13 - TIA Portal 功能块图(FBD)PLC 编程 | 赋值块已添加

之后,在块的接口中创建一个布尔输出(E)并把它添加到赋值块。

图 2.14 - TIA Portal 功能块图(FBD)PLC 编程 | 给赋值块添加输出

至此,我们完成了用 FBD 语言对方程的建模。

这里要讲的最后一点是如何给块添加输入。当块需要两个以上的输入时,每个块都有一个小的黄色星形图标,可以用来给块添加更多输入。

图 2.15 - TIA Portal 功能块图(FBD)PLC 编程 | 黄色星形图标

点击这些图标中的任意一个,就会给块添加一个输入。点击两个 OR 块上的黄色星形图标。

图 2.16 - TIA Portal 功能块图(FBD)PLC 编程 | 添加块输入

完成后,创建一个新的布尔输入(Flag)并把它添加到新建的输入上。

图 2.17 - TIA Portal 功能块图(FBD)PLC 编程 | 填充新建的输入

3、线性方程

接下来我们看线性方程。这里将对一个简单的数学线性方程(Y = AX + B)建模,它由一次乘法后跟一次加法构成。为此我们将使用 Network 2。

图 3.1 - TIA Portal 功能块图(FBD)PLC 编程 | Network 2 中的线性方程

这个应用将使用数学函数。你可以在基本指令部分的"数学函数"文件夹中找到它们。

图 3.2 - TIA Portal 功能块图(FBD)PLC 编程 | 数学函数

首先在接口中创建两个整数元素:X 作为输入,Y 作为输出。

图 3.3 - TIA Portal 功能块图(FBD)PLC 编程 | 创建整数 I/O

接下来,选中一个乘法(MUL)功能块并拖入工作区。

图 3.4 - TIA Portal 功能块图(FBD)PLC 编程 | 添加乘法块

这会添加一个乘法块。它有两个可扩展的输入用于相乘的元素,一个输出用于结果。它还有 EN 和 ENO I/O,用于块的执行顺序控制。

图 3.5 - TIA Portal 功能块图(FBD)PLC 编程 | 乘法块已创建

接下来需要添加一个函数块。在指令列表中选中它并拖到乘法块的 ENO 输出上。

图 3.6 - TIA Portal 功能块图(FBD)PLC 编程 | 添加加法块

这会创建一个加法功能块,通过它的 EN 输入与乘法块相连。如你所见,无法把乘法块的结果直接连到加法块的某个输入上——只有布尔结果才能这样直接连接。

图 3.7 - TIA Portal 功能块图(FBD)PLC 编程 | 加法块已添加

之后,需要给块添加 I/O。按下图所示填写各块的 I/O。

图 3.8 - TIA Portal 功能块图(FBD)PLC 编程 | 填写块

最后要做的是把乘法结果传给加法块的输入。为此,我们使用一个临时接口元素作为块之间的桥梁。创建一个 temp 元素,添加到乘法块的输出和加法块的输入上。

图 3.9 - TIA Portal 功能块图(FBD)PLC 编程 | 用 temp 元素作桥梁

至此,方程的建模就完成了。

4、电机控制

在最后一节中,我们将在 Network 3 中编写一个小型电机控制应用。

图 4.1 - TIA Portal 功能块图(FBD)PLC 编程 | Network 3 中的电机控制

我们将以下面这个梯形图(LADDER)程序为基础,构建它在 FBD 中的等价实现。

图 4.2 - TIA Portal 功能块图(FBD)PLC 编程 | 梯形图形式的电机控制

两个并联支路(包含 #Start 和 #Motor)对应一个 OR 运算。接着 #Stop 元素与前面的元素串联,对应一个 AND 运算。最后,结果被赋值给 #Motor 元素。因此,要复现这个程序,我们需要一个 OR 运算符、一个 AND 运算符和一个赋值。

先添加一个 OR 块。选中它(>=1)并拖到工作区。

图 4.3 - TIA Portal 功能块图(FBD)PLC 编程 | 添加 OR 块

然后重复同样的步骤,但这次添加一个 AND 运算符并连接到 OR 块的输出。

图 4.4 - TIA Portal 功能块图(FBD)PLC 编程 | 添加 AND 块

由于 #Stop 触点是常闭的,我们需要对 AND 块的第二个输入取反。选择一条"取反"指令并拖到 AND 块的第二个输入上。

图 4.5 - TIA Portal 功能块图(FBD)PLC 编程 | 添加取反输入

需要添加的最后一个块是 AND 块输出上的赋值块。选中它并拖到 AND 块的输出上。

图 4.6 - TIA Portal 功能块图(FBD)PLC 编程 | 添加赋值

现在,你可以在接口中创建所需的 I/O(#Start、#Stop 和 #Motor),类型为布尔。

图 4.7 - TIA Portal 功能块图(FBD)PLC 编程 | 创建接口 I/O

完成后,把它们添加到功能块中,如下图所示。

图 4.8 - TIA Portal 功能块图(FBD)PLC 编程 | 把 I/O 添加到程序中

至此,FBD 形式的电机控制程序就完成了。

5、结束语

在本教程中,你学会了如何在 TIA Portal 环境中发挥西门子功能块图(FBD)语言的威力。你按照分步说明完成了三个程序:一个布尔代数方程、一个线性数学方程和一个电机控制应用。这些应用涵盖了使用 FBD 语言执行的最常见的操作。通过这些动手练习,你获得了利用 FBD 图形化方式设计和实现控制逻辑的实践经验。

功能块图(FBD)语言是工业自动化中创建控制逻辑的强大工具。FBD 通过提供表达复杂算法的可视化手段,让工程师能更清晰地设计、调试和维护控制系统。代表各种运算的功能块相互连接,对复杂的控制行为建模,从而无缝实现数学计算、定时操作和逻辑控制。借助 FBD,自动化工程师可以弥合复杂算法与实际落地之间的鸿沟,提升工业自动化的效率和准确性。


原文链接: An Introduction to the Function Block Diagram (FBD) Language in TIA Portal

汇智网翻译整理,转载请标明出处