Modelica - 创建图标

时间:2013-02-18 13:18:00

标签: icons modelica

我想为模型创建一个图标,该模型结合了Modelica标准库中的两个组件。这两个组件是Modelica.Blocks.Sources.Sine 和Modelica.Electrical.Analog.Sources.SignalVoltage。我连接了两个组件,以便代码如下所示:

model test
 Modelica.Blocks.Sources.Sine sine1(freqHz = 5, amplitude = 1, offset = 10) annotation(Placement(visible = true, transformation(origin = {-51.0325,-0.884933}, extent = {{-12,-12},{12,12}}, rotation = 0)));
 Modelica.Electrical.Analog.Sources.SignalVoltage signalvoltage1 annotation(Placement(visible = true, transformation(origin = {-4.12979,-1.17994}, extent = {{12,-12},{-12,12}}, rotation = 90)));
equation
 connect(sine1.y,signalvoltage1.v) annotation(Line(points = {{-37.8325,-0.884933},{-12.9794,-0.884933},{-12.9794,-1.17994},{-12.5298,-1.17994}}));
end test;

注释由OMEdit自动完成。

现在我想实现以下目标:我想创建一个

的图标
  • 包含信号电压1
  • 的引脚
  • 通过双击提供对sine1属性的访问。

我知道注释(图标(...))和注释(放置(...))命令,但我不知道如何将signalvoltage1.p和signalvoltage1.n带到图标层。而且我不知道如何通过双击来访问sine1的属性,例如,我可以使用OMEdit轻松绘制的矩形。

提前致谢。

1 个答案:

答案 0 :(得分:5)

  

现在我想实现以下目标:我想创建一个

的图标      

包含signalvoltage1的引脚      通过双击可以访问sine1的属性。

确定引脚:通常,只要您从现有连接器到图表上的空白点,根据图形编辑器就可以自动创建适配连接器。但是OMEdit不是这样(还是?)。 因此,您需要将MSL中的相应连接器拖放到模型的图表视图中。在您的情况下Modelica.Electrical.Analog.Interfaces.NegativePinModelica.Electrical.Analog.Interfaces.PositivePin,然后适当地连接它们。类型连接器的组件将(应该)自动出现在图表AND图标层上,以便它可以“从外部”连接。

关于访问。您在模型的级别上创建一个新参数,并让新模型中的组件使用这些参数。从上面举例说明可能是最好的解释:

model Test
  parameter Real myfreqHz = 5 "Frequency of the sinewave";
  parameter Real myamplitude = 1 "Amplitude of the sinewave";    
  parameter Real myoffset = 1 "Offset of the sinewave";
  Modelica.Blocks.Sources.Sine sine1(freqHz = myfreqHz, 
                               amplitude = myamplitude, offset = myoffset);
  Modelica.Electrical.Analog.Sources.SignalVoltage signalvoltage1;
equation
...
end Test;