0

在此处输入图像描述

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

palletInUse == true;

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

提前致谢

4

2 回答 2

2

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

palletInUse

于 2017-12-19T16:27:57.950 回答
0

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

状态图 辅助过渡

于 2017-12-20T07:48:22.943 回答