我想为模型创建一个图标,该模型结合了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;
Run Code Online (Sandbox Code Playgroud)
注释由OMEdit自动完成.
现在我想实现以下目标:我想创建一个图标
我知道注释(图标(...))和注释(放置(...))命令,但我不知道如何把signalvoltage1.p和signalvoltage1.n到图标层.而且我不知道如何通过双击来访问sine1的属性,例如,我可以使用OMEdit轻松绘制的矩形.
提前致谢.
现在我想实现以下目标:我想创建一个图标
包含signalvoltage1的Pins,通过双击可以访问sine1的属性.
确定引脚:通常情况下,只要从现有连接器生根到图表上的空白点,图形编辑器就会自动创建配件连接器.但是OMEdit不是这样(还是?).因此,您需要将MSL中的相应连接器拖放到模型的图表视图中.在你的情况下Modelica.Electrical.Analog.Interfaces.NegativePin,Modelica.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;
Run Code Online (Sandbox Code Playgroud)