FlexSim AGV仿真使用Tutorial Task 4.4 - 自定义AGV设置
购买adidas上京东官方旗舰店。
任务概述
在本教程任务中,您将学习如何为不同类型的流项创建自定义装载和卸载时间。您将通过更改到达计划来开始本教程任务,以便上层楼层定期产生需要运送到装卸区的脏衣物和垃圾。在最后一步中,您将学习如何使用全局表为每种类型的流项创建自定义装载和卸载时间。
完成后,您的仿真模型将类似于下图:
上网淘巴领天猫淘宝优惠券,一年省好几千。
步骤 1创建额外的交付计划
在此步骤中,您将向先前教程任务中创建的 DeliverySchedule 过程流添加额外的活动。最终,这些新活动将创建逻辑,定期在每个上层楼层的队列中生成脏衣物和垃圾。
完成后,您的过程流应类似于下图:
目前,您只需将这些活动添加到过程流并进行连接。您将在后续步骤中编辑属性以添加功能。
要添加和连接这些活动:
- 在主工具栏上,单击过程流按钮以打开菜单。选择DeliverySchedule以打开此过程流。
- 在库中的显示组下,添加一个容器形状。
- 将新过程形状重命名为脏衣物。
- 在脏衣物形状内部,添加一个计划源(在令牌创建下)。
-
创建一个包含以下活动的堆叠块:
- 一个创建对象活动(在对象下)
- 一个延迟活动(在基础下)
- 为清晰起见,将新活动重命名如下:
- 创建一个从源:仿真开始活动到延迟:收集时间活动。
- 创建一个从创建对象:上层物品活动循环返回至延迟: 收集时间活动。
| 活动 | 新名称 |
|---|---|
| 源 | 源:仿真开始 |
| 创建对象 | 创建对象:上层物品 |
| 延迟 | 延迟:收集时间 |
检查您的流程是否与本步骤开头显示的图片相似。
步骤 2编辑配送计划逻辑
在此步骤中,您将为上一步添加的新活动创建逻辑。以下是每个活动和共享资产功能的概述:
| 活动 | 说明 |
|---|---|
| 源:模拟开始 | 此活动将创建 3 个令牌,它们将在“脏衣物”形状中的其余活动中持续循环。您将为名为目的地的标签为每个令牌分配唯一值。一个令牌将为 Floor2DirtyLaundry 队列生成令牌,另一个为 Floor3DirtyLaundry 队列生成令牌,依此类推。您还将调整其中一些令牌的时间安排,使它们不会同时移动到下一个活动。 |
| 创建对象:上层物品 | 您将编辑此活动,使其创建新的脏衣物流动项并将其放入上层的一个队列中。令牌将使用其目的地标签来确定应使用哪个队列。您还将在新的流动项上添加一个名为负载类型的标签,以指示其流动项类型。对于脏衣物流动项,您将使用值 3。 |
| 延迟:收集时间 | 令牌将被延迟不同的时间,代表工作人员收集脏衣物所需的时间。您将使用尺度为 1800 秒(相当于 15 分钟)的指数分布。令牌完成延迟后,将循环回到“创建对象”活动。 |
完成这些编辑后,您将复制这些活动以模拟废物收集。您将对活动进行一些编辑:
| 活动 | 说明 |
|---|---|
| 来源:模拟开始(废物) | 此计划来源将与脏衣物计划来源完全相同。唯一的区别是您将为此活动添加一个900秒的小偏移时间。您还将分配目的地标签,这些标签将为Floor4Waste队列、Floor3Waste队列等创建令牌。 |
| 创建对象:上层楼层的物品 | 您将编辑此活动,以便创建新的废物流程项目并将其放入UnloadingDock队列中。您还将编辑载荷类型标签,为废物流程项目使用值4。 |
创建此逻辑:
-
点击来源:模拟开始活动以选中它。在属性中,点击添加按钮
以添加新行。
- 重复上一步骤,直到有3行。
- 将标签框增加至1。
- 在表格中,将新标签列重命名为目的地。
- 点击目的地列下的第一个单元格以选中它。在此单元格中输入Floor2DirtyLaundry。
- 在第二行的目的地列下,输入Floor3DirtyLaundry。
- 在第三行的目的地列下,输入Floor4DirtyLaundry。
- 在第二行的时间列下,输入300。
- 在第二行的时间列下,输入600。
- 点击创建对象:上层物品操作 以选中它。在属性中,点击对象框旁边的箭头以打开菜单。指向流程物品并选择脏衣物。
- 确保选中创建于选项。点击此选项下方框旁的箭头以打开菜单。选择令牌 标签,然后选择目的地。
-
在为创建的对象分配标签下,点击添加按钮
以添加标签。
- 在名称框中,删除当前文本并输入装载类型。
- 在数值框中,删除当前文本并输入3.00。
-
点击延迟:可变收集时间活动以
选中它。在属性面板中,位于延迟框旁边,点击 编辑属性按钮
以打开统计
分布属性。
- 将尺度更改为1800。
- 点击待洗衣物形状以选中它。按下 Ctrl+C 复制该形状。点击流程中的一个空白区域并按下 Ctrl+V 以 将形状的副本粘贴到流程中。
- 将复制的形状重命名为废弃物。
- 在废弃物点击来源:模拟开始活动以选中它。在偏移时间框中,输入900.00。
- 在到达表中,第二行的目的地列下,输入Floor4Waste。
- 在第二行的目的地列下,输入Floor3Waste。
- 在第三行的目的地列下,输入Floor2Waste。
- 点击创建对象:上层物品活动以选中它。在属性中,点击对象框以打开菜单。指向流程项并选择废料。
- 在为创建的对象分配标签下,针对装载类型标签,更改值框,删除当前文本并输入4.00。
建议此时保存您的仿真模型。
步骤 3更改卸货逻辑
在此步骤中,您将在装卸码头区域添加第二个队列。一个队列将收集待运往清洁设施的脏衣物,另一个队列将收集待处理的废料。您将更改卸货逻辑,使装卸码头区域的两个队列从待交付物品全局列表中拉取脏衣物和废料流程项。由于上层楼面的物品现在需要运输到装卸码头,您还将从主AGV网络到每个上层楼面添加"下一工作点"连接。
要更改卸货逻辑:
- 从库中,添加一个队列到卸货区域附近的3D模型中。
- 重命名新队列WasteRemoval。
- 按住 A 键进入连接模式。点击MainDropOffPoint控制点。然后,点击WasteRemoval队列以打开菜单。选择位置。将出现一条连接控制点和队列的蓝线。
- 点击WasteRemoval队列,在右侧显示其属性。在输入部分下,勾选拉取策略复选框。
- 点击拉取策略框旁边的箭头以打开菜单。指向使用列表并选择从物品列表拉取以打开选择列表窗口。
- 点击列表打开一个菜单并选择ItemsReadyForDelivery。
-
在查询框旁边,点击添加按钮
以打开菜单。指向WHERE(筛选)并选择LoadType。
- 在查询框中,将列表查询的最后部分更改为== 4。
- 点击LoadingDock队列以显示其属性。
-
在输入部分,紧邻拉取策略框,点击编辑属性按钮
打开一个选择列表窗口。
-
在查询框旁边,点击添加按钮
打开一个菜单。指向WHERE(筛选)并选择LoadType。
- 在查询框中,将列表查询的最后部分更改为== 3。
重置并运行仿真模型:
随着模型运行,脏衣物和废弃物将逐渐出现在上层楼层的队列中,AGV(自动导引车)会将这些物品运输至装卸区第一个可用的队列。
步骤 4自定义装载和卸载时间
在此步骤中,您将创建一个全局表格,用于根据AGV运输的货物类型来控制其装载和卸载时间。完成后,您的全局表格将类似于下图:
设置好全局表格后,您将更新3D模型中的AGV,使其使用此全局表格来确定四种不同流动实体的装载和卸载时间。本步骤将演示两种不同的引用全局表格的方法。对于“装载时间”属性,您将学习如何使用选择列表引用全局表格。对于“卸载时间”属性,您将使用另一种方法,即通过FlexScript引用全局表格。探索这两种方法,以确定您更偏好哪一种。
要自定义装载时间:
-
在工具箱中,点击添加按钮
以打开菜单。选择全局表来创建一个新表。
- 在属性中,将表的名称更改为ItemLoadTypes。
- 在行数框中,将数字增加至4。
- 在列数框中,将数字增加至3。
- 按如下方式更改行标题的名称:
- 请按以下方式更改列标题名称:
- 请按以下方式填写单元格数值:
- 点击模型标签页以返回三维模型视图。
- 如有需要,将所有AGV从AGV入口点控制点拖拽到模型中的不同区域,以便您能操作每一台。
- 点击AGV1以在右侧显示其属性。
- 在任务执行器部分,点击装载时间框旁边的箭头以打开菜单。选择通过全局表查找以打开选项列表窗口。
- 点击表格框以打开菜单。 选择ItemLoadTypes。
- 在行框中,输入item.LoadType。
- 在列框中,输入"LoadTime"。
- 在卸载时间框中,输入以下表达式:Table("ItemLoadTypes")[item.LoadType]["UnloadTime"]
- 重复前面的步骤,为剩余的AGV更改装载时间和卸载时间属性。使用您偏好的任何全局表查找方法。
| 行号 | 行名称 |
|---|---|
| 第1行 | MedSupplies |
| 第2行 | 干净衣物 |
| 第3行 | 脏衣物 |
| 第4行 | 废弃物 |
| 列号 | 列名 |
|---|---|
| 第1列 | 装载类型 |
| 第2列 | 装载时间 |
| 第3列 | 卸载时间 |
| 装载类型 | 装载时间 | 卸载时间 | |
|---|---|---|---|
| 医疗物资 | 1 | 30 | 45 |
| 干净衣物 | 2 | 15 | 20 |
| 待洗衣物 | 3 | 15 | 20 |
| 废料 | 4 | 10 | 10 |
重置并运行仿真模型:
当仿真模型运行时,您会注意到AGV将根据流动实体的类型花费不同的时间进行装载和卸载。
结论
现在您已经完成了AGV教程,希望您对构建AGV模型时可用的各种不同功能和设置有了良好的认识。正如您所见,您几乎无需编写任何代码就能构建一个相当复杂的AGV仿真模型。AGV功能和流程模板使得构建AGV系统变得容易,并能根据需要很好地扩展到大型仿真项目中。
欲获取更多关于在FlexSim中建模AGV系统的信息,请考虑阅读关于使用任务执行器的章节,其中包含关于AGV的部分。AGV教程到此结束。


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