首页 > 解决方案 > 问题:机架被占用。是否可以在不使用流程图的情况下从机架系统中删除代理?

问题描述

我在任何逻辑中建模订单拣选:目前我创建了一组代理并通过事件将它们提供给输入块。该块与 rackstore 块连接,并将代理放入 racksystem。在一个人的状态图中(当这个人到达代理位置时),代理被带入另一个输入块,该输入块刚刚与接收器连接 -> 代理从机架系统中移除。

问题:如果我想再次将代理存储在机架系统中,则单元(代理之前所在的位置)被占用。我认为单元格的保留不会被丢弃。我该如何解决这个问题?

或者:是否有更好的解决方案来存储和/或删除代理?也许根本不使用流程图?

标签: javaanylogicagentflowchartstatechart

解决方案


除非您通过RackPick块移除机架中的代理,否则您实际上并没有将它们从机架系统中移除(即使代理RackStore在流程流中移动“越过”块)。所以你的过程需要是这样的:

  • 后面有一个WaitRackStore(在需要之前将它们保留在过程中)。
  • 当“人员到达代理位置”(您从机架中移除代理的触发器,虽然不清楚这意味着什么 --- 什么是“代理位置”,因为它在机架中?),您freeWait堵塞。
  • Wait块后面是一个RackPick块,该块会将它们从机架中移除。
  • 无论后续流程是什么(Sink在您的情况下可能只是一个),删除的代理都会继续进行。

注意:此外,RackStoreand RackPickblocks 的部分功能是使用资源代理移动到机架并存放/检索代理,因此您可能不需要“人员代理”来显式移动到代理位置(在这些块之外),但这取决于您希望模型做什么的确切规范。


推荐阅读