【问题标题】:AnyLogic - Why does my condition based transition not work?AnyLogic - 为什么我的基于条件的转换不起作用?
【发布时间】:2018-06-01 23:46:38
【问题描述】:

我有一个与状态图中的转换有关的问题(见上图)。我有一个名为palletInUse 的变量,它是一个布尔类型,在真假之间变化。对于状态图中的一个转换,我希望它在变量 PalletInUse 的值为 true 时发生变化。例如,我已经尝试过:

palletInUse == true;

还尝试了不同的代码,例如 equals 和 contentEquals 等,但似乎没有任何效果。对于这个看似简单的问题,您有解决方案吗?

提前致谢

【问题讨论】:

    标签: conditional anylogic statechart


    【解决方案1】:

    仅当代理中的某些内容发生更改时,不会持续监控该条件。当您使用常见的“=”Java 运算符为变量分配新值时,AnyLogic 引擎不会捕获它。之后您需要调用 onChange() 函数。然后,应该执行转换。 还有其他方法可以在没有显式 onChange() 调用的情况下触发条件检查。你可以找到他们in AnyLogic Help article。 顺便说一句,您可以只指定布尔变量作为条件,不需要与truefalse 进行比较:

    palletInUse

    【讨论】:

      【解决方案2】:

      如果没有发生任何事情,则不会评估条件,因此您必须不断发生某些事情才能评估您的条件。一种典型的做法如下图所示:

      【讨论】:

        猜你喜欢
        • 2018-07-21
        • 1970-01-01
        • 2017-02-17
        • 2020-08-11
        • 1970-01-01
        • 2015-02-28
        • 2011-12-20
        • 2020-04-30
        相关资源
        最近更新 更多