48 lines
1.9 KiB
Plaintext
48 lines
1.9 KiB
Plaintext
// CP: 65001
|
|
// SimulationX Version: 3.8.2.45319 x64
|
|
within AIDAModelica;
|
|
model ControlPosition "ControlPosition_Modelica.ism"
|
|
Modelica.Blocks.Interfaces.RealOutput Position_command[3] "'output Real' as connector" annotation(Placement(
|
|
transformation(extent={{40,50},{60,70}}),
|
|
iconTransformation(extent={{90,-10},{110,10}})));
|
|
Modelica.Blocks.Interfaces.RealInput Drone_position_consign[3] "'input Real' as connector" annotation(Placement(
|
|
transformation(extent={{-140,40},{-100,80}}),
|
|
iconTransformation(extent={{-120,-70},{-80,-30}})));
|
|
Modelica.Blocks.Interfaces.RealInput Drone_position[3] "'input Real' as connector" annotation(Placement(
|
|
transformation(extent={{-85,-15},{-45,25}}),
|
|
iconTransformation(extent={{-120,30},{-80,70}})));
|
|
Modelica.Blocks.Continuous.LimPID PID[3](
|
|
controllerType=Modelica.Blocks.Types.SimpleController.P,
|
|
k={10,10,10},
|
|
Ti={0.5,0.5,0.5},
|
|
Td={0.1,0.1,0.1},
|
|
yMax={100,100,100},
|
|
initType=Modelica.Blocks.Types.InitPID.SteadyState,
|
|
limitsAtInit={false, false, false},
|
|
y_start={1,58,0}) "P, PI, PD, and PID controller with limited output, anti-windup compensation and setpoint weighting" annotation(Placement(transformation(extent={{-30,50},{-10,70}})));
|
|
equation
|
|
connect(PID.y,Position_command[:]) annotation(Line(
|
|
points={{-9,60},{-4,60},{45,60},{50,60}},
|
|
color={0,0,127},
|
|
thickness=0.0625));
|
|
connect(Drone_position_consign[:],PID.u_s) annotation(Line(
|
|
points={{-120,60},{-115,60},{-37,60},{-32,60}},
|
|
color={0,0,127},
|
|
thickness=0.0625));
|
|
connect(Drone_position[:],PID.u_m) annotation(Line(
|
|
points={{-65,5},{-60,5},{-20,5},{-20,43},{-20,48}},
|
|
color={0,0,127},
|
|
thickness=0.0625));
|
|
annotation(
|
|
Icon(graphics={
|
|
Rectangle(
|
|
fillColor={255,255,255},
|
|
fillPattern=FillPattern.Solid,
|
|
extent={{-100,100},{100,-100}})}),
|
|
experiment(
|
|
StopTime=1,
|
|
StartTime=0,
|
|
Interval=0.002,
|
|
MaxInterval="0.001"));
|
|
end ControlPosition;
|