TIA Portal 功能块图简明教程
功能块图(FBD)语言是西门子 TIA Portal 生态的一部分,通过图形化编程助力创建精密的控制算法。借助 FBD 语言,工程师可以通过选择并连接功能块来搭建控制逻辑,构成连贯而高效的控制序列。
博途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 项目。完成后,在项目树中点击"添加新设备"。

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

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

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

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

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

- 块接口:与任何其他 FB 块一样,FBD 块有一个接口,你可以在其中定义块的输入、输出、常量、临时变量等。
- 工作区:在这里组装并连接功能块。
- 指令:包含 FBD 语言中所有可用的功能块,如位逻辑运算、定时器、数学函数等。
为了演示 FBD 语言的工作方式,我们将为 3 个应用创建 3 个小程序。第一个程序包含一个布尔代数方程,第二个程序包含一个简单的线性数学方程,第三个程序包含一个简单的电机控制应用。
2、布尔代数
先从布尔代数方程开始。我们将对这个简单方程 (A+B)(C+D) = D 进行建模——它可以翻译为 ( A OR B ) AND ( C OR D ) 等于 E。为此,我们将使用 FB 的 Network 1。

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

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

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

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

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

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

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

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

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

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

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

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

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

至此,我们完成了用 FBD 语言对方程的建模。
这里要讲的最后一点是如何给块添加输入。当块需要两个以上的输入时,每个块都有一个小的黄色星形图标,可以用来给块添加更多输入。

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

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

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

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

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

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

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

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

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

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

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

至此,方程的建模就完成了。
4、电机控制
在最后一节中,我们将在 Network 3 中编写一个小型电机控制应用。

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

两个并联支路(包含 #Start 和 #Motor)对应一个 OR 运算。接着 #Stop 元素与前面的元素串联,对应一个 AND 运算。最后,结果被赋值给 #Motor 元素。因此,要复现这个程序,我们需要一个 OR 运算符、一个 AND 运算符和一个赋值。
先添加一个 OR 块。选中它(>=1)并拖到工作区。

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

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

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

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

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

至此,FBD 形式的电机控制程序就完成了。
5、结束语
在本教程中,你学会了如何在 TIA Portal 环境中发挥西门子功能块图(FBD)语言的威力。你按照分步说明完成了三个程序:一个布尔代数方程、一个线性数学方程和一个电机控制应用。这些应用涵盖了使用 FBD 语言执行的最常见的操作。通过这些动手练习,你获得了利用 FBD 图形化方式设计和实现控制逻辑的实践经验。
功能块图(FBD)语言是工业自动化中创建控制逻辑的强大工具。FBD 通过提供表达复杂算法的可视化手段,让工程师能更清晰地设计、调试和维护控制系统。代表各种运算的功能块相互连接,对复杂的控制行为建模,从而无缝实现数学计算、定时操作和逻辑控制。借助 FBD,自动化工程师可以弥合复杂算法与实际落地之间的鸿沟,提升工业自动化的效率和准确性。
原文链接: An Introduction to the Function Block Diagram (FBD) Language in TIA Portal
汇智网翻译整理,转载请标明出处