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

使用桥式起重机时的 Anylogic java.util.NoSuchElementException

如何解决使用桥式起重机时的 Anylogic java.util.NoSuchElementException

我正在制作制造工厂的模型。抛出 java.util.NoSuchElementException ,但遗憾的是没有提供更多信息来了解问题的主要原因。下面是错误报告的第一行:

java.util.NoSuchElementException
java.util.NoSuchElementException
    at java.base/java.util.LinkedList.getFirst(UnkNown Source)
    at com.anylogic.libraries.material_handling.OverheadCraneController_xjal$b.a(UnkNown Source)
    at com.anylogic.libraries.material_handling.OverheadCraneController_xjal$3.a(UnkNown Source)
    at com.anylogic.libraries.material_handling.Shuttle_xjal.a(UnkNown Source)

似乎问题的根源在于列表中缺少元素,但是报告中没有提到哪里和哪个元素。有什么方法可以了解主要原因是什么?或者有什么方法可以在错误报告中提供更多信息?

我去了之前抛出异常的步骤,我发现我在工厂使用的桥式起重机有点在起重机移动的两个不同块的边缘。可能是上述错误的某种原因吗?

enter image description here

上图显示了两个疑似吊车移动。

如果有人能在这个关键问题上帮助我,我将不胜感激。

编辑

enter image description here

唯一的蓝色链接如图所示,点击后出现下图。

enter image description here

允许添加断点,当我应用它,然后调试时,那里也没有提供任何信息。

enter image description here

任何 解决方案?

解决方法

我想我找到了问题的根本原因。如下图所示,错误调用堆栈的第一行是关于缺少元素的链表,然后是关于高架起重机。 enter image description here

因此,最可能的原因可能是起重机使用管理缺乏完美的抓块。因此,我在起重机块的每次移动之前添加了一个延迟块,其中检查了专用起重机的可用性。如果起重机可用,则延迟自行停止,如果不可用,则延迟存储在延迟集合中,如果起重机在需要时未准备好,则起重机每次移动之前的所有延迟块都将被存储。

另一方面,当起重机没有任何任务时,循环事件被认为是检查,如果在延迟集合中有一些阻塞的延迟,则停止它们的延迟。一个典型的起重机管理系统,解决了我目前的问题。

enter image description here

起重机每次移动前的延迟和它的代码

enter image description here

循环事件中的代码

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