输送带 - 学习使用物料搬运库

输送带 - 学习使用物料搬运库

通过我们的白皮书,了解仿真如何改进物料处理操作!


要全面了解物料搬运库、网络研讨会、操作视频、交互式模型等,请下载我们的 AnyLogic物料搬运库邮件包。


为了配合物料搬运库的发布,我们准备了一系列训练模型,通过多个传送系统示例来演示新库的主要功能。这些系统在生产设施和仓库中会经常用到——工作站间的零件运送,成品分类,运送到存储区等过程。

我们会通过一系列博客,详细解析训练模型,带您了解物料搬运库的元素和功能。建议您阅读博客时动手搭建这些模型,可以帮助您更快地熟悉新的行业库!物料搬运库在AnyLogic及之后版本可用,请您注意所用软件的版本,提前安装好软件。

本文是系列博文的第一篇,主要详解输送带的建模。涉及到Convey、ConveyorEnter 和 ConveyorExit模块以及空间标记元素,这些都是物料搬运库的组件,可以简化输送带系统的建模。在下文中,我们会在同名模型的帮助下详细查看它们的功能。相关的示例模型可在 AnyLogic欢迎界面找到,您可以在“打开示例”部分中“How-To Models>>Material Handling Library”菜单栏查看。 也可以在下文嵌入的动画窗口中查看云端模型。

Convey模型


The process diagram for the Convey model

Convey 模型的流程图

该模型使用的模块主要是Convey模块,负责沿着输送线移动智能体。创建输送线网络,请使用空间标记元素输送带绘制所需线的外观和宽度。

可设置的输送带属性如下:

  • 类型:皮带、滚轴、托盘(固定单元格);
  • 速度;
  • 加速和减速参数;
  • 运输智能体之间的距离。

在这里标记元素的属性保留默认值。

Conveyor element properties

输送带元素的属性

创建由多条输送带组成的输送线,只需连接两条输送线。两条输送线的连接处会出现 一个元素,负责将移动对象从一条线输送到另一条线。如果连接处是直角,会创建一个移台元素,否则会创建一个转盘元素。这些连接元素,也可以从面板中拖到输送线中。这些标记元素代表实际的输送设备。

输送线中的转盘和移台

输送线中的转盘和移台

转盘元素属性 - 您可以设置旋转速度和对象的行进速度

转盘元素属性 - 您可以设置旋转速度和对象的行进速度

工作站(见下图)使用延迟表示智能体处理过程并改变其状态,由空间标记元素站建模。从面板中将站拖到输送线上即可。本模型模拟订单打包过程,打包工作站的包装时间在站属性的延迟字段中设置。本模型中普通产品包装时间设置为 1 秒,易碎品设置为10秒。

输送线上打包站的位置

输送线上打包站的位置

工作站属性(易碎品订单)

工作站属性(易碎品订单)

在箱子沿输送带移动之前,会使用变量设置订单类型(普通或易碎)。不同订单的箱子要送到相应的包装站,需要用到 photoEye 标记元素(类型:输送带上的位置)。这是输送带上的一个点,可识别物体并将它们发送到正确的输送带。 在我们的模型中,它被放置在输送线叉口之前的输送带上,用于识别订单类型。

photoEye 在输送线上的位置

photoEye 在输送线上的位置

输送带上的位置属性

输送带上的位置属性

输送线已准备就绪, 下面我们准备打包箱吧。

Source 模块生成沿着输送带移动的箱子,到达速率为每分钟 20 个。 请注意,在Source 模块的高级部分中,强推选项处于非活动状态,这是因为 Convey模块在接收到对象时会立即开始移动对象,没有内置队列,也就是说如果输送带始端被占用,则新智能体无法进入。强推选项可以将等待的智能体存储在Source 模块中(将无法离开的智能体选项,设置为在这个模块中等待)或删除它们(设置为销毁了)。 您还可以在Source 和 Convey 模块之间创建一个缓冲区模拟队列(用Queue模块)。

Source模块属性

Source模块属性

Source之后的下一个模块是 fromConveyorStart 模块(类型: Convey)。 这个模块将箱子沿输送带移动到 photoEye处,在那里确定订单的类型及路径。通过 输送自 属性设置智能体从哪里开始移动。 在本模型中,箱子从输送带的始端开始移动,所以保留默认值。

