网淘吧来吧,欢迎您!

第3章:Plant Simulation建模——物料流(上)

2026-04-12 新闻来源:网淘吧 围观:128
电脑广告
手机广告

第3章:物料流(上)——对象继承、框架与模型结构

本章将介绍Plant Simulation中物料流对象的建模方法。完成本章学习后,您将能够:
  • 理解Plant Simulation的建模思路
  • 掌握点式建模与长度式建模的区别
  • 运用Plant Simulation物料流对象创建仿真模型
  • 运行仿真模型

建模思路

Plant Simulation的核心特性之一是面向对象的建模思路。通过这种方法,您可以在类中定义对象属性,创建该类的多个实例,并利用类与实例之间的继承关系。您可以将类理解为模板,而实例则是根据该模板创建的独立对象。当您定义类的属性时,这些属性将传递给所有基于该类创建的实例。这意味着如果您修改类对象中的属性值,所有派生自该类的实例对象也会同步更新该属性值。相较于每次为每个独立实例对象重复修改相同属性,这种方法效率更高且更不易出错。

然而,您也可以为实例对象单独分配属性值。这将覆盖该实例对象中的派生属性,并停用来自类对象的继承。实例对象中被覆盖的属性既不会影响类对象中的属性,也不会影响该类其他实例中的属性。另一方面,您在类对象中进行的任何更改将不再应用于已停用继承的实例对象。Plant Simulation 提供了一个切换按钮来激活和停用每个属性的继承。活动继承使用此图标表示,而停用继承则使用此图标表示。

如前一章所述,我们将类库工具箱中的对象称为类对象。从类库或工具箱插入到框架中的对象将被称为实例对象。

您还可以基于类库中的现有类对象定义新的类对象。类库提供了以下方法从现有类对象创建新的类对象:

  • 右键单击并选择复制
    复制类对象将创建一个新的独立类对象。现有类的所有属性将被复制到新的类对象中,但继承关系将被切断。
  • 右击并选择派生
    派生类对象将创建一个新的类对象,并保持新类对象与现有类对象之间的继承关系。新类对象表示现有类对象的一个子类。只要该属性的继承关系仍然有效,对类属性所做的任何更改都将传递给子类。

要显示从某个类对象派生的所有对象,请在类库中右击该类对象并选择显示继承关系。在下图所示的示例中,您可以看到WorkerBeginner类是从Worker类派生而来的,并且它们之间的继承关系仍然有效。相反,WorkerAdvanced类是从Worker类复制而来的,因此不会显示在继承结构中。

您还可以查看子类中哪些属性是继承而来的。在此示例中,WorkerBeginner类中PriorityCapacity属性的值是从Worker类,而属性“效率”和“速度”的值被覆盖。图10:类、子类与继承关系通过利用“框架”中的对象继承功能,您可以构建仿真模型的分层结构。这意味着您可以独立地在不同框架中对工厂的各个部分或区域进行建模,确保这些框架能独立运行,然后将它们插入主框架以构建完整的工厂模型。“接口”负责连接框架的物料流入与流出。只有当框架包含至少一个接口时,才能将其连接到其他对象。如果接口连接到其他对象,Plant Simulation 会根据前后关系信息自动识别该接口是相应框架的入口还是出口。同一框架内的物料流对象通过“连接器”相互连接。这种连接是单向的,用于建立物料流对象之间的前驱-后继关系。每个前驱和后继在连接器中都有编号。将鼠标悬停在连接器上即可查看此关系信息。此外,您还可以右键单击框架并选择“视图选项→显示前驱/后继”来随时查看这些信息。

ch3_fig10_class_subclass_inheritance


图10:类、子类与继承

通过在 框架(Frame) 中利用对象继承,您可以创建仿真模型的层级结构。这意味着您可以在不同的框架中独立地对整个工厂的各个部分或区域进行建模,确保这些框架能够独立运行,然后将它们插入到主框架中,从而构建完整的工厂模型。

接口(Interface) 连接物料流进出框架。只有当框架包含至少一个接口时,才能将该框架连接到其他对象。如果一个接口连接到另一个对象,Plant Simulation 将根据前后继关系信息自动识别该接口是对应框架的入口还是出口。

同一框架内的物料流对象通过 连接器(Connector) 进行连接。这种连接是单向的,并在物料流对象之间建立前后继关系。每个前继和后继在连接器中都有编号。如果将鼠标悬停在连接器上,可以查看此关系信息。此外,您也可以右键单击框架,选择 视图选项 → 显示前继 或 显示后续步骤 来始终显示它们。


练习:创建您的模型结构

