如何解决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 举报,一经查实,本站将立刻删除。