首页 > 解决方案 > 如果目的地被占用,防止源块生成代理

问题描述

我正在尝试为 1 个包装中的 5 件物品创建一个包装单元;从资源(工人)中取出 5 件物品并放入生成包装的包装机中;传送带将包裹从机器移动到缓冲区,每隔一段时间(比如每 20 个包裹),工人就会停止拣选物品并前往缓冲区,将所有包裹放入一个盒子中,理想情况下准备好发货。一旦工人完成了盒子,他必须回到他的拾取和放置任务。

现在,我的问题是:

  1. 当worker停止从 rackSystem 中挑选物品并进入缓冲区时,source blocks 必须停止生成代理,否则模拟将停止说 rack 中没有可用的单元格;
  2. 当工人回到他的拣选任务时,源块必须再次开始生成代理。

使用图片中的保持块,当工人停止从架子上取货时,我设法停止了源块,无论如何,当盒子完成后,我无法重新开始该过程。我怎样才能做到这一点?

一切正常,除了一旦工人返回拣货地点并从货架上取走最后 5 件物品,就不再允许代理进入货架。

主图像

标签: anylogic

解决方案


实际上从这个设置,我认为你应该这样做:

  1. 让您的来源不断创建代理。实际上(我想)事情也不会仅仅因为工人正在做其他事情而停止进来。
  2. 像你一样将所有代理聚集在一个无限队列中
  3. 移除保持块
  4. 相反,让您的 RackStore 和 RackPick 对象利用工作资源池(勾选下面的框并选择您的资源池)

在此处输入图像描述

您可能还需要使用“自定义资源选择”选项,以确保您的工作人员仅在 RackSystem 有空间时尝试存储项目,但如下所示:

在此处输入图像描述


推荐阅读