"C:/avmOm/OpenModelica/libraries/" 0 "C:/avmOm" "C:/avmOm/package.mo" "C:\\\\Users\\\\BRUNOS~1\\\\AppData\\\\Local\\\\Temp\\\\" "C:/Users/BRUNOS~1/AppData/Local/Temp" true true "function Modelica.Blocks.Sources.KinematicPTP2.position \"Inline after index reduction\" input Real[3] q_qd_qdd \"Required values for position, speed, acceleration\"; input Real dummy \"Just to have one input signal that should be differentiated to avoid possible problems in the Modelica tool (is not used)\"; output Real q; algorithm q := q_qd_qdd[1]; end Modelica.Blocks.Sources.KinematicPTP2.position; function Modelica.Blocks.Sources.KinematicPTP2.position_der \"Inline after index reduction\" input Real[3] q_qd_qdd \"Required values for position, speed, acceleration\"; input Real dummy \"Just to have one input signal that should be differentiated to avoid possible problems in the Modelica tool (is not used)\"; input Real dummy_der; output Real qd; algorithm qd := q_qd_qdd[2]; end Modelica.Blocks.Sources.KinematicPTP2.position_der; function Modelica.Blocks.Sources.KinematicPTP2.position_der2 input Real[3] q_qd_qdd \"Required values for position, speed, acceleration\"; input Real dummy \"Just to have one input signal that should be differentiated to avoid possible problems in the Modelica tool (is not used)\"; input Real dummy_der; input Real dummy_der2; output Real qdd; algorithm qdd := q_qd_qdd[3]; end Modelica.Blocks.Sources.KinematicPTP2.position_der2; function Modelica.Math.tempInterpol1 \"Temporary function for linear interpolation (will be removed)\" input Real u \"input value (first column of table)\"; input Real[:, :] table \"table to be interpolated\"; input Integer icol \"column of table to be interpolated\"; output Real y \"interpolated input value (icol column of table)\"; protected Integer i; protected Integer n \"number of rows of table\"; protected Real u1; protected Real u2; protected Real y1; protected Real y2; algorithm n := size(table, 1); if n <= 1 then y := table[1, icol]; else if u <= table[1,1] then i := 1; else i := 2; while i < n and u >= table[i, 1] loop i := 1 + i; end while; i := i + -1; end if; u1 := table[i, 1]; u2 := table[1 + i, 1]; y1 := table[i, icol]; y2 := table[1 + i, icol]; assert(u2 > u1, \"Table index must be increasing\"); y := y1 + (y2 - y1) * (u - u1) / (u2 - u1); end if; end Modelica.Math.tempInterpol1; function Modelica.SIunits.Conversions.from_deg \"Inline before index reduction\" \"Convert from degree to radian\" input Real degree(quantity = \"Angle\", unit = \"deg\") \"degree value\"; output Real radian(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"radian value\"; algorithm radian := 0.0174532925199433 * degree; end Modelica.SIunits.Conversions.from_deg; class Modelica.Mechanics.MultiBody.Examples.Systems.RobotR3.oneAxis parameter Real mLoad(quantity = \"Mass\", unit = \"kg\", min = 0.0) = 15.0 \"Mass of load\"; parameter Real kp = 5.0 \"Gain of position controller of axis 2\"; parameter Real ks = 0.5 \"Gain of speed controller of axis 2\"; parameter Real Ts(quantity = \"Time\", unit = \"s\") = 0.05 \"Time constant of integrator of speed controller of axis 2\"; parameter Real startAngle(unit = \"deg\") = 0.0 \"Start angle of axis 2\"; parameter Real endAngle(unit = \"deg\") = 120.0 \"End angle of axis 2\"; parameter Real swingTime(quantity = \"Time\", unit = \"s\") = 0.5 \"Additional time after reference motion is in rest before simulation is stopped\"; parameter Real refSpeedMax(quantity = \"AngularVelocity\", unit = \"rad/s\") = 3.0 \"Maximum reference speed\"; parameter Real refAccMax(quantity = \"AngularAcceleration\", unit = \"rad/s2\") = 10.0 \"Maximum reference acceleration\"; Boolean controlBus.axisControlBus1.motion_ref \"= true, if reference motion is not in rest\"; Real controlBus.axisControlBus1.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real controlBus.axisControlBus1.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real controlBus.axisControlBus1.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real controlBus.axisControlBus1.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real controlBus.axisControlBus1.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real controlBus.axisControlBus1.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real controlBus.axisControlBus1.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real controlBus.axisControlBus1.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real controlBus.axisControlBus1.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real controlBus.axisControlBus1.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Boolean controlBus.axisControlBus2.motion_ref \"= true, if reference motion is not in rest\"; Real controlBus.axisControlBus2.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real controlBus.axisControlBus2.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real controlBus.axisControlBus2.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real controlBus.axisControlBus2.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real controlBus.axisControlBus2.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real controlBus.axisControlBus2.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real controlBus.axisControlBus2.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real controlBus.axisControlBus2.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real controlBus.axisControlBus2.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real controlBus.axisControlBus2.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Boolean controlBus.axisControlBus3.motion_ref \"= true, if reference motion is not in rest\"; Real controlBus.axisControlBus3.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real controlBus.axisControlBus3.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real controlBus.axisControlBus3.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real controlBus.axisControlBus3.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real controlBus.axisControlBus3.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real controlBus.axisControlBus3.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real controlBus.axisControlBus3.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real controlBus.axisControlBus3.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real controlBus.axisControlBus3.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real controlBus.axisControlBus3.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Boolean controlBus.axisControlBus4.motion_ref \"= true, if reference motion is not in rest\"; Real controlBus.axisControlBus4.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real controlBus.axisControlBus4.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real controlBus.axisControlBus4.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real controlBus.axisControlBus4.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real controlBus.axisControlBus4.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real controlBus.axisControlBus4.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real controlBus.axisControlBus4.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real controlBus.axisControlBus4.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real controlBus.axisControlBus4.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real controlBus.axisControlBus4.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Boolean controlBus.axisControlBus5.motion_ref \"= true, if reference motion is not in rest\"; Real controlBus.axisControlBus5.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real controlBus.axisControlBus5.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real controlBus.axisControlBus5.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real controlBus.axisControlBus5.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real controlBus.axisControlBus5.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real controlBus.axisControlBus5.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real controlBus.axisControlBus5.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real controlBus.axisControlBus5.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real controlBus.axisControlBus5.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real controlBus.axisControlBus5.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Boolean controlBus.axisControlBus6.motion_ref \"= true, if reference motion is not in rest\"; Real controlBus.axisControlBus6.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real controlBus.axisControlBus6.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real controlBus.axisControlBus6.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real controlBus.axisControlBus6.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real controlBus.axisControlBus6.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real controlBus.axisControlBus6.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real controlBus.axisControlBus6.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real controlBus.axisControlBus6.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real controlBus.axisControlBus6.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real controlBus.axisControlBus6.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Real load.flange_a.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real load.flange_a.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Real load.flange_b.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real load.flange_b.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; parameter Real load.J(quantity = \"MomentOfInertia\", unit = \"kg.m2\", min = 0.0, start = 1.0) = 1.3 * mLoad \"Moment of inertia\"; parameter enumeration(never, avoid, default, prefer, always) load.stateSelect = StateSelect.default \"Priority to use phi and w as states\"; Real load.a(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Absolute angular acceleration of component (= der(w))\"; Real load.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\", StateSelect = StateSelect.default) \"Absolute rotation angle of component\"; Real load.w(quantity = \"AngularVelocity\", unit = \"rad/s\", StateSelect = StateSelect.default) \"Absolute angular velocity of component (= der(phi))\"; parameter Real axis.kp = kp \"Gain of position controller\"; parameter Real axis.ks = ks \"Gain of speed controller\"; parameter Real axis.Ts(quantity = \"Time\", unit = \"s\") = Ts \"Time constant of integrator of speed controller\"; parameter Real axis.k = 1.1616 \"Gain of motor\"; parameter Real axis.w = 5500.0 \"Time constant of motor\"; parameter Real axis.D = 0.6 \"Damping constant of motor\"; parameter Real axis.J(quantity = \"MomentOfInertia\", unit = \"kg.m2\", min = 0.0) = 0.0013 \"Moment of inertia of motor\"; parameter Real axis.ratio = 210.0 \"Gear ratio\"; parameter Real axis.Rv0(quantity = \"Torque\", unit = \"N.m\") = 0.5 \"Viscous friction torque at zero velocity in [Nm]\"; parameter Real axis.Rv1(unit = \"N.m.s/rad\") = 0.000769230769230769 \"Viscous friction coefficient in [Nms/rad]\"; parameter Real axis.peak = 1.0 \"Maximum static friction torque is peak*Rv0 (peak >= 1)\"; Real axis.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Boolean axis.axisControlBus.motion_ref \"= true, if reference motion is not in rest\"; Real axis.axisControlBus.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real axis.axisControlBus.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real axis.axisControlBus.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real axis.axisControlBus.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real axis.axisControlBus.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real axis.axisControlBus.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real axis.axisControlBus.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real axis.axisControlBus.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real axis.axisControlBus.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real axis.axisControlBus.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Real axis.angleSensor.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.angleSensor.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; output Real axis.angleSensor.phi \"Absolute angle of flange\"; Real axis.speedSensor.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.speedSensor.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; output Real axis.speedSensor.w \"Absolute angular velocity of flange\"; Real axis.accSensor.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.accSensor.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Real axis.accSensor.w(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Absolute angular velocity of flange\"; output Real axis.accSensor.a \"Absolute angular acceleration of flange\"; parameter Boolean axis.initializeFlange.use_phi_start = true \"= true, if initial angle is defined by input phi_start, otherwise not initialized\"; parameter Boolean axis.initializeFlange.use_w_start = true \"= true, if initial speed is defined by input w_start, otherwise not initialized\"; parameter Boolean axis.initializeFlange.use_a_start = true \"= true, if initial angular acceleration is defined by input a_start, otherwise not initialized\"; parameter enumeration(never, avoid, default, prefer, always) axis.initializeFlange.stateSelect = StateSelect.prefer \"Priority to use flange angle and speed as states\"; Real axis.initializeFlange.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.initializeFlange.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Real axis.initializeFlange.set_flange_tau.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.initializeFlange.set_flange_tau.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; input Real axis.initializeFlange.phi_start \"Initial angle of flange\"; input Real axis.initializeFlange.set_phi_start.phi_start \"Start angle\"; Real axis.initializeFlange.set_phi_start.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.initializeFlange.set_phi_start.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; input Real axis.initializeFlange.w_start \"Initial speed of flange\"; input Real axis.initializeFlange.set_w_start.w_start \"Start angular velocity\"; Real axis.initializeFlange.set_w_start.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.initializeFlange.set_w_start.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; input Real axis.initializeFlange.a_start \"Initial angular acceleration of flange\"; input Real axis.initializeFlange.set_a_start.a_start \"Start angular acceleration\"; Real axis.initializeFlange.set_a_start.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\", StateSelect = StateSelect.avoid) \"Absolute rotation angle of flange\"; Real axis.initializeFlange.set_a_start.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Real axis.initializeFlange.set_a_start.w(quantity = \"AngularVelocity\", unit = \"rad/s\") = der(axis.initializeFlange.set_a_start.flange.phi); Real axis.initializeFlange.phi_flange(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\", StateSelect = StateSelect.prefer) = axis.initializeFlange.flange.phi \"Flange angle\"; Real axis.initializeFlange.w_flange(quantity = \"AngularVelocity\", unit = \"rad/s\", StateSelect = StateSelect.prefer) = der(axis.initializeFlange.phi_flange) \"= der(phi_flange)\"; output Real axis.const.y \"Connector of Real output signal\"; parameter Real axis.const.k(start = 1.0) = 0.0 \"Constant output value\"; parameter Real axis.c(unit = \"N.m/rad\") = 8.0 \"Spring constant\"; parameter Real axis.cd(unit = \"N.m.s/rad\") = 0.01 \"Damper constant\"; parameter Real axis.motor.J(quantity = \"MomentOfInertia\", unit = \"kg.m2\", min = 0.0) = axis.J \"Moment of inertia of motor\"; parameter Real axis.motor.k = axis.k \"Gain of motor\"; parameter Real axis.motor.w = axis.w \"Time constant of motor\"; parameter Real axis.motor.D = axis.D \"Damping constant of motor\"; parameter Real axis.motor.w_max(quantity = \"AngularVelocity\", unit = \"rad/s\") = 315.0 \"Maximum speed of motor\"; parameter Real axis.motor.i_max(quantity = \"ElectricCurrent\", unit = \"A\") = 9.0 \"Maximum current of motor\"; Real axis.motor.flange_motor.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.motor.flange_motor.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Real axis.motor.Vs.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Vs.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.Vs.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Vs.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; input Real axis.motor.Vs.v \"Voltage between pin p and n (= p.v - n.v) as input signal\"; Real axis.motor.Vs.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.diff.v1(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop over the left port\"; Real axis.motor.diff.v2(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop over the right port\"; Real axis.motor.diff.i1(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pos. to neg. pin of the left port\"; Real axis.motor.diff.i2(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pos. to neg. pin of the right port\"; Real axis.motor.diff.p1.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.diff.p1.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.diff.n1.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.diff.n1.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.diff.p2.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.diff.p2.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.diff.n2.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.diff.n2.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.power.v1(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop over the left port\"; Real axis.motor.power.v2(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop over the right port\"; Real axis.motor.power.i1(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pos. to neg. pin of the left port\"; Real axis.motor.power.i2(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pos. to neg. pin of the right port\"; Real axis.motor.power.p1.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.power.p1.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.power.n1.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.power.n1.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.power.p2.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.power.p2.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.power.n2.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.power.n2.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.Ra.v(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop between the two pins (= p.v - n.v)\"; Real axis.motor.Ra.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.Ra.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Ra.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.Ra.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Ra.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; parameter Boolean axis.motor.Ra.useHeatPort = false \"=true, if HeatPort is enabled\"; Real axis.motor.Ra.LossPower(quantity = \"Power\", unit = \"W\") \"Loss power leaving component via HeatPort\"; Real axis.motor.Ra.T_heatPort(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) \"Temperature of HeatPort\"; parameter Real axis.motor.Ra.R(quantity = \"Resistance\", unit = \"Ohm\", start = 1.0) = 250.0 \"Resistance at temperature T_ref\"; parameter Real axis.motor.Ra.T_ref(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = 300.15 \"Reference temperature\"; parameter Real axis.motor.Ra.alpha(quantity = \"LinearTemperatureCoefficient\", unit = \"1/K\") = 0.0 \"Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))\"; Real axis.motor.Ra.R_actual(quantity = \"Resistance\", unit = \"Ohm\") \"Actual resistance = R*(1 + alpha*(T_heatPort - T_ref))\"; parameter Real axis.motor.Ra.T(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = axis.motor.Ra.T_ref \"Fixed device temperature if useHeatPort = false\"; Real axis.motor.Rd2.v(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop between the two pins (= p.v - n.v)\"; Real axis.motor.Rd2.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.Rd2.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rd2.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.Rd2.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rd2.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; parameter Boolean axis.motor.Rd2.useHeatPort = false \"=true, if HeatPort is enabled\"; Real axis.motor.Rd2.LossPower(quantity = \"Power\", unit = \"W\") \"Loss power leaving component via HeatPort\"; Real axis.motor.Rd2.T_heatPort(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) \"Temperature of HeatPort\"; parameter Real axis.motor.Rd2.R(quantity = \"Resistance\", unit = \"Ohm\", start = 1.0) = 100.0 \"Resistance at temperature T_ref\"; parameter Real axis.motor.Rd2.T_ref(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = 300.15 \"Reference temperature\"; parameter Real axis.motor.Rd2.alpha(quantity = \"LinearTemperatureCoefficient\", unit = \"1/K\") = 0.0 \"Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))\"; Real axis.motor.Rd2.R_actual(quantity = \"Resistance\", unit = \"Ohm\") \"Actual resistance = R*(1 + alpha*(T_heatPort - T_ref))\"; parameter Real axis.motor.Rd2.T(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = axis.motor.Rd2.T_ref \"Fixed device temperature if useHeatPort = false\"; Real axis.motor.OpI.v1(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop over the left port\"; Real axis.motor.OpI.v2(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop over the right port\"; Real axis.motor.OpI.i1(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pos. to neg. pin of the left port\"; Real axis.motor.OpI.i2(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pos. to neg. pin of the right port\"; Real axis.motor.OpI.p1.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.OpI.p1.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.OpI.n1.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.OpI.n1.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.OpI.p2.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.OpI.p2.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.OpI.n2.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.OpI.n2.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.Rd1.v(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop between the two pins (= p.v - n.v)\"; Real axis.motor.Rd1.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.Rd1.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rd1.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.Rd1.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rd1.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; parameter Boolean axis.motor.Rd1.useHeatPort = false \"=true, if HeatPort is enabled\"; Real axis.motor.Rd1.LossPower(quantity = \"Power\", unit = \"W\") \"Loss power leaving component via HeatPort\"; Real axis.motor.Rd1.T_heatPort(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) \"Temperature of HeatPort\"; parameter Real axis.motor.Rd1.R(quantity = \"Resistance\", unit = \"Ohm\", start = 1.0) = 100.0 \"Resistance at temperature T_ref\"; parameter Real axis.motor.Rd1.T_ref(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = 300.15 \"Reference temperature\"; parameter Real axis.motor.Rd1.alpha(quantity = \"LinearTemperatureCoefficient\", unit = \"1/K\") = 0.0 \"Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))\"; Real axis.motor.Rd1.R_actual(quantity = \"Resistance\", unit = \"Ohm\") \"Actual resistance = R*(1 + alpha*(T_heatPort - T_ref))\"; parameter Real axis.motor.Rd1.T(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = axis.motor.Rd1.T_ref \"Fixed device temperature if useHeatPort = false\"; Real axis.motor.Ri.v(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop between the two pins (= p.v - n.v)\"; Real axis.motor.Ri.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.Ri.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Ri.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.Ri.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Ri.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; parameter Boolean axis.motor.Ri.useHeatPort = false \"=true, if HeatPort is enabled\"; Real axis.motor.Ri.LossPower(quantity = \"Power\", unit = \"W\") \"Loss power leaving component via HeatPort\"; Real axis.motor.Ri.T_heatPort(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) \"Temperature of HeatPort\"; parameter Real axis.motor.Ri.R(quantity = \"Resistance\", unit = \"Ohm\", start = 1.0) = 10.0 \"Resistance at temperature T_ref\"; parameter Real axis.motor.Ri.T_ref(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = 300.15 \"Reference temperature\"; parameter Real axis.motor.Ri.alpha(quantity = \"LinearTemperatureCoefficient\", unit = \"1/K\") = 0.0 \"Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))\"; Real axis.motor.Ri.R_actual(quantity = \"Resistance\", unit = \"Ohm\") \"Actual resistance = R*(1 + alpha*(T_heatPort - T_ref))\"; parameter Real axis.motor.Ri.T(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = axis.motor.Ri.T_ref \"Fixed device temperature if useHeatPort = false\"; Real axis.motor.Rp1.v(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop between the two pins (= p.v - n.v)\"; Real axis.motor.Rp1.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.Rp1.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rp1.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.Rp1.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rp1.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; parameter Boolean axis.motor.Rp1.useHeatPort = false \"=true, if HeatPort is enabled\"; Real axis.motor.Rp1.LossPower(quantity = \"Power\", unit = \"W\") \"Loss power leaving component via HeatPort\"; Real axis.motor.Rp1.T_heatPort(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) \"Temperature of HeatPort\"; parameter Real axis.motor.Rp1.R(quantity = \"Resistance\", unit = \"Ohm\", start = 1.0) = 200.0 \"Resistance at temperature T_ref\"; parameter Real axis.motor.Rp1.T_ref(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = 300.15 \"Reference temperature\"; parameter Real axis.motor.Rp1.alpha(quantity = \"LinearTemperatureCoefficient\", unit = \"1/K\") = 0.0 \"Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))\"; Real axis.motor.Rp1.R_actual(quantity = \"Resistance\", unit = \"Ohm\") \"Actual resistance = R*(1 + alpha*(T_heatPort - T_ref))\"; parameter Real axis.motor.Rp1.T(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = axis.motor.Rp1.T_ref \"Fixed device temperature if useHeatPort = false\"; Real axis.motor.Rp2.v(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop between the two pins (= p.v - n.v)\"; Real axis.motor.Rp2.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.Rp2.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rp2.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.Rp2.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rp2.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; parameter Boolean axis.motor.Rp2.useHeatPort = false \"=true, if HeatPort is enabled\"; Real axis.motor.Rp2.LossPower(quantity = \"Power\", unit = \"W\") \"Loss power leaving component via HeatPort\"; Real axis.motor.Rp2.T_heatPort(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) \"Temperature of HeatPort\"; parameter Real axis.motor.Rp2.R(quantity = \"Resistance\", unit = \"Ohm\", start = 1.0) = 50.0 \"Resistance at temperature T_ref\"; parameter Real axis.motor.Rp2.T_ref(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = 300.15 \"Reference temperature\"; parameter Real axis.motor.Rp2.alpha(quantity = \"LinearTemperatureCoefficient\", unit = \"1/K\") = 0.0 \"Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))\"; Real axis.motor.Rp2.R_actual(quantity = \"Resistance\", unit = \"Ohm\") \"Actual resistance = R*(1 + alpha*(T_heatPort - T_ref))\"; parameter Real axis.motor.Rp2.T(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = axis.motor.Rp2.T_ref \"Fixed device temperature if useHeatPort = false\"; Real axis.motor.Rd4.v(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop between the two pins (= p.v - n.v)\"; Real axis.motor.Rd4.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.Rd4.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rd4.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.Rd4.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rd4.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; parameter Boolean axis.motor.Rd4.useHeatPort = false \"=true, if HeatPort is enabled\"; Real axis.motor.Rd4.LossPower(quantity = \"Power\", unit = \"W\") \"Loss power leaving component via HeatPort\"; Real axis.motor.Rd4.T_heatPort(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) \"Temperature of HeatPort\"; parameter Real axis.motor.Rd4.R(quantity = \"Resistance\", unit = \"Ohm\", start = 1.0) = 100.0 \"Resistance at temperature T_ref\"; parameter Real axis.motor.Rd4.T_ref(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = 300.15 \"Reference temperature\"; parameter Real axis.motor.Rd4.alpha(quantity = \"LinearTemperatureCoefficient\", unit = \"1/K\") = 0.0 \"Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))\"; Real axis.motor.Rd4.R_actual(quantity = \"Resistance\", unit = \"Ohm\") \"Actual resistance = R*(1 + alpha*(T_heatPort - T_ref))\"; parameter Real axis.motor.Rd4.T(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = axis.motor.Rd4.T_ref \"Fixed device temperature if useHeatPort = false\"; Real axis.motor.hall2.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.hall2.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.hall2.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.hall2.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; input Real axis.motor.hall2.v \"Voltage between pin p and n (= p.v - n.v) as input signal\"; Real axis.motor.hall2.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.Rd3.v(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop between the two pins (= p.v - n.v)\"; Real axis.motor.Rd3.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.Rd3.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rd3.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.Rd3.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.Rd3.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; parameter Boolean axis.motor.Rd3.useHeatPort = false \"=true, if HeatPort is enabled\"; Real axis.motor.Rd3.LossPower(quantity = \"Power\", unit = \"W\") \"Loss power leaving component via HeatPort\"; Real axis.motor.Rd3.T_heatPort(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) \"Temperature of HeatPort\"; parameter Real axis.motor.Rd3.R(quantity = \"Resistance\", unit = \"Ohm\", start = 1.0) = 100.0 \"Resistance at temperature T_ref\"; parameter Real axis.motor.Rd3.T_ref(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = 300.15 \"Reference temperature\"; parameter Real axis.motor.Rd3.alpha(quantity = \"LinearTemperatureCoefficient\", unit = \"1/K\") = 0.0 \"Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))\"; Real axis.motor.Rd3.R_actual(quantity = \"Resistance\", unit = \"Ohm\") \"Actual resistance = R*(1 + alpha*(T_heatPort - T_ref))\"; parameter Real axis.motor.Rd3.T(quantity = \"ThermodynamicTemperature\", unit = \"K\", displayUnit = \"degC\", min = 1.0, max = 6000.0, start = 288.15, nominal = 300.0) = axis.motor.Rd3.T_ref \"Fixed device temperature if useHeatPort = false\"; Real axis.motor.g1.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.g1.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.g2.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.g2.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.g3.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.g3.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.hall1.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.hall1.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.hall1.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.hall1.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; output Real axis.motor.hall1.i \"current in the branch from p to n as output signal\"; Real axis.motor.g4.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.g4.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.g5.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.g5.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.phi.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.motor.phi.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; output Real axis.motor.phi.phi \"Absolute angle of flange\"; Real axis.motor.speed.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.motor.speed.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; output Real axis.motor.speed.w \"Absolute angular velocity of flange\"; Boolean axis.motor.axisControlBus.motion_ref \"= true, if reference motion is not in rest\"; Real axis.motor.axisControlBus.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real axis.motor.axisControlBus.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real axis.motor.axisControlBus.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real axis.motor.axisControlBus.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real axis.motor.axisControlBus.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real axis.motor.axisControlBus.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real axis.motor.axisControlBus.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real axis.motor.axisControlBus.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real axis.motor.axisControlBus.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real axis.motor.axisControlBus.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; parameter Real axis.motor.convert1.k(unit = \"1\", start = 1.0) = 1.0 \"Gain value multiplied with input signal\"; input Real axis.motor.convert1.u \"Input signal connector\"; output Real axis.motor.convert1.y \"Output signal connector\"; parameter Real axis.motor.convert2.k(unit = \"1\", start = 1.0) = 1.0 \"Gain value multiplied with input signal\"; input Real axis.motor.convert2.u \"Input signal connector\"; output Real axis.motor.convert2.y \"Output signal connector\"; Real axis.motor.Jmotor.flange_a.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.motor.Jmotor.flange_a.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Real axis.motor.Jmotor.flange_b.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.motor.Jmotor.flange_b.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; parameter Real axis.motor.Jmotor.J(quantity = \"MomentOfInertia\", unit = \"kg.m2\", min = 0.0, start = 1.0) = axis.motor.J \"Moment of inertia\"; parameter enumeration(never, avoid, default, prefer, always) axis.motor.Jmotor.stateSelect = StateSelect.default \"Priority to use phi and w as states\"; Real axis.motor.Jmotor.a(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Absolute angular acceleration of component (= der(w))\"; Real axis.motor.Jmotor.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\", StateSelect = StateSelect.default) \"Absolute rotation angle of component\"; Real axis.motor.Jmotor.w(quantity = \"AngularVelocity\", unit = \"rad/s\", StateSelect = StateSelect.default) \"Absolute angular velocity of component (= der(phi))\"; parameter Boolean axis.motor.emf.useSupport = false \"= true, if support flange enabled, otherwise implicitly grounded\"; parameter Real axis.motor.emf.k(quantity = \"ElectricalTorqueConstant\", unit = \"N.m/A\", start = 1.0) = axis.motor.k \"Transformation coefficient\"; Real axis.motor.emf.v(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop between the two pins\"; Real axis.motor.emf.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from positive to negative pin\"; Real axis.motor.emf.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of shaft flange with respect to support (= flange.phi - support.phi)\"; Real axis.motor.emf.w(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Angular velocity of flange relative to support\"; Real axis.motor.emf.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.emf.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.emf.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.emf.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.emf.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.motor.emf.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; parameter Real axis.motor.emf.fixed.phi0(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") = 0.0 \"Fixed offset angle of housing\"; Real axis.motor.emf.fixed.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.motor.emf.fixed.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; input Real axis.motor.emf.internalSupport.tau(quantity = \"Torque\", unit = \"N.m\") = -axis.motor.emf.flange.tau \"External support torque (must be computed via torque balance in model where InternalSupport is used; = flange.tau)\"; Real axis.motor.emf.internalSupport.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"External support angle (= flange.phi)\"; Real axis.motor.emf.internalSupport.flange.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.motor.emf.internalSupport.flange.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Real axis.motor.La.v(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop between the two pins (= p.v - n.v)\"; Real axis.motor.La.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.La.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.La.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.La.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.La.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; parameter Real axis.motor.La.L(quantity = \"Inductance\", unit = \"H\", start = 1.0) = 250.0 / (axis.motor.w * axis.motor.D * 2.0) \"Inductance\"; parameter Real axis.motor.La.IC(quantity = \"ElectricCurrent\", unit = \"A\") = 0.0 \"Initial Value\"; parameter Boolean axis.motor.La.UIC = false; Real axis.motor.C.v(quantity = \"ElectricPotential\", unit = \"V\") \"Voltage drop between the two pins (= p.v - n.v)\"; Real axis.motor.C.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing from pin p to pin n\"; Real axis.motor.C.p.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.C.p.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; Real axis.motor.C.n.v(quantity = \"ElectricPotential\", unit = \"V\") \"Potential at the pin\"; Real axis.motor.C.n.i(quantity = \"ElectricCurrent\", unit = \"A\") \"Current flowing into the pin\"; parameter Real axis.motor.C.C(quantity = \"Capacitance\", unit = \"F\", min = 0.0, start = 1.0) = 0.004 * axis.motor.D / axis.motor.w \"Capacitance\"; parameter Real axis.motor.C.IC(quantity = \"ElectricPotential\", unit = \"V\") = 0.0 \"Initial Value\"; parameter Boolean axis.motor.C.UIC = false; parameter Real axis.controller.kp = axis.kp \"Gain of position controller\"; parameter Real axis.controller.ks = axis.ks \"Gain of speed controller\"; parameter Real axis.controller.Ts(quantity = \"Time\", unit = \"s\") = axis.Ts \"Time constant of integrator of speed controller\"; parameter Real axis.controller.ratio = axis.ratio \"Gear ratio of gearbox\"; input Real axis.controller.feedback1.u1; input Real axis.controller.feedback1.u2; output Real axis.controller.feedback1.y; parameter Real axis.controller.add3.k1 = 1.0 \"Gain of upper input\"; parameter Real axis.controller.add3.k2 = 1.0 \"Gain of middle input\"; parameter Real axis.controller.add3.k3 = -1.0 \"Gain of lower input\"; input Real axis.controller.add3.u1 \"Connector 1 of Real input signals\"; input Real axis.controller.add3.u2 \"Connector 2 of Real input signals\"; input Real axis.controller.add3.u3 \"Connector 3 of Real input signals\"; output Real axis.controller.add3.y \"Connector of Real output signals\"; Boolean axis.controller.axisControlBus.motion_ref \"= true, if reference motion is not in rest\"; Real axis.controller.axisControlBus.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real axis.controller.axisControlBus.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real axis.controller.axisControlBus.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real axis.controller.axisControlBus.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real axis.controller.axisControlBus.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real axis.controller.axisControlBus.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real axis.controller.axisControlBus.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real axis.controller.axisControlBus.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real axis.controller.axisControlBus.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real axis.controller.axisControlBus.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; parameter Real axis.controller.P.k(unit = \"1\", start = 1.0) = axis.controller.kp \"Gain value multiplied with input signal\"; input Real axis.controller.P.u \"Input signal connector\"; output Real axis.controller.P.y \"Output signal connector\"; input Real axis.controller.PI.u \"Connector of Real input signal\"; output Real axis.controller.PI.y \"Connector of Real output signal\"; parameter Real axis.controller.PI.k(unit = \"1\") = axis.controller.ks \"Gain\"; parameter Real axis.controller.PI.T(quantity = \"Time\", unit = \"s\", min = 1e-60, start = 1.0) = axis.controller.Ts \"Time Constant (T>0 required)\"; parameter enumeration(NoInit, SteadyState, InitialState, InitialOutput) axis.controller.PI.initType = Modelica.Blocks.Types.Init.NoInit \"Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)\"; parameter Real axis.controller.PI.x_start = 0.0 \"Initial or guess value of state\"; parameter Real axis.controller.PI.y_start = 0.0 \"Initial value of output\"; output Real axis.controller.PI.x(start = axis.controller.PI.x_start) \"State of block\"; parameter Real axis.controller.gain1.k(unit = \"1\", start = 1.0) = axis.controller.ratio \"Gain value multiplied with input signal\"; input Real axis.controller.gain1.u \"Input signal connector\"; output Real axis.controller.gain1.y \"Output signal connector\"; parameter Real axis.controller.gain2.k(unit = \"1\", start = 1.0) = axis.controller.ratio \"Gain value multiplied with input signal\"; input Real axis.controller.gain2.u \"Input signal connector\"; output Real axis.controller.gain2.y \"Output signal connector\"; Real axis.gear.flange_a.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.gear.flange_a.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Real axis.gear.flange_b.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.gear.flange_b.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; parameter Real axis.gear.i = axis.ratio \"gear ratio\"; parameter Real axis.gear.c(unit = \"N.m/rad\") = axis.c \"Spring constant\"; parameter Real axis.gear.d(unit = \"N.m.s/rad\") = axis.cd \"Damper constant\"; parameter Real axis.gear.Rv0(quantity = \"Torque\", unit = \"N.m\") = axis.Rv0 \"Viscous friction torque at zero velocity\"; parameter Real axis.gear.Rv1(unit = \"N.m.s/rad\") = axis.Rv1 \"Viscous friction coefficient (R=Rv0+Rv1*abs(qd))\"; parameter Real axis.gear.peak = axis.peak \"Maximum static friction torque is peak*Rv0 (peak >= 1)\"; Real axis.gear.a_rel(quantity = \"AngularAcceleration\", unit = \"rad/s2\") = der(axis.gear.spring.w_rel) \"Relative angular acceleration of spring\"; constant Real axis.gear.unitAngularVelocity(quantity = \"AngularVelocity\", unit = \"rad/s\") = 1.0; constant Real axis.gear.unitTorque(quantity = \"Torque\", unit = \"N.m\") = 1.0; parameter Boolean axis.gear.gear.useSupport = false \"= true, if support flange enabled, otherwise implicitly grounded\"; Real axis.gear.gear.flange_a.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.gear.gear.flange_a.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Real axis.gear.gear.flange_b.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.gear.gear.flange_b.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; protected Real axis.gear.gear.phi_support(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute angle of support flange\"; parameter Real axis.gear.gear.ratio(start = 1.0) = axis.gear.i \"Transmission ratio (flange_a.phi/flange_b.phi)\"; Real axis.gear.gear.phi_a(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle between left shaft flange and support\"; Real axis.gear.gear.phi_b(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle between right shaft flange and support\"; Real axis.gear.spring.a_rel(quantity = \"AngularAcceleration\", unit = \"rad/s2\", start = 0.0) \"Relative angular acceleration (= der(w_rel))\"; Real axis.gear.spring.tau(quantity = \"Torque\", unit = \"N.m\") \"Torque between flanges (= flange_b.tau)\"; Real axis.gear.spring.flange_a.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.gear.spring.flange_a.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Real axis.gear.spring.flange_b.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.gear.spring.flange_b.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; parameter Real axis.gear.spring.phi_nominal(quantity = \"Angle\", unit = \"rad\", displayUnit = \"rad\") = 0.0001 \"Nominal value of phi_rel (used for scaling)\"; parameter enumeration(never, avoid, default, prefer, always) axis.gear.spring.stateSelect = StateSelect.prefer \"Priority to use phi_rel and w_rel as states\"; parameter Boolean axis.gear.spring.useHeatPort = false \"=true, if heatPort is enabled\"; Real axis.gear.spring.lossPower(quantity = \"Power\", unit = \"W\") \"Loss power leaving component via heatPort (> 0, if heat is flowing out of component)\"; parameter Real axis.gear.spring.c(quantity = \"RotationalSpringConstant\", unit = \"N.m/rad\", min = 0.0, start = 100000.0) = axis.gear.c \"Spring constant\"; parameter Real axis.gear.spring.d(quantity = \"RotationalDampingConstant\", unit = \"N.m.s/rad\", min = 0.0, start = 0.0) = axis.gear.d \"Damping constant\"; parameter Real axis.gear.spring.phi_rel0(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") = 0.0 \"Unstretched spring angle\"; protected Real axis.gear.spring.tau_c(quantity = \"Torque\", unit = \"N.m\") \"Spring torque\"; protected Real axis.gear.spring.tau_d(quantity = \"Torque\", unit = \"N.m\") \"Damping torque\"; Real axis.gear.spring.phi_rel(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\", start = 0.0, nominal = axis.gear.spring.phi_nominal, StateSelect = StateSelect.prefer) \"Relative rotation angle (= flange_b.phi - flange_a.phi)\"; Real axis.gear.spring.w_rel(quantity = \"AngularVelocity\", unit = \"rad/s\", start = 0.0, StateSelect = StateSelect.prefer) \"Relative angular velocity (= der(phi_rel))\"; parameter Boolean axis.gear.bearingFriction.useSupport = false \"= true, if support flange enabled, otherwise implicitly grounded\"; Real axis.gear.bearingFriction.flange_a.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.gear.bearingFriction.flange_a.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; Real axis.gear.bearingFriction.flange_b.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute rotation angle of flange\"; Real axis.gear.bearingFriction.flange_b.tau(quantity = \"Torque\", unit = \"N.m\") \"Cut torque in the flange\"; protected Real axis.gear.bearingFriction.phi_support(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Absolute angle of support flange\"; parameter Real axis.gear.bearingFriction.w_small(quantity = \"AngularVelocity\", unit = \"rad/s\") = 10000000000.0 \"Relative angular velocity near to zero if jumps due to a reinit(..) of the velocity can occur (set to low value only if such impulses can occur)\"; Real axis.gear.bearingFriction.w_relfric(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Relative angular velocity between frictional surfaces\"; Real axis.gear.bearingFriction.a_relfric(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Relative angular acceleration between frictional surfaces\"; Real axis.gear.bearingFriction.tau0(quantity = \"Torque\", unit = \"N.m\") \"Friction torque for w=0 and forward sliding\"; Real axis.gear.bearingFriction.tau0_max(quantity = \"Torque\", unit = \"N.m\") \"Maximum friction torque for w=0 and locked\"; Boolean axis.gear.bearingFriction.free \"true, if frictional element is not active\"; Real axis.gear.bearingFriction.sa(unit = \"1\") \"Path parameter of friction characteristic tau = f(a_relfric)\"; Boolean axis.gear.bearingFriction.startForward(start = false, fixed = true) \"true, if w_rel=0 and start of forward sliding\"; Boolean axis.gear.bearingFriction.startBackward(start = false, fixed = true) \"true, if w_rel=0 and start of backward sliding\"; Boolean axis.gear.bearingFriction.locked(start = false) \"true, if w_rel=0 and not sliding\"; constant Integer axis.gear.bearingFriction.Unknown = 3 \"Value of mode is not known\"; constant Integer axis.gear.bearingFriction.Free = 2 \"Element is not active\"; constant Integer axis.gear.bearingFriction.Forward = 1 \"w_rel > 0 (forward sliding)\"; constant Integer axis.gear.bearingFriction.Stuck = 0 \"w_rel = 0 (forward sliding, locked or backward sliding)\"; constant Integer axis.gear.bearingFriction.Backward = -1 \"w_rel < 0 (backward sliding)\"; protected constant Real axis.gear.bearingFriction.unitAngularAcceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") = 1.0; protected constant Real axis.gear.bearingFriction.unitTorque(quantity = \"Torque\", unit = \"N.m\") = 1.0; parameter Boolean axis.gear.bearingFriction.useHeatPort = false \"=true, if heatPort is enabled\"; Real axis.gear.bearingFriction.lossPower(quantity = \"Power\", unit = \"W\") \"Loss power leaving component via heatPort (> 0, if heat is flowing out of component)\"; parameter Real axis.gear.bearingFriction.tau_pos[1,1] = 0.0 \"[w,tau] Positive sliding friction characteristic (w>=0)\"; parameter Real axis.gear.bearingFriction.tau_pos[1,2] = axis.gear.Rv0 \"[w,tau] Positive sliding friction characteristic (w>=0)\"; parameter Real axis.gear.bearingFriction.tau_pos[2,1] = 1.0 \"[w,tau] Positive sliding friction characteristic (w>=0)\"; parameter Real axis.gear.bearingFriction.tau_pos[2,2] = axis.gear.Rv0 + axis.gear.Rv1 \"[w,tau] Positive sliding friction characteristic (w>=0)\"; parameter Real axis.gear.bearingFriction.peak(min = 1.0) = 1.0 \"peak*tau_pos[1,2] = Maximum friction torque for w==0\"; Real axis.gear.bearingFriction.phi(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle between shaft flanges (flange_a, flange_b) and support\"; Real axis.gear.bearingFriction.tau(quantity = \"Torque\", unit = \"N.m\") \"Friction torque\"; Real axis.gear.bearingFriction.w(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Absolute angular velocity of flange_a and flange_b\"; Real axis.gear.bearingFriction.a(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Absolute angular acceleration of flange_a and flange_b\"; Integer axis.gear.bearingFriction.mode(min = -1, max = 3, start = 3, fixed = true); parameter Real pathPlanning.angleBegDeg(unit = \"deg\") = startAngle \"Start angle\"; parameter Real pathPlanning.angleEndDeg(unit = \"deg\") = endAngle \"End angle\"; parameter Real pathPlanning.speedMax(quantity = \"AngularVelocity\", unit = \"rad/s\") = refSpeedMax \"Maximum axis speed\"; parameter Real pathPlanning.accMax(quantity = \"AngularAcceleration\", unit = \"rad/s2\") = refAccMax \"Maximum axis acceleration\"; parameter Real pathPlanning.startTime(quantity = \"Time\", unit = \"s\") = 0.0 \"Start time of movement\"; parameter Real pathPlanning.swingTime(quantity = \"Time\", unit = \"s\") = swingTime \"Additional time after reference motion is in rest before simulation is stopped\"; Boolean pathPlanning.controlBus.axisControlBus1.motion_ref \"= true, if reference motion is not in rest\"; Real pathPlanning.controlBus.axisControlBus1.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus1.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus1.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus1.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus1.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus1.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus1.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real pathPlanning.controlBus.axisControlBus1.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real pathPlanning.controlBus.axisControlBus1.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real pathPlanning.controlBus.axisControlBus1.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Boolean pathPlanning.controlBus.axisControlBus2.motion_ref \"= true, if reference motion is not in rest\"; Real pathPlanning.controlBus.axisControlBus2.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus2.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus2.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus2.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus2.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus2.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus2.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real pathPlanning.controlBus.axisControlBus2.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real pathPlanning.controlBus.axisControlBus2.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real pathPlanning.controlBus.axisControlBus2.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Boolean pathPlanning.controlBus.axisControlBus3.motion_ref \"= true, if reference motion is not in rest\"; Real pathPlanning.controlBus.axisControlBus3.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus3.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus3.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus3.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus3.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus3.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus3.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real pathPlanning.controlBus.axisControlBus3.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real pathPlanning.controlBus.axisControlBus3.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real pathPlanning.controlBus.axisControlBus3.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Boolean pathPlanning.controlBus.axisControlBus4.motion_ref \"= true, if reference motion is not in rest\"; Real pathPlanning.controlBus.axisControlBus4.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus4.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus4.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus4.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus4.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus4.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus4.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real pathPlanning.controlBus.axisControlBus4.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real pathPlanning.controlBus.axisControlBus4.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real pathPlanning.controlBus.axisControlBus4.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Boolean pathPlanning.controlBus.axisControlBus5.motion_ref \"= true, if reference motion is not in rest\"; Real pathPlanning.controlBus.axisControlBus5.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus5.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus5.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus5.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus5.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus5.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus5.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real pathPlanning.controlBus.axisControlBus5.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real pathPlanning.controlBus.axisControlBus5.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real pathPlanning.controlBus.axisControlBus5.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; Boolean pathPlanning.controlBus.axisControlBus6.motion_ref \"= true, if reference motion is not in rest\"; Real pathPlanning.controlBus.axisControlBus6.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus6.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real pathPlanning.controlBus.axisControlBus6.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus6.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real pathPlanning.controlBus.axisControlBus6.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus6.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real pathPlanning.controlBus.axisControlBus6.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real pathPlanning.controlBus.axisControlBus6.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real pathPlanning.controlBus.axisControlBus6.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real pathPlanning.controlBus.axisControlBus6.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; parameter Integer pathPlanning.pathToAxis1.nAxis = 1 \"Number of driven axis\"; parameter Integer pathPlanning.pathToAxis1.axisUsed = 1 \"Map path planning of axisUsed to axisControlBus\"; Boolean pathPlanning.pathToAxis1.axisControlBus.motion_ref \"= true, if reference motion is not in rest\"; Real pathPlanning.pathToAxis1.axisControlBus.angle_ref(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Reference angle of axis flange\"; Real pathPlanning.pathToAxis1.axisControlBus.angle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of axis flange\"; Real pathPlanning.pathToAxis1.axisControlBus.speed_ref(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Reference speed of axis flange\"; Real pathPlanning.pathToAxis1.axisControlBus.speed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of axis flange\"; Real pathPlanning.pathToAxis1.axisControlBus.acceleration_ref(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Reference acceleration of axis flange\"; Real pathPlanning.pathToAxis1.axisControlBus.acceleration(quantity = \"AngularAcceleration\", unit = \"rad/s2\") \"Acceleration of axis flange\"; Real pathPlanning.pathToAxis1.axisControlBus.current_ref(quantity = \"ElectricCurrent\", unit = \"A\") \"Reference current of motor\"; Real pathPlanning.pathToAxis1.axisControlBus.current(quantity = \"ElectricCurrent\", unit = \"A\") \"Current of motor\"; Real pathPlanning.pathToAxis1.axisControlBus.motorAngle(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") \"Angle of motor flange\"; Real pathPlanning.pathToAxis1.axisControlBus.motorSpeed(quantity = \"AngularVelocity\", unit = \"rad/s\") \"Speed of motor flange\"; input Real pathPlanning.pathToAxis1.q_axisUsed.u \"Input signal\"; output Real pathPlanning.pathToAxis1.q_axisUsed.y \"Output signal\"; input Real pathPlanning.pathToAxis1.qd_axisUsed.u \"Input signal\"; output Real pathPlanning.pathToAxis1.qd_axisUsed.y \"Output signal\"; input Real pathPlanning.pathToAxis1.qdd_axisUsed.u \"Input signal\"; output Real pathPlanning.pathToAxis1.qdd_axisUsed.y \"Output signal\"; input Boolean pathPlanning.pathToAxis1.motion_ref_axisUsed.u \"Input signal\"; output Boolean pathPlanning.pathToAxis1.motion_ref_axisUsed.y \"Output signal\"; input Real pathPlanning.pathToAxis1.q[1]; input Real pathPlanning.pathToAxis1.qd[1]; input Real pathPlanning.pathToAxis1.qdd[1]; input Boolean pathPlanning.pathToAxis1.moving[1]; final parameter Real pathPlanning.angleBeg(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") = Modelica.SIunits.Conversions.from_deg(pathPlanning.angleBegDeg) \"Start angles\"; final parameter Real pathPlanning.angleEnd(quantity = \"Angle\", unit = \"rad\", displayUnit = \"deg\") = Modelica.SIunits.Conversions.from_deg(pathPlanning.angleEndDeg) \"End angles\"; parameter Real pathPlanning.path.q_begin[1] = pathPlanning.angleBeg \"Start position\"; parameter Real pathPlanning.path.q_end[1] = pathPlanning.angleEnd \"End position\"; parameter Real pathPlanning.path.qd_max[1](min = 1e-60) = pathPlanning.speedMax \"Maximum velocities der(q)\"; parameter Real pathPlanning.path.qdd_max[1](min = 1e-60) = pathPlanning.accMax \"Maximum accelerations der(qd)\"; parameter Real pathPlanning.path.startTime(quantity = \"Time\", unit = \"s\") = pathPlanning.startTime \"Time instant at which movement starts\"; output Real pathPlanning.path.endTime(quantity = \"Time\", unit = \"s\") \"Time instant at which movement stops\"; protected constant Real pathPlanning.path.eps = 1e-14; protected Boolean pathPlanning.path.motion_ref; protected Real pathPlanning.path.sd_max_inv; protected Real pathPlanning.path.sdd_max_inv; protected Real pathPlanning.path.sd_max; protected Real pathPlanning.path.sdd_max; protected Real pathPlanning.path.sdd; protected Real pathPlanning.path.Ta1(quantity = \"Time\", unit = \"s\"); protected Real pathPlanning.path.Ta2(quantity = \"Time\", unit = \"s\"); protected Real pathPlanning.path.Tv(quantity = \"Time\", unit = \"s\"); protected Real pathPlanning.path.Te(quantity = \"Time\", unit = \"s\"); protected Boolean pathPlanning.path.noWphase; protected Real pathPlanning.path.Ta1s(quantity = \"Time\", unit = \"s\"); protected Real pathPlanning.path.Ta2s(quantity = \"Time\", unit = \"s\"); protected Real pathPlanning.path.Tvs(quantity = \"Time\", unit = \"s\"); protected Real pathPlanning.path.Tes(quantity = \"Time\", unit = \"s\"); protected Real pathPlanning.path.sd_max2; protected Real pathPlanning.path.s1; protected Real pathPlanning.path.s2; protected Real pathPlanning.path.s3; protected Real pathPlanning.path.s; protected Real pathPlanning.path.sd; protected Real pathPlanning.path.r_s; protected Real pathPlanning.path.r_sd; protected Real pathPlanning.path.r_sdd; final parameter Integer pathPlanning.path.nout = 1 \"Number of output signals (= dimension of q, qd, qdd, moving)\"; output Real pathPlanning.path.q[1] \"Reference position of path planning\"; output Real pathPlanning.path.qd[1] \"Reference speed of path planning\"; output Real pathPlanning.path.qdd[1] \"Reference acceleration of path planning\"; output Boolean pathPlanning.path.moving[1] \"= true, if end position not yet reached; = false, if end position reached or axis is completely at rest\"; protected parameter Real pathPlanning.path.p_q_begin[1] = pathPlanning.path.q_begin[1]; protected parameter Real pathPlanning.path.p_q_end[1] = pathPlanning.path.q_end[1]; protected parameter Real pathPlanning.path.p_qd_max[1] = pathPlanning.path.qd_max[1]; protected parameter Real pathPlanning.path.p_qdd_max[1] = pathPlanning.path.qdd_max[1]; protected Real pathPlanning.path.aux1[1]; protected Real pathPlanning.path.aux2[1]; protected parameter Real pathPlanning.path.p_deltaq[1] = pathPlanning.path.p_q_end[1] - pathPlanning.path.p_q_begin[1]; output Boolean pathPlanning.terminateSimulation.condition = time >= pathPlanning.path.endTime + pathPlanning.swingTime \"Terminate simulation when condition becomes true\"; parameter String pathPlanning.terminateSimulation.terminationText = \"... End condition reached\" \"Text that will be displayed when simulation is terminated\"; initial equation axis.initializeFlange.set_phi_start.flange.phi = axis.initializeFlange.set_phi_start.phi_start; der(axis.initializeFlange.set_w_start.flange.phi) = axis.initializeFlange.set_w_start.w_start; der(axis.initializeFlange.set_a_start.w) = axis.initializeFlange.set_a_start.a_start; der(axis.motor.C.v) = 0.0; der(axis.motor.La.i) = 0.0; axis.gear.spring.w_rel = 0.0; axis.gear.a_rel = 0.0; equation load.phi = load.flange_a.phi; load.phi = load.flange_b.phi; load.w = der(load.phi); load.a = der(load.w); load.J * load.a = load.flange_a.tau + load.flange_b.tau; axis.angleSensor.phi = axis.angleSensor.flange.phi; 0.0 = axis.angleSensor.flange.tau; axis.speedSensor.w = der(axis.speedSensor.flange.phi); 0.0 = axis.speedSensor.flange.tau; axis.accSensor.w = der(axis.accSensor.flange.phi); axis.accSensor.a = der(axis.accSensor.w); 0.0 = axis.accSensor.flange.tau; axis.initializeFlange.set_flange_tau.flange.tau = 0.0; axis.initializeFlange.set_phi_start.flange.tau = 0.0; axis.initializeFlange.set_w_start.flange.tau = 0.0; axis.initializeFlange.set_a_start.flange.tau = 0.0; axis.const.y = axis.const.k; axis.motor.Vs.v = axis.motor.Vs.p.v - axis.motor.Vs.n.v; 0.0 = axis.motor.Vs.p.i + axis.motor.Vs.n.i; axis.motor.Vs.i = axis.motor.Vs.p.i; axis.motor.diff.v1 = axis.motor.diff.p1.v - axis.motor.diff.n1.v; axis.motor.diff.v2 = axis.motor.diff.p2.v - axis.motor.diff.n2.v; 0.0 = axis.motor.diff.p1.i + axis.motor.diff.n1.i; 0.0 = axis.motor.diff.p2.i + axis.motor.diff.n2.i; axis.motor.diff.i1 = axis.motor.diff.p1.i; axis.motor.diff.i2 = axis.motor.diff.p2.i; axis.motor.diff.v1 = 0.0; axis.motor.diff.i1 = 0.0; axis.motor.power.v1 = axis.motor.power.p1.v - axis.motor.power.n1.v; axis.motor.power.v2 = axis.motor.power.p2.v - axis.motor.power.n2.v; 0.0 = axis.motor.power.p1.i + axis.motor.power.n1.i; 0.0 = axis.motor.power.p2.i + axis.motor.power.n2.i; axis.motor.power.i1 = axis.motor.power.p1.i; axis.motor.power.i2 = axis.motor.power.p2.i; axis.motor.power.v1 = 0.0; axis.motor.power.i1 = 0.0; assert(1.0 + axis.motor.Ra.alpha * (axis.motor.Ra.T_heatPort - axis.motor.Ra.T_ref) >= 1e-15,\"Temperature outside scope of model!\"); axis.motor.Ra.R_actual = axis.motor.Ra.R * (1.0 + axis.motor.Ra.alpha * (axis.motor.Ra.T_heatPort - axis.motor.Ra.T_ref)); axis.motor.Ra.v = axis.motor.Ra.R_actual * axis.motor.Ra.i; axis.motor.Ra.LossPower = axis.motor.Ra.v * axis.motor.Ra.i; axis.motor.Ra.v = axis.motor.Ra.p.v - axis.motor.Ra.n.v; 0.0 = axis.motor.Ra.p.i + axis.motor.Ra.n.i; axis.motor.Ra.i = axis.motor.Ra.p.i; axis.motor.Ra.T_heatPort = axis.motor.Ra.T; assert(1.0 + axis.motor.Rd2.alpha * (axis.motor.Rd2.T_heatPort - axis.motor.Rd2.T_ref) >= 1e-15,\"Temperature outside scope of model!\"); axis.motor.Rd2.R_actual = axis.motor.Rd2.R * (1.0 + axis.motor.Rd2.alpha * (axis.motor.Rd2.T_heatPort - axis.motor.Rd2.T_ref)); axis.motor.Rd2.v = axis.motor.Rd2.R_actual * axis.motor.Rd2.i; axis.motor.Rd2.LossPower = axis.motor.Rd2.v * axis.motor.Rd2.i; axis.motor.Rd2.v = axis.motor.Rd2.p.v - axis.motor.Rd2.n.v; 0.0 = axis.motor.Rd2.p.i + axis.motor.Rd2.n.i; axis.motor.Rd2.i = axis.motor.Rd2.p.i; axis.motor.Rd2.T_heatPort = axis.motor.Rd2.T; axis.motor.OpI.v1 = axis.motor.OpI.p1.v - axis.motor.OpI.n1.v; axis.motor.OpI.v2 = axis.motor.OpI.p2.v - axis.motor.OpI.n2.v; 0.0 = axis.motor.OpI.p1.i + axis.motor.OpI.n1.i; 0.0 = axis.motor.OpI.p2.i + axis.motor.OpI.n2.i; axis.motor.OpI.i1 = axis.motor.OpI.p1.i; axis.motor.OpI.i2 = axis.motor.OpI.p2.i; axis.motor.OpI.v1 = 0.0; axis.motor.OpI.i1 = 0.0; assert(1.0 + axis.motor.Rd1.alpha * (axis.motor.Rd1.T_heatPort - axis.motor.Rd1.T_ref) >= 1e-15,\"Temperature outside scope of model!\"); axis.motor.Rd1.R_actual = axis.motor.Rd1.R * (1.0 + axis.motor.Rd1.alpha * (axis.motor.Rd1.T_heatPort - axis.motor.Rd1.T_ref)); axis.motor.Rd1.v = axis.motor.Rd1.R_actual * axis.motor.Rd1.i; axis.motor.Rd1.LossPower = axis.motor.Rd1.v * axis.motor.Rd1.i; axis.motor.Rd1.v = axis.motor.Rd1.p.v - axis.motor.Rd1.n.v; 0.0 = axis.motor.Rd1.p.i + axis.motor.Rd1.n.i; axis.motor.Rd1.i = axis.motor.Rd1.p.i; axis.motor.Rd1.T_heatPort = axis.motor.Rd1.T; assert(1.0 + axis.motor.Ri.alpha * (axis.motor.Ri.T_heatPort - axis.motor.Ri.T_ref) >= 1e-15,\"Temperature outside scope of model!\"); axis.motor.Ri.R_actual = axis.motor.Ri.R * (1.0 + axis.motor.Ri.alpha * (axis.motor.Ri.T_heatPort - axis.motor.Ri.T_ref)); axis.motor.Ri.v = axis.motor.Ri.R_actual * axis.motor.Ri.i; axis.motor.Ri.LossPower = axis.motor.Ri.v * axis.motor.Ri.i; axis.motor.Ri.v = axis.motor.Ri.p.v - axis.motor.Ri.n.v; 0.0 = axis.motor.Ri.p.i + axis.motor.Ri.n.i; axis.motor.Ri.i = axis.motor.Ri.p.i; axis.motor.Ri.T_heatPort = axis.motor.Ri.T; assert(1.0 + axis.motor.Rp1.alpha * (axis.motor.Rp1.T_heatPort - axis.motor.Rp1.T_ref) >= 1e-15,\"Temperature outside scope of model!\"); axis.motor.Rp1.R_actual = axis.motor.Rp1.R * (1.0 + axis.motor.Rp1.alpha * (axis.motor.Rp1.T_heatPort - axis.motor.Rp1.T_ref)); axis.motor.Rp1.v = axis.motor.Rp1.R_actual * axis.motor.Rp1.i; axis.motor.Rp1.LossPower = axis.motor.Rp1.v * axis.motor.Rp1.i; axis.motor.Rp1.v = axis.motor.Rp1.p.v - axis.motor.Rp1.n.v; 0.0 = axis.motor.Rp1.p.i + axis.motor.Rp1.n.i; axis.motor.Rp1.i = axis.motor.Rp1.p.i; axis.motor.Rp1.T_heatPort = axis.motor.Rp1.T; assert(1.0 + axis.motor.Rp2.alpha * (axis.motor.Rp2.T_heatPort - axis.motor.Rp2.T_ref) >= 1e-15,\"Temperature outside scope of model!\"); axis.motor.Rp2.R_actual = axis.motor.Rp2.R * (1.0 + axis.motor.Rp2.alpha * (axis.motor.Rp2.T_heatPort - axis.motor.Rp2.T_ref)); axis.motor.Rp2.v = axis.motor.Rp2.R_actual * axis.motor.Rp2.i; axis.motor.Rp2.LossPower = axis.motor.Rp2.v * axis.motor.Rp2.i; axis.motor.Rp2.v = axis.motor.Rp2.p.v - axis.motor.Rp2.n.v; 0.0 = axis.motor.Rp2.p.i + axis.motor.Rp2.n.i; axis.motor.Rp2.i = axis.motor.Rp2.p.i; axis.motor.Rp2.T_heatPort = axis.motor.Rp2.T; assert(1.0 + axis.motor.Rd4.alpha * (axis.motor.Rd4.T_heatPort - axis.motor.Rd4.T_ref) >= 1e-15,\"Temperature outside scope of model!\"); axis.motor.Rd4.R_actual = axis.motor.Rd4.R * (1.0 + axis.motor.Rd4.alpha * (axis.motor.Rd4.T_heatPort - axis.motor.Rd4.T_ref)); axis.motor.Rd4.v = axis.motor.Rd4.R_actual * axis.motor.Rd4.i; axis.motor.Rd4.LossPower = axis.motor.Rd4.v * axis.motor.Rd4.i; axis.motor.Rd4.v = axis.motor.Rd4.p.v - axis.motor.Rd4.n.v; 0.0 = axis.motor.Rd4.p.i + axis.motor.Rd4.n.i; axis.motor.Rd4.i = axis.motor.Rd4.p.i; axis.motor.Rd4.T_heatPort = axis.motor.Rd4.T; axis.motor.hall2.v = axis.motor.hall2.p.v - axis.motor.hall2.n.v; 0.0 = axis.motor.hall2.p.i + axis.motor.hall2.n.i; axis.motor.hall2.i = axis.motor.hall2.p.i; assert(1.0 + axis.motor.Rd3.alpha * (axis.motor.Rd3.T_heatPort - axis.motor.Rd3.T_ref) >= 1e-15,\"Temperature outside scope of model!\"); axis.motor.Rd3.R_actual = axis.motor.Rd3.R * (1.0 + axis.motor.Rd3.alpha * (axis.motor.Rd3.T_heatPort - axis.motor.Rd3.T_ref)); axis.motor.Rd3.v = axis.motor.Rd3.R_actual * axis.motor.Rd3.i; axis.motor.Rd3.LossPower = axis.motor.Rd3.v * axis.motor.Rd3.i; axis.motor.Rd3.v = axis.motor.Rd3.p.v - axis.motor.Rd3.n.v; 0.0 = axis.motor.Rd3.p.i + axis.motor.Rd3.n.i; axis.motor.Rd3.i = axis.motor.Rd3.p.i; axis.motor.Rd3.T_heatPort = axis.motor.Rd3.T; axis.motor.g1.p.v = 0.0; axis.motor.g2.p.v = 0.0; axis.motor.g3.p.v = 0.0; axis.motor.hall1.p.v = axis.motor.hall1.n.v; axis.motor.hall1.p.i = axis.motor.hall1.i; axis.motor.hall1.n.i = -axis.motor.hall1.i; axis.motor.g4.p.v = 0.0; axis.motor.g5.p.v = 0.0; axis.motor.phi.phi = axis.motor.phi.flange.phi; 0.0 = axis.motor.phi.flange.tau; axis.motor.speed.w = der(axis.motor.speed.flange.phi); 0.0 = axis.motor.speed.flange.tau; axis.motor.convert1.y = axis.motor.convert1.k * axis.motor.convert1.u; axis.motor.convert2.y = axis.motor.convert2.k * axis.motor.convert2.u; axis.motor.Jmotor.phi = axis.motor.Jmotor.flange_a.phi; axis.motor.Jmotor.phi = axis.motor.Jmotor.flange_b.phi; axis.motor.Jmotor.w = der(axis.motor.Jmotor.phi); axis.motor.Jmotor.a = der(axis.motor.Jmotor.w); axis.motor.Jmotor.J * axis.motor.Jmotor.a = axis.motor.Jmotor.flange_a.tau + axis.motor.Jmotor.flange_b.tau; axis.motor.emf.fixed.flange.phi = axis.motor.emf.fixed.phi0; axis.motor.emf.internalSupport.flange.tau = axis.motor.emf.internalSupport.tau; axis.motor.emf.internalSupport.flange.phi = axis.motor.emf.internalSupport.phi; axis.motor.emf.v = axis.motor.emf.p.v - axis.motor.emf.n.v; 0.0 = axis.motor.emf.p.i + axis.motor.emf.n.i; axis.motor.emf.i = axis.motor.emf.p.i; axis.motor.emf.phi = axis.motor.emf.flange.phi - axis.motor.emf.internalSupport.phi; axis.motor.emf.w = der(axis.motor.emf.phi); axis.motor.emf.k * axis.motor.emf.w = axis.motor.emf.v; axis.motor.emf.flange.tau = (-axis.motor.emf.k) * axis.motor.emf.i; axis.motor.La.L * der(axis.motor.La.i) = axis.motor.La.v; axis.motor.La.v = axis.motor.La.p.v - axis.motor.La.n.v; 0.0 = axis.motor.La.p.i + axis.motor.La.n.i; axis.motor.La.i = axis.motor.La.p.i; axis.motor.C.i = axis.motor.C.C * der(axis.motor.C.v); axis.motor.C.v = axis.motor.C.p.v - axis.motor.C.n.v; 0.0 = axis.motor.C.p.i + axis.motor.C.n.i; axis.motor.C.i = axis.motor.C.p.i; axis.controller.feedback1.y = axis.controller.feedback1.u1 - axis.controller.feedback1.u2; axis.controller.add3.y = axis.controller.add3.k1 * axis.controller.add3.u1 + axis.controller.add3.k2 * axis.controller.add3.u2 + axis.controller.add3.k3 * axis.controller.add3.u3; axis.controller.P.y = axis.controller.P.k * axis.controller.P.u; der(axis.controller.PI.x) = axis.controller.PI.u / axis.controller.PI.T; axis.controller.PI.y = axis.controller.PI.k * (axis.controller.PI.x + axis.controller.PI.u); axis.controller.gain1.y = axis.controller.gain1.k * axis.controller.gain1.u; axis.controller.gain2.y = axis.controller.gain2.k * axis.controller.gain2.u; axis.gear.gear.phi_a = axis.gear.gear.flange_a.phi - axis.gear.gear.phi_support; axis.gear.gear.phi_b = axis.gear.gear.flange_b.phi - axis.gear.gear.phi_support; axis.gear.gear.phi_a = axis.gear.gear.ratio * axis.gear.gear.phi_b; 0.0 = axis.gear.gear.ratio * axis.gear.gear.flange_a.tau + axis.gear.gear.flange_b.tau; axis.gear.gear.phi_support = 0.0; axis.gear.spring.tau_c = axis.gear.spring.c * (axis.gear.spring.phi_rel - axis.gear.spring.phi_rel0); axis.gear.spring.tau_d = axis.gear.spring.d * axis.gear.spring.w_rel; axis.gear.spring.tau = axis.gear.spring.tau_c + axis.gear.spring.tau_d; axis.gear.spring.lossPower = axis.gear.spring.tau_d * axis.gear.spring.w_rel; axis.gear.spring.phi_rel = axis.gear.spring.flange_b.phi - axis.gear.spring.flange_a.phi; axis.gear.spring.w_rel = der(axis.gear.spring.phi_rel); axis.gear.spring.a_rel = der(axis.gear.spring.w_rel); axis.gear.spring.flange_b.tau = axis.gear.spring.tau; axis.gear.spring.flange_a.tau = -axis.gear.spring.tau; axis.gear.bearingFriction.tau0 = Modelica.Math.tempInterpol1(0.0, {{axis.gear.bearingFriction.tau_pos[1,1], axis.gear.bearingFriction.tau_pos[1,2]}, {axis.gear.bearingFriction.tau_pos[2,1], axis.gear.bearingFriction.tau_pos[2,2]}}, 2); axis.gear.bearingFriction.tau0_max = axis.gear.bearingFriction.peak * axis.gear.bearingFriction.tau0; axis.gear.bearingFriction.free = false; axis.gear.bearingFriction.phi = axis.gear.bearingFriction.flange_a.phi - axis.gear.bearingFriction.phi_support; axis.gear.bearingFriction.flange_b.phi = axis.gear.bearingFriction.flange_a.phi; axis.gear.bearingFriction.w = der(axis.gear.bearingFriction.phi); axis.gear.bearingFriction.a = der(axis.gear.bearingFriction.w); axis.gear.bearingFriction.w_relfric = axis.gear.bearingFriction.w; axis.gear.bearingFriction.a_relfric = axis.gear.bearingFriction.a; axis.gear.bearingFriction.flange_a.tau + axis.gear.bearingFriction.flange_b.tau - axis.gear.bearingFriction.tau = 0.0; axis.gear.bearingFriction.tau = if axis.gear.bearingFriction.locked then axis.gear.bearingFriction.sa else if axis.gear.bearingFriction.startForward then Modelica.Math.tempInterpol1(axis.gear.bearingFriction.w, {{axis.gear.bearingFriction.tau_pos[1,1], axis.gear.bearingFriction.tau_pos[1,2]}, {axis.gear.bearingFriction.tau_pos[2,1], axis.gear.bearingFriction.tau_pos[2,2]}}, 2) else if axis.gear.bearingFriction.startBackward then -Modelica.Math.tempInterpol1(-axis.gear.bearingFriction.w, {{axis.gear.bearingFriction.tau_pos[1,1], axis.gear.bearingFriction.tau_pos[1,2]}, {axis.gear.bearingFriction.tau_pos[2,1], axis.gear.bearingFriction.tau_pos[2,2]}}, 2) else if pre(axis.gear.bearingFriction.mode) == 1 then Modelica.Math.tempInterpol1(axis.gear.bearingFriction.w, {{axis.gear.bearingFriction.tau_pos[1,1], axis.gear.bearingFriction.tau_pos[1,2]}, {axis.gear.bearingFriction.tau_pos[2,1], axis.gear.bearingFriction.tau_pos[2,2]}}, 2) else -Modelica.Math.tempInterpol1(-axis.gear.bearingFriction.w, {{axis.gear.bearingFriction.tau_pos[1,1], axis.gear.bearingFriction.tau_pos[1,2]}, {axis.gear.bearingFriction.tau_pos[2,1], axis.gear.bearingFriction.tau_pos[2,2]}}, 2); axis.gear.bearingFriction.lossPower = axis.gear.bearingFriction.tau * axis.gear.bearingFriction.w_relfric; axis.gear.bearingFriction.phi_support = 0.0; axis.gear.bearingFriction.startForward = pre(axis.gear.bearingFriction.mode) == 0 and (axis.gear.bearingFriction.sa > axis.gear.bearingFriction.tau0_max or pre(axis.gear.bearingFriction.startForward) and axis.gear.bearingFriction.sa > axis.gear.bearingFriction.tau0) or pre(axis.gear.bearingFriction.mode) == -1 and axis.gear.bearingFriction.w_relfric > axis.gear.bearingFriction.w_small or initial() and axis.gear.bearingFriction.w_relfric > 0.0; axis.gear.bearingFriction.startBackward = pre(axis.gear.bearingFriction.mode) == 0 and (axis.gear.bearingFriction.sa < (-axis.gear.bearingFriction.tau0_max) or pre(axis.gear.bearingFriction.startBackward) and axis.gear.bearingFriction.sa < (-axis.gear.bearingFriction.tau0)) or pre(axis.gear.bearingFriction.mode) == 1 and axis.gear.bearingFriction.w_relfric < (-axis.gear.bearingFriction.w_small) or initial() and axis.gear.bearingFriction.w_relfric < 0.0; axis.gear.bearingFriction.locked = not axis.gear.bearingFriction.free and not (pre(axis.gear.bearingFriction.mode) == 1 or axis.gear.bearingFriction.startForward or pre(axis.gear.bearingFriction.mode) == -1 or axis.gear.bearingFriction.startBackward); axis.gear.bearingFriction.a_relfric = if axis.gear.bearingFriction.locked then 0.0 else if axis.gear.bearingFriction.free then axis.gear.bearingFriction.sa else if axis.gear.bearingFriction.startForward then axis.gear.bearingFriction.sa - axis.gear.bearingFriction.tau0_max else if axis.gear.bearingFriction.startBackward then axis.gear.bearingFriction.sa + axis.gear.bearingFriction.tau0_max else if pre(axis.gear.bearingFriction.mode) == 1 then axis.gear.bearingFriction.sa - axis.gear.bearingFriction.tau0_max else axis.gear.bearingFriction.sa + axis.gear.bearingFriction.tau0_max; axis.gear.bearingFriction.mode = if axis.gear.bearingFriction.free then 2 else if (pre(axis.gear.bearingFriction.mode) == 1 or pre(axis.gear.bearingFriction.mode) == 2 or axis.gear.bearingFriction.startForward) and axis.gear.bearingFriction.w_relfric > 0.0 then 1 else if (pre(axis.gear.bearingFriction.mode) == -1 or pre(axis.gear.bearingFriction.mode) == 2 or axis.gear.bearingFriction.startBackward) and axis.gear.bearingFriction.w_relfric < 0.0 then -1 else 0; pathPlanning.pathToAxis1.q_axisUsed.y = pathPlanning.pathToAxis1.q_axisUsed.u; pathPlanning.pathToAxis1.qd_axisUsed.y = pathPlanning.pathToAxis1.qd_axisUsed.u; pathPlanning.pathToAxis1.qdd_axisUsed.y = pathPlanning.pathToAxis1.qdd_axisUsed.u; pathPlanning.pathToAxis1.motion_ref_axisUsed.y = pathPlanning.pathToAxis1.motion_ref_axisUsed.u; pathPlanning.path.aux1[1] = pathPlanning.path.p_deltaq[1] / pathPlanning.path.p_qd_max[1]; pathPlanning.path.aux2[1] = pathPlanning.path.p_deltaq[1] / pathPlanning.path.p_qdd_max[1]; pathPlanning.path.sd_max_inv = abs(pathPlanning.path.aux1[1]); pathPlanning.path.sdd_max_inv = abs(pathPlanning.path.aux2[1]); if pathPlanning.path.sd_max_inv <= 1e-14 or pathPlanning.path.sdd_max_inv <= 1e-14 then pathPlanning.path.sd_max = 0.0; pathPlanning.path.sdd_max = 0.0; pathPlanning.path.Ta1 = 0.0; pathPlanning.path.Ta2 = 0.0; pathPlanning.path.noWphase = false; pathPlanning.path.Tv = 0.0; pathPlanning.path.Te = 0.0; pathPlanning.path.Ta1s = 0.0; pathPlanning.path.Ta2s = 0.0; pathPlanning.path.Tvs = 0.0; pathPlanning.path.Tes = 0.0; pathPlanning.path.sd_max2 = 0.0; pathPlanning.path.s1 = 0.0; pathPlanning.path.s2 = 0.0; pathPlanning.path.s3 = 0.0; pathPlanning.path.r_sdd = 0.0; pathPlanning.path.r_sd = 0.0; pathPlanning.path.r_s = 0.0; else pathPlanning.path.sd_max = 1.0 / abs(pathPlanning.path.aux1[1]); pathPlanning.path.sdd_max = 1.0 / abs(pathPlanning.path.aux2[1]); pathPlanning.path.Ta1 = sqrt(1.0 / pathPlanning.path.sdd_max); pathPlanning.path.Ta2 = pathPlanning.path.sd_max / pathPlanning.path.sdd_max; pathPlanning.path.noWphase = pathPlanning.path.Ta2 >= pathPlanning.path.Ta1; pathPlanning.path.Tv = if pathPlanning.path.noWphase then pathPlanning.path.Ta1 else 1.0 / pathPlanning.path.sd_max; pathPlanning.path.Te = if pathPlanning.path.noWphase then 2.0 * pathPlanning.path.Ta1 else pathPlanning.path.Tv + pathPlanning.path.Ta2; pathPlanning.path.Ta1s = pathPlanning.path.Ta1 + pathPlanning.path.startTime; pathPlanning.path.Ta2s = pathPlanning.path.Ta2 + pathPlanning.path.startTime; pathPlanning.path.Tvs = pathPlanning.path.Tv + pathPlanning.path.startTime; pathPlanning.path.Tes = pathPlanning.path.Te + pathPlanning.path.startTime; pathPlanning.path.sd_max2 = pathPlanning.path.sdd_max * pathPlanning.path.Ta1; pathPlanning.path.s1 = pathPlanning.path.sdd_max * (if pathPlanning.path.noWphase then pathPlanning.path.Ta1 ^ 2.0 else pathPlanning.path.Ta2 ^ 2.0) / 2.0; pathPlanning.path.s2 = pathPlanning.path.s1 + (if pathPlanning.path.noWphase then pathPlanning.path.sd_max2 * (pathPlanning.path.Te - pathPlanning.path.Ta1) + (-(pathPlanning.path.Te - pathPlanning.path.Ta1) ^ 2.0) * pathPlanning.path.sdd_max / 2.0 else pathPlanning.path.sd_max * (pathPlanning.path.Tv - pathPlanning.path.Ta2)); pathPlanning.path.s3 = pathPlanning.path.s2 + pathPlanning.path.sd_max * (pathPlanning.path.Te - pathPlanning.path.Tv) + (-(pathPlanning.path.Te - pathPlanning.path.Tv) ^ 2.0) * pathPlanning.path.sdd_max / 2.0; if time < pathPlanning.path.startTime then pathPlanning.path.r_sdd = 0.0; pathPlanning.path.r_sd = 0.0; pathPlanning.path.r_s = 0.0; elseif pathPlanning.path.noWphase then if time < pathPlanning.path.Ta1s then pathPlanning.path.r_sdd = pathPlanning.path.sdd_max; pathPlanning.path.r_sd = pathPlanning.path.sdd_max * (time - pathPlanning.path.startTime); pathPlanning.path.r_s = (time - pathPlanning.path.startTime) ^ 2.0 * pathPlanning.path.sdd_max / 2.0; elseif time < pathPlanning.path.Tes then pathPlanning.path.r_sdd = -pathPlanning.path.sdd_max; pathPlanning.path.r_sd = pathPlanning.path.sd_max2 - pathPlanning.path.sdd_max * (time - pathPlanning.path.Ta1s); pathPlanning.path.r_s = pathPlanning.path.s1 + pathPlanning.path.sd_max2 * (time - pathPlanning.path.Ta1s) + (-(time - pathPlanning.path.Ta1s) ^ 2.0) * pathPlanning.path.sdd_max / 2.0; else pathPlanning.path.r_sdd = 0.0; pathPlanning.path.r_sd = 0.0; pathPlanning.path.r_s = pathPlanning.path.s2; end if; elseif time < pathPlanning.path.Ta2s then pathPlanning.path.r_sdd = pathPlanning.path.sdd_max; pathPlanning.path.r_sd = pathPlanning.path.sdd_max * (time - pathPlanning.path.startTime); pathPlanning.path.r_s = (time - pathPlanning.path.startTime) ^ 2.0 * pathPlanning.path.sdd_max / 2.0; elseif time < pathPlanning.path.Tvs then pathPlanning.path.r_sdd = 0.0; pathPlanning.path.r_sd = pathPlanning.path.sd_max; pathPlanning.path.r_s = pathPlanning.path.s1 + pathPlanning.path.sd_max * (time - pathPlanning.path.Ta2s); elseif time < pathPlanning.path.Tes then pathPlanning.path.r_sdd = -pathPlanning.path.sdd_max; pathPlanning.path.r_sd = pathPlanning.path.sd_max - pathPlanning.path.sdd_max * (time - pathPlanning.path.Tvs); pathPlanning.path.r_s = pathPlanning.path.s2 + pathPlanning.path.sd_max * (time - pathPlanning.path.Tvs) + (-(time - pathPlanning.path.Tvs) ^ 2.0) * pathPlanning.path.sdd_max / 2.0; else pathPlanning.path.r_sdd = 0.0; pathPlanning.path.r_sd = 0.0; pathPlanning.path.r_s = pathPlanning.path.s3; end if; end if; pathPlanning.path.qdd[1] = pathPlanning.path.p_deltaq[1] * pathPlanning.path.sdd; pathPlanning.path.qd[1] = pathPlanning.path.p_deltaq[1] * pathPlanning.path.sd; pathPlanning.path.q[1] = pathPlanning.path.p_q_begin[1] + pathPlanning.path.p_deltaq[1] * pathPlanning.path.s; pathPlanning.path.endTime = pathPlanning.path.Tes; pathPlanning.path.s = Modelica.Blocks.Sources.KinematicPTP2.position({pathPlanning.path.r_s, pathPlanning.path.r_sd, pathPlanning.path.r_sdd}, time); pathPlanning.path.sd = der(pathPlanning.path.s); pathPlanning.path.sdd = der(pathPlanning.path.sd); pathPlanning.path.motion_ref = time <= pathPlanning.path.endTime; pathPlanning.path.moving[1] = if abs(pathPlanning.path.q_begin[1] - pathPlanning.path.q_end[1]) > 1e-14 then pathPlanning.path.motion_ref else false; when pathPlanning.terminateSimulation.condition then terminate(pathPlanning.terminateSimulation.terminationText); end when; load.flange_a.tau + axis.flange.tau = 0.0; load.flange_b.tau = 0.0; (-axis.flange.tau) + axis.angleSensor.flange.tau + axis.speedSensor.flange.tau + axis.accSensor.flange.tau + axis.initializeFlange.flange.tau + axis.gear.flange_b.tau = 0.0; (-axis.initializeFlange.flange.tau) + axis.initializeFlange.set_flange_tau.flange.tau + axis.initializeFlange.set_phi_start.flange.tau + axis.initializeFlange.set_w_start.flange.tau + axis.initializeFlange.set_a_start.flange.tau = 0.0; axis.initializeFlange.phi_start = axis.initializeFlange.set_phi_start.phi_start; axis.initializeFlange.flange.phi = axis.initializeFlange.set_a_start.flange.phi; axis.initializeFlange.flange.phi = axis.initializeFlange.set_flange_tau.flange.phi; axis.initializeFlange.flange.phi = axis.initializeFlange.set_phi_start.flange.phi; axis.initializeFlange.flange.phi = axis.initializeFlange.set_w_start.flange.phi; axis.initializeFlange.set_w_start.w_start = axis.initializeFlange.w_start; axis.initializeFlange.a_start = axis.initializeFlange.set_a_start.a_start; axis.motor.flange_motor.tau + axis.gear.flange_a.tau = 0.0; axis.motor.Vs.p.i + axis.motor.Rd2.p.i = 0.0; axis.motor.Vs.n.i + axis.motor.g1.p.i = 0.0; axis.motor.diff.p1.i + axis.motor.Rd4.p.i + axis.motor.Rd3.n.i = 0.0; axis.motor.diff.n1.i + axis.motor.Rd2.n.i + axis.motor.Rd1.p.i = 0.0; axis.motor.diff.p2.i + axis.motor.Rd1.n.i + axis.motor.Ri.p.i = 0.0; axis.motor.diff.n2.i + axis.motor.power.n2.i + axis.motor.OpI.p1.i + axis.motor.OpI.n2.i + axis.motor.Rd4.n.i + axis.motor.g3.p.i = 0.0; axis.motor.power.p1.i + axis.motor.OpI.p2.i + axis.motor.C.n.i = 0.0; axis.motor.power.n1.i + axis.motor.Rp1.p.i + axis.motor.Rp2.p.i = 0.0; axis.motor.power.p2.i + axis.motor.Ra.p.i + axis.motor.Rp1.n.i = 0.0; axis.motor.Ra.n.i + axis.motor.La.p.i = 0.0; axis.motor.OpI.n1.i + axis.motor.Ri.n.i + axis.motor.C.p.i = 0.0; axis.motor.Rp2.n.i + axis.motor.g5.p.i = 0.0; axis.motor.hall2.p.i + axis.motor.Rd3.p.i = 0.0; axis.motor.hall2.n.i + axis.motor.g2.p.i = 0.0; axis.motor.hall1.p.i + axis.motor.emf.n.i = 0.0; axis.motor.hall1.n.i + axis.motor.g4.p.i = 0.0; axis.motor.phi.flange.tau + axis.motor.speed.flange.tau + axis.motor.Jmotor.flange_a.tau + axis.motor.emf.flange.tau = 0.0; (-axis.motor.flange_motor.tau) + axis.motor.Jmotor.flange_b.tau = 0.0; axis.motor.emf.p.i + axis.motor.La.n.i = 0.0; axis.motor.emf.fixed.flange.tau + axis.motor.emf.internalSupport.flange.tau = 0.0; axis.motor.emf.fixed.flange.phi = axis.motor.emf.internalSupport.flange.phi; axis.motor.La.n.v = axis.motor.emf.p.v; axis.motor.La.p.v = axis.motor.Ra.n.v; axis.motor.Rd1.p.v = axis.motor.Rd2.n.v; axis.motor.Rd1.p.v = axis.motor.diff.n1.v; axis.motor.C.n.v = axis.motor.OpI.p2.v; axis.motor.C.n.v = axis.motor.power.p1.v; axis.motor.Rd2.p.v = axis.motor.Vs.p.v; axis.motor.Rd1.n.v = axis.motor.Ri.p.v; axis.motor.Rd1.n.v = axis.motor.diff.p2.v; axis.motor.C.p.v = axis.motor.OpI.n1.v; axis.motor.C.p.v = axis.motor.Ri.n.v; axis.motor.Rp1.p.v = axis.motor.Rp2.p.v; axis.motor.Rp1.p.v = axis.motor.power.n1.v; axis.motor.Ra.p.v = axis.motor.Rp1.n.v; axis.motor.Ra.p.v = axis.motor.power.p2.v; axis.motor.Rd3.p.v = axis.motor.hall2.p.v; axis.motor.Rd3.n.v = axis.motor.Rd4.p.v; axis.motor.Rd3.n.v = axis.motor.diff.p1.v; axis.motor.Vs.n.v = axis.motor.g1.p.v; axis.motor.g2.p.v = axis.motor.hall2.n.v; axis.motor.OpI.n2.v = axis.motor.OpI.p1.v; axis.motor.OpI.n2.v = axis.motor.Rd4.n.v; axis.motor.OpI.n2.v = axis.motor.diff.n2.v; axis.motor.OpI.n2.v = axis.motor.g3.p.v; axis.motor.OpI.n2.v = axis.motor.power.n2.v; axis.motor.Rp2.n.v = axis.motor.g5.p.v; axis.motor.emf.n.v = axis.motor.hall1.p.v; axis.motor.g4.p.v = axis.motor.hall1.n.v; axis.motor.Jmotor.flange_a.phi = axis.motor.emf.flange.phi; axis.motor.Jmotor.flange_a.phi = axis.motor.phi.flange.phi; axis.motor.Jmotor.flange_a.phi = axis.motor.speed.flange.phi; axis.motor.Jmotor.flange_b.phi = axis.motor.flange_motor.phi; axis.motor.axisControlBus.motorAngle = axis.motor.phi.phi; axis.motor.axisControlBus.motorSpeed = axis.motor.speed.w; axis.motor.axisControlBus.current = axis.motor.convert1.u; axis.motor.axisControlBus.current = axis.motor.hall1.i; axis.motor.convert1.y = axis.motor.hall2.v; axis.motor.axisControlBus.current_ref = axis.motor.convert2.u; axis.motor.Vs.v = axis.motor.convert2.y; axis.controller.feedback1.u1 = axis.controller.gain1.y; axis.controller.P.u = axis.controller.feedback1.y; axis.controller.P.y = axis.controller.add3.u2; axis.controller.add3.u1 = axis.controller.gain2.y; axis.controller.PI.u = axis.controller.add3.y; axis.controller.axisControlBus.speed_ref = axis.controller.gain2.u; axis.controller.axisControlBus.angle_ref = axis.controller.gain1.u; axis.controller.axisControlBus.motorAngle = axis.controller.feedback1.u2; axis.controller.add3.u3 = axis.controller.axisControlBus.motorSpeed; axis.controller.PI.y = axis.controller.axisControlBus.current_ref; axis.gear.gear.flange_a.tau + axis.gear.spring.flange_b.tau = 0.0; (-axis.gear.flange_b.tau) + axis.gear.gear.flange_b.tau = 0.0; axis.gear.spring.flange_a.tau + axis.gear.bearingFriction.flange_b.tau = 0.0; (-axis.gear.flange_a.tau) + axis.gear.bearingFriction.flange_a.tau = 0.0; axis.gear.gear.flange_a.phi = axis.gear.spring.flange_b.phi; axis.gear.bearingFriction.flange_b.phi = axis.gear.spring.flange_a.phi; axis.gear.flange_b.phi = axis.gear.gear.flange_b.phi; axis.gear.bearingFriction.flange_a.phi = axis.gear.flange_a.phi; axis.accSensor.flange.phi = axis.angleSensor.flange.phi; axis.accSensor.flange.phi = axis.flange.phi; axis.accSensor.flange.phi = axis.gear.flange_b.phi; axis.accSensor.flange.phi = axis.initializeFlange.flange.phi; axis.accSensor.flange.phi = axis.speedSensor.flange.phi; axis.gear.flange_a.phi = axis.motor.flange_motor.phi; axis.angleSensor.phi = axis.axisControlBus.angle; axis.angleSensor.phi = axis.controller.axisControlBus.angle; axis.angleSensor.phi = axis.motor.axisControlBus.angle; axis.axisControlBus.speed = axis.controller.axisControlBus.speed; axis.axisControlBus.speed = axis.motor.axisControlBus.speed; axis.axisControlBus.speed = axis.speedSensor.w; axis.accSensor.a = axis.axisControlBus.acceleration; axis.accSensor.a = axis.controller.axisControlBus.acceleration; axis.accSensor.a = axis.motor.axisControlBus.acceleration; axis.axisControlBus.angle_ref = axis.controller.axisControlBus.angle_ref; axis.axisControlBus.angle_ref = axis.initializeFlange.phi_start; axis.axisControlBus.angle_ref = axis.motor.axisControlBus.angle_ref; axis.axisControlBus.speed_ref = axis.controller.axisControlBus.speed_ref; axis.axisControlBus.speed_ref = axis.initializeFlange.w_start; axis.axisControlBus.speed_ref = axis.motor.axisControlBus.speed_ref; axis.const.y = axis.initializeFlange.a_start; axis.axisControlBus.acceleration_ref = axis.controller.axisControlBus.acceleration_ref; axis.axisControlBus.acceleration_ref = axis.motor.axisControlBus.acceleration_ref; axis.axisControlBus.current = axis.controller.axisControlBus.current; axis.axisControlBus.current = axis.motor.axisControlBus.current; axis.axisControlBus.current_ref = axis.controller.axisControlBus.current_ref; axis.axisControlBus.current_ref = axis.motor.axisControlBus.current_ref; axis.axisControlBus.motion_ref = axis.controller.axisControlBus.motion_ref; axis.axisControlBus.motion_ref = axis.motor.axisControlBus.motion_ref; axis.axisControlBus.motorAngle = axis.controller.axisControlBus.motorAngle; axis.axisControlBus.motorAngle = axis.motor.axisControlBus.motorAngle; axis.axisControlBus.motorSpeed = axis.controller.axisControlBus.motorSpeed; axis.axisControlBus.motorSpeed = axis.motor.axisControlBus.motorSpeed; pathPlanning.pathToAxis1.q[1] = pathPlanning.pathToAxis1.q_axisUsed.u; pathPlanning.pathToAxis1.qd[1] = pathPlanning.pathToAxis1.qd_axisUsed.u; pathPlanning.pathToAxis1.qdd[1] = pathPlanning.pathToAxis1.qdd_axisUsed.u; pathPlanning.pathToAxis1.motion_ref_axisUsed.u = pathPlanning.pathToAxis1.moving[1]; pathPlanning.pathToAxis1.axisControlBus.motion_ref = pathPlanning.pathToAxis1.motion_ref_axisUsed.y; pathPlanning.pathToAxis1.axisControlBus.acceleration_ref = pathPlanning.pathToAxis1.qdd_axisUsed.y; pathPlanning.pathToAxis1.axisControlBus.speed_ref = pathPlanning.pathToAxis1.qd_axisUsed.y; pathPlanning.pathToAxis1.axisControlBus.angle_ref = pathPlanning.pathToAxis1.q_axisUsed.y; pathPlanning.path.q[1] = pathPlanning.pathToAxis1.q[1]; pathPlanning.path.qd[1] = pathPlanning.pathToAxis1.qd[1]; pathPlanning.path.qdd[1] = pathPlanning.pathToAxis1.qdd[1]; pathPlanning.path.moving[1] = pathPlanning.pathToAxis1.moving[1]; pathPlanning.controlBus.axisControlBus1.acceleration = pathPlanning.pathToAxis1.axisControlBus.acceleration; pathPlanning.controlBus.axisControlBus1.acceleration_ref = pathPlanning.pathToAxis1.axisControlBus.acceleration_ref; pathPlanning.controlBus.axisControlBus1.angle = pathPlanning.pathToAxis1.axisControlBus.angle; pathPlanning.controlBus.axisControlBus1.angle_ref = pathPlanning.pathToAxis1.axisControlBus.angle_ref; pathPlanning.controlBus.axisControlBus1.current = pathPlanning.pathToAxis1.axisControlBus.current; pathPlanning.controlBus.axisControlBus1.current_ref = pathPlanning.pathToAxis1.axisControlBus.current_ref; pathPlanning.controlBus.axisControlBus1.motion_ref = pathPlanning.pathToAxis1.axisControlBus.motion_ref; pathPlanning.controlBus.axisControlBus1.motorAngle = pathPlanning.pathToAxis1.axisControlBus.motorAngle; pathPlanning.controlBus.axisControlBus1.motorSpeed = pathPlanning.pathToAxis1.axisControlBus.motorSpeed; pathPlanning.controlBus.axisControlBus1.speed = pathPlanning.pathToAxis1.axisControlBus.speed; pathPlanning.controlBus.axisControlBus1.speed_ref = pathPlanning.pathToAxis1.axisControlBus.speed_ref; axis.flange.phi = load.flange_a.phi; axis.axisControlBus.acceleration = controlBus.axisControlBus1.acceleration; axis.axisControlBus.acceleration = pathPlanning.controlBus.axisControlBus1.acceleration; axis.axisControlBus.acceleration_ref = controlBus.axisControlBus1.acceleration_ref; axis.axisControlBus.acceleration_ref = pathPlanning.controlBus.axisControlBus1.acceleration_ref; axis.axisControlBus.angle = controlBus.axisControlBus1.angle; axis.axisControlBus.angle = pathPlanning.controlBus.axisControlBus1.angle; axis.axisControlBus.angle_ref = controlBus.axisControlBus1.angle_ref; axis.axisControlBus.angle_ref = pathPlanning.controlBus.axisControlBus1.angle_ref; axis.axisControlBus.current = controlBus.axisControlBus1.current; axis.axisControlBus.current = pathPlanning.controlBus.axisControlBus1.current; axis.axisControlBus.current_ref = controlBus.axisControlBus1.current_ref; axis.axisControlBus.current_ref = pathPlanning.controlBus.axisControlBus1.current_ref; axis.axisControlBus.motion_ref = controlBus.axisControlBus1.motion_ref; axis.axisControlBus.motion_ref = pathPlanning.controlBus.axisControlBus1.motion_ref; axis.axisControlBus.motorAngle = controlBus.axisControlBus1.motorAngle; axis.axisControlBus.motorAngle = pathPlanning.controlBus.axisControlBus1.motorAngle; axis.axisControlBus.motorSpeed = controlBus.axisControlBus1.motorSpeed; axis.axisControlBus.motorSpeed = pathPlanning.controlBus.axisControlBus1.motorSpeed; axis.axisControlBus.speed = controlBus.axisControlBus1.speed; axis.axisControlBus.speed = pathPlanning.controlBus.axisControlBus1.speed; axis.axisControlBus.speed_ref = controlBus.axisControlBus1.speed_ref; axis.axisControlBus.speed_ref = pathPlanning.controlBus.axisControlBus1.speed_ref; controlBus.axisControlBus2.acceleration = pathPlanning.controlBus.axisControlBus2.acceleration; controlBus.axisControlBus2.acceleration_ref = pathPlanning.controlBus.axisControlBus2.acceleration_ref; controlBus.axisControlBus2.angle = pathPlanning.controlBus.axisControlBus2.angle; controlBus.axisControlBus2.angle_ref = pathPlanning.controlBus.axisControlBus2.angle_ref; controlBus.axisControlBus2.current = pathPlanning.controlBus.axisControlBus2.current; controlBus.axisControlBus2.current_ref = pathPlanning.controlBus.axisControlBus2.current_ref; controlBus.axisControlBus2.motion_ref = pathPlanning.controlBus.axisControlBus2.motion_ref; controlBus.axisControlBus2.motorAngle = pathPlanning.controlBus.axisControlBus2.motorAngle; controlBus.axisControlBus2.motorSpeed = pathPlanning.controlBus.axisControlBus2.motorSpeed; controlBus.axisControlBus2.speed = pathPlanning.controlBus.axisControlBus2.speed; controlBus.axisControlBus2.speed_ref = pathPlanning.controlBus.axisControlBus2.speed_ref; controlBus.axisControlBus3.acceleration = pathPlanning.controlBus.axisControlBus3.acceleration; controlBus.axisControlBus3.acceleration_ref = pathPlanning.controlBus.axisControlBus3.acceleration_ref; controlBus.axisControlBus3.angle = pathPlanning.controlBus.axisControlBus3.angle; controlBus.axisControlBus3.angle_ref = pathPlanning.controlBus.axisControlBus3.angle_ref; controlBus.axisControlBus3.current = pathPlanning.controlBus.axisControlBus3.current; controlBus.axisControlBus3.current_ref = pathPlanning.controlBus.axisControlBus3.current_ref; controlBus.axisControlBus3.motion_ref = pathPlanning.controlBus.axisControlBus3.motion_ref; controlBus.axisControlBus3.motorAngle = pathPlanning.controlBus.axisControlBus3.motorAngle; controlBus.axisControlBus3.motorSpeed = pathPlanning.controlBus.axisControlBus3.motorSpeed; controlBus.axisControlBus3.speed = pathPlanning.controlBus.axisControlBus3.speed; controlBus.axisControlBus3.speed_ref = pathPlanning.controlBus.axisControlBus3.speed_ref; controlBus.axisControlBus4.acceleration = pathPlanning.controlBus.axisControlBus4.acceleration; controlBus.axisControlBus4.acceleration_ref = pathPlanning.controlBus.axisControlBus4.acceleration_ref; controlBus.axisControlBus4.angle = pathPlanning.controlBus.axisControlBus4.angle; controlBus.axisControlBus4.angle_ref = pathPlanning.controlBus.axisControlBus4.angle_ref; controlBus.axisControlBus4.current = pathPlanning.controlBus.axisControlBus4.current; controlBus.axisControlBus4.current_ref = pathPlanning.controlBus.axisControlBus4.current_ref; controlBus.axisControlBus4.motion_ref = pathPlanning.controlBus.axisControlBus4.motion_ref; controlBus.axisControlBus4.motorAngle = pathPlanning.controlBus.axisControlBus4.motorAngle; controlBus.axisControlBus4.motorSpeed = pathPlanning.controlBus.axisControlBus4.motorSpeed; controlBus.axisControlBus4.speed = pathPlanning.controlBus.axisControlBus4.speed; controlBus.axisControlBus4.speed_ref = pathPlanning.controlBus.axisControlBus4.speed_ref; controlBus.axisControlBus5.acceleration = pathPlanning.controlBus.axisControlBus5.acceleration; controlBus.axisControlBus5.acceleration_ref = pathPlanning.controlBus.axisControlBus5.acceleration_ref; controlBus.axisControlBus5.angle = pathPlanning.controlBus.axisControlBus5.angle; controlBus.axisControlBus5.angle_ref = pathPlanning.controlBus.axisControlBus5.angle_ref; controlBus.axisControlBus5.current = pathPlanning.controlBus.axisControlBus5.current; controlBus.axisControlBus5.current_ref = pathPlanning.controlBus.axisControlBus5.current_ref; controlBus.axisControlBus5.motion_ref = pathPlanning.controlBus.axisControlBus5.motion_ref; controlBus.axisControlBus5.motorAngle = pathPlanning.controlBus.axisControlBus5.motorAngle; controlBus.axisControlBus5.motorSpeed = pathPlanning.controlBus.axisControlBus5.motorSpeed; controlBus.axisControlBus5.speed = pathPlanning.controlBus.axisControlBus5.speed; controlBus.axisControlBus5.speed_ref = pathPlanning.controlBus.axisControlBus5.speed_ref; controlBus.axisControlBus6.acceleration = pathPlanning.controlBus.axisControlBus6.acceleration; controlBus.axisControlBus6.acceleration_ref = pathPlanning.controlBus.axisControlBus6.acceleration_ref; controlBus.axisControlBus6.angle = pathPlanning.controlBus.axisControlBus6.angle; controlBus.axisControlBus6.angle_ref = pathPlanning.controlBus.axisControlBus6.angle_ref; controlBus.axisControlBus6.current = pathPlanning.controlBus.axisControlBus6.current; controlBus.axisControlBus6.current_ref = pathPlanning.controlBus.axisControlBus6.current_ref; controlBus.axisControlBus6.motion_ref = pathPlanning.controlBus.axisControlBus6.motion_ref; controlBus.axisControlBus6.motorAngle = pathPlanning.controlBus.axisControlBus6.motorAngle; controlBus.axisControlBus6.motorSpeed = pathPlanning.controlBus.axisControlBus6.motorSpeed; controlBus.axisControlBus6.speed = pathPlanning.controlBus.axisControlBus6.speed; controlBus.axisControlBus6.speed_ref = pathPlanning.controlBus.axisControlBus6.speed_ref; end Modelica.Mechanics.MultiBody.Examples.Systems.RobotR3.oneAxis; " "Check of Modelica.Mechanics.MultiBody.Examples.Systems.RobotR3.oneAxis completed successfully. Class Modelica.Mechanics.MultiBody.Examples.Systems.RobotR3.oneAxis has 445 equation(s) and 500 variable(s). 329 of these are trivial equation(s). " ""