Tutorial Task 2.1 - Build a Basic Task Sequence
任务概述
在本教程任务中,您将学习如何在流程流中创建一个非常基础的任务序列。您将学习如何将此流程流链接到3D模型,以便控制模型中的任务执行器。本教程任务还将向您介绍流程流实例的概念。
您将构建一个用于装卸流动实体的简单任务序列,该序列将由3D模型中的两个不同的操作员使用。完成此任务后,您的3D模型应如下所示:

使用标签连接到3D模型
在此模型中,您将广泛使用标签将流程流中的令牌链接到3D模型中的对象。流程流可以使用包含对模型中3D对象引用的标签来控制3D模型的逻辑。随着令牌在流程流中通过各个活动,活动的逻辑可以使用此引用应用于3D模型中的对象。建议阅读关于标签的关键概念以更深入地理解如何在流程流中使用标签。
在此模型中,您将使用标签来:
- 将令牌链接到3D模型中的流动实体- 您将创建一个名为item的标签,将流程流中的令牌链接到需要在3D模型中运输的流动实体。
- 动态设置流动实体的目的地- 流动实体上一个名为destination的标签将跟踪该流动实体应被运输到哪个处理器。流程流将在运输任务序列中引用此标签。
步骤 1构建3D模型
在此步骤中,您将添加将在3D仿真模型中代表生产线的基本对象。您还将更改一个形状对象的属性,使其看起来像一个清洁用品柜。请注意,在教程的下一个任务中创建更高级的任务序列之前,此柜子不会被使用。完成后,您的模型将如下所示:

要创建此模型:
- 在一个新模型中,从库中添加以下3D对象:
- 1Source
- 2Processors
- 1汇点
- 2操作员
- 1形状(位于视觉组下)
- 为清晰起见,请将3D对象重命名如下:
- 在以下对象之间创建端口连接(A连接):
- 从Source到Processor A
- 从Processor A到Processor B
- 从Processor B到Sink
- 在以下对象之间创建中心端口连接(S连接):
- 从Processor A到Operator A
- 从Processor B到Operator B
- 点击Supply Closet形状,在右侧显示其属性。
- 在可视化工具部分,打开可视化显示菜单并选择立方体。
- 在视觉效果部分下,点击颜色框旁边的箭头,选择深棕色。
- 在位置、旋转和大小分组下,找到大小
框并输入以下数字:- X轴大小:1.50
- Y轴大小:0.75
- Z轴大小:3.00
| 对象 | 新名称 |
|---|---|
| 源 | 源(移除所有数字) |
| 汇点 | 汇点(移除所有数字) |
| 第一个处理器 | 处理器 A |
| 第二个处理器 | 处理器 B |
| 第一个操作员 | 操作员 A |
| 第二个操作员 | 操作员 B |
| 形状 | 储物柜 |
检查以确保最终的3D模型与本步骤开头的图片一致。
步骤2构建任务序列子流程
现在,您将创建一个简单的任务序列,供两名操作员在需要装卸流程项目时使用。您将创建一个子流程,因为过程流可以轻松地使用子流程将任务序列分配给任务执行器。
在此步骤中,您将设置流程,以便每次操作员运行子流程时都运行一个独立的实例。这意味着每位操作员将使用相同的子流程作为任务序列的基础模板。但每位操作员将运行其专属的实例,这相当于运行流程的一个独立副本。这种方法的一个优势在于,操作员使用的任何共享资源都将仅限于这两位操作员本地使用。更多信息请参见子流程与流程实例。
在此步骤中,您仅需向流程中添加活动。属性编辑与逻辑创建将在后续步骤中完成。完成后,您的流程将呈现如下形态:

