Files
AIDASimulation/SimulationModels/AIDAModelica/SimXToProSIVICInterfaceTest.mo
Aurelien Didier 6465362982 Initialize simulation models.
Signed-off-by: Aurelien Didier <aurelien.didier51@gmail.com>
2019-03-25 15:59:00 +01:00

172 lines
5.8 KiB
Plaintext

// CP: 65001
// SimulationX Version: 3.8.2.45319 x64
within AIDAModelica;
model SimXToProSIVICInterfaceTest "Simulation X to ProSIVIC Interface Test"
Modelica.Blocks.Interfaces.RealInput Position[3](
quantity="Mechanics.Translation.Displace",
displayUnit="m") "'input Real' as connector" annotation(Placement(
transformation(extent={{-80,60},{-40,100}}),
iconTransformation(
origin={-75,100},
extent={{-20,-20},{20,20}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealInput Attitude[3](
quantity="Mechanics.Rotation.Angle",
displayUnit="rad") "'input Real' as connector" annotation(Placement(
transformation(extent={{20,60},{60,100}}),
iconTransformation(
origin={75,100},
extent={{-20,-20},{20,20}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealInput Speed[3](
quantity="Mechanics.Translation.Velocity",
displayUnit="m/s") "'input Real' as connector" annotation(Placement(
transformation(extent={{-20,-20},{20,20}}),
iconTransformation(
origin={-275,100},
extent={{-20,-20},{20,20}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealInput AngularSpeed[3](
quantity="Mechanics.Rotation.RotVelocity",
displayUnit="rad/s") "'input Real' as connector" annotation(Placement(
transformation(extent={{-20,-20},{20,20}}),
iconTransformation(
origin={275,100},
extent={{-20,-20},{20,20}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput translation_x(
quantity="Mechanics.Translation.Displace",
displayUnit="m") "Tracking translation x" annotation(Placement(
transformation(extent={{-95,30},{-75,50}}),
iconTransformation(
origin={-125,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput translation_y(
quantity="Mechanics.Translation.Displace",
displayUnit="m") "Tracking translation y" annotation(Placement(
transformation(extent={{-70,30},{-50,50}}),
iconTransformation(
origin={-75,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput translation_z(
quantity="Mechanics.Translation.Displace",
displayUnit="m") "Tracking translation z" annotation(Placement(
transformation(extent={{-30,30},{-10,50}}),
iconTransformation(
origin={-25,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput rotation_xi(
quantity="Mechanics.Rotation.Angle",
displayUnit="rad") "Tracking rotation xi " annotation(Placement(
transformation(extent={{10,30},{30,50}}),
iconTransformation(
origin={125,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput rotation_theta(
quantity="Mechanics.Rotation.Angle",
displayUnit="rad") "Tracking rotation theta" annotation(Placement(
transformation(extent={{40,30},{60,50}}),
iconTransformation(
origin={75,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput rotation_phi(
quantity="Mechanics.Rotation.Angle",
displayUnit="rad") "Tracking rotation phi" annotation(Placement(
transformation(extent={{70,30},{90,50}}),
iconTransformation(
origin={25,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput rollRate(
quantity="Mechanics.Rotation.RotVelocity",
displayUnit="rad/s") "'output Real' as connector" annotation(Placement(
transformation(extent={{-10,-10},{10,10}}),
iconTransformation(
origin={175,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput pitchRate(
quantity="Mechanics.Rotation.RotVelocity",
displayUnit="rad/s") "'output Real' as connector" annotation(Placement(
transformation(extent={{-10,-10},{10,10}}),
iconTransformation(
origin={225,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput yawRate(
quantity="Mechanics.Rotation.RotVelocity",
displayUnit="rad/s") "'output Real' as connector" annotation(Placement(
transformation(extent={{-10,-10},{10,10}}),
iconTransformation(
origin={275,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput SpeedX(
quantity="Mechanics.Translation.Displace",
displayUnit="m") "'output Real' as connector" annotation(Placement(
transformation(extent={{-10,-10},{10,10}}),
iconTransformation(
origin={-275,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput SpeedY(
quantity="Mechanics.Translation.Displace",
displayUnit="m") "'output Real' as connector" annotation(Placement(
transformation(extent={{-10,-10},{10,10}}),
iconTransformation(
origin={-225,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput SpeedZ(
quantity="Mechanics.Translation.Displace",
displayUnit="m") "'output Real' as connector" annotation(Placement(
transformation(extent={{-10,-10},{10,10}}),
iconTransformation(
origin={-175,-100},
extent={{-10,-10},{10,10}},
rotation=-90)));
equation
// enter your equations here
translation_x = Position[1];
translation_y = -1*Position[2];
translation_z = -1*Position[3];
rotation_phi = Attitude[1];
rotation_theta = -1*Attitude[2];
rotation_xi = -1*Attitude[3];
rollRate = AngularSpeed[1];
pitchRate = -1*AngularSpeed[2];
yawRate = -1*AngularSpeed[3];
SpeedX = Speed[1];
SpeedY = -1*Speed[2];
SpeedZ = -1*Speed[3];
annotation(
Position(flags=2),
Attitude(flags=2),
translation_x(flags=2),
translation_y(flags=2),
translation_z(flags=2),
rotation_xi(flags=2),
rotation_theta(flags=2),
rotation_phi(flags=2),
Icon(
coordinateSystem(extent={{-325,-100},{325,100}}),
graphics={
Rectangle(
fillColor={255,255,255},
fillPattern=FillPattern.Solid,
extent={{-323.2,100},{326.7,-100}})}),
experiment(
StopTime=1,
StartTime=0,
Interval=0.002,
MaxInterval="0.001"));
end SimXToProSIVICInterfaceTest;