Migration to OpenModelica 1.25 and FMUs Generation
This commit is contained in:
127
SimulationModels/SimulationX/Modelica_drone_system.mo
Normal file
127
SimulationModels/SimulationX/Modelica_drone_system.mo
Normal file
@@ -0,0 +1,127 @@
|
||||
// CP: 65001
|
||||
// SimulationX Version: 3.8.4.46141 x64
|
||||
within ;
|
||||
model Modelica_drone_system "Modelica_drone_system"
|
||||
AIDAModelica.RunFlightPlan runFlightPlan1 annotation(Placement(transformation(
|
||||
origin={-50,-44},
|
||||
extent={{-10,-10},{10,10}})));
|
||||
AIDAModelica.ControlPosition controlPosition1 annotation(Placement(transformation(
|
||||
origin={44,-24},
|
||||
extent={{-10,-10},{10,10}})));
|
||||
AIDAModelica.AcquirePositioningSignal acquirePositioningSignal1 annotation(Placement(transformation(
|
||||
origin={-36,8},
|
||||
extent={{-10,-10},{10,10}})));
|
||||
AIDAModelica.ComputePositionAndTime computePositionAndTime1 annotation(Placement(transformation(
|
||||
origin={-4,4},
|
||||
extent={{-10,-10},{10,10}})));
|
||||
AIDAModelica.GeneratePositioningSignal generatePositioningSignal1 annotation(Placement(transformation(
|
||||
origin={-70,8},
|
||||
extent={{-10,-10},{10,10}})));
|
||||
AIDAModelica.TrajectoryManagement trajectoryManagement1 annotation(Placement(transformation(
|
||||
origin={-130,10},
|
||||
extent={{-10,-10},{10,10}})));
|
||||
AIDA.Drone_physical_model drone_physical_model1 annotation(Placement(transformation(extent={{105,10},{125,30}})));
|
||||
ModelicaCompatibility.RI2O rI2O1(n=3) annotation(Placement(transformation(extent={{75,-30},{85,-20}})));
|
||||
SignalBlocks.Connection connection1;
|
||||
equation
|
||||
connect(controlPosition1.Position_command,trajectoryManagement1.Position_Command) annotation(
|
||||
Line(
|
||||
points={{54,-24.33332824707031},{59,-24},{59,40},{-145,40},{-145,14.3},{-140,
|
||||
14.33333587646484}},
|
||||
color={0,0,127}),
|
||||
AutoRoute=false);
|
||||
connect(trajectoryManagement1.Drone_coordinates,generatePositioningSignal1.Drone_coordinates) annotation(Line(
|
||||
points={{-120,9.699999999999999},{-115,9.699999999999999},{-85,9.699999999999999},{-85,7.3},{-80,7.3}},
|
||||
color={0,0,127}));
|
||||
connect(generatePositioningSignal1.Positioning_signal,acquirePositioningSignal1.Positioning_signal) annotation(Line(
|
||||
points={{-60,7.7},{-55,7.7},{-51,7.7},{-51,7.3},{-46,7.3}},
|
||||
color={0,0,127}));
|
||||
connect(runFlightPlan1.Drone_Position_Consign,controlPosition1.Drone_position_consign) annotation(Line(
|
||||
points={{-40,-44.3},{-35,-44.3},{29,-44.3},{29,-29.7},{34,-29.7}},
|
||||
color={0,0,127}));
|
||||
connect(computePositionAndTime1.Drone_position,controlPosition1.Drone_position) annotation(Line(
|
||||
points={{6,8.699999999999999},{11,8.699999999999999},{29,8.699999999999999},{29,-19.7},{34,-19.7}},
|
||||
color={0,0,127}));
|
||||
connect(acquirePositioningSignal1.Measured_positioning_signal,computePositionAndTime1.Measured_positioning_signal) annotation(Line(
|
||||
points={{-26,7.7},{-21,7.7},{-19,7.7},{-19,8.300000000000001},{-14,8.300000000000001}},
|
||||
color={0,0,127}));
|
||||
connect(controlPosition1.Position_command[:],rI2O1.u[:]) annotation(Line(
|
||||
points={{54,-24},{59,-24},{68,-24},{68,-25},{73,-25}},
|
||||
color={0,0,127},
|
||||
thickness=0.0625));
|
||||
connect(connection1,rI2O1.y);
|
||||
connect(connection1,drone_physical_model1.Position);
|
||||
annotation(
|
||||
__iti_controlPosition1(
|
||||
Position_command(flags=2),
|
||||
Drone_position_consign(flags=2),
|
||||
Drone_position(flags=2),
|
||||
PID(
|
||||
u_s(flags=2),
|
||||
u_m(flags=2),
|
||||
y(flags=2),
|
||||
controlError(flags=2),
|
||||
addP(
|
||||
u1(flags=2),
|
||||
u2(flags=2),
|
||||
y(flags=2)),
|
||||
addD(
|
||||
u1(flags=2),
|
||||
u2(flags=2),
|
||||
y(flags=2)),
|
||||
P(
|
||||
u(flags=2),
|
||||
y(flags=2)),
|
||||
I(
|
||||
u(flags=2),
|
||||
y(flags=2)),
|
||||
D(
|
||||
u(flags=2),
|
||||
y(flags=2),
|
||||
x(flags=2)),
|
||||
gainPID(
|
||||
u(flags=2),
|
||||
y(flags=2)),
|
||||
addPID(
|
||||
u1(flags=2),
|
||||
u2(flags=2),
|
||||
u3(flags=2),
|
||||
y(flags=2)),
|
||||
addI(
|
||||
u1(flags=2),
|
||||
u2(flags=2),
|
||||
u3(flags=2),
|
||||
y(flags=2)),
|
||||
addSat(
|
||||
u1(flags=2),
|
||||
u2(flags=2),
|
||||
y(flags=2)),
|
||||
gainTrack(
|
||||
u(flags=2),
|
||||
y(flags=2)),
|
||||
limiter(
|
||||
u(flags=2),
|
||||
y(flags=2)),
|
||||
Dzero(y(flags=2)),
|
||||
Izero(y(flags=2)))),
|
||||
__iti_connection1(viewinfo[0](
|
||||
line[0](
|
||||
dirSrc=1,
|
||||
dirDst=0,
|
||||
points(
|
||||
x={704,719,750,750,765},
|
||||
y={405,405,405,255,255}),
|
||||
src=false,
|
||||
insBefore=0,
|
||||
pinSrc=rI2O1.y,
|
||||
pinDst=drone_physical_model1.Position,
|
||||
pinSrcValid=true,
|
||||
pinDstValid=true,
|
||||
typename="Line"),
|
||||
typename="ConnectionInfo")),
|
||||
experiment(
|
||||
StopTime=60,
|
||||
StartTime=0,
|
||||
Interval=0.12,
|
||||
__iti_MaxInterval="0.001"));
|
||||
end Modelica_drone_system;
|
||||
Reference in New Issue
Block a user