构建此流程的具体操作:
- 在主工具栏上,点击流程按钮以打开菜单。选择添加子流程以新建一个流程。
- 在属性面板的流程名称框中,删除当前文本并输入
TransportItems。 - 在流程实例分组下,打开实例创建菜单并选择按实例。
- 从库中,将以下活动添加到流程图中,并按此确切顺序将它们排列在一个堆叠块中:
- 一个开始活动(位于子流程组下)
- 一个加载活动(位于任务序列组下)
- 一个卸载活动(位于任务序列组下)
- 一个完成活动(位于子流程组下)
- 为清晰起见,请将活动重命名如下:
| 活动 | 新名称 |
|---|---|
| 开始 | 开始子流程 |
| 加载 | 装载项目 |
| 卸载 | 卸载项目 |
| 完成 | 完成子流程 |
检查并确保您的工艺流程与本步骤开头的图片所示流程相似。
步骤 3将3D对象关联到工艺流程
现在,您将把这个子流程链接到对象的仿真模型。在处理器的设置中,您将使用一个特殊的下拉列表选项,名为使用任务序列子流程,该选项允许处理器每次使用操作员运输一个流程项目时,动态运行该任务序列。您将通过设置下拉列表选项,使处理器将任务分配给连接到其中心端口的操作员。
关联3D对象的步骤如下:
- 在3D模型中,点击处理器 A,以在右侧显示其属性。
- 在输出部分,勾选使用运输复选框。
- 点击使用运输框旁边的箭头以打开菜单。选择自定义逻辑然后流程流:使用任务序列子流程从菜单中打开此下拉列表的选项。
- 点击所有者对象旁边的箭头以打开菜单。从菜单中选择current.centerObjects[1]。
- 检查以确保子流程框中选定的子流程是TransportItems,这是您在上一个教程步骤中创建的子流程。
- 点击活动框旁边的箭头以打开菜单。选择开始。
- 您将使用下拉列表中的默认标签。
- 对处理器 B重复上述步骤。

考虑保存您的仿真模型。
步骤 4向子流程添加动态引用
下表概述了此流程流中各项活动的功能:
| 活动 | 说明 |
|---|---|
| 启动子流程 | 处理器生成的所有新任务都将创建一个令牌,该令牌从此处开始在流程流中运行。 |
| 装载物料 | 连接到处理器中心端口的操作员将装载流程物料。 |
| 卸载物料 | 操作员将把流程物料运送至连接到处理器输出端口的下游固定资源。 |
| 完成 | 当子流程完成时,令牌将进入此活动并被销毁,表示任务现已完成。 |
在此步骤中,您将编辑子流程中的活动,使其具有动态性,这意味着它将根据连接到子流程的每个实例(每个处理器和操作员)的独特条件而变化。提醒一下,每次操作员从处理器拾取流程物料并将其运输到目的地时,都将作为子流程的一个独立实例运行。
您将使用current关键字来引用连接到子流程的任一对象实例。在本例中,这将是操作员A或操作员B,具体取决于哪个处理器创建了任务序列。使用current关键字允许两个操作员运行同一任务序列的独立副本(实例)。运行实例更高效,因为您只需构建一次任务序列,而不必为每个操作员分别构建。
您还将添加对令牌上标签的引用。当处理器调用此任务序列子流程时,它将创建一个令牌来表示需要完成的任务。回想一下,在上一个教程步骤中,您设置了将分配给此令牌的标签。item标签包含对需要运输的流程物料的动态引用,而toObject标签包含对将接收流程物料的下游对象的动态引用。
要在流程流中编辑这些属性:
- 打开流程流,单击堆叠块以选中它。
- 在属性面板中,在装载物料活动下,单击执行器 / 任务序列框旁边的箭头以打开菜单。选择current (实例对象)。
- 对卸载物料活动也重复此步骤。
- 确认装载物料和卸载物料活动都已
token.item列于项目框中。 - 在卸载物品活动中,于站点框内,删除现有文本并输入
token.toObject。
完成后,属性应与此图类似:

步骤 5在仿真运行期间查看实例
在此步骤中,您将学习如何打开流程流实例,以便在仿真运行期间查看它们:
- 重置并运行仿真模型。让仿真运行足够长的时间,使两名操作员都能开始处理装载任务序列。
- 点击流程流中的空白区域以确保未选中任何内容。
- 在属性中,位于流程流实例组下,注意两名操作员应出现在附加对象(实例)列表中。点击列表中的操作员 A以选中它。
- 点击打开流程流视图按钮。流程流中将打开一个新标签页,显示操作员 A 的流程流实例。
- 返回原始流程流,并重复前面的步骤,也打开操作员 B 的流程流实例。
- 如果需要,您可以拆分窗格,以便同时查看所有三个流程流。有关更多信息,请参阅排列窗口和标签页。
- 如果您暂停了仿真模型,现在请恢复运行模型。


随着仿真运行,您将看到操作员在 3D 模型中装载和卸载流动实体。在 TransportItems 流程流中,每次操作员装载和卸载一个流动实体时,您会看到一个或两个令牌在流程流中移动。同时注意,两个操作员的每个流程流实例都与 3D 模型中的操作员以及 TransportItems 流程流相关联。
结论
在此阶段,您的流程流非常基础,其操作与固定资源上“使用运输”属性提供的标准预编程逻辑没有太大区别。然而,在下一个教程任务中,您将看到流程流如何允许您添加额外的自定义任务,从而更轻松地为任务执行者分配复杂的任务序列。请继续前往教程任务 2.2 - 自定义任务序列。


微信扫一扫,打赏作者吧~