无连接器执行初始化优先级
是否可以在OpenModelica中执行模型的初始化优先级?例如,假设以下简单模型注册每个模型的名称和值:
function registerModel
input String name;
input Real value;
external "C" registermodel_c(name, value) annotation(Library="registermodelicamodels");
end registerModel
function printRegistered
external "C" printregistered_c() annotation(Library="registermodelicamodels");
end printRegistered
model a
parameter Real n;
initial algorithm
registerModel(getInstanceName(), n);
end a;
model b
a a1(n=10);
a a2(n=20);
a a3(n=30);
end b;
model c
b b1;
initial algorithm
printRegistered();
end c;
假设PRINTREGISTREDED
打印所有已注册的registermodel
查询。现在,如果模型C
被模拟,PRINTREGISTERDED
将不会打印任何东西。是否有命令可以在b1
内部执行初始算法
模型c
的部分。
PS使用连接器可能会解决该问题(不是首选),但我想知道是否还有其他方法可以解决此问题。
Is it possible to enforce the precedence of initialization of models in openModelica? For instance assume the following simple model that registers the name and value of each model:
function registerModel
input String name;
input Real value;
external "C" registermodel_c(name, value) annotation(Library="registermodelicamodels");
end registerModel
function printRegistered
external "C" printregistered_c() annotation(Library="registermodelicamodels");
end printRegistered
model a
parameter Real n;
initial algorithm
registerModel(getInstanceName(), n);
end a;
model b
a a1(n=10);
a a2(n=20);
a a3(n=30);
end b;
model c
b b1;
initial algorithm
printRegistered();
end c;
Assume that printRegistered
prints all the registered registerModel
queries. Now if model c
is simulated, printRegistered
would not print anything. Is there a command to enforce initialization of b1
inside the initial algorithm
section of model c
.
p.s. using connectors might solve the issue (not prefered) but I wonder if there is any other way to tackle this problem.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论