【发布时间】:2018-11-13 15:21:43
【问题描述】:
假设我们有以下模型:
收藏家:
model Collector
Real collect_here;
annotation(defaultComponentPrefixes="inner");
end Collector;
以及以下模型可能多次:
model Calculator
outer Collector collector;
Real calculatedVariable = 2*time;
equation
calculatedVariable = collector.collect_here;
end Calculator;
如果 calcModel 在要模拟的系统中仅存在一次,则上述代码有效。如果模型不止一次存在,我会得到一个单一的系统。这通过下面的示例得到证明。更改参数 works 会导致系统正常工作或失败。
model Example
parameter Boolean works = true;
inner Collector collector;
Calculator calculator1;
Calculator calculator2 if not works;
end Example;
在收集器中使用数组来传递多个变量并不能解决问题。
另一种可能的解决方法是使用连接器,但我只让它与一个 calcModel 一起工作。
【问题讨论】: