微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ConveyorSimpleStationController 上的 AnyLogic 8.7.3 材料处理库异常

如何解决ConveyorSimpleStationController 上的 AnyLogic 8.7.3 材料处理库异常

我在 AnyLogic 8.7.3 中遇到了一个很奇怪的问题,这似乎与物料搬运库的 ConveyorEnter 块有关。该问题发生在每次模拟的同一个离散步骤中,即使进行微小修改(例如添加新队列)也是如此。当然,如果我进行重大的时间更改,它确实会在截然不同的时间发生。它经常发生在运行的很晚(并不总是),例如在步骤 428k。否则,很奇怪,很难调试。控制台输出如下:

Exception during discrete event execution:
Index 0 out of bounds for length 0
java.lang.indexoutofboundsexception: Index 0 out of bounds for length 0
    at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
    at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
    at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
    at java.base/java.util.Objects.checkIndex(Objects.java:372)
    at java.base/java.util.ArrayList.get(ArrayList.java:458)
    at com.anylogic.libraries.material_handling.ConveyorSimpleStationController_xjal.S(UnkNown Source)
    at com.anylogic.libraries.material_handling.ConveyorSimpleStationController_xjal.a(UnkNown Source)
    at com.anylogic.libraries.material_handling.ConveyorSimpleStationController_xjal.a(UnkNown Source)
    at com.anylogic.libraries.material_handling.ConveyorSimpleStationController_xjal$4.onExit(UnkNown Source)
    at com.anylogic.libraries.processmodeling.source.q(UnkNown Source)
    at com.anylogic.libraries.processmodeling.source.q(UnkNown Source)
    at com.anylogic.libraries.processmodeling.source$1.onEnter(UnkNown Source)
    at com.anylogic.libraries.processmodeling.Enter.c(UnkNown Source)
    at com.anylogic.libraries.processmodeling.Enter.c(UnkNown Source)
    at com.anylogic.libraries.processmodeling.Enter$1.onExit(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutputBuffer.c(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutputBuffer.c(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutputBuffer$1.onExit(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock.c(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock.a(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock$1.b(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutPort.a(UnkNown Source)
    at com.anylogic.libraries.processmodeling.InPort.receiveImmediately(UnkNown Source)
    at com.anylogic.libraries.processmodeling.InputBlock$1.a(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutPort.a(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutPort.b(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock.forwardReadyEntityNotification(UnkNown Source)
    at com.anylogic.libraries.processmodeling.InputBlock$1.a(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutPort.a(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutPort.b(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutPort.a(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock.a(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock.a(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock$2.a(UnkNown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock$2.action(UnkNown Source)
    at com.anylogic.libraries.processmodeling.AsynchronousExecutor_xjal$a.execute(UnkNown Source)
    at com.anylogic.engine.LibraryEventHandler$b.execute(UnkNown Source)
    at com.anylogic.engine.Engine.j(UnkNown Source)
    at com.anylogic.engine.Engine.fn(UnkNown Source)
    at com.anylogic.engine.Engine.e(UnkNown Source)
    at com.anylogic.engine.Engine$b.run(UnkNown Source)

另外,它停止的事件是:

root.conveyorEnter.conveyorEnter.?<MHLSettings>.conveyorSystems_xjal[0].simpleStationControllers[4].transition1

所以我可以说它与物料搬运库有关,在传送带简单站控制器上。在调试屏幕中单击此错误时,它会向我显示模型中的单个“ConveyorEnter”块。然而,虽然这个块已经被激活并工作了好几次,但奇怪的是在错误发生时它什么也没做——没有任何东西进入或退出这个块。模型 GUI 也没有显示该模块的任何问题(例如阻塞的端口)。

我的模型唯一有点不寻常的地方是主输送线形成了一个循环——但是考虑到模型可以运行这么长时间没有问题,我认为这不是原因,否则模型逻辑工作得很好。

我将不胜感激任何帮助。非常感谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。