fromConveyorStart (类型Convey) 模块的属性

fromConveyorStart (类型Convey) 模块的属性

在源输送带属性中选择智能体将出现的位置。 源偏移自和源偏移量属性是通过设置智能体与输送带起点或终点的距离,来确定智能体出现在输送带上的准确位置。 在本模型中,智能体从输送带的始端开始移动,因此保持默认属性值。 输送到属性决定了智能体在当前输送带的移动终点。 在本模型中,它被输送到识别订单类型的点,即 photoEye(类型:输送带上的位置)处。 因此,将输送到属性设置为输送带上的位置,并将目标位置 设置为photoEye。

接下来,下一个模块是 selectWay (类型:SelectOutput),用于箱子的分流。 如果选择真输出属性选择如果条件为真,需在下面条件字段中输入条件代码。在本模型中,条件字段输入 agent.isFragile 代码,用于检查箱中是否为易碎品订单。然后根据结果,将箱子引导到适当的 Convey 模块。

selectWay (类型:SelectOutput) 的属性

selectWay (类型:SelectOutput) 的属性

首先,我们先看分流上侧的toStation模块 (类型:Convey),模拟确定为易碎品的订单箱运送到易碎品包装站进行打包的过程。 Convey 模块可以选择任何位置作为智能体输送路径起点和终点。由于箱子已经放置在输送带上,因此在输送自属性中选择当前位置作为起点。这里箱子要输送到易碎品包装站,因此在输送到属性选择站,目标站选择易碎品包装站station。

易碎品订单输送带

易碎品订单输送带

箱子打包后,通过toConveyorEnd(类型:Convey)模块从当前位置运到输送线的末端。因此,输送自属性选择当前位置选项,然后输送到选择输送带,并在目标输送带属性中指定其名称,并设置终点位置为输送带末端。

如果箱子里没有易碎品是普通订单,它会转到toConveyorEnd(类型:Convey)模块并自动沿着最短路线移动并通过普通订单包装站。请注意,在流程图中能看到,里面并没有普通包装站。这里的关键点是,Convey标记不单负责运输还包括在工作站处理智能体。

普通订单输送带

普通订单输送带

在主模型视图中,您可以使用put carton from order pickingzone 按钮手动添加订单箱。按下按钮会调用注入功能,向source1模块中添加一个新智能体。同时,fromPosition (类型:Convey) 模块将这个智能体放到输送线上,此操作智能体并不是放在输送带始端的,而是从placingPoint (类型:输送带上的位置)指定的点放置。为此,输送自的下拉菜单中选择输送带上的位置,并将源位置设置为placingPoint (输送带上相应点的名称)。

按钮 (类型:Button)元素的属性

按钮 (类型:Button)元素的属性

输送带出口模型


默认情况下,智能体到达 Convey 模块的末端时,会停留在输送线上并占用一定的空间。而要更改此逻辑,可以设置 Convey 模块的离开时离开输送带属性。这样设置后,智能体在到达终点时会立即离开输送线。像是实际作业中,物体从输送带末端掉落或移走就会是这种情况。

但是,如果离开输送带的过程很复杂或还有进一步作业,该怎么办? 如果转移作业需要操作员或机器人,但他们正忙于另一项更高优先级的任务怎么办?为解答这些疑问,我们来分析 ConveyorExit 训练模型:模型模拟货物到达输送带末端后,需要使用叉车移除的情况。也就是当一个智能体(这个模型中是箱子)到达输送带末端时,等待叉车,并防止其他智能体到达末端。下面,我们来详细分析此过程的流程图。

输送带出口流程图

输送带出口流程图

由sourceHeavyLoad (类型:Source) 模块生成的智能体进入到Convey 模块,并通过Convey 模块沿输送线移动智能体。将绘制的输送带始末端设置为Convery模块智能体移动的起点终点,其他参数不变。

输送带属性

输送带属性

