在仿真之前通过计算在图标级别上显示参数

时间:2018-10-29 15:29:12

标签: modelica dymola

我想让一个参数说n = 1,该参数未显示在UI中,但是另一个参数n_add = n + 1显示在模型的图标上。

parameter Integer n = 1 "not to be displayed";
parameter Integer n_add = n + 1 "Displayed on the model";

在图标级别,我写为文本“%n_add”,其结果不是n + 1 =“ 2”的计算,而是要完成的计算(字面意义为“ n + 1”)。参数n_add在模型参数化期间的模拟/初始化之前应该是可见的。

这甚至可能吗?

1 个答案:

答案 0 :(得分:3)

似乎与此类似:Displaying parameter in annotation in DYMOLA,但实际上这个问题读起来更紧凑,因此应该可以解决您问题的代码:

DISM /online /enable-feature /featurename:IIS-ISAPIFilter
DISM /online /enable-feature /featurename:IIS-ISAPIExtensions
DISM /online /enable-feature /featurename:IIS-NetFxExtensibility
DISM /online /enable-feature /featurename:IIS-ASPNET
对于模拟之前已知的值(例如参数),可以在模拟之前进行。 model showN1 parameter Integer n = 1 "not to be displayed"; final parameter Integer n_add = n + 1 "Displayed on the model"; annotation (Icon(graphics={Text( extent={{-100,-20},{100,20}}, lineColor={0,0,0}, textString="n_add = " + DynamicSelect("?", String(n_add)))})); end showN1; 还可以显示在仿真过程中必须首先计算的变化值。然后从结果文件中读取这些文件,该文件仅在仿真开始后可用。