Ticket #2280: BugPeak.mo

File BugPeak.mo, 6.4 KB (added by massimo ceraolo, 11 years ago)
Line 
1within ;
2package BugPeak
3 model simpleMesh
4
5 Modelica.Electrical.QuasiStationary.SinglePhase.Sources.VoltageSource U(
6 V=10,
7 f=50,
8 phi=0.34906585039887) annotation (Placement(transformation(
9 extent={{-10,-10},{10,10}},
10 rotation=-90,
11 origin={-80,18})));
12 Modelica.Electrical.QuasiStationary.SinglePhase.Basic.Resistor resistor(
13 R_ref=1) annotation (Placement(transformation(
14 extent={{-10,-10},{10,10}},
15 rotation=0,
16 origin={-14,40})));
17 Modelica.Electrical.QuasiStationary.SinglePhase.Basic.Ground ground
18 annotation (Placement(transformation(extent={{-90,-42},{-70,-22}})));
19 Modelica.Electrical.QuasiStationary.SinglePhase.Sources.VoltageSource U1(
20 f=50,
21 V=10,
22 phi=0) annotation (Placement(transformation(
23 extent={{-10,-10},{10,10}},
24 rotation=-90,
25 origin={40,10})));
26 Modelica.Electrical.QuasiStationary.SinglePhase.Sensors.PowerSensor S
27 annotation (Placement(transformation(extent={{8,30},{28,50}})));
28 Modelica.Electrical.QuasiStationary.SinglePhase.Basic.Inductor inductor(L=
29 0.01) annotation (Placement(visible=true, transformation(
30 origin={-47.5652,40.4348},
31 extent={{-10,-10},{10,10}},
32 rotation=0)));
33 getUPeak getUPeak1 annotation (Placement(transformation(
34 extent={{-10,-10},{10,10}},
35 rotation=-90,
36 origin={72,16})));
37 equation
38 connect(inductor.pin_p, U.pin_p) annotation (Line(points={{-57.5652,40.4348},
39 {-80,40.4348},{-80,28}},color={85,170,255}));
40 connect(inductor.pin_n, resistor.pin_p) annotation (Line(points={{-37.5652,
41 40.4348},{-24,40}}, color={85,170,255}));
42 connect(U.pin_n, ground.pin) annotation (Line(
43 points={{-80,8},{-80,-22}},
44 color={85,170,255},
45 smooth=Smooth.None));
46 connect(U1.pin_n, ground.pin) annotation (Line(
47 points={{40,0},{40,-8},{-80,-8},{-80,-22}},
48 color={85,170,255},
49 smooth=Smooth.None));
50 connect(S.currentP, resistor.pin_n) annotation (Line(
51 points={{8,40},{-4,40}},
52 color={85,170,255},
53 smooth=Smooth.None));
54 connect(S.currentN, U1.pin_p) annotation (Line(
55 points={{28,40},{40,40},{40,20}},
56 color={85,170,255},
57 smooth=Smooth.None));
58 connect(S.voltageP, S.currentP) annotation (Line(
59 points={{18,50},{8,50},{8,40}},
60 color={85,170,255},
61 smooth=Smooth.None));
62 connect(S.voltageN, ground.pin) annotation (Line(
63 points={{18,30},{18,-8},{-80,-8},{-80,-22}},
64 color={85,170,255},
65 smooth=Smooth.None));
66 connect(getUPeak1.positivePin, S.currentN) annotation (Line(
67 points={{72,26},{72,40},{28,40}},
68 color={85,170,255},
69 smooth=Smooth.None));
70 connect(getUPeak1.negativePin, ground.pin) annotation (Line(
71 points={{72,6.2},{72,-8},{-80,-8},{-80,-22}},
72 color={85,170,255},
73 smooth=Smooth.None));
74 annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100,
75 -100},{100,100}}), graphics));
76 end simpleMesh;
77
78 model getUPeak "gives the peak value of the mesured voltage"
79 Modelica.Electrical.QuasiStationary.SinglePhase.Sensors.VoltageSensor
80 voltageSensor
81 annotation (Placement(transformation(extent={{-10,24},{10,44}})));
82 Modelica.ComplexBlocks.ComplexMath.ComplexToPolar complexToPolar
83 annotation (Placement(transformation(
84 extent={{-10,-10},{10,10}},
85 rotation=-90,
86 origin={0,0})));
87 Modelica.Blocks.Math.Gain gain(k=sqrt(2)) annotation (Placement(
88 transformation(
89 extent={{-10,-10},{10,10}},
90 rotation=-90,
91 origin={0,-46})));
92 Modelica.Blocks.Interfaces.RealOutput y annotation (Placement(
93 transformation(
94 extent={{-10,-10},{10,10}},
95 rotation=-90,
96 origin={0,-110})));
97 Modelica.Electrical.QuasiStationary.SinglePhase.Interfaces.PositivePin
98 positivePin
99 annotation (Placement(transformation(extent={{-110,-10},{-90,10}})));
100 Modelica.Electrical.QuasiStationary.SinglePhase.Interfaces.NegativePin
101 negativePin
102 annotation (Placement(transformation(extent={{88,-10},{108,10}})));
103 equation
104 connect(voltageSensor.y, complexToPolar.u) annotation (Line(
105 points={{0,23},{0,12},{0.00000000000000222045,12}},
106 color={85,170,255},
107 smooth=Smooth.None));
108 connect(complexToPolar.len, gain.u) annotation (Line(
109 points={{6,-12},{6,-34},{0.00000000000000222045,-34}},
110 color={0,0,127},
111 smooth=Smooth.None));
112 connect(gain.y, y) annotation (Line(
113 points={{-0.0000000000000019984,-57},{-0.0000000000000019984,-62.5},{0,
114 -62.5},{0,-110}},
115 color={0,0,127},
116 smooth=Smooth.None));
117 connect(voltageSensor.pin_p, positivePin) annotation (Line(
118 points={{-10,34},{-52,34},{-52,0},{-100,0}},
119 color={85,170,255},
120 smooth=Smooth.None));
121 connect(voltageSensor.pin_n, negativePin) annotation (Line(
122 points={{10,34},{52,34},{52,0},{98,0}},
123 color={85,170,255},
124 smooth=Smooth.None));
125 annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100,
126 -100},{100,100}}), graphics), Icon(coordinateSystem(
127 preserveAspectRatio=false, extent={{-100,-100},{100,100}}),
128 graphics={
129 Line(
130 points={{-94,0},{92,0}},
131 color={85,170,255},
132 smooth=Smooth.None),
133 Ellipse(
134 extent={{-56,56},{56,-56}},
135 lineColor={0,0,255},
136 fillColor={255,255,255},
137 fillPattern=FillPattern.Solid),
138 Line(
139 points={{-30,30},{-30,-30}},
140 color={0,0,255},
141 smooth=Smooth.None),
142 Line(
143 points={{30,30},{30,-30}},
144 color={0,0,255},
145 smooth=Smooth.None),
146 Text(
147 extent={{-102,42},{102,-40}},
148 lineColor={0,0,255},
149 fillColor={255,255,255},
150 fillPattern=FillPattern.Solid,
151 textString="U"),
152 Line(
153 points={{0,-56},{0,-102}},
154 color={0,0,255},
155 smooth=Smooth.None)}));
156 end getUPeak;
157 annotation (uses(Modelica(version="3.2")));
158end BugPeak;