结合状态图和行人块

时间:2018-02-22 04:59:22

标签: simulation agent anylogic

我是AnyLogic的新手和初学者。我如何结合状态图和行人库(ped block)。从状态图链接到ped块并再次返回状态图。我举例说明here。提前致谢。

我尝试按照youtube中的步骤(流程中的代理),但它显示this error。我不明白。

1 个答案:

答案 0 :(得分:0)

你的问题有很多细微差别,但我会给你一个例子,你可以尝试一下。

从StateChart到Pedestrian 从您的图像中,您需要在“动作”中添加的内容,以便在发生转换时创建行人:

pedSource.inject(n); 

其中“n”是您要添加到系统的行人数。但是,由于您的状态图是主要的,而您的行人处于“测试”状态,您必须这样做:

test.pedsource.inject(n); //if your agetn Test is unique
test.get(i).inject(n); //if your agent Test is a population, where "i" is the entity in the population that you want to affect

测试必须在main中定义。如果Test只是代理类型,则不起作用。

从行人到国家图表 由于您的行人在测试中,您可以在行人区的任何位置生成状态图中的转换,例如

send("transitionMessage",main);

main.statechart.fireEvent("message");

但是您需要定义一个状态图入口点(您还没有这样做),并且您的代理测试必须在main中定义为填充或单个代理,否则将无法进行通信。

查看AnyLogic帮助文档,您似乎需要它。 help.anylogic.com