我想为一个模型创建一个图标,它结合了来自Modelica标准库的两个组件。这两个组件是Modelica.Electrical.Analog.Sources.SignalVoltage.和Modelica.Blocks.Sources.Sine。我已经将这两个组件连接起来,因此代码如下所示:
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自动完成。
现在我想实现以下目标:我想要创建一个图标
我知道注释(Icon(.))和注释(Placement(.))命令,但我不知道如何将signalvoltage1.p和signalvoltage1.n带到图标层。我不知道如何通过双击访问sine1的属性,例如,我可以很容易地使用OMEdit绘制的矩形。
提前谢谢。
发布于 2013-02-19 07:27:27
现在我想实现以下目标:我想要创建一个图标 包含可以通过双击访问signalvoltage1属性的sine1的Pins。
好的引脚:通常,图形编辑器应该给你一个选择,当你从一个现有的连接器根到图表上的一个空白点时,就可以自动创建合适的连接器。然而,OMEdit并没有这么做(现在?)。因此,您需要将相应的连接器从MSL拖放到模型的图表视图中。在您的例子中,Modelica.Electrical.Analog.Interfaces.NegativePin和Modelica.Electrical.Analog.Interfaces.PositivePin,然后适当地连接它们。类型连接器的组件将(应该)自动显示在图表和图标层上,以便“从外部”连接。
至于准入问题。您可以在模型级别上创建一个新参数,并让新模型中的组件使用这些参数。最好的解释是从上面举你的例子:
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;https://stackoverflow.com/questions/14937279
复制相似问题