Here is a demo model that represents my larger model. There are two AGV and when you run it, you will notice that the second AGV never picks up an item. I modified the logic so that every AGV picks up a flow item then stay with the item until it finishes processing.
I know why this is happening. Since the pushing to AGV work list only happens when the queue is sending the flow item to port, it doesn't happen when the queue is blocked. So, when the second AGV arrives at control point connected to the queue, there is not flow item to load because the queue is blocked by the following processor and the AGV Work list is empty.
I want to change this behavior and have the AGV load a flow item at any control point even if the queue or processor is blocked, then wait until it gets unblocked.
Any suggestions?