请按照以下步骤练习创建模型结构:

  1. 新建一个模型,选择 2D 或 3D 模式。

  2. 在 类库 中找到 物料流 对象(如源、工位、分流口、仓储、接口等),将它们拖入主框架。

  3. 使用 连接器 按顺序连接这些对象,形成一条简单的物料流路径。

  4. 创建一个新的子框架(例如表示某个车间),在子框架内部独立搭建一小段物料流,并添加 接口 作为进出通道。

  5. 将子框架作为对象拖入主框架,并用连接器将主框架中的物料流对象与子框架的接口相连。

  6. 右键单击主框架,打开 视图选项,勾选 显示前继 和 显示后续步骤,观察连接关系。

通过本练习,您将熟悉框架层级结构、接口的使用以及前后继关系的查看方法。


在本教程中,我们将模拟一个生产散热器的示例工厂。该工厂分为制造区和装配区。在制造区,原材料经过多个制造步骤进行加工。在装配区,加工后的零件与其他采购部件组装成成品。成品经过包装并运输至发货区。整个生产流程的概述如下图所示。

在本练习中,我们将首先使用框架以自顶向下的方法创建工厂结构。在教程过程中,您将通过类库进一步扩展模型。

图11:生产流程概览

ch3_fig11_overview_production_process

逐步操作

从起始页面选择

  1. 创建新模型,并在对话框提示中选择2DPlant Simulation 将在类库的
  2. 模型文件夹下创建一个默认框架。选中该框架并按F2将其重命名为“工厂”。这将作为我们的主仿真框架。右键单击该框架...
  3. Right-click on the模型文件夹,然后从新建 → 文件夹的上下文菜单中选中,在类库中创建一个新文件夹,并将其嵌套在模型文件夹下。将该文件夹重命名为“FacilityArea”
  4. 右键单击FacilityArea文件夹,并从上下文菜单中选择新建 → 框架,以在该文件夹下创建一个新框架。将该框架重命名为“Manufacturing”
  5. 重复上一步骤,并将框架重命名为“Assembly”
  6. 打开Manufacturing框架。从工具箱中向此框架插入两个接口。将第一个重命名为“Entry”,第二个重命名为“Exit”。尝试调整接口在框架中的位置。入口接口应放置在框架左侧,出口接口应放置在框架右侧。
  7. 在 Assembly 框架中重复上一步骤。装配框架。
  8. 打开工厂框架。从类库中将制造框架和装配框架拖放到工厂框架中。此步骤将在工厂框架中分别创建制造装配框架的实例。
  9. 在工厂框架中连接这两个框架实例:从工具箱中选择连接器,左键单击制造框架并选择出口接口,再次左键单击装配框架并选择入口接口。
  10. 将模型保存为Tutorial_Model_01.spp

下图显示了完成此练习后模型的状态。您会注意到有两个制造框架对象以及相应的两个装配框架对象。类库中的制造框架(2)是类对象。它通过路径.Models.FacilityArea.ManufacturingPlant框架(1)内部的Manufacturing框架(3)是该类的一个实例,通过路径.Models.Plant.Manufacturing进行引用。您还会注意到,实例中的Exit接口已连接,而类框架中的Exit接口未连接。当您位于实例对象内部时,始终可以通过在Home功能区选项卡(4)中选择打开源对象打开类来导航到类对象。

Plant框架(1)内部的Manufacturing实例(3)的内容会自动从Manufacturing类(2)继承。这样,您就可以在其他各种框架中重用Manufacturing类。如果您尝试向Manufacturing实例中添加对象,将会收到错误信息,因为实例框架的结构默认是锁定的。您可以在Frame功能区选项卡的General部分点击锁定结构来锁定或解锁框架结构。

ch3_fig12_model_structure

图12:模型结构


物料流建模——移动单元

移动单元(MUs)是在仿真模型中移动的可移动对象。它们代表物料的流动,并需要其他固定的物料流对象来处理和运输它们。移动单元有三种类型:实体

  • Entity 在仿真模型中代表被生产、加工和运输的部件。
  • 容器 代表可用于装载和运输一个或多个实体的托盘、料箱、箱子等。
  • 运输工具 代表可运输实体、容器和其他运输工具的车辆。运输工具可在轨道或线路等长度导向的物体上自主移动。

发生器 将移动单元引入仿真系统。它根据给定参数创建将在生产设施中加工的部件。发生器可按定义的时间间隔、待创建的移动单元数量,或基于交付表或触发器来生成移动单元。

吸收器 从仿真系统中移除移动单元。它通常代表生产线的末端。被删除移动单元的统计数据由吸收器收集,可用于计算关键绩效指标,例如生产设施的吞吐量。

练习:移动单元

在本练习中,我们将使用发生器和吸收器扩展之前的仿真模型。同时将在仿真中定义两种新的移动单元类型:一种代表制造过程中被加工的主要部件,另一种代表最终组装完成的产品。

