【发布时间】:2021-12-25 01:42:36
【问题描述】:
在我的模型中,拣货员沿着拣货通道移动。他们从“拣货槽”中拾取“盒子”代理,然后使用enter.take() 方法将这些“盒子”代理转移到传送带流程图中。传送带上的特定传送带和入口点是根据拣货员的当前位置动态定义的。
这样一个简单的流程图:
它大部分时间都有效,但是当流量变高时,我最终会出现以下错误。
代理当时无法离开端口 root.enter_convey.out 784.505 / 日期 2021 年 3 月 8 日上午 12:12:04(当前型号时间为 785.088)。考虑增加后续对象的容量和/或吞吐量或使用 PULL 协议
我怀疑这是由于在以下特工预定进入期间,ConveyorPath 的入口区域内出现了“盒子”特工。那是对的吗?如果不是,那是什么问题?
如果我的怀疑是正确的,我将如何确定我试图放置代理的传送带的入口区域是否被占用?如果空间空闲,我将如何编写条件以便仅将代理发送到传送流程图中?
编辑 - 更多细节,跟进 Yashar 的回答:
我有多个传送带/拣货通道,每个通道内都有多个拣货员。
假设选择器 1 在偏移量 A 处从 Box X 下落,并且当前没有空间。 Box X 进入并留在队列中。
与此同时,拾取器 2 在偏移量 B 处从 Box Y 下落,并且也没有空间。 Box Y 进入并留在 Box X 后面的队列中。
现在根据队列块功能,即使在偏移 B 处为 Box Y 释放空间,Box Y 仍然必须等待 Box X 进入传送带才能进入自身。那不是我正在寻找的行为。我对 Queue 块的理解是否正确?
谢谢。
【问题讨论】:
标签: anylogic