由于 Сonvey 模块没有选择离开时离开输送带选项,因此当智能体到达输送带终点时,会留在输送带上。 沿着流程图进一步,智能体进入seizeForklift(类型:Seize)模块,这个模块负责捕获叉车资源。属性勾选发送获取的资源并将目的地是参数设置为智能体,实现将叉车发送到目标智能体的过程。 需要注意附加获取的资源选项:此选项让提供服务的资源与智能体连接到一起,方便进行下一步操作。

发送的叉车接近输送带末端的箱子时,它会进入 ConveyorExit 模块,此模块从输送带上卸下负载,腾出空间让下个箱子进入。然后通过 toStorage (类型:Move to)和 releaseForklift (类型:Release) 模块将移除的负载移动到存储中,然后释放资源(这里是指叉车)。 负载会被存储一段时间,存储时间由storing模块指定,并通过sink模块离开模型。释放的空叉车可能会返回输送带进行另一次装载。如果输送带末端没有待处理的负载,叉车将返回起始基地。叉车行为由 Release 模块中的 Wrap-up tasks 的收尾(例如移动到归属地)决定。如选择如果无其他任务选项,则装载机将在不忙时返回其起始基地。

releaseForklift (Release) 模块的属性

releaseForklift (Release) 模块的属性

输送带入口模型

与 ConveyorExit 不同,ConveyorEnter 与智能体进入输送线前的复杂操作相关。 在这个模型中,智能体已经在输送带上,并且与输送线上的其他智能体交互(例如,阻止其他输送线上的智能体继续移动)。比如,在输送带上进行纸箱填充作业,这个操作需要在输送带上进行,同时还需阻止其他未填充纸箱移动。这时候就需要箱子根据所需的逻辑在当前箱子前堆积,或者绕行继续移动。

ConveyorEnter模型模拟的是托盘沿输送带移动之前,放置防滑板的过程。

palletsSource (类型:Source)模块生成托盘,然后将托盘传输到palletBuffer1(类型:Queue)模块,这个模块模拟输送带上的托盘堆。在liftUp(类型:Delay)模块中,托盘移动到输送带的起点。这个模块是需要的,因为ConveyorEnter只是从逻辑上将智能体放到输送线上,在这个模型中,是需要将智能体的传送设置在输送带上的。

ConveyorEnter模型流程图

ConveyorEnter模型流程图

以相同的方式,通过sheetsSource(类型:Source)、sheetBuffer (类型:Queue) 和 putSheetOnPallet (类型: Delay) 模块创建防滑板并将它们放置在托盘上。

conveyorEnter模块用于将托盘放在输送带上,但不会移动托盘。为清晰说明,我们将放置智能体的位置使用输送带上的位置进行标记。要在该点准确放置托盘,需要在conveyorEnter模块,将进入点定义为属性设置为输送带上的位置,并在下方选择输送带上相应的点。如有需要,将智能体放置到输送带上时,还可以指定放置方向(通过改变方向选项)。

ConveyorEnter 模型状态图

ConveyorEnter 模型状态图

接下来是 addSheet (类型:Combine) 模块,在这里托盘仍位于输送带的放置点,也就是positionOnConveyor 处。在 addSheet 模块中,将托盘和防滑片组合关联。注意:在独立输送线内输送的智能体类型不能改变,也就是只能有一种智能体。因为接收智能体(这里是托盘——智能体1)已经在输送带上, 因此,当在 addSheet 中组合托盘和防滑片时,得到的智能体是参数设置为智能体1。这样 transferEnter和 сonvey 模块都使用一种类型的智能体——托盘——并且不会发生错误。

当前托盘离开 addSheet 模块时,hold 模块开始下一个托盘的操作。convey模块将带有防滑片的托盘运送到输送带的末端。由于conveyorEnter模块已经将智能体放置在输送带上,因此,convey模块的输送自设置为当前位置。托盘最终运送到输送带末端,因此在输送到属性选择输送带,下面的目标输送带选择运送托盘的输送带名称。



第一部分的介绍到此结束了,现在您应该初步了解如何在AnyLogic 中建模输送带了。如果您对上文模型有任何疑问,请在下方留言或联系我们。

物料搬运库系列文章的第二部分我们主要探讨新库中的运输车:如何设置它们的运动、避碰以及与其他对象的交互,欢迎继续了解

欢迎您通过微信和时讯关注我们,即时获取最新资讯!

相关文章