批量操作后卡住起重机时出错



在任何逻辑中,我都将分段分批到环(两者都是代理(。如果我想使用起重机移动环,则会出现错误:

由于我对这个软件还很陌生,所以我不太清楚代理是如何被抓住并分配给任何区块的。

有人能告诉我如何解决这个问题吗?我试图在起重机移动之前使用限制块或延迟,但仍然不起作用。请在此处查找详细信息

提前谢谢。

您得到的错误与代理的空间有关(起重机的空间和目标代理的空间(。

具体来说,为了让起重机拾取并移动代理,它们必须在同一空间内。

为了确保它们都在同一个空间中,请尝试添加代码";在退出时";就在moveByCrane区块之前的队列。

它应该看起来像这样:

退出队列:

agent.setSpace(overheadCrane.getSpace());

您定义了批次的位置吗?如果没有,这可能是错误的原因。

当您使用批处理流程图块时,AnyLogic会创建一个新的代理。除非明确指定,否则此代理将不属于任何空间。这就是为什么您需要首先定义批次的位置,如下所示:批次位置

我注意到的另一件事是,您输入了node1作为MoveByCrane块的目的地。根据您所附的屏幕截图,您希望起重机将代理从node1移动到node2。在这种情况下,您应该输入node2作为MoveByCrane块的目的地。

最新更新