如何解决我如何选择在同一个提货区等待的确切数量和可用数量?
所以我有一辆汽车将在模拟的前 50 分钟内提取准确数量(等待)。在这 50 分钟过去后,我想要同一辆车来取货(如果有的话)。我该怎么办?
解决方法
默认为第一次设置。
创建一个事件以在 50 分钟后触发并使其执行此代码:
myPickupObject.set_pickupType(PickupType.QUANTITY);
,
替代方法(避免复杂的 Java 编码)是使用 2 个 Pickup 块,每个块都有不同的设置。在它们之前放置一个 SelectOutput
块,并在 time()>50*minute()
条件中使用 SelectOutput
将代理路由到相应的块
这里有一种方法可以让容器实体在取货中等待一段时间t,然后带着任何已取货的实体离开。示例模型如下所示:
有两个关键组件:
- ReleaseOnTimeout 动态事件,它有一个名为“_agent”的类型为 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);
}
}
}
- 在pickup
on enter
操作中包含以下代码:`create_ReleaseOnTimeout(10,container);
这是如何工作的:
-
pickup 配置为具有
Exact quantity (wait for)
行为 - 一个容器对象进入拾取块拾取
- 在进入时,一个动态事件 ReleaseOnTimeout 被安排在 10 个单位内检查 容器
- 如果有足够数量的实体可用,则容器将它们捡起并离开
- 替代 (4),如果到 10 个单位时 容器 仍然卡在 pickup 中,那么它将被移除并放入 enter
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。