【问题标题】:Avoid Exceptions after a train collision in Anylogic在 Anylogic 中火车碰撞后避免异常
【发布时间】:2022-01-13 01:33:03
【问题描述】:

我需要创建一个简单火车站的模型,我希望在该模型中设置“不需要的”选项,让火车在不发生碰撞的情况下发生碰撞,但有一个例外。有没有机会避免模型崩溃,或者在它发生时(或前一刻)阻止两列火车相撞? 非常感谢!

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    拖放Rail Settings,它有一些解决冲突的东西。

    On car hit car 部分允许您输入任何代码。

    以下是您可以使用的局部变量:

    您也可以观看来自 AnyLogic 的视频:https://www.youtube.com/watch?v=ERvdz0w_Zgk

    【讨论】:

    • 非常感谢!我找到了!只是另一个问题。目前我没有定义特定的代理类型,但即使我定义了,我如何启动和停止我的汽车或火车?我尝试使用rc.stop()other.stop() 停止火车,但没有成功,异常再次发生。
    • 左侧是铁路图书馆。当您单击它时,您将在顶部看到两种不同的代理类型(Train TypeRail Car Type)。您将从那里创建您的代理。然后,您可以在模型中使用 train.blabla / car.blabla 访问它们。
    • 碰撞发生时可以暂停模拟,例如..使用命令pauseSimulation()
    • @Piero 总是为新问题开始新问题,拜托。 StackOverflow 不像论坛,而是像知识库一样工作 :) 见 benjamin-schumann.com/blog/2021/4/1/…
    【解决方案2】:

    您也可以简单地使用 TrainMoveTo 块上的 outHit 端口:

    最好做简单的铁路模型分步教程(驼峰场),因为它展示了如何使用它

    【讨论】:

    • 谢谢@Benjamin,我也在探索这个解决方案。但此时我有一个相关的问题:如果我想通过railSettings 块处理所有内容,Anylogic 会给我一个例外,因为 outHit 输出没有被处理。在我的模型中,我想停止任何碰撞的火车,railSettings on car hit car 异常处理程序对我来说很好,所以有什么办法可以避免手动点击所有 outHit 出口?
    • 我不这么认为。将来,请始终打开新问题,即使是后续问题。 StackOverflow 以这种方式效果最好,请参阅 benjamin-schumann.com/blog/2021/4/1/… :)
    猜你喜欢
    • 2021-12-26
    • 2014-07-03
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    相关资源
    最近更新 更多