Migration to OpenModelica 1.25 and FMUs Generation
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
within AIDAModelica;
|
||||
model ControlPositionSAC "[SF2.1.1] Control position SAC"
|
||||
Modelica.Blocks.Interfaces.RealInput DronePositionConsign[3](
|
||||
each quantity="Mechanics.Translation.Displace",
|
||||
each displayUnit="m") "Desired drone position consign" annotation(Placement(
|
||||
transformation(origin = {-122, -60}, extent = {{-20, -20}, {20, 20}}),
|
||||
iconTransformation(extent={{-120,-20},{-80,20}})));
|
||||
Modelica.Blocks.Interfaces.RealInput Position[3](
|
||||
each quantity="Mechanics.Translation.Displace",
|
||||
each displayUnit="m") "Real drone position feedback" annotation(Placement(
|
||||
transformation(origin = {-120, 0}, extent = {{-20, -20}, {20, 20}}),
|
||||
iconTransformation(extent={{-120,-70},{-80,-30}})));
|
||||
Modelica.Blocks.Interfaces.RealOutput NavigationSpeedConsign[3](
|
||||
each quantity="Mechanics.Translation.Velocity",
|
||||
each displayUnit="m/s") "Desired drone speed consign" annotation(Placement(
|
||||
transformation(origin = {110, 0}, extent = {{-10, -10}, {10, 10}}),
|
||||
iconTransformation(extent={{90,-10},{110,10}})));
|
||||
Modelica.Blocks.Interfaces.RealInput RCVErticalSpeedCommand(
|
||||
quantity="Mechanics.Translation.Velocity",
|
||||
displayUnit="m/s") "RC vertical speed consign" annotation(Placement(
|
||||
transformation(origin = {-120, 60}, extent = {{-20, -20}, {20, 20}}),
|
||||
iconTransformation(extent={{-120,30},{-80,70}})));
|
||||
Real DHP[2](
|
||||
each quantity="Mechanics.Translation.Displace",
|
||||
each displayUnit="m") "Desired horizontal position of the drone";
|
||||
Real HP[2](
|
||||
each quantity="Mechanics.Translation.Displace",
|
||||
each displayUnit="m") "Real horizontal position of the drone";
|
||||
Real HNSC[2](
|
||||
each quantity="Mechanics.Translation.Velocity",
|
||||
each displayUnit="m/s") "Horizontal Navigation Speed Consign";
|
||||
Real ASC(
|
||||
quantity="Mechanics.Translation.Velocity",
|
||||
displayUnit="m/s") "AltitudeSpeedConsign";
|
||||
parameter Real Kph[2,2]={{1,0},{0,1}} "Proportional regulator gain attitude chanel";
|
||||
equation
|
||||
// enter your equations here
|
||||
DHP = {DronePositionConsign[1],DronePositionConsign[2]};
|
||||
HP = {Position[1],Position[2]};
|
||||
HNSC = Kph*(DHP-HP);
|
||||
ASC = RCVErticalSpeedCommand;
|
||||
NavigationSpeedConsign = {HNSC[1],HNSC[2],ASC};
|
||||
annotation(Icon(graphics={
|
||||
Rectangle(
|
||||
fillColor={255,255,255},
|
||||
fillPattern=FillPattern.Solid,
|
||||
extent={{-100,100},{100,-100}})}));
|
||||
end ControlPositionSAC;
|
||||
Reference in New Issue
Block a user