西门子 TIA Portal 软件单元简介

在本教程中,我们将学习如何在 TIA Portal 中高效地使用软件单元来应对复杂的自动化项目。

分享
西门子 TIA Portal 软件单元简介

在现代自动化项目中,管理由多个互连组件构成的大型复杂系统往往颇具挑战。工程师常常面临这样的难题:如何高效地编程并访问同一台机器的不同部分,尤其是在多人协同工作的时候。这正是 TIA Portal 软件单元(Software Units)的用武之地,它为解决这一问题提供了有力的方案。

TIA Portal 中的软件单元让工程师可以在单个 PLC 内创建多个相互独立的软件段。每个软件单元都是一个自成一体的程序,就像在一个控制器里放了多台 PLC 一样。工程师可以为自动化流程的不同部分分别创建独立的软件单元,获得一种模块化、有条理的编程方式。把功能划分进软件单元之后,工程师可以同时处理特定区段而互不干扰,协作与维护都因此改善。

在本教程中,你将学习如何在 TIA Portal 中高效地使用软件单元来应对复杂的自动化项目。我们会从创建新项目、添加兼容的 CPU 开始;站点搭建好之后,进入项目树中的软件单元区段;随后为一个水处理站创建两个软件单元,分别代表混凝(Coagulation)和絮凝(Flocculation)部分。我们还会探索如何在每个单元内添加和配置程序块,以及如何利用关系(relations)建立通信。

0、前置条件

学习本教程需要安装 TIA Portal v17 或更高版本。我们会使用当时的最新版本,但你也可以使用任何其他版本。不需要额外的硬件或软件。

TIA Context

1、TIA Portal 的软件单元

先在 TIA Portal 中创建一个新项目。然后我们需要添加一个设备:在项目树中点击"Add new device(添加新设备)"。

图 1.1 - 西门子 TIA Portal 软件单元 | 创建新项目

图 1.1 - 西门子 TIA Portal 软件单元 | 创建新项目

选择固件版本 2.6 或更高的 CPU 才能使用软件单元。这里我们使用 1511-1 CPU、版本 3.0。选好后点击"OK"。

图 1.2 - 西门子 TIA Portal 软件单元 | 添加固件版本 2.6 或更高的 CPU

图 1.2 - 西门子 TIA Portal 软件单元 | 添加固件版本 2.6 或更高的 CPU

站点已添加到项目中。在 CPU 文件夹内,你可以在项目树中找到 Software Units 区段。

图 1.3 - 西门子 TIA Portal 软件单元 | 访问软件单元

图 1.3 - 西门子 TIA Portal 软件单元 | 访问软件单元

点击其左侧的小黑箭头,展开软件单元区段。

软件单元让你可以创建多个独立执行和访问的软件段。例如,你可能会遇到这样的场景:PLC 控制着一台由多个组件组成的机器,比如一个水处理站。它由多个水罐组成,水在其中依次接受不同的处理(混凝、絮凝、沉淀、过滤、消毒)。

图 1.4 - 西门子 TIA Portal 软件单元 | 水处理站示意图

图 1.4 - 西门子 TIA Portal 软件单元 | 水处理站示意图

假设只有一台 PLC 控制整个水处理段。你不必把所有不同部分的程序合并进一个程序,而是可以为流程的每个部分创建一个软件单元。每个部分在自己的 OB 中独立执行,工程师可以访问每个软件单元,同时进行修改或维护,就像它们是不同的 PLC 一样。从某种意义上说,软件单元让你可以在同一个 PLC 中拥有多个项目。

我们以水处理站为例,创建两个软件单元:一个用于混凝部分,另一个用于絮凝部分。先创建第一个软件单元,点击"Add new software unit(添加新软件单元)"。

图 1.5 - 西门子 TIA Portal 软件单元 | 添加新的软件单元

图 1.5 - 西门子 TIA Portal 软件单元 | 添加新的软件单元

会弹出一个小窗口,你可以在其中定义软件单元的名称和命名空间预设(namespace preset)。

命名空间预设让你可以在不同的软件单元中拥有同名的块。所有具有相同命名空间的块都属于同一个独立环境。

图 1.6 - 西门子 TIA Portal 软件单元 | 添加新单元窗口

图 1.6 - 西门子 TIA Portal 软件单元 | 添加新单元窗口

给软件单元起个名字。为了清晰起见,命名空间也用同样的名字。

图 1.7 - 西门子 TIA Portal 软件单元 | 为第一个单元指定名称和命名空间

