| 1 | model FB "Versione dell'antiwindup con PID (back-calculation)"
|
|---|
| 2 | Modelica.Blocks.Continuous.FirstOrder plant(T = 10) annotation(
|
|---|
| 3 | Placement(visible = true, transformation(origin = {50, 30}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 4 | Modelica.Blocks.Math.Feedback feedback annotation(
|
|---|
| 5 | Placement(visible = true, transformation(origin = {-32, 30}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 6 | Modelica.Blocks.Continuous.PI PI annotation(
|
|---|
| 7 | Placement(visible = true, transformation(origin = {4, 30}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 8 | Modelica.Blocks.Sources.Step step annotation(
|
|---|
| 9 | Placement(visible = true, transformation(origin = {-78, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 10 | Modelica.Blocks.Continuous.PI PI1 annotation(
|
|---|
| 11 | Placement(visible = true, transformation(origin = {4, -30}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 12 | Modelica.Blocks.Math.Feedback feedback1 annotation(
|
|---|
| 13 | Placement(visible = true, transformation(origin = {-32, -30}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 14 | Modelica.Blocks.Continuous.FirstOrder plant1(T = 10) annotation(
|
|---|
| 15 | Placement(visible = true, transformation(origin = {50, -30}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 16 | equation
|
|---|
| 17 | connect(PI1.u, feedback1.u1) annotation(
|
|---|
| 18 | Line(points = {{-8, -30}, {-42, -30}, {-42, -30}, {-40, -30}}, color = {0, 0, 127}));
|
|---|
| 19 | connect(feedback1.u1, step.y) annotation(
|
|---|
| 20 | Line(points = {{-40, -30}, {-50, -30}, {-50, 0}, {-66, 0}, {-66, 0}}, color = {0, 0, 127}));
|
|---|
| 21 | connect(feedback1.u2, plant1.y) annotation(
|
|---|
| 22 | Line(points = {{-32, -38}, {-32, -38}, {-32, -50}, {70, -50}, {70, -30}, {62, -30}, {62, -30}}, color = {0, 0, 127}));
|
|---|
| 23 | connect(feedback.u2, plant.y) annotation(
|
|---|
| 24 | Line(points = {{-32, 22}, {-32, 22}, {-32, 4}, {72, 4}, {72, 30}, {62, 30}, {62, 30}}, color = {0, 0, 127}));
|
|---|
| 25 | connect(feedback.u1, step.y) annotation(
|
|---|
| 26 | Line(points = {{-40, 30}, {-50, 30}, {-50, 0}, {-68, 0}, {-68, 0}, {-66, 0}}, color = {0, 0, 127}));
|
|---|
| 27 | connect(PI1.y, plant1.u) annotation(
|
|---|
| 28 | Line(points = {{15, -30}, {37, -30}, {37, -30}, {37, -30}}, color = {0, 0, 127}));
|
|---|
| 29 | connect(feedback.y, PI.u) annotation(
|
|---|
| 30 | Line(points = {{-23, 30}, {-11, 30}, {-11, 30}, {-9, 30}}, color = {0, 0, 127}));
|
|---|
| 31 | connect(PI.y, plant.u) annotation(
|
|---|
| 32 | Line(points = {{15, 30}, {25, 30}, {25, 30}, {35, 30}, {35, 30}, {36, 30}, {36, 30}, {37, 30}}, color = {0, 0, 127}));
|
|---|
| 33 | annotation(
|
|---|
| 34 | Diagram(coordinateSystem(extent = {{-100, -60}, {80, 60}})),
|
|---|
| 35 | uses(Modelica(version = "3.2.3")),
|
|---|
| 36 | experiment(StartTime = 0, StopTime = 200, Tolerance = 1e-06, Interval = 0.4));
|
|---|
| 37 | end FB;
|
|---|