You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
2.0 KiB
30 lines
2.0 KiB
within AIDAModelica; |
|
|
|
model CreateMotion "[SF1.1/2/3/4.2] Create motion" |
|
// CP: 65001 |
|
// SimulationX Version: 3.8.2.45319 x64 |
|
Modelica.Blocks.Interfaces.RealInput ThrottleCommandK "Throttle command of k-th motor" annotation( |
|
Placement(transformation(extent = {{-125, -10}, {-85, 30}}), iconTransformation(extent = {{-120, -20}, {-80, 20}}))); |
|
Modelica.Blocks.Interfaces.RealOutput MotorKAngularVelocity(quantity = "Mechanics.Rotation.RotVelocity", displayUnit = "rpm") "Angular velocity of k-th motor" annotation( |
|
Placement(transformation(extent = {{75, 0}, {95, 20}}), iconTransformation(extent = {{86.7, -10}, {106.7, 10}}))); |
|
Modelica.Blocks.Continuous.FirstOrder W(T = 0.2, initType = Modelica.Blocks.Types.Init.InitialState, y_start = 377.59565222) annotation( |
|
Placement(transformation(extent = {{30, 0}, {50, 20}}))); |
|
AIDAModelica.WSSModel wSSModel1 annotation( |
|
Placement(transformation(extent = {{-40, 0}, {-20, 20}}))); |
|
equation |
|
connect(wSSModel1.WSSOut, W.u) annotation( |
|
Line(points = {{-20, 10}, {-15, 10}, {23, 10}, {28, 10}}, color = {0, 0, 127}, thickness = 0.0625)); |
|
//le moteur tourne dans un seul sens |
|
/*MotorKAngularVelocity=max(0,W.y);*/ |
|
connect(wSSModel1.CmdKIn, ThrottleCommandK) annotation( |
|
Line(points = {{-40, 10}, {-45, 10}, {-100, 10}, {-105, 10}}, color = {0, 0, 127}, thickness = 0.0625)); |
|
connect(W.y, MotorKAngularVelocity) annotation( |
|
Line(points = {{51, 10}, {56, 10}, {80, 10}, {85, 10}}, color = {0, 0, 127}, thickness = 0.0625)); |
|
annotation( |
|
ThrottleCommandK(flags = 2), |
|
MotorKAngularVelocity(flags = 2), |
|
W(u(flags = 2), y(flags = 2)), |
|
wSSModel1(CmdKIn(flags = 2), WSSOut(flags = 2)), |
|
Icon(coordinateSystem(extent = {{-100, -50}, {100, 50}}, initialScale = 0.1), graphics = {Rectangle(fillColor = {255, 255, 255}, fillPattern = FillPattern.Solid, extent = {{-100, 50}, {100, -50}}), Text(origin = {-4, 0}, extent = {{-36, 8}, {36, -8}}, textString = "%name")}), |
|
experiment(StopTime = 1, StartTime = 0, Interval = 0.002, MaxInterval = "0.001")); |
|
end CreateMotion;
|
|
|