图 1.7 - 西门子 TIA Portal 软件单元 | 为第一个单元指定名称和命名空间

单元创建完成后会出现在项目树中。点击左侧的小黑箭头打开它,你会看到所有的程序组件(程序块、外部源文件、PLC 变量表、PLC 数据类型、PLC 监视和 PLC 报警)。

图 1.8 - 西门子 TIA Portal 软件单元 | 混凝单元创建完成

图 1.8 - 西门子 TIA Portal 软件单元 | 混凝单元创建完成

来添加一个小程序。打开"Program blocks(程序块)"文件夹,点击"Add new block(添加新块)"。

图 1.9 - 西门子 TIA Portal 软件单元 | 在混凝单元中添加新程序块

图 1.9 - 西门子 TIA Portal 软件单元 | 在混凝单元中添加新程序块

我们要添加的第一个块是主程序(组织块)。在常规程序中,主程序通常是 OB1;而在这里,软件单元的 OB 从 OB123 开始,OB1 仍然保留给常规程序。给这个块起个名字(命名空间应与单元一致),选择"Organization block(组织块)",点击"OK"。

图 1.10 - 西门子 TIA Portal 软件单元 | 在混凝单元中创建新主程序

图 1.10 - 西门子 TIA Portal 软件单元 | 在混凝单元中创建新主程序

主程序创建好了。打开它,你会看到常规的编程界面,该单元的程序将在这里执行。

图 1.11 - 西门子 TIA Portal 软件单元 | 主程序界面

图 1.11 - 西门子 TIA Portal 软件单元 | 主程序界面

接下来创建一个函数块(FB),命名为"Process",并在主程序中调用它(同时创建它的背景 DB)。

图 1.12 - 西门子 TIA Portal 软件单元 | 创建 FB 及其背景 DB

图 1.12 - 西门子 TIA Portal 软件单元 | 创建 FB 及其背景 DB

再添加第二个软件单元,点击"Add new software unit(添加新软件单元)"。

图 1.13 - 西门子 TIA Portal 软件单元 | 添加第二个软件单元

图 1.13 - 西门子 TIA Portal 软件单元 | 添加第二个软件单元

第二个单元用于絮凝。为它指定名称和命名空间预设。

图 1.14 - 西门子 TIA Portal 软件单元 | 为第二个软件单元命名

图 1.14 - 西门子 TIA Portal 软件单元 | 为第二个软件单元命名

像之前为混凝单元做的那样,在絮凝单元中添加一个新的主块:打开絮凝单元的"Program blocks(程序块)"文件夹,点击"Add new block(添加新块)"。

图 1.15 - 西门子 TIA Portal 软件单元 | 在絮凝单元中添加新程序块

图 1.15 - 西门子 TIA Portal 软件单元 | 在絮凝单元中添加新程序块

和之前一样,我们要添加的第一个块是主块。由于它处于不同的命名空间,可以直接命名为"Main"而不会与混凝单元的主程序冲突。

图 1.16 - 西门子 TIA Portal 软件单元 | 为絮凝单元添加主程序

图 1.16 - 西门子 TIA Portal 软件单元 | 为絮凝单元添加主程序

添加"Process" FB 并在主程序中调用它(并创建它的背景 DB)。

图 1.17 - 西门子 TIA Portal 软件单元 | 在絮凝单元中创建 Process FB 及其背景 DB

图 1.17 - 西门子 TIA Portal 软件单元 | 在絮凝单元中创建 Process FB 及其背景 DB

现在我们有了两个程序相互独立的软件单元。通常,不同单元中的程序无法交互——它们是完全隔离、相互独立的环境。但我们可能需要把数据从一个单元传到另一个单元,这就要用到关系(Relations)。我们来创建一个布尔量,作为标志,从混凝单元向絮凝单元表示处理已完成。

在混凝单元中创建一个数据块(DB),命名后打开它,点击"Add new(新增)"。

图 1.18 - 西门子 TIA Portal 软件单元 | 在混凝单元中添加新 DB

图 1.18 - 西门子 TIA Portal 软件单元 | 在混凝单元中添加新 DB

创建一个布尔型元素,命名为"Process_done"。

图 1.19 - 西门子 TIA Portal 软件单元 | 创建布尔型元素

图 1.19 - 西门子 TIA Portal 软件单元 | 创建布尔型元素

现在回到絮凝单元中的 Process FB,为 FB 的接口添加一个输入,命名为"Done"。

图 1.20 - 西门子 TIA Portal 软件单元 | 为 FB 接口添加输入

图 1.20 - 西门子 TIA Portal 软件单元 | 为 FB 接口添加输入

