所以,我正在研究一个这样工作的模型:有一个代理(uld)来了,带来了 10 件物品。然后,这些物品由运输车(叉车)移动到特定区域。在该区域(理论上),他们会放下物品,等待几秒钟,然后将其收回并放入存储区域。
本来,我希望叉车不要掉落物品,只是进入节点,稍等一下,然后到达最终位置。我不知道如何在不发布该项目的情况下实现它,所以我让发布发生。现在,在大多数情况下,它工作正常:叉车放下物品,等待,将其取回并存放。但有时,当太多的 uld 过来并丢弃太多的物品时,叉车似乎会直接去取新的物品,而不是先存放物品。 有没有办法,要么让它看起来像没有释放物品,要么有没有办法让同一台叉车总是重新拿走它的物品?
本来,我希望叉车不要掉落物品,只是进入节点,稍等一下,然后到达最终位置。我不知道如何在不发布该项目的情况下实现它
如果您有 MoveByTransporter1-Delay-MoveByTransporter2 流程,则可以执行此操作,其中您不在 MoveByTransporter1 中释放传输器,也不在 MoveByTransporter2 中捕获传输器。
但是由于您之后使用了商店区块,目前无法与已捕获的运输车一起使用,因此我建议使用代理链接。这样,即使在释放后,您的叉车和物品也可以保持连接,并且它们可以再次“找到彼此”。对于此示例,我们将您的代理类型称为 Uld 和 Forklift。 (您需要自定义代理类型才能使用链接)
((Forklift)unit).myItem.isConnected()==false
。要连接物品和叉车,请将此线放入同一块的On capture Transporter:agent.myForklift.connectTo((Forklift)unit)
((Forklift)unit).myItem.getConnectedAgent().equals(agent)
。完成任务后要释放叉车,请将此行写入存储块的Onreleasetransporter:((Forklift)unit).myItem.disconnect()