分步指南:

  1. 展开类库中的移动单元文件夹。右键单击实体类并选择派生从上下文菜单中执行操作。 双击派生出的实体类,将其重命名为“SheetMetal”。在“属性”选项卡中,按下图所示更改“物料单元尺寸”。 转到“图形”选项卡。您会看到默认已启用矢量图形。在这种情况下,Plant Simulation将以正确的尺寸和零件间正确的距离显示动画。如果需要,您可以更改颜色。点击“应用”或“确定”以应用更改。 图13:实体对话框属性 重复第一步,再次从实体类派生子类。 双击派生出的实体类,将其重命名为“Radiator”。这将是我们最终组装完成的产品。在“属性”选项卡中,将“物料单元尺寸”修改为长度“1米”,宽度...
  2. 双击派生的实体类(Entity class)并将其重命名为 “SheetMetal”。如下图所示,在 属性(Attributes) 选项卡中更改 移动单元尺寸(MU Size)

    转到 图形(Graphics) 选项卡。您会看到 矢量图形(vector graphics) 默认处于激活状态。在这种情况下,Plant Simulation 将以正确的尺寸和正确的相互距离显示零件的动画。如果您愿意,可以更改颜色。单击 应用(Apply) 或 确定(OK) 以应用更改。


ch3_fig13_entity_dialog_properties

Figure 13: Entity dialog properties

  1. 重复第一步,从实体类中派生出另一个子类。
    双击派生的实体类,将其重命名为 “Radiator”(散热器)。这将是我们最终的组装成品。在 属性(Attributes) 选项卡中更改 移动单元尺寸(MU Size):长度设为 “1 m”,宽度设为 “1 m”高度设为 “0.5 m”,并将所有预订点设为 “0.5”

    导航到 图形(Graphics) 选项卡,并停用矢量图形。在这种情况下,Plant Simulation 将在动画中显示实体的默认图标。

    右键单击 Radiator 类,从上下文菜单中选择 编辑图标…。实体默认有两个图标,一个用于运行状态,一个用于等待状态。使用 编辑 功能区选项卡中的图标停用继承。然后,您可以更改图标的大小并按照喜好绘制图标,例如下图所示。现在,在仿真过程中我们可以轻松区分 SheetMetal(金属板)实体和 Radiator(散热器)实体。

    (此处插入 图14:编辑图标

    转到 图形 选项卡。您会看到 矢量图形 默认处于激活状态。在这种情况下,Plant Simulation 将以正确的尺寸和正确的相互距离显示零件的动画。如果您愿意,可以更改颜色。点击 应用 或 确定 以应用更改。


    打开“Plant”框架
    从工具箱中插入一个 “Source”(源)和一个 “Drain”(吸收器)。将 Source 放置在 “Manufacturing” 框架的左侧,将 Drain 放置在 “Assembly” 框架的右侧。

    在工具箱中选择 “Connector”(连接器),并按以下方式连接对象:

    • 将 Source 连接到 Manufacturing 框架的 “Entry”(入口)接口;

    • 将 Assembly 框架的 “Exit”(出口)接口连接到 Drain

    双击 Source 实例。如下图所示更改属性。在 “MU selection”(移动单元选择)下的 “MU” 旁边,点击按钮并选择 “Select Object”(选择对象)。在 “Select Object” 窗口中,选择 “SheetMetal” 实体并点击 OK 以应用更改。

ch3_fig14_edit_icons

Figure 14: Edit icons

  1. 打开 Plant 框架。从工具箱中插入一个 Source(源)和一个 Drain(吸收器)。将 Source 放置在 Manufacturing 框架的左侧,将 Drain 放置在 Assembly 框架的右侧。

    选择工具箱中的 Connector(连接器),并按如下方式连接对象:

    • 将 Source 连接到 Manufacturing 框架的 Entry(入口)接口;

    • 将 Assembly 框架的 Exit(出口)接口连接到 Drain

    双击 Source 实例。如下图所示更改属性。在 MU selection(移动单元选择)下,点击 MU 旁边的按钮,然后选择 Select Object(选择对象)。在弹出的 Select Object 窗口中,选择 SheetMetal 实体,然后点击 确定

    好的。现在,Source 实体将每 30 秒生成一个 SheetMetal 实体的实例。

ch3_fig15_source_dialog_properties

图15:Source对话框属性

下载:

截至本练习的仿真模型最终状态可在此处下载Tutorial_Model_01

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏

文章底部电脑广告
手机广告位-内容正文底部

相关文章

遇到问题?请给我们留言

请填写您的电话号码,我们将回复您电话

您是本站第617232名访客 今日有0篇新文章/评论