同样在絮凝单元中,更新主程序里的 FB 调用。然后选中我们之前创建的 DB,把"Process_done"元素(从详细视图中)拖放到 FB 的输入上。

图 1.21 - 西门子 TIA Portal 软件单元 | DB 元素不允许跨单元使用

图 1.21 - 西门子 TIA Portal 软件单元 | DB 元素不允许跨单元使用

如你所见,我们不能跨单元使用某个元素(显示为红色)。要解决这个问题,需要在两个单元之间创建一个关系。打开絮凝单元的"Relations(关系)"区段。

图 1.22 - 西门子 TIA Portal 软件单元 | 创建新关系

图 1.22 - 西门子 TIA Portal 软件单元 | 创建新关系

关系的用法类似导入。如果你在单元 A 中创建一个关系并链接到单元 B,那么你可以在单元 A 中使用单元 B 的元素,反之则不行。另外,如果单元 A 中已经有一个指向某处的关系,就不能在单元 B 中再创建回来的关系(不允许循环关系)。所以在这里,我们在絮凝单元中创建关系,就可以使用混凝单元的元素。

点击"Add new relation(添加新关系)"。默认的关系类型就是"Software Unit(软件单元)",正是我们要的。

图 1.23 - 西门子 TIA Portal 软件单元 | 将关系类型设为 Software Unit

图 1.23 - 西门子 TIA Portal 软件单元 | 将关系类型设为 Software Unit

点击"Accessible element(可访问元素)"中的按钮,可以选择想要链接到的单元。

图 1.24 - 西门子 TIA Portal 软件单元 | 将可访问元素设为混凝单元

图 1.24 - 西门子 TIA Portal 软件单元 | 将可访问元素设为混凝单元

这样,我们就在絮凝单元中创建了关系,并把它链接到了混凝单元。

图 1.25 - 西门子 TIA Portal 软件单元 | 关系创建完成

图 1.25 - 西门子 TIA Portal 软件单元 | 关系创建完成 软件单元是唯一可以通过关系访问的对象类型。你也可以在常规程序中访问全局 DB 和工艺对象。点击关系类型区域中的按钮,可以查看其他可访问的类型。

图 1.26 - 西门子 TIA Portal 软件单元 | 其他关系类型

图 1.26 - 西门子 TIA Portal 软件单元 | 其他关系类型

关系创建好之后,还要最后一步才能让程序访问到 DB 元素——仅仅创建关系还不够,我们需要把想要的块"发布(publish)"出去,让它可以通过关系被访问。为此,右键点击要发布的元素(这里是"State" DB),进入它的属性。

图 1.27 - 西门子 TIA Portal 软件单元 | 打开 DB 属性

图 1.27 - 西门子 TIA Portal 软件单元 | 打开 DB 属性

在属性的常规(general)区段中,勾选"Published(已发布)"复选框。

图 1.28 - 西门子 TIA Portal 软件单元 | 勾选 Published 复选框

图 1.28 - 西门子 TIA Portal 软件单元 | 勾选 Published 复选框

回到絮凝单元的主程序,你会发现混凝单元 DB 中的那个元素现在已经被 FB 块接受为输入了。

2、结束语

在本教程中,你学习了如何在 TIA Portal 中有效地使用软件单元,来管理多位工程师协作的复杂自动化项目。我们从创建新项目、添加固件版本 2.6 或更高的兼容 CPU 开始;接着探索了项目树中的软件单元区段,为一个水处理站创建了两个软件单元,分别代表混凝和絮凝部分。通过一步步的操作,我们学会了如何向每个单元添加主程序、函数块等程序块,以及如何利用关系在它们之间建立通信。软件单元的模块化与独立性提供了一种精简的编程方式,让工程师可以同时处理流程的不同部分而不会互相冲突。

在 TIA Portal 中使用软件单元为自动化工程师带来诸多好处:它能高效地组织和管理复杂项目,允许创建可以独立修改和维护的软件段。这种模块化促进了工程师之间的协作——大家可以同时处理流程的不同方面,从而加快开发、缩短项目周期。此外,软件单元还便于代码复用:经过充分测试和验证的功能可以轻松地在多个项目间复制。借助软件单元,工程师能够高效地应对大规模自动化系统,提升工业自动化项目的生产率、可靠性和可维护性。


原文链接: An Introduction to Siemens TIA Portal’s Software Units

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

这是「AI × 工业 / PLC」专题的一部分。完整地图见:AI × 工业 / PLC 完全指南

阅读更多