特工无法离开 "Conveyor Enter" 街区。在将代理发送到流程图之前如何在传送带上等待 "space"?
Agents unable to leave "Conveyor Enter" block. How to wait for "space" on the conveyor before sending agent into flowchart?
在我的模型中,有拣货员沿着拣货通道移动。他们从“拾取槽”中拾取“Box”代理,然后使用 enter.take()
方法将这些“Box”代理传输到传送带流程图中。根据拾取器的当前位置动态定义特定传送带和该传送带上的入口点。
像这样的简单流程图:
它大部分时间都有效,但是当流量变高时,我会遇到以下错误。
An agent was not able to leave the port root.enter_convey.out at time
784.505 / date Mar 8, 2021, 12:12:04 AM (current model time is 785.088). Consider increasing capacities and/or throughputs of the subsequent object(s) or using PULL protocol
我怀疑这是由于在 ConveyorPath
的入口区域内出现了“盒子”特工,而在接下来的特工预定进入期间。那是对的吗?如果不是,是什么问题?
如果我的怀疑是正确的,我将如何确定我试图放置特工的传送带的入口区域是否已被占用?如果 space 空闲,我将如何编写条件以便仅将代理发送到传送流程图?
编辑 - 其他详细信息,跟进 Yashar 的回答:
我有多个 conveyor/picking 通道,每个通道内都有多个拣货员。
假设拾取器 1 正在从偏移量 A 处的盒子 X 下车,目前没有 space。盒子 X 进入并留在队列中。
同时,拾取器2在偏移量B处放下盒子Y,也没有space。盒子 Y 进入并留在盒子 X 后面的队列中。
现在根据队列块功能,即使 space 在偏移量 B 处为盒子 Y 释放,盒子 Y 仍然必须等待盒子 X 进入传送带才能进入自己。那不是我正在寻找的行为。我对队列块的理解是否正确?
谢谢。
您可以在enter_convey之后添加队列块。不要忘记在那里勾选最大容量。如果您的传送带系统有它可以容纳的最大单元数,那么很自然地,在该限制之后,没有单元可以进入系统。您可以这样做,也可以将它们保留在前一站(使用带有“stopDelay()”选项的延迟块),只要传送带中有空space,您就可以发送信号以停止延迟并发送它转到输送系统。
在我的模型中,有拣货员沿着拣货通道移动。他们从“拾取槽”中拾取“Box”代理,然后使用 enter.take()
方法将这些“Box”代理传输到传送带流程图中。根据拾取器的当前位置动态定义特定传送带和该传送带上的入口点。
像这样的简单流程图:
它大部分时间都有效,但是当流量变高时,我会遇到以下错误。
An agent was not able to leave the port root.enter_convey.out at time 784.505 / date Mar 8, 2021, 12:12:04 AM (current model time is 785.088). Consider increasing capacities and/or throughputs of the subsequent object(s) or using PULL protocol
我怀疑这是由于在 ConveyorPath
的入口区域内出现了“盒子”特工,而在接下来的特工预定进入期间。那是对的吗?如果不是,是什么问题?
如果我的怀疑是正确的,我将如何确定我试图放置特工的传送带的入口区域是否已被占用?如果 space 空闲,我将如何编写条件以便仅将代理发送到传送流程图?
编辑 - 其他详细信息,跟进 Yashar 的回答:
我有多个 conveyor/picking 通道,每个通道内都有多个拣货员。
假设拾取器 1 正在从偏移量 A 处的盒子 X 下车,目前没有 space。盒子 X 进入并留在队列中。
同时,拾取器2在偏移量B处放下盒子Y,也没有space。盒子 Y 进入并留在盒子 X 后面的队列中。
现在根据队列块功能,即使 space 在偏移量 B 处为盒子 Y 释放,盒子 Y 仍然必须等待盒子 X 进入传送带才能进入自己。那不是我正在寻找的行为。我对队列块的理解是否正确?
谢谢。
您可以在enter_convey之后添加队列块。不要忘记在那里勾选最大容量。如果您的传送带系统有它可以容纳的最大单元数,那么很自然地,在该限制之后,没有单元可以进入系统。您可以这样做,也可以将它们保留在前一站(使用带有“stopDelay()”选项的延迟块),只要传送带中有空space,您就可以发送信号以停止延迟并发送它转到输送系统。