如何在同一取件区段同时选择准确的等待数量和可用数量?

How do I choose both exact quanitity wait for and quanitity available in the same pick-up block?

所以我有一辆汽车将在模拟的前 50 分钟内提取准确数量(等待)。 50 分钟过去后,我希望同一辆车能够提取数量(如果有)。我该怎么做?

默认设置为第一次设置。

创建一个在 50 分钟后触发的事件并使其执行此代码:

myPickupObject.set_pickupType(PickupType.QUANTITY);

另一种方法(避免复杂的 Java 编码)是使用 2 个 Pickup 块,每个都有不同的设置。在他们之前放置一个 SelectOutput 块,并在 SelectOutput 条件

中使用 time()>50*minute() 将代理路由到相应的块

这是一种允许容器实体在 Pickup 中等待一段时间 t 然后离开的方法已接。示例模型如下所示:

有两个关键组成部分:

  1. ReleaseOnTimeout 动态事件,它有一个名为“_agent”的代理类型参数和以下代码:
for (Object o : pickup.getEmbeddedObjects()) {
    // find the Delay object inside Pickup
    if (Delay.class == o.getClass().getSuperclass()) {
        // remove the container from the Delay
        Agent a = ((Delay)o).remove(_agent);
        if (a != null) {
            // send the removed container into Enter
            enter.take(a);
        }       
    }
}
  1. pickup on enter 操作中包含以下代码:`create_ReleaseOnTimeout(10, container);

这是如何工作的:

  1. pickup 配置为具有 Exact quantity (wait for) 行为
  2. a container object enter Pickup block pickup
  3. 进入时动态事件 ReleaseOnTimeout 被安排在 10 个单位以检查 container
  4. 如果有足够数量的实体可用,则 容器 将它们拾起并离开
  5. 替代 (4),如果到 10 个单位时,容器 仍然卡在 pickup 中,那么它将被移除并放入 enter