Skip to content

Commit 54a280a

Browse files
backport PR modelica#4691 into MatthiasBSchaefer_PRTesting for CI Tests
1 parent 66e8dc4 commit 54a280a

File tree

3 files changed

+52
-47
lines changed

3 files changed

+52
-47
lines changed

Modelica/Electrical/Machines/Examples/InductionMachines/IMC_DCBraking.mo

Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ within Modelica.Electrical.Machines.Examples.InductionMachines;
22
model IMC_DCBraking "Induction machine with DC current braking"
33
extends Modelica.Icons.Example;
44
import Modelica.Constants.pi;
5+
import Modelica.Electrical.Machines.Thermal.convertResistance;
56
constant Integer m=3 "Number of phases";
67
parameter SI.AngularVelocity w0(displayUnit="rev/min")=
78
2*pi*imcData.fsNominal/imcData.p "Initial mechanical speed";
@@ -11,8 +12,14 @@ model IMC_DCBraking "Induction machine with DC current braking"
1112
SI.Torque tauShaft=imc.tauShaft "Shaft torque";
1213
SI.AngularVelocity wMechanical(displayUnit="rev/min") = imc.wMechanical
1314
"Shaft speed";
14-
parameter Modelica.Electrical.Machines.Utilities.DcBrakeSettings settings(INominal=
15-
100, layout="D3")
15+
parameter Modelica.Electrical.Machines.Utilities.DcBrakeSettings settings(
16+
INominal=100,
17+
R=convertResistance(
18+
imcData.Rs,
19+
imcData.TsRef,
20+
imcData.alpha20s,
21+
imc.TsOperational),
22+
layout="D3")
1623
annotation (Placement(transformation(extent={{20,60},{40,80}})));
1724
parameter
1825
Modelica.Electrical.Machines.Utilities.ParameterRecords.IM_SquirrelCageData
@@ -49,50 +56,32 @@ model IMC_DCBraking "Induction machine with DC current braking"
4956
annotation (Placement(transformation(extent={{-20,70},{-40,90}})));
5057
Modelica.Electrical.Polyphase.Basic.PlugToPin_p plugToPin2(m=m, k=2)
5158
annotation (Placement(transformation(extent={{-20,30},{-40,50}})));
52-
Modelica.Electrical.Polyphase.Basic.PlugToPin_p plugToPin3(m=m, k=3) if settings.connect3
59+
Modelica.Electrical.Polyphase.Basic.PlugToPin_p plugToPin3(m=m, k=3)
5360
annotation (Placement(transformation(extent={{-20,-10},{-40,10}})));
54-
Modelica.Electrical.Analog.Sources.ConstantCurrent
55-
constantCurrent(I=settings.Idc)
61+
Modelica.Electrical.Analog.Sources.ConstantVoltage
62+
constantVoltage(V=settings.Vdc)
5663
annotation (Placement(transformation(
57-
extent={{-10,-10},{10,10}},
64+
extent={{10,-10},{-10,10}},
5865
rotation=90,
5966
origin={-50,62})));
6067
Modelica.Electrical.Analog.Basic.Ground ground
6168
annotation (Placement(transformation(extent={{-70,20},{-50,40}})));
69+
Modelica.Blocks.Sources.BooleanConstant booleanConstant(k=settings.layout == "Y2")
70+
annotation (Placement(transformation(extent={{-90,0},{-70,20}})));
71+
Modelica.Electrical.Analog.Ideal.IdealOpeningSwitch switch annotation (
72+
Placement(transformation(
73+
extent={{-10,-10},{10,10}},
74+
rotation=90,
75+
origin={-50,10})));
6276
initial equation
63-
if settings.layout=="Y3" then
64-
//imc.is[2]=settings.is[2];
65-
der(imc.is[2])=0;
66-
der(imc.idq_rs[1])=0;
67-
der(imc.idq_rs[2])=0;
68-
end if;
69-
if settings.layout=="Y2" then
70-
der(imc.idq_rs[1])=0;
71-
der(imc.idq_rs[2])=0;
72-
end if;
73-
if settings.layout=="D2" then
74-
//imc.is[2]=settings.is[2];
75-
der(imc.is[2])=0;
76-
der(imc.idq_rs[1])=0;
77-
der(imc.idq_rs[2])=0;
78-
end if;
79-
if settings.layout=="D3" then
80-
//der(imc.idq_ss[1])=0;
81-
//der(imc.idq_ss[2])=0;
82-
der(imc.is[1])=0;
83-
der(imc.is[2])=0;
84-
der(imc.idq_rs[1])=0;
85-
der(imc.idq_rs[2])=0;
77+
imc.idq_ss=zeros(2);
78+
imc.idq_rs=zeros(2);
79+
if settings.layout=="D2" or settings.layout=="D3" then
80+
imc.i_0_s=0;
8681
end if;
8782
equation
8883
connect(imc.flange, loadInertia.flange_a)
8984
annotation (Line(points={{40,0},{50,0}}, color={0,0,0}));
90-
connect(plugToPin1.pin_p, constantCurrent.n)
91-
annotation (Line(points={{-32,80},{-50,80},{-50,72}}, color={0,0,255}));
92-
connect(plugToPin2.pin_p, constantCurrent.p)
93-
annotation (Line(points={{-32,40},{-50,40},{-50,52}}, color={0,0,255}));
94-
connect(constantCurrent.p, plugToPin3.pin_p)
95-
annotation (Line(points={{-50,52},{-50,0},{-32,0}}, color={0,0,255}));
9685
connect(plugToPin2.plug_p, plugToPin1.plug_p) annotation (Line(points={{-28,40},
9786
{-20,40},{-20,80},{-28,80}}, color={0,0,255}));
9887
connect(plugToPin2.plug_p, plugToPin3.plug_p) annotation (Line(points={{-28,40},
@@ -105,6 +94,16 @@ equation
10594
annotation (Line(points={{-28,40},{30,40},{30,12}}, color={0,0,255}));
10695
connect(plugToPin2.pin_p, ground.p)
10796
annotation (Line(points={{-32,40},{-60,40}}, color={0,0,255}));
97+
connect(booleanConstant.y, switch.control)
98+
annotation (Line(points={{-69,10},{-62,10}}, color={255,0,255}));
99+
connect(switch.p, plugToPin3.pin_p)
100+
annotation (Line(points={{-50,0},{-32,0}}, color={0,0,255}));
101+
connect(ground.p, switch.n)
102+
annotation (Line(points={{-60,40},{-50,40},{-50,20}}, color={0,0,255}));
103+
connect(constantVoltage.p, plugToPin1.pin_p)
104+
annotation (Line(points={{-50,72},{-50,80},{-32,80}}, color={0,0,255}));
105+
connect(ground.p, constantVoltage.n)
106+
annotation (Line(points={{-60,40},{-50,40},{-50,52}}, color={0,0,255}));
108107
annotation (experiment(
109108
StopTime=25,
110109
Interval=0.001,
@@ -129,4 +128,4 @@ Choose a layout and plot tauElectrical and tauShaft versus wMechanical.
129128
</tr>
130129
</table>
131130
</html>"));
132-
end IMC_DCBraking;
131+
end IMC_DCBraking;

Modelica/Electrical/Machines/Utilities/DcBrakeSettings.mo

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
within Modelica.Electrical.Machines.Utilities;
22
record DcBrakeSettings "Setting for DC current braking"
33
parameter SI.Current INominal=100 "Nominal RMS current per phase";
4+
parameter SI.Resistance R=0.03 "Phase resistance at desired temperature";
45
parameter String layout="Y3" "Braking connection layout"
56
annotation (choices(
67
choice="Y3" "Y 3 phases",
@@ -25,6 +26,14 @@ record DcBrakeSettings "Setting for DC current braking"
2526
elseif layout=="D2" then Idc*{2/3,-1/3,-1/3}
2627
else Idc*{1/2,-1/2,0}
2728
"Phase currents" annotation(Dialog(group="Results", enable=false));
29+
30+
parameter SI.Voltage Vdc=
31+
if layout == "Y3" then 3/2*R*INominal*sqrt(2)
32+
elseif layout == "Y2" then 2.0*R*INominal*sqrt(3/2)
33+
elseif layout == "D2" then 2/3*R*INominal*3/sqrt(2)
34+
else 1/2*R*INominal*sqrt(6) "DC braking voltage"
35+
annotation (Dialog(group="Results", enable=false));
36+
2837
annotation (defaultComponentPrefixes="parameter",
2938
Icon(coordinateSystem(preserveAspectRatio=false), graphics={
3039
Rectangle(
Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
time
2-
imc.idq_rr[1]
3-
imc.idq_rr[2]
4-
loadInertia.phi
5-
loadInertia.w
6-
imc.idq_sr[1]
7-
imc.idq_sr[2]
8-
imc.is[1]
9-
imc.is[2]
10-
tauElectrical
11-
tauShaft
12-
wMechanical
2+
imc.idq_ss[1]
3+
imc.idq_ss[2]
4+
imc.idq_rs[1]
5+
imc.idq_rs[2]
6+
imc.wMechanical
7+
imc.phiMechanical
8+
imc.tauElectrical
9+
imc.tauShaft

0 commit comments

Comments
 (0)