在运行时连接FluidEnter / FluidExit

时间:2019-02-14 23:46:25

标签: anylogic

我正在玩FluidEnter / FluidExit。因此,以一种简单的形式,这就是我想要做的事情:

我在Main中创建了一个名为Terminal的空代理。现在,在终端中,只有一个FluidEnter连接到fluidExit(非常简单)

enter image description here

现在,在启动时,我要填充此人口并设置适当的连接(已订购端子)。

因此,在启动时,我调用了一个函数init(),其主体以Terminal t = add_terminals();开头。 (我现在只有一个航站楼,只是在玩弄东西)

很明显,在Main中,我也有fluidEnter和fluidExit。我想将Main的fluidExit连接到终端t的fluidEnter,并将终端t的fluidExit连接到Main的fluidEnter,所以代码(仍在init()中)看起来像

fluidExit.set_fluidEnter(t.fluidEnter); t.fluidExit.set_fluidEnter(fluidEnter);

我得到一个例外,很明显,我做错了事。有想法吗?

2 个答案:

答案 0 :(得分:1)

我认为set_fluidEnter函数已被弃用或只是不起作用。

相反,您应该这样做:

fluidExit.connect(t.fluidEnter);

因此,只需将connect_set_fluidEnter替换为connect ...

应该可以解决问题

答案 1 :(得分:1)

几个月前,我和你走的是同一条路。是的... .connect()很棒。它甚至可以作为大门。如果断开连接,则流体在出口处停止。连接后,流体再次开始流动。非常光滑。