Ticket #5815: Modelica.Blocks.Examples.PID_Controller_info.json

File Modelica.Blocks.Examples.PID_Controller_info.json, 175.8 KB (added by Adam Dershowitz, 6 years ago)
Line 
1{"format":"Transformational debugger info","version":1,
2"info":{"name":"Modelica.Blocks.Examples.PID_Controller","description":"Demonstrates the usage of a Continuous.LimPID controller"},
3"variables":{
4"PI.I.y":{"comment":"Connector of Real output signal","kind":"state","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":329,"lineEnd":330,"colStart":5,"colEnd":56},"within":["Real"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
5"inertia2.w":{"comment":"Absolute angular velocity of component (= der(phi))","kind":"state","type":"Real","unit":"rad/s","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2478,"lineEnd":2480,"colStart":7,"colEnd":77},"within":["Real"],"instance":"inertia2","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia2"]}},
6"integrator.y":{"comment":"Connector of Real output signal","kind":"state","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":329,"lineEnd":330,"colStart":5,"colEnd":56},"within":["Real"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
7"spring.phi_rel":{"comment":"Relative rotation angle (= flange_b.phi - flange_a.phi)","kind":"state","type":"Real","unit":"rad","displayUnit":"deg","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7284,"lineEnd":7288,"colStart":7,"colEnd":73},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
8"spring.w_rel":{"comment":"Relative angular velocity (= der(phi_rel))","kind":"state","type":"Real","unit":"rad/s","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7289,"lineEnd":7290,"colStart":7,"colEnd":53},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
9"der(PI.I.y)":{"comment":"der(Connector of Real output signal)","kind":"derivative","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":329,"lineEnd":330,"colStart":5,"colEnd":56},"within":["Real"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
10"der(inertia2.w)":{"comment":"der(Absolute angular velocity of component (= der(phi)))","kind":"derivative","type":"Real","unit":"s-2","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2478,"lineEnd":2480,"colStart":7,"colEnd":77},"within":["Real"],"instance":"inertia2","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia2"]}},
11"der(integrator.y)":{"comment":"der(Connector of Real output signal)","kind":"derivative","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":329,"lineEnd":330,"colStart":5,"colEnd":56},"within":["Real"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
12"der(spring.phi_rel)":{"comment":"der(Relative rotation angle (= flange_b.phi - flange_a.phi))","kind":"derivative","type":"Real","unit":"Hz","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7284,"lineEnd":7288,"colStart":7,"colEnd":73},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
13"der(spring.w_rel)":{"comment":"der(Relative angular velocity (= der(phi_rel)))","kind":"derivative","type":"Real","unit":"s-2","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7289,"lineEnd":7290,"colStart":7,"colEnd":53},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
14"der(inertia1.w)":{"comment":"Absolute angular velocity of component (= der(phi))","kind":"dummy derivative","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2478,"lineEnd":2480,"colStart":7,"colEnd":77},"within":["Real"],"instance":"inertia1","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia1"],"operations":[{"op":"info","display":"solved","data":["der(inertia1.w) = inertia1.a"]},{"op":"before-after","display":"differentiate d/dtime","data":["der(inertia1.w)","der(inertia1.w)"]},{"op":"before-after","display":"flattening","data":["a = der(w);","inertia1.a = der(inertia1.w);"]}]}},
15"PI.I.local_set":{"comment":"","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":37,"lineEnd":37,"colStart":5,"colEnd":80},"within":["Real"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"],"operations":[{"op":"info","display":"solved","data":["PI.I.local_set = 0.0"]},{"op":"before-after","display":"flattening","data":["local_set = 0;","PI.I.local_set = 0.0;"]}]}},
16"PI.I.u":{"comment":"Connector of Real input signal","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":327,"lineEnd":328,"colStart":5,"colEnd":58},"within":["Real"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
17"PI.P.u":{"comment":"Input signal connector","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":546,"lineEnd":547,"colStart":5,"colEnd":58},"within":["Real"],"instance":"PIP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Gain$PI$P"]}},
18"PI.P.y":{"comment":"Output signal connector","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":548,"lineEnd":549,"colStart":5,"colEnd":56},"within":["Real"],"instance":"PIP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Gain$PI$P"]}},
19"PI.addFF.u1":{"comment":"Connector of Real input signal 1","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":342,"lineEnd":343,"colStart":5,"colEnd":57},"within":["Real"],"instance":"PIaddFF","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addFF"]}},
20"PI.addFF.y":{"comment":"Connector of Real output signal","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":346,"lineEnd":347,"colStart":5,"colEnd":56},"within":["Real"],"instance":"PIaddFF","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addFF"]}},
21"PI.addI.u3":{"comment":"Connector of Real input signal 3","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":975,"lineEnd":976,"colStart":5,"colEnd":68},"within":["Real"],"instance":"PIaddI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3$PI$addI"]}},
22"PI.addPID.y":{"comment":"Connector of Real output signal","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":977,"lineEnd":978,"colStart":5,"colEnd":64},"within":["Real"],"instance":"PIaddPID","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3"]}},
23"PI.addSat.y":{"comment":"Connector of Real output signal","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":346,"lineEnd":347,"colStart":5,"colEnd":56},"within":["Real"],"instance":"PIaddSat","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addSat"]}},
24"PI.controlError":{"comment":"Control error (set point - measurement)","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":887,"lineEnd":888,"colStart":5,"colEnd":48},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
25"PI.y":{"comment":"Connector of actuator output signal","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":501,"lineEnd":502,"colStart":5,"colEnd":56},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
26"inertia1.a":{"comment":"Absolute angular acceleration of component (= der(w))","kind":"variable","type":"Real","unit":"rad/s2","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2481,"lineEnd":2483,"colStart":7,"colEnd":77},"within":["Real"],"instance":"inertia1","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia1"]}},
27"inertia1.w":{"comment":"Absolute angular velocity of component (= der(phi))","kind":"dummy state","type":"Real","unit":"rad/s","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2478,"lineEnd":2480,"colStart":7,"colEnd":77},"within":["Real"],"instance":"inertia1","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia1"]}},
28"inertia2.a":{"comment":"Absolute angular acceleration of component (= der(w))","kind":"variable","type":"Real","unit":"rad/s2","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2481,"lineEnd":2483,"colStart":7,"colEnd":77},"within":["Real"],"instance":"inertia2","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia2"]}},
29"integrator.local_set":{"comment":"","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":37,"lineEnd":37,"colStart":5,"colEnd":80},"within":["Real"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"],"operations":[{"op":"info","display":"solved","data":["integrator.local_set = 0.0"]},{"op":"before-after","display":"flattening","data":["local_set = 0;","integrator.local_set = 0.0;"]}]}},
30"kinematicPTP.Ta1":{"comment":"","kind":"variable","type":"Real","unit":"s","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1474,"lineEnd":1474,"colStart":5,"colEnd":21},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.Ta1 = sqrt(1.0 / kinematicPTP.sdd_max)"]},{"op":"before-after","display":"flattening","data":["Ta1 = sqrt(1 / sdd_max);","kinematicPTP.Ta1 = sqrt(1.0 / kinematicPTP.sdd_max);"]}]}},
31"kinematicPTP.Ta2":{"comment":"","kind":"variable","type":"Real","unit":"s","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1475,"lineEnd":1475,"colStart":5,"colEnd":21},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.Ta2 = kinematicPTP.sd_max / kinematicPTP.sdd_max"]},{"op":"before-after","display":"flattening","data":["Ta2 = sd_max / sdd_max;","kinematicPTP.Ta2 = kinematicPTP.sd_max / kinematicPTP.sdd_max;"]}]}},
32"kinematicPTP.Te":{"comment":"","kind":"variable","type":"Real","unit":"s","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1477,"lineEnd":1477,"colStart":5,"colEnd":20},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.Te = if kinematicPTP.noWphase then 2.0 * kinematicPTP.Ta1 else kinematicPTP.Tv + kinematicPTP.Ta2"]},{"op":"before-after","display":"flattening","data":["Te = if noWphase then Ta1 + Ta1 else Tv + Ta2;","kinematicPTP.Te = if kinematicPTP.noWphase then 2.0 * kinematicPTP.Ta1 else kinematicPTP.Tv + kinematicPTP.Ta2;"]}]}},
33"kinematicPTP.Tv":{"comment":"","kind":"variable","type":"Real","unit":"s","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1476,"lineEnd":1476,"colStart":5,"colEnd":20},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.Tv = if kinematicPTP.noWphase then kinematicPTP.Ta1 else 1.0 / kinematicPTP.sd_max"]},{"op":"before-after","display":"flattening","data":["Tv = if noWphase then Ta1 else 1 / sd_max;","kinematicPTP.Tv = if kinematicPTP.noWphase then kinematicPTP.Ta1 else 1.0 / kinematicPTP.sd_max;"]}]}},
34"kinematicPTP.aux1[1]":{"comment":"","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1472,"lineEnd":1472,"colStart":5,"colEnd":20},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.aux1[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qd_max[1]"]},{"op":"before-after","display":"flattening","data":["aux1[i] = p_deltaq[i] / p_qd_max[i];","kinematicPTP.aux1[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qd_max[1];"]}]}},
35"kinematicPTP.aux2[1]":{"comment":"","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1473,"lineEnd":1473,"colStart":5,"colEnd":20},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.aux2[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qdd_max[1]"]},{"op":"before-after","display":"flattening","data":["aux2[i] = p_deltaq[i] / p_qdd_max[i];","kinematicPTP.aux2[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qdd_max[1];"]}]}},
36"kinematicPTP.sd_max":{"comment":"","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1469,"lineEnd":1469,"colStart":5,"colEnd":16},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.sd_max = 1.0 / abs(kinematicPTP.aux1[1])"]},{"op":"before-after","display":"flattening","data":["sd_max = 1 / max(abs(aux1));","kinematicPTP.sd_max = 1.0 / abs(kinematicPTP.aux1[1]);"]}]}},
37"kinematicPTP.sdd":{"comment":"","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1471,"lineEnd":1471,"colStart":5,"colEnd":13},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
38"kinematicPTP.sdd_max":{"comment":"","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1470,"lineEnd":1470,"colStart":5,"colEnd":17},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.sdd_max = 1.0 / abs(kinematicPTP.aux2[1])"]},{"op":"before-after","display":"flattening","data":["sdd_max = 1 / max(abs(aux2));","kinematicPTP.sdd_max = 1.0 / abs(kinematicPTP.aux2[1]);"]}]}},
39"kinematicPTP.y[1]":{"comment":"Connector of Real output signals","kind":"variable","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":314,"lineEnd":315,"colStart":5,"colEnd":56},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
40"loadTorque.phi":{"comment":"Angle of flange with respect to support (= flange.phi - support.phi)","kind":"dummy state","type":"Real","unit":"rad","displayUnit":"deg","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7683,"lineEnd":7684,"colStart":7,"colEnd":79},"within":["Real"],"instance":"loadTorque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.ConstantTorque$loadTorque"]}},
41"loadTorque.phi_support":{"comment":"Absolute angle of support flange","kind":"variable","type":"Real","unit":"rad","displayUnit":"deg","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7429,"lineEnd":7429,"colStart":7,"colEnd":76},"within":["Real"],"instance":"loadTorque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.ConstantTorque$loadTorque"],"operations":[{"op":"info","display":"solved","data":["loadTorque.phi_support = 0.0"]},{"op":"before-after","display":"flattening","data":["phi_support = 0;","loadTorque.phi_support = 0.0;"]}]}},
42"speedSensor.flange.tau":{"comment":"Cut torque in the flange","kind":"variable","type":"Real","unit":"N.m","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":6864,"lineEnd":6864,"colStart":7,"colEnd":52},"within":["Real"],"instance":"speedSensorflange","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sensors.SpeedSensor","Modelica.Mechanics.Rotational.Interfaces.Flange_a"],"operations":[{"op":"info","display":"solved","data":["speedSensor.flange.tau = 0.0"]},{"op":"before-after","display":"flattening","data":["0 = flange.tau;","0.0 = speedSensor.flange.tau;"]}]}},
43"spring.a_rel":{"comment":"Relative angular acceleration (= der(w_rel))","kind":"variable","type":"Real","unit":"rad/s2","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7291,"lineEnd":7292,"colStart":7,"colEnd":55},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
44"spring.lossPower":{"comment":"Loss power leaving component via heatPort (> 0, if heat is flowing out of component)","kind":"variable","type":"Real","unit":"W","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Thermal/HeatTransfer.mo","lineStart":3144,"lineEnd":3145,"colStart":7,"colEnd":95},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
45"spring.tau":{"comment":"Torque between flanges (= flange_b.tau)","kind":"variable","type":"Real","unit":"N.m","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7293,"lineEnd":7293,"colStart":7,"colEnd":76},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
46"spring.tau_c":{"comment":"Spring torque","kind":"variable","type":"Real","unit":"N.m","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2704,"lineEnd":2704,"colStart":7,"colEnd":52},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
47"spring.tau_d":{"comment":"Damping torque","kind":"variable","type":"Real","unit":"N.m","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2705,"lineEnd":2705,"colStart":7,"colEnd":53},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
48"torque.phi_support":{"comment":"Absolute angle of support flange","kind":"variable","type":"Real","unit":"rad","displayUnit":"deg","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7429,"lineEnd":7429,"colStart":7,"colEnd":76},"within":["Real"],"instance":"torque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.Torque"],"operations":[{"op":"info","display":"solved","data":["torque.phi_support = 0.0"]},{"op":"before-after","display":"flattening","data":["phi_support = 0;","torque.phi_support = 0.0;"]}]}},
49"PI.I.local_reset":{"comment":"","kind":"discrete","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":36,"lineEnd":36,"colStart":5,"colEnd":85},"within":["Boolean"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"],"operations":[{"op":"info","display":"solved","data":["PI.I.local_reset = false"]},{"op":"before-after","display":"flattening","data":["local_reset = false;","PI.I.local_reset = false;"]}]}},
50"kinematicPTP.noWphase":{"comment":"","kind":"discrete","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1478,"lineEnd":1478,"colStart":5,"colEnd":21},"within":["Boolean"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.noWphase = kinematicPTP.Ta2 >= kinematicPTP.Ta1"]},{"op":"before-after","display":"flattening","data":["noWphase = Ta2 >= Ta1;","kinematicPTP.noWphase = kinematicPTP.Ta2 >= kinematicPTP.Ta1;"]}]}},
51"PI.Dzero.k":{"comment":"Constant output value","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":216,"lineEnd":217,"colStart":5,"colEnd":102},"within":["Real"],"instance":"PIDzero","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Sources.Constant$PI$Dzero"]}},
52"PI.FFzero.k":{"comment":"Constant output value","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":216,"lineEnd":217,"colStart":5,"colEnd":102},"within":["Real"],"instance":"PIFFzero","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Sources.Constant$PI$FFzero"]}},
53"PI.FFzero.y":{"comment":"Connector of Real output signal","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":300,"lineEnd":301,"colStart":5,"colEnd":56},"within":["Real"],"instance":"PIFFzero","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Sources.Constant$PI$FFzero"],"operations":[{"op":"info","display":"solved","data":["PI.FFzero.y = PI.FFzero.k"]},{"op":"before-after","display":"flattening","data":["y = k;","PI.FFzero.y = PI.FFzero.k;"]}]}},
54"PI.I.k":{"comment":"Integrator gain","kind":"parameter","type":"Real","unit":"1","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":10,"lineEnd":10,"colStart":5,"colEnd":51},"within":["Real"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
55"PI.I.y_start":{"comment":"Initial or guess value of output (= state)","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":22,"lineEnd":23,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
56"PI.Nd":{"comment":"The higher Nd, the more ideal the derivative block","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":911,"lineEnd":914,"colStart":5,"colEnd":96},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
57"PI.Ni":{"comment":"Ni*Ti is time constant of anti-windup compensation","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":907,"lineEnd":910,"colStart":5,"colEnd":94},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
58"PI.P.k":{"comment":"Gain value multiplied with input signal","kind":"parameter","type":"Real","unit":"1","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":543,"lineEnd":544,"colStart":5,"colEnd":48},"within":["Real"],"instance":"PIP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Gain$PI$P"]}},
59"PI.Td":{"comment":"Time constant of Derivative block","kind":"parameter","type":"Real","unit":"s","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":896,"lineEnd":899,"colStart":5,"colEnd":76},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
60"PI.Ti":{"comment":"Time constant of Integrator block","kind":"parameter","type":"Real","unit":"s","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":892,"lineEnd":895,"colStart":5,"colEnd":76},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
61"PI.addFF.k1":{"comment":"Gain of input signal 1","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":911,"lineEnd":911,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddFF","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addFF"]}},
62"PI.addFF.k2":{"comment":"Gain of input signal 2","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":912,"lineEnd":912,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddFF","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addFF"]}},
63"PI.addFF.u2":{"comment":"Connector of Real input signal 2","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":344,"lineEnd":345,"colStart":5,"colEnd":59},"within":["Real"],"instance":"PIaddFF","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addFF"],"operations":[{"op":"info","display":"solved","data":["PI.addFF.u2 = PI.FFzero.k"]},{"op":"chain","display":"substitution","data":["PI.addFF.u2","PI.FFzero.y"]}]}},
64"PI.addI.k1":{"comment":"Gain of input signal 1","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":968,"lineEnd":968,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3$PI$addI"]}},
65"PI.addI.k2":{"comment":"Gain of input signal 2","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":969,"lineEnd":969,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3$PI$addI"]}},
66"PI.addI.k3":{"comment":"Gain of input signal 3","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":970,"lineEnd":970,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3$PI$addI"]}},
67"PI.addP.k1":{"comment":"Gain of input signal 1","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":911,"lineEnd":911,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addP"]}},
68"PI.addP.k2":{"comment":"Gain of input signal 2","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":912,"lineEnd":912,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addP"]}},
69"PI.addPID.k1":{"comment":"Gain of input signal 1","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":968,"lineEnd":968,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddPID","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3"]}},
70"PI.addPID.k2":{"comment":"Gain of input signal 2","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":969,"lineEnd":969,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddPID","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3"]}},
71"PI.addPID.k3":{"comment":"Gain of input signal 3","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":970,"lineEnd":970,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddPID","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3"]}},
72"PI.addPID.u2":{"comment":"Connector of Real input signal 2","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":973,"lineEnd":974,"colStart":5,"colEnd":66},"within":["Real"],"instance":"PIaddPID","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3"],"operations":[{"op":"info","display":"solved","data":["PI.addPID.u2 = PI.Dzero.k"]},{"op":"chain","display":"substitution","data":["PI.addPID.u2","PI.Dzero.y"]}]}},
73"PI.addSat.k1":{"comment":"Gain of input signal 1","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":911,"lineEnd":911,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddSat","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addSat"]}},
74"PI.addSat.k2":{"comment":"Gain of input signal 2","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":912,"lineEnd":912,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddSat","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addSat"]}},
75"PI.gainPID.k":{"comment":"Gain value multiplied with input signal","kind":"parameter","type":"Real","unit":"1","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":543,"lineEnd":544,"colStart":5,"colEnd":48},"within":["Real"],"instance":"PIgainPID","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Gain$PI$gainPID"]}},
76"PI.gainTrack.k":{"comment":"Gain value multiplied with input signal","kind":"parameter","type":"Real","unit":"1","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":543,"lineEnd":544,"colStart":5,"colEnd":48},"within":["Real"],"instance":"PIgainTrack","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Gain$PI$gainTrack"]}},
77"PI.k":{"comment":"Gain of controller","kind":"parameter","type":"Real","unit":"1","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":891,"lineEnd":891,"colStart":5,"colEnd":63},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
78"PI.kFF":{"comment":"Gain of feed-forward input","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":917,"lineEnd":918,"colStart":5,"colEnd":49},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
79"PI.limiter.uMax":{"comment":"Upper limits of input signals","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":8,"lineEnd":8,"colStart":9,"colEnd":69},"within":["Real"],"instance":"PIlimiter","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Nonlinear.Limiter$PI$limiter"]}},
80"PI.limiter.uMin":{"comment":"Lower limits of input signals","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":9,"lineEnd":9,"colStart":9,"colEnd":67},"within":["Real"],"instance":"PIlimiter","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Nonlinear.Limiter$PI$limiter"]}},
81"PI.wd":{"comment":"Set-point weight for Derivative block (0..1)","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":904,"lineEnd":906,"colStart":5,"colEnd":96},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
82"PI.wp":{"comment":"Set-point weight for Proportional block (0..1)","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":902,"lineEnd":903,"colStart":5,"colEnd":55},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
83"PI.xd_start":{"comment":"Initial or guess value for state of derivative block","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":927,"lineEnd":931,"colStart":5,"colEnd":96},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
84"PI.xi_start":{"comment":"Initial or guess value for integrator output (= integrator state)","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":922,"lineEnd":926,"colStart":5,"colEnd":87},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
85"PI.yMax":{"comment":"Upper limit of output","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":900,"lineEnd":900,"colStart":5,"colEnd":57},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
86"PI.yMin":{"comment":"Lower limit of output","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":901,"lineEnd":901,"colStart":5,"colEnd":54},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
87"PI.y_start":{"comment":"Initial value of output","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":932,"lineEnd":934,"colStart":5,"colEnd":31},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
88"driveAngle":{"comment":"Reference distance to move","kind":"parameter","type":"Real","unit":"rad","displayUnit":"deg","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/package.mo","lineStart":17,"lineEnd":18,"colStart":5,"colEnd":35},"within":["Real"],"typeLst":["Modelica.Blocks.Examples.PID_Controller"]}},
89"inertia1.J":{"comment":"Moment of inertia","kind":"parameter","type":"Real","unit":"kg.m2","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2471,"lineEnd":2471,"colStart":7,"colEnd":65},"within":["Real"],"instance":"inertia1","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia1"]}},
90"inertia2.J":{"comment":"Moment of inertia","kind":"parameter","type":"Real","unit":"kg.m2","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2471,"lineEnd":2471,"colStart":7,"colEnd":65},"within":["Real"],"instance":"inertia2","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia2"]}},
91"inertia2.flange_b.tau":{"comment":"Cut torque in the flange","kind":"parameter","type":"Real","unit":"N.m","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":6864,"lineEnd":6864,"colStart":7,"colEnd":52},"within":["Real"],"instance":"inertia2flange_b","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia2","Modelica.Mechanics.Rotational.Interfaces.Flange_b"],"operations":[{"op":"info","display":"solved","data":["inertia2.flange_b.tau = loadTorque.tau_constant"]},{"op":"chain","display":"substitution","data":["inertia2.flange_b.tau","-loadTorque.flange.tau"]}]}},
92"integrator.k":{"comment":"Integrator gain","kind":"parameter","type":"Real","unit":"1","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":10,"lineEnd":10,"colStart":5,"colEnd":51},"within":["Real"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
93"integrator.y_start":{"comment":"Initial or guess value of output (= state)","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":22,"lineEnd":23,"colStart":5,"colEnd":50},"within":["Real"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
94"kinematicPTP.deltaq[1]":{"comment":"Distance to move","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1452,"lineEnd":1453,"colStart":5,"colEnd":106},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
95"kinematicPTP.p_deltaq[1]":{"comment":"","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1463,"lineEnd":1464,"colStart":5,"colEnd":31},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
96"kinematicPTP.p_qd_max[1]":{"comment":"","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1465,"lineEnd":1466,"colStart":5,"colEnd":31},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
97"kinematicPTP.p_qdd_max[1]":{"comment":"","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1467,"lineEnd":1468,"colStart":5,"colEnd":33},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
98"kinematicPTP.qd_max[1]":{"comment":"Maximum velocities der(q)","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1454,"lineEnd":1455,"colStart":5,"colEnd":34},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
99"kinematicPTP.qdd_max[1]":{"comment":"Maximum accelerations der(qd)","kind":"parameter","type":"Real","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1456,"lineEnd":1457,"colStart":5,"colEnd":38},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
100"kinematicPTP.startTime":{"comment":"Time instant at which movement starts","kind":"parameter","type":"Real","unit":"s","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1458,"lineEnd":1458,"colStart":5,"colEnd":79},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
101"loadTorque.flange.tau":{"comment":"Cut torque in the flange","kind":"parameter","type":"Real","unit":"N.m","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":6864,"lineEnd":6864,"colStart":7,"colEnd":52},"within":["Real"],"instance":"loadTorqueflange","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.ConstantTorque$loadTorque","Modelica.Mechanics.Rotational.Interfaces.Flange_b"],"operations":[{"op":"info","display":"solved","data":["loadTorque.flange.tau = -loadTorque.tau_constant"]},{"op":"chain","display":"substitution","data":["loadTorque.flange.tau","loadTorque.tau"]},{"op":"before-after","display":"flattening","data":["tau = -flange.tau;","loadTorque.tau = -loadTorque.flange.tau;"]}]}},
102"loadTorque.tau":{"comment":"Accelerating torque acting at flange (= -flange.tau)","kind":"parameter","type":"Real","unit":"N.m","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":6685,"lineEnd":6686,"colStart":7,"colEnd":63},"within":["Real"],"instance":"loadTorque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.ConstantTorque$loadTorque"],"operations":[{"op":"info","display":"solved","data":["loadTorque.tau = loadTorque.tau_constant"]},{"op":"before-after","display":"flattening","data":["tau = tau_constant;","loadTorque.tau = loadTorque.tau_constant;"]}]}},
103"loadTorque.tau_constant":{"comment":"Constant torque (if negative, torque is acting as load in positive direction of rotation)","kind":"parameter","type":"Real","unit":"N.m","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":6681,"lineEnd":6682,"colStart":7,"colEnd":100},"within":["Real"],"instance":"loadTorque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.ConstantTorque$loadTorque"]}},
104"spring.c":{"comment":"Spring constant","kind":"parameter","type":"Real","unit":"N.m/rad","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2694,"lineEnd":2695,"colStart":7,"colEnd":26},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
105"spring.d":{"comment":"Damping constant","kind":"parameter","type":"Real","unit":"N.m.s/rad","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2696,"lineEnd":2697,"colStart":7,"colEnd":27},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
106"spring.phi_nominal":{"comment":"Nominal value of phi_rel (used for scaling)","kind":"parameter","type":"Real","unit":"rad","displayUnit":"rad","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7299,"lineEnd":7302,"colStart":7,"colEnd":44},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
107"spring.phi_rel0":{"comment":"Unstretched spring angle","kind":"parameter","type":"Real","unit":"rad","displayUnit":"deg","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2698,"lineEnd":2698,"colStart":7,"colEnd":63},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
108"PI.I.initType":{"comment":"Type of initialization (1: no init, 2: steady state, 3,4: initial output)","kind":"parameter","type":"Enumeration","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":19,"lineEnd":21,"colStart":5,"colEnd":40},"within":["Modelica.Blocks.Types.Init"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
109"PI.homotopyType":{"comment":"Simplified model for homotopy-based initialization","kind":"parameter","type":"Enumeration","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":935,"lineEnd":937,"colStart":5,"colEnd":65},"within":["Modelica.Blocks.Types.LimiterHomotopy"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
110"PI.initType":{"comment":"Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)","kind":"parameter","type":"Enumeration","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":919,"lineEnd":921,"colStart":5,"colEnd":64},"within":["Modelica.Blocks.Types.InitPID"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
111"PI.limiter.homotopyType":{"comment":"Simplified model for homotopy-based initialization","kind":"parameter","type":"Enumeration","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":12,"lineEnd":13,"colStart":9,"colEnd":69},"within":["Modelica.Blocks.Types.LimiterHomotopy"],"instance":"PIlimiter","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Nonlinear.Limiter$PI$limiter"]}},
112"inertia1.stateSelect":{"comment":"Priority to use phi and w as states","kind":"parameter","type":"Enumeration","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2472,"lineEnd":2474,"colStart":7,"colEnd":61},"within":["StateSelect"],"instance":"inertia1","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia1"]}},
113"inertia2.stateSelect":{"comment":"Priority to use phi and w as states","kind":"parameter","type":"Enumeration","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2472,"lineEnd":2474,"colStart":7,"colEnd":61},"within":["StateSelect"],"instance":"inertia2","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia2"]}},
114"integrator.initType":{"comment":"Type of initialization (1: no init, 2: steady state, 3,4: initial output)","kind":"parameter","type":"Enumeration","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":19,"lineEnd":21,"colStart":5,"colEnd":40},"within":["Modelica.Blocks.Types.Init"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
115"kinematicPTP.nout":{"comment":"Number of outputs","kind":"parameter","type":"Integer","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":313,"lineEnd":313,"colStart":5,"colEnd":58},"within":["Integer"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
116"spring.stateSelect":{"comment":"Priority to use phi_rel and w_rel as states","kind":"parameter","type":"Enumeration","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7303,"lineEnd":7305,"colStart":7,"colEnd":61},"within":["StateSelect"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
117"PI.I.use_reset":{"comment":"=true, if reset port enabled","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":11,"lineEnd":12,"colStart":5,"colEnd":73},"within":["Boolean"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
118"PI.limiter.limitsAtInit":{"comment":"Has no longer an effect and is only kept for backwards compatibility (the implementation uses now the homotopy operator)","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":14,"lineEnd":16,"colStart":9,"colEnd":81},"within":["Boolean"],"instance":"PIlimiter","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Nonlinear.Limiter$PI$limiter"]}},
119"PI.limiter.strict":{"comment":"= true, if strict limits with noEvent(..)","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":10,"lineEnd":11,"colStart":9,"colEnd":85},"within":["Boolean"],"instance":"PIlimiter","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Nonlinear.Limiter$PI$limiter"]}},
120"PI.limitsAtInit":{"comment":"Has no longer an effect and is only kept for backwards compatibility (the implementation uses now the homotopy operator)","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":940,"lineEnd":942,"colStart":5,"colEnd":77},"within":["Boolean"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
121"PI.strict":{"comment":"= true, if strict limits with noEvent(..)","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":938,"lineEnd":939,"colStart":5,"colEnd":81},"within":["Boolean"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
122"PI.withFeedForward":{"comment":"Use feed-forward input?","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":915,"lineEnd":916,"colStart":5,"colEnd":56},"within":["Boolean"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
123"PI.with_D":{"comment":"","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":995,"lineEnd":996,"colStart":5,"colEnd":111},"within":["Boolean"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
124"PI.with_I":{"comment":"","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":993,"lineEnd":994,"colStart":5,"colEnd":111},"within":["Boolean"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
125"integrator.use_reset":{"comment":"=true, if reset port enabled","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":11,"lineEnd":12,"colStart":5,"colEnd":73},"within":["Boolean"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
126"integrator.use_set":{"comment":"=true, if set port enabled and used as reinitialization value when reset","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":13,"lineEnd":14,"colStart":5,"colEnd":99},"within":["Boolean"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
127"loadTorque.useSupport":{"comment":"= true, if support flange enabled, otherwise implicitly grounded","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7417,"lineEnd":7422,"colStart":7,"colEnd":32},"within":["Boolean"],"instance":"loadTorque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.ConstantTorque$loadTorque"]}},
128"spring.useHeatPort":{"comment":"=true, if heatPort is enabled","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Thermal/HeatTransfer.mo","lineStart":3137,"lineEnd":3138,"colStart":7,"colEnd":75},"within":["Boolean"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
129"torque.useSupport":{"comment":"= true, if support flange enabled, otherwise implicitly grounded","kind":"parameter","type":"Boolean","unit":"","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7417,"lineEnd":7422,"colStart":7,"colEnd":32},"within":["Boolean"],"instance":"torque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.Torque"]}},
130"PI.unitTime":{"comment":"","kind":"constant","type":"Real","unit":"s","displayUnit":"","source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":943,"lineEnd":943,"colStart":5,"colEnd":75},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}}
131},
132"equations":[{"eqIndex":0,"tag":"dummy"},
133{"eqIndex":1,"section":"initial","tag":"assign","defines":["PI.I.local_reset"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":36,"lineEnd":36,"colStart":5,"colEnd":85},"within":["Boolean"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"],"operations":[{"op":"info","display":"solved","data":["PI.I.local_reset = false"]},{"op":"info","display":"solved","data":["PI.I.local_reset = false"]},{"op":"info","display":"solved","data":["PI.I.local_reset = false"]},{"op":"before-after","display":"flattening","data":["local_reset = false;","PI.I.local_reset = false;"]}]}},
134{"eqIndex":2,"section":"initial","tag":"assign","defines":["PI.I.local_set"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":37,"lineEnd":37,"colStart":5,"colEnd":80},"within":["Real"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"],"operations":[{"op":"info","display":"solved","data":["PI.I.local_set = 0.0"]},{"op":"info","display":"solved","data":["PI.I.local_set = 0.0"]},{"op":"info","display":"solved","data":["PI.I.local_set = 0.0"]},{"op":"before-after","display":"flattening","data":["local_set = 0;","PI.I.local_set = 0.0;"]}]}},
135{"eqIndex":3,"section":"initial","tag":"assign","defines":["torque.phi_support"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7429,"lineEnd":7429,"colStart":7,"colEnd":76},"within":["Real"],"instance":"torque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.Torque"],"operations":[{"op":"info","display":"solved","data":["torque.phi_support = 0.0"]},{"op":"info","display":"solved","data":["torque.phi_support = 0.0"]},{"op":"info","display":"solved","data":["torque.phi_support = 0.0"]},{"op":"before-after","display":"flattening","data":["phi_support = 0;","torque.phi_support = 0.0;"]}]}},
136{"eqIndex":4,"section":"initial","tag":"assign","defines":["integrator.local_reset"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":36,"lineEnd":36,"colStart":5,"colEnd":85},"within":["Boolean"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"],"operations":[{"op":"info","display":"solved","data":["integrator.local_reset = false"]},{"op":"info","display":"solved","data":["integrator.local_reset = false"]},{"op":"info","display":"solved","data":["integrator.local_reset = false"]},{"op":"before-after","display":"flattening","data":["local_reset = false;","integrator.local_reset = false;"]}]}},
137{"eqIndex":5,"section":"initial","tag":"assign","defines":["integrator.local_set"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":37,"lineEnd":37,"colStart":5,"colEnd":80},"within":["Real"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"],"operations":[{"op":"info","display":"solved","data":["integrator.local_set = 0.0"]},{"op":"info","display":"solved","data":["integrator.local_set = 0.0"]},{"op":"info","display":"solved","data":["integrator.local_set = 0.0"]},{"op":"before-after","display":"flattening","data":["local_set = 0;","integrator.local_set = 0.0;"]}]}},
138{"eqIndex":6,"section":"initial","tag":"assign","defines":["kinematicPTP.aux1[1]"],"uses":["kinematicPTP.p_qd_max[1]","kinematicPTP.p_deltaq[1]"],"equation":["kinematicPTP.p_deltaq[1] / kinematicPTP.p_qd_max[1]"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1472,"lineEnd":1472,"colStart":5,"colEnd":20},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.aux1[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qd_max[1]"]},{"op":"info","display":"solved","data":["kinematicPTP.aux1[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qd_max[1]"]},{"op":"info","display":"solved","data":["kinematicPTP.aux1[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qd_max[1]"]},{"op":"before-after","display":"flattening","data":["aux1[i] = p_deltaq[i] / p_qd_max[i];","kinematicPTP.aux1[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qd_max[1];"]}]}},
139{"eqIndex":7,"section":"initial","tag":"assign","defines":["kinematicPTP.sd_max"],"uses":["kinematicPTP.aux1[1]"],"equation":["1.0 / abs(kinematicPTP.aux1[1])"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1469,"lineEnd":1469,"colStart":5,"colEnd":16},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.sd_max = 1.0 / abs(kinematicPTP.aux1[1])"]},{"op":"info","display":"solved","data":["kinematicPTP.sd_max = 1.0 / abs(kinematicPTP.aux1[1])"]},{"op":"info","display":"solved","data":["kinematicPTP.sd_max = 1.0 / abs(kinematicPTP.aux1[1])"]},{"op":"before-after","display":"flattening","data":["sd_max = 1 / max(abs(aux1));","kinematicPTP.sd_max = 1.0 / abs(kinematicPTP.aux1[1]);"]}]}},
140{"eqIndex":8,"section":"initial","tag":"assign","defines":["kinematicPTP.aux2[1]"],"uses":["kinematicPTP.p_qdd_max[1]","kinematicPTP.p_deltaq[1]"],"equation":["kinematicPTP.p_deltaq[1] / kinematicPTP.p_qdd_max[1]"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1473,"lineEnd":1473,"colStart":5,"colEnd":20},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.aux2[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qdd_max[1]"]},{"op":"info","display":"solved","data":["kinematicPTP.aux2[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qdd_max[1]"]},{"op":"info","display":"solved","data":["kinematicPTP.aux2[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qdd_max[1]"]},{"op":"before-after","display":"flattening","data":["aux2[i] = p_deltaq[i] / p_qdd_max[i];","kinematicPTP.aux2[1] = kinematicPTP.p_deltaq[1] / kinematicPTP.p_qdd_max[1];"]}]}},
141{"eqIndex":9,"section":"initial","tag":"assign","defines":["kinematicPTP.sdd_max"],"uses":["kinematicPTP.aux2[1]"],"equation":["1.0 / abs(kinematicPTP.aux2[1])"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1470,"lineEnd":1470,"colStart":5,"colEnd":17},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.sdd_max = 1.0 / abs(kinematicPTP.aux2[1])"]},{"op":"info","display":"solved","data":["kinematicPTP.sdd_max = 1.0 / abs(kinematicPTP.aux2[1])"]},{"op":"info","display":"solved","data":["kinematicPTP.sdd_max = 1.0 / abs(kinematicPTP.aux2[1])"]},{"op":"before-after","display":"flattening","data":["sdd_max = 1 / max(abs(aux2));","kinematicPTP.sdd_max = 1.0 / abs(kinematicPTP.aux2[1]);"]}]}},
142{"eqIndex":10,"section":"initial","tag":"assign","defines":["kinematicPTP.Ta2"],"uses":["kinematicPTP.sdd_max","kinematicPTP.sd_max"],"equation":["kinematicPTP.sd_max / kinematicPTP.sdd_max"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1475,"lineEnd":1475,"colStart":5,"colEnd":21},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.Ta2 = kinematicPTP.sd_max / kinematicPTP.sdd_max"]},{"op":"info","display":"solved","data":["kinematicPTP.Ta2 = kinematicPTP.sd_max / kinematicPTP.sdd_max"]},{"op":"info","display":"solved","data":["kinematicPTP.Ta2 = kinematicPTP.sd_max / kinematicPTP.sdd_max"]},{"op":"before-after","display":"flattening","data":["Ta2 = sd_max / sdd_max;","kinematicPTP.Ta2 = kinematicPTP.sd_max / kinematicPTP.sdd_max;"]}]}},
143{"eqIndex":11,"section":"initial","tag":"assign","defines":["kinematicPTP.Ta1"],"uses":["kinematicPTP.sdd_max"],"equation":["sqrt(1.0 / kinematicPTP.sdd_max)"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1474,"lineEnd":1474,"colStart":5,"colEnd":21},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"operations":[{"op":"info","display":"solved","data":["kinematicPTP.Ta1 = sqrt(1.0 / kinematicPTP.sdd_max)"]},{"op":"info","display":"solved","data":["kinematicPTP.Ta1 = sqrt(1.0 / kinematicPTP.sdd_max)"]},{"op":"info","display":"solved","data":["kinematicPTP.Ta1 = sqrt(1.0 / kinematicPTP.sdd_max)"]},{"op":"before-after","display":"flattening","data":["Ta1 = sqrt(1 / sdd_max);","kinematicPTP.Ta1 = sqrt(1.0 / kinematicPTP.sdd_max);"]}]}},
144{"eqIndex":12,"tag":"alias","equation":[187],"section":"initial"},
145{"eqIndex":13,"tag":"alias","equation":[188],"section":"initial"},
146{"eqIndex":14,"tag":"alias","equation":[189],"section":"initial"},
147{"eqIndex":15,"tag":"alias","equation":[198],"section":"initial"},
148{"eqIndex":16,"tag":"alias","equation":[199],"section":"initial"},
149{"eqIndex":17,"tag":"alias","equation":[200],"section":"initial"},
150{"eqIndex":18,"section":"initial","tag":"assign","defines":["speedSensor.flange.tau"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":6864,"lineEnd":6864,"colStart":7,"colEnd":52},"within":["Real"],"instance":"speedSensorflange","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sensors.SpeedSensor","Modelica.Mechanics.Rotational.Interfaces.Flange_a"],"operations":[{"op":"info","display":"solved","data":["speedSensor.flange.tau = 0.0"]},{"op":"info","display":"solved","data":["speedSensor.flange.tau = 0.0"]},{"op":"info","display":"solved","data":["speedSensor.flange.tau = 0.0"]},{"op":"before-after","display":"flattening","data":["0 = flange.tau;","0.0 = speedSensor.flange.tau;"]}]}},
151{"eqIndex":19,"section":"initial","tag":"assign","defines":["loadTorque.phi_support"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7429,"lineEnd":7429,"colStart":7,"colEnd":76},"within":["Real"],"instance":"loadTorque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.ConstantTorque$loadTorque"],"operations":[{"op":"info","display":"solved","data":["loadTorque.phi_support = 0.0"]},{"op":"info","display":"solved","data":["loadTorque.phi_support = 0.0"]},{"op":"info","display":"solved","data":["loadTorque.phi_support = 0.0"]},{"op":"before-after","display":"flattening","data":["phi_support = 0;","loadTorque.phi_support = 0.0;"]}]}},
152{"eqIndex":20,"section":"initial","tag":"assign","defines":["inertia1.phi"],"uses":["$START.inertia1.phi"],"equation":["$START.inertia1.phi"],"source":{"info":{"file":"","lineStart":0,"lineEnd":0,"colStart":0,"colEnd":0},"operations":[{"op":"info","display":"solved","data":["inertia1.phi = $START.inertia1.phi"]},{"op":"info","display":"solved","data":["inertia1.phi = $START.inertia1.phi"]}]}},
153{"eqIndex":21,"section":"initial","tag":"assign","defines":["inertia1.a"],"uses":["$START.inertia1.a"],"equation":["$START.inertia1.a"],"source":{"info":{"file":"","lineStart":0,"lineEnd":0,"colStart":0,"colEnd":0},"operations":[{"op":"info","display":"solved","data":["inertia1.a = $START.inertia1.a"]},{"op":"info","display":"solved","data":["inertia1.a = $START.inertia1.a"]}]}},
154{"eqIndex":22,"tag":"alias","equation":[212],"section":"initial"},
155{"eqIndex":23,"section":"initial","tag":"assign","defines":["spring.w_rel"],"uses":["$START.spring.w_rel"],"equation":["$START.spring.w_rel"],"source":{"info":{"file":"","lineStart":0,"lineEnd":0,"colStart":0,"colEnd":0},"operations":[{"op":"info","display":"solved","data":["spring.w_rel = $START.spring.w_rel"]},{"op":"info","display":"solved","data":["spring.w_rel = $START.spring.w_rel"]}]}},
156{"eqIndex":24,"tag":"alias","equation":[197],"section":"initial"},
157{"eqIndex":25,"tag":"alias","equation":[192],"section":"initial"},
158{"eqIndex":26,"tag":"alias","equation":[193],"section":"initial"},
159{"eqIndex":27,"section":"initial","tag":"assign","defines":["der(spring.w_rel)"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/package.mo","lineStart":59,"lineEnd":59,"colStart":5,"colEnd":26},"within":["Modelica.Blocks.Examples.PID_Controller"],"operations":[{"op":"info","display":"solved","data":["der(spring.w_rel) = 0.0"]},{"op":"info","display":"solved","data":["der(spring.w_rel) = 0.0"]},{"op":"before-after","display":"differentiate d/dtime","data":["der(spring.w_rel)","der(spring.w_rel)"]},{"op":"before-after","display":"flattening","data":["der(spring.w_rel) = 0;","#UNKNOWN_EQUATION#"]}]}},
160{"eqIndex":28,"section":"initial","tag":"assign","defines":["spring.a_rel"],"uses":["der(spring.w_rel)"],"equation":["$DER.spring.w_rel"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7310,"lineEnd":7310,"colStart":7,"colEnd":25},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["spring.a_rel = $DER.spring.w_rel"]},{"op":"info","display":"solved","data":["spring.a_rel = $DER.spring.w_rel"]},{"op":"before-after","display":"differentiate d/dtime","data":["der(spring.w_rel)","der(spring.w_rel)"]},{"op":"before-after","display":"flattening","data":["a_rel = der(w_rel);","spring.a_rel = der(spring.w_rel);"]}]}},
161{"eqIndex":29,"section":"initial","tag":"assign","defines":["inertia2.a"],"uses":["spring.a_rel","inertia1.a"],"equation":["inertia1.a + spring.a_rel"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7308,"lineEnd":7308,"colStart":7,"colEnd":44},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["inertia2.a = inertia1.a + spring.a_rel"]},{"op":"info","display":"solved","data":["inertia2.a = inertia1.a + spring.a_rel"]},{"op":"before-after","display":"differentiate d/dtime","data":["inertia2.w - inertia1.w","der(inertia2.w) - der(inertia1.w)"]},{"op":"before-after","display":"differentiate d/dtime","data":["spring.w_rel","der(spring.w_rel)"]},{"op":"before-after","display":"differentiate d/dtime","data":["loadTorque.phi - inertia1.phi","der(loadTorque.phi) - der(inertia1.phi)"]},{"op":"before-after","display":"differentiate d/dtime","data":["spring.phi_rel","der(spring.phi_rel)"]},{"op":"chain","display":"substitution","data":["spring.flange_b.phi - spring.flange_a.phi","loadTorque.phi - inertia1.phi","inertia2.phi - inertia1.phi"]},{"op":"before-after","display":"flattening","data":["phi_rel = flange_b.phi - flange_a.phi;","spring.phi_rel = spring.flange_b.phi - spring.flange_a.phi;"]}]}},
162{"eqIndex":30,"section":"initial","tag":"assign","defines":["spring.tau"],"uses":["inertia2.a","inertia2.J","loadTorque.tau_constant"],"equation":["loadTorque.tau_constant - inertia2.J * inertia2.a"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2490,"lineEnd":2490,"colStart":7,"colEnd":40},"within":["Modelica.Mechanics.Rotational.Components.Inertia$inertia2"],"instance":"inertia2","operations":[{"op":"info","display":"solved","data":["spring.tau = loadTorque.tau_constant - inertia2.J * inertia2.a"]},{"op":"info","display":"solved","data":["spring.tau = loadTorque.tau_constant - inertia2.J * inertia2.a"]},{"op":"before-after","display":"simplify","data":["inertia2.J * inertia2.a = (-spring.tau) + loadTorque.tau_constant","inertia2.J * inertia2.a = loadTorque.tau_constant - spring.tau"]},{"op":"chain","display":"substitution","data":["inertia2.flange_a.tau + inertia2.flange_b.tau","(-spring.tau) + loadTorque.tau_constant"]},{"op":"before-after","display":"flattening","data":["J * a = flange_a.tau + flange_b.tau;","inertia2.J * inertia2.a = inertia2.flange_a.tau + inertia2.flange_b.tau;"]}]}},
163{"eqIndex":31,"section":"initial","tag":"assign","defines":["spring.tau_c"],"uses":["spring.tau_d","spring.tau"],"equation":["spring.tau - spring.tau_d"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2709,"lineEnd":2709,"colStart":7,"colEnd":26},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["spring.tau_c = spring.tau - spring.tau_d"]},{"op":"info","display":"solved","data":["spring.tau_c = spring.tau - spring.tau_d"]},{"op":"before-after","display":"flattening","data":["tau = tau_c + tau_d;","spring.tau = spring.tau_c + spring.tau_d;"]}]}},
164{"eqIndex":32,"section":"initial","tag":"assign","defines":["spring.phi_rel"],"uses":["spring.phi_rel0","spring.c","spring.tau_c"],"equation":["spring.tau_c / spring.c + spring.phi_rel0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2707,"lineEnd":2707,"colStart":7,"colEnd":37},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["spring.phi_rel = spring.tau_c / spring.c + spring.phi_rel0"]},{"op":"info","display":"solved","data":["spring.phi_rel = spring.tau_c / spring.c + spring.phi_rel0"]},{"op":"before-after","display":"flattening","data":["tau_c = c * (phi_rel - phi_rel0);","spring.tau_c = spring.c * (spring.phi_rel - spring.phi_rel0);"]}]}},
165{"eqIndex":33,"tag":"alias","equation":[218],"section":"initial"},
166{"eqIndex":34,"section":"initial","tag":"assign","defines":["PI.y"],"uses":["spring.tau","inertia1.a","inertia1.J"],"equation":["inertia1.J * inertia1.a - spring.tau"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2490,"lineEnd":2490,"colStart":7,"colEnd":40},"within":["Modelica.Mechanics.Rotational.Components.Inertia$inertia1"],"instance":"inertia1","operations":[{"op":"info","display":"solved","data":["PI.y = inertia1.J * inertia1.a - spring.tau"]},{"op":"info","display":"solved","data":["PI.y = inertia1.J * inertia1.a - spring.tau"]},{"op":"chain","display":"substitution","data":["inertia1.flange_a.tau + inertia1.flange_b.tau","PI.y + spring.tau","PI.y + inertia1.flange_b.tau"]},{"op":"before-after","display":"flattening","data":["J * a = flange_a.tau + flange_b.tau;","inertia1.J * inertia1.a = inertia1.flange_a.tau + inertia1.flange_b.tau;"]}]}},
167{"eqIndex":35,"parent":36,"section":"initial","tag":"residual","uses":["PI.limiter.uMin","PI.limiter.uMax","PI.addFF.y","PI.y"],"equation":["PI.y - homotopy(smooth(0, if PI.addFF.y > PI.limiter.uMax then PI.limiter.uMax else if PI.addFF.y < PI.limiter.uMin then PI.limiter.uMin else PI.addFF.y), PI.addFF.y)"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":39,"lineEnd":40,"colStart":13,"colEnd":52},"within":["Modelica.Blocks.Nonlinear.Limiter$PI$limiter"],"instance":"PIlimiter","operations":[{"op":"chain","display":"substitution","data":["homotopy(smooth(0, if PI.limiter.u > PI.limiter.uMax then PI.limiter.uMax else if PI.limiter.u < PI.limiter.uMin then PI.limiter.uMin else PI.limiter.u), PI.limiter.simplifiedExpr)","homotopy(smooth(0, if PI.addFF.y > PI.limiter.uMax then PI.limiter.uMax else if PI.addFF.y < PI.limiter.uMin then PI.limiter.uMin else PI.addFF.y), PI.addFF.y)"]},{"op":"chain","display":"substitution","data":["PI.limiter.y","PI.y"]},{"op":"before-after","display":"flattening","data":["y = homotopy(actual = smooth(0, if u > uMax then uMax else if u < uMin then uMin else u), simplified = simplifiedExpr);","PI.limiter.y = homotopy(smooth(0, if PI.limiter.u > PI.limiter.uMax then PI.limiter.uMax else if PI.limiter.u < PI.limiter.uMin then PI.limiter.uMin else PI.limiter.u), PI.limiter.simplifiedExpr);"]}]}},
168{"eqIndex":36,"section":"initial","tag":"system","display":"non-linear","unknowns":1,"defines":["PI.addFF.y"],"equation":[[35],[]]},
169{"eqIndex":37,"tag":"alias","equation":[213],"section":"initial"},
170{"eqIndex":38,"tag":"alias","equation":[214],"section":"initial"},
171{"eqIndex":39,"section":"initial","tag":"assign","defines":["PI.addFF.u1"],"uses":["PI.addFF.k1","PI.FFzero.k","PI.addFF.k2","PI.addFF.y"],"equation":["(PI.addFF.y - PI.addFF.k2 * PI.FFzero.k) / PI.addFF.k1"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":915,"lineEnd":915,"colStart":5,"colEnd":22},"within":["Modelica.Blocks.Math.Add$PI$addFF"],"instance":"PIaddFF","operations":[{"op":"info","display":"solved","data":["PI.addFF.u1 = (PI.addFF.y - PI.addFF.k2 * PI.FFzero.k) / PI.addFF.k1"]},{"op":"info","display":"solved","data":["PI.addFF.u1 = (PI.addFF.y - PI.addFF.k2 * PI.FFzero.k) / PI.addFF.k1"]},{"op":"chain","display":"substitution","data":["PI.addFF.k1 * PI.addFF.u1 + PI.addFF.k2 * PI.addFF.u2","PI.addFF.k1 * PI.addFF.u1 + PI.addFF.k2 * PI.FFzero.k"]},{"op":"before-after","display":"flattening","data":["y = k1 * u1 + k2 * u2;","PI.addFF.y = PI.addFF.k1 * PI.addFF.u1 + PI.addFF.k2 * PI.addFF.u2;"]}]}},
172{"eqIndex":40,"section":"initial","tag":"assign","defines":["PI.addPID.y"],"uses":["PI.gainPID.k","PI.addFF.u1"],"equation":["PI.addFF.u1 / PI.gainPID.k"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":552,"lineEnd":552,"colStart":5,"colEnd":12},"within":["Modelica.Blocks.Math.Gain$PI$gainPID"],"instance":"PIgainPID","operations":[{"op":"info","display":"solved","data":["PI.addPID.y = PI.addFF.u1 / PI.gainPID.k"]},{"op":"info","display":"solved","data":["PI.addPID.y = PI.addFF.u1 / PI.gainPID.k"]},{"op":"chain","display":"substitution","data":["PI.gainPID.k * PI.gainPID.u","PI.gainPID.k * PI.addPID.y"]},{"op":"chain","display":"substitution","data":["PI.gainPID.y","PI.addFF.u1"]},{"op":"before-after","display":"flattening","data":["y = k * u;","PI.gainPID.y = PI.gainPID.k * PI.gainPID.u;"]}]}},
173{"eqIndex":41,"tag":"alias","equation":[196],"section":"initial"},
174{"eqIndex":42,"section":"initial","tag":"assign","defines":["integrator.y"],"uses":["integrator.y_start"],"equation":["integrator.y_start"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":44,"lineEnd":44,"colStart":7,"colEnd":18},"within":["Modelica.Blocks.Continuous.Integrator$integrator"],"instance":"integrator","operations":[{"op":"info","display":"solved","data":["integrator.y = integrator.y_start"]},{"op":"info","display":"solved","data":["integrator.y = integrator.y_start"]},{"op":"before-after","display":"flattening","data":["y = y_start;","#UNKNOWN_EQUATION#"]}]}},
175{"eqIndex":43,"section":"initial","tag":"assign","defines":["der(PI.I.y)"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":41,"lineEnd":41,"colStart":8,"colEnd":18},"within":["Modelica.Blocks.Continuous.Integrator$PI$I"],"instance":"PII","operations":[{"op":"info","display":"solved","data":["der(PI.I.y) = 0.0"]},{"op":"info","display":"solved","data":["der(PI.I.y) = 0.0"]},{"op":"before-after","display":"flattening","data":["der(y) = 0;","#UNKNOWN_EQUATION#"]}]}},
176{"eqIndex":44,"section":"initial","tag":"assign","defines":["PI.I.u"],"uses":["PI.I.k","der(PI.I.y)"],"equation":["$DER.PI.I.y / PI.I.k"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":61,"lineEnd":61,"colStart":5,"colEnd":17},"within":["Modelica.Blocks.Continuous.Integrator$PI$I"],"instance":"PII","operations":[{"op":"info","display":"solved","data":["PI.I.u = $DER.PI.I.y / PI.I.k"]},{"op":"info","display":"solved","data":["PI.I.u = $DER.PI.I.y / PI.I.k"]},{"op":"before-after","display":"differentiate d/dtime","data":["der(PI.I.y)","der(PI.I.y)"]},{"op":"before-after","display":"flattening","data":["der(y) = k * u;","der(PI.I.y) = PI.I.k * PI.I.u;"]}]}},
177{"eqIndex":45,"section":"initial","tag":"assign","defines":["inertia1.w"],"uses":["PI.addI.k2","PI.addI.u3","PI.addI.k3","integrator.y","PI.addI.k1","PI.I.u"],"equation":["(PI.I.u - (PI.addI.k1 * integrator.y + PI.addI.k3 * PI.addI.u3)) / PI.addI.k2"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":981,"lineEnd":981,"colStart":5,"colEnd":30},"within":["Modelica.Blocks.Math.Add3$PI$addI"],"instance":"PIaddI","operations":[{"op":"info","display":"solved","data":["inertia1.w = (PI.I.u - (PI.addI.k1 * integrator.y + PI.addI.k3 * PI.addI.u3)) / PI.addI.k2"]},{"op":"info","display":"solved","data":["inertia1.w = (PI.I.u - (PI.addI.k1 * integrator.y + PI.addI.k3 * PI.addI.u3)) / PI.addI.k2"]},{"op":"chain","display":"substitution","data":["PI.addI.k1 * PI.addI.u1 + PI.addI.k2 * PI.addI.u2 + PI.addI.k3 * PI.addI.u3","PI.addI.k1 * integrator.y + PI.addI.k2 * inertia1.w + PI.addI.k3 * PI.addI.u3","PI.addI.k1 * integrator.y + PI.addI.k2 * PI.u_m + PI.addI.k3 * PI.addI.u3"]},{"op":"chain","display":"substitution","data":["PI.addI.y","PI.I.u"]},{"op":"before-after","display":"flattening","data":["y = k1 * u1 + k2 * u2 + k3 * u3;","PI.addI.y = PI.addI.k1 * PI.addI.u1 + PI.addI.k2 * PI.addI.u2 + PI.addI.k3 * PI.addI.u3;"]}]}},
178{"eqIndex":46,"section":"initial","tag":"assign","defines":["inertia2.w"],"uses":["spring.w_rel","inertia1.w"],"equation":["inertia1.w + spring.w_rel"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7308,"lineEnd":7308,"colStart":7,"colEnd":44},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["inertia2.w = inertia1.w + spring.w_rel"]},{"op":"info","display":"solved","data":["inertia2.w = inertia1.w + spring.w_rel"]},{"op":"before-after","display":"differentiate d/dtime","data":["loadTorque.phi - inertia1.phi","der(loadTorque.phi) - der(inertia1.phi)"]},{"op":"before-after","display":"differentiate d/dtime","data":["spring.phi_rel","der(spring.phi_rel)"]},{"op":"chain","display":"substitution","data":["spring.flange_b.phi - spring.flange_a.phi","loadTorque.phi - inertia1.phi","inertia2.phi - inertia1.phi"]},{"op":"before-after","display":"flattening","data":["phi_rel = flange_b.phi - flange_a.phi;","spring.phi_rel = spring.flange_b.phi - spring.flange_a.phi;"]}]}},
179{"eqIndex":47,"tag":"alias","equation":[190],"section":"initial"},
180{"eqIndex":48,"tag":"alias","equation":[202],"section":"initial"},
181{"eqIndex":49,"tag":"alias","equation":[203],"section":"initial"},
182{"eqIndex":50,"tag":"alias","equation":[204],"section":"initial"},
183{"eqIndex":51,"section":"initial","tag":"assign","defines":["PI.I.y"],"uses":["PI.addPID.k3","PI.Dzero.k","PI.addPID.k2","PI.P.y","PI.addPID.k1","PI.addPID.y"],"equation":["(PI.addPID.y - (PI.addPID.k1 * PI.P.y + PI.addPID.k2 * PI.Dzero.k)) / PI.addPID.k3"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":981,"lineEnd":981,"colStart":5,"colEnd":30},"within":["Modelica.Blocks.Math.Add3"],"instance":"PIaddPID","operations":[{"op":"info","display":"solved","data":["PI.I.y = (PI.addPID.y - (PI.addPID.k1 * PI.P.y + PI.addPID.k2 * PI.Dzero.k)) / PI.addPID.k3"]},{"op":"info","display":"solved","data":["PI.I.y = (PI.addPID.y - (PI.addPID.k1 * PI.P.y + PI.addPID.k2 * PI.Dzero.k)) / PI.addPID.k3"]},{"op":"chain","display":"substitution","data":["PI.addPID.k1 * PI.addPID.u1 + PI.addPID.k2 * PI.addPID.u2 + PI.addPID.k3 * PI.addPID.u3","PI.addPID.k1 * PI.P.y + PI.addPID.k2 * PI.Dzero.k + PI.addPID.k3 * PI.I.y"]},{"op":"before-after","display":"flattening","data":["y = k1 * u1 + k2 * u2 + k3 * u3;","PI.addPID.y = PI.addPID.k1 * PI.addPID.u1 + PI.addPID.k2 * PI.addPID.u2 + PI.addPID.k3 * PI.addPID.u3;"]}]}},
184{"eqIndex":52,"tag":"alias","equation":[217],"section":"initial"},
185{"eqIndex":53,"section":"initial","tag":"algorithm","equation":["assert(PI.limiter.uMax >= PI.limiter.uMin, \"Limiter: Limits must be consistent. However, uMax (=\" + String(PI.limiter.uMax, 6, 0, true) + \") < uMin (=\" + String(PI.limiter.uMin, 6, 0, true) + \")\");"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":22,"lineEnd":23,"colStart":9,"colEnd":65},"within":["Modelica.Blocks.Nonlinear.Limiter$PI$limiter"],"instance":"PIlimiter","operations":[{"op":"info","display":"scode","data":["assert(uMax >= uMin, \"Limiter: Limits must be consistent. However, uMax (=\" + String(uMax) + \") < uMin (=\" + String(uMin) + \")\");"]}]}},
186{"eqIndex":54,"section":"initial-lambda0","tag":"assign","defines":["PI.controllerType"],"uses":[],"equation":["Modelica.Blocks.Types.SimpleController.PI"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":889,"lineEnd":890,"colStart":5,"colEnd":76},"within":["Modelica.Blocks.Types.SimpleController"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
187{"eqIndex":55,"section":"initial-lambda0","tag":"assign","defines":["PI.Td"],"uses":[],"equation":["0.1"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":896,"lineEnd":899,"colStart":5,"colEnd":76},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
188{"eqIndex":56,"section":"initial-lambda0","tag":"assign","defines":["PI.wd"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":904,"lineEnd":906,"colStart":5,"colEnd":96},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
189{"eqIndex":57,"section":"initial-lambda0","tag":"assign","defines":["PI.Nd"],"uses":[],"equation":["10.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":911,"lineEnd":914,"colStart":5,"colEnd":96},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
190{"eqIndex":58,"section":"initial-lambda0","tag":"assign","defines":["PI.withFeedForward"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":915,"lineEnd":916,"colStart":5,"colEnd":56},"within":["Boolean"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
191{"eqIndex":59,"section":"initial-lambda0","tag":"assign","defines":["PI.initType"],"uses":[],"equation":["Modelica.Blocks.Types.InitPID.SteadyState"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":919,"lineEnd":921,"colStart":5,"colEnd":64},"within":["Modelica.Blocks.Types.InitPID"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
192{"eqIndex":60,"section":"initial-lambda0","tag":"assign","defines":["PI.xd_start"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":927,"lineEnd":931,"colStart":5,"colEnd":96},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
193{"eqIndex":61,"section":"initial-lambda0","tag":"assign","defines":["PI.y_start"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":932,"lineEnd":934,"colStart":5,"colEnd":31},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
194{"eqIndex":62,"section":"initial-lambda0","tag":"assign","defines":["PI.homotopyType"],"uses":[],"equation":["Modelica.Blocks.Types.LimiterHomotopy.Linear"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":935,"lineEnd":937,"colStart":5,"colEnd":65},"within":["Modelica.Blocks.Types.LimiterHomotopy"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
195{"eqIndex":63,"section":"initial-lambda0","tag":"assign","defines":["PI.strict"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":938,"lineEnd":939,"colStart":5,"colEnd":81},"within":["Boolean"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
196{"eqIndex":64,"section":"initial-lambda0","tag":"assign","defines":["PI.limitsAtInit"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":940,"lineEnd":942,"colStart":5,"colEnd":77},"within":["Boolean"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
197{"eqIndex":65,"section":"initial-lambda0","tag":"assign","defines":["PI.addP.k1"],"uses":["PI.wp"],"equation":["PI.wp"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":911,"lineEnd":911,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addP"]}},
198{"eqIndex":66,"section":"initial-lambda0","tag":"assign","defines":["PI.wp"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":902,"lineEnd":903,"colStart":5,"colEnd":55},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
199{"eqIndex":67,"section":"initial-lambda0","tag":"assign","defines":["PI.addP.k2"],"uses":[],"equation":["-1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":912,"lineEnd":912,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addP"]}},
200{"eqIndex":68,"section":"initial-lambda0","tag":"assign","defines":["PI.P.k"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":543,"lineEnd":544,"colStart":5,"colEnd":48},"within":["Real"],"instance":"PIP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Gain$PI$P"]}},
201{"eqIndex":69,"section":"initial-lambda0","tag":"assign","defines":["PI.gainPID.k"],"uses":["PI.k"],"equation":["PI.k"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":543,"lineEnd":544,"colStart":5,"colEnd":48},"within":["Real"],"instance":"PIgainPID","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Gain$PI$gainPID"]}},
202{"eqIndex":70,"section":"initial-lambda0","tag":"assign","defines":["PI.addPID.k1"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":968,"lineEnd":968,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddPID","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3"]}},
203{"eqIndex":71,"section":"initial-lambda0","tag":"assign","defines":["PI.addPID.k2"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":969,"lineEnd":969,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddPID","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3"]}},
204{"eqIndex":72,"section":"initial-lambda0","tag":"assign","defines":["PI.addPID.k3"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":970,"lineEnd":970,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddPID","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3"]}},
205{"eqIndex":73,"section":"initial-lambda0","tag":"assign","defines":["PI.limiter.uMax"],"uses":["PI.yMax"],"equation":["PI.yMax"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":8,"lineEnd":8,"colStart":9,"colEnd":69},"within":["Real"],"instance":"PIlimiter","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Nonlinear.Limiter$PI$limiter"]}},
206{"eqIndex":74,"section":"initial-lambda0","tag":"assign","defines":["PI.limiter.uMin"],"uses":["PI.yMin"],"equation":["PI.yMin"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":9,"lineEnd":9,"colStart":9,"colEnd":67},"within":["Real"],"instance":"PIlimiter","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Nonlinear.Limiter$PI$limiter"]}},
207{"eqIndex":75,"section":"initial-lambda0","tag":"assign","defines":["PI.yMin"],"uses":["PI.yMax"],"equation":["-PI.yMax"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":901,"lineEnd":901,"colStart":5,"colEnd":54},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
208{"eqIndex":76,"section":"initial-lambda0","tag":"assign","defines":["PI.yMax"],"uses":[],"equation":["12.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":900,"lineEnd":900,"colStart":5,"colEnd":57},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
209{"eqIndex":77,"section":"initial-lambda0","tag":"assign","defines":["PI.limiter.strict"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":10,"lineEnd":11,"colStart":9,"colEnd":85},"within":["Boolean"],"instance":"PIlimiter","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Nonlinear.Limiter$PI$limiter"]}},
210{"eqIndex":78,"section":"initial-lambda0","tag":"assign","defines":["PI.limiter.homotopyType"],"uses":[],"equation":["Modelica.Blocks.Types.LimiterHomotopy.Linear"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":12,"lineEnd":13,"colStart":9,"colEnd":69},"within":["Modelica.Blocks.Types.LimiterHomotopy"],"instance":"PIlimiter","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Nonlinear.Limiter$PI$limiter"]}},
211{"eqIndex":79,"section":"initial-lambda0","tag":"assign","defines":["PI.limiter.limitsAtInit"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":14,"lineEnd":16,"colStart":9,"colEnd":81},"within":["Boolean"],"instance":"PIlimiter","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Nonlinear.Limiter$PI$limiter"]}},
212{"eqIndex":80,"section":"initial-lambda0","tag":"assign","defines":["PI.with_I"],"uses":[],"equation":["true"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":993,"lineEnd":994,"colStart":5,"colEnd":111},"within":["Boolean"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
213{"eqIndex":81,"section":"initial-lambda0","tag":"assign","defines":["PI.with_D"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":995,"lineEnd":996,"colStart":5,"colEnd":111},"within":["Boolean"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
214{"eqIndex":82,"section":"initial-lambda0","tag":"assign","defines":["PI.addFF.k1"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":911,"lineEnd":911,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddFF","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addFF"]}},
215{"eqIndex":83,"section":"initial-lambda0","tag":"assign","defines":["PI.addFF.k2"],"uses":["PI.kFF"],"equation":["PI.kFF"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":912,"lineEnd":912,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddFF","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addFF"]}},
216{"eqIndex":84,"section":"initial-lambda0","tag":"assign","defines":["PI.kFF"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":917,"lineEnd":918,"colStart":5,"colEnd":49},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
217{"eqIndex":85,"section":"initial-lambda0","tag":"assign","defines":["PI.I.k"],"uses":["PI.Ti"],"equation":["1.0 / PI.Ti"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":10,"lineEnd":10,"colStart":5,"colEnd":51},"within":["Real"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
218{"eqIndex":86,"section":"initial-lambda0","tag":"assign","defines":["PI.Ti"],"uses":[],"equation":["0.1"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":892,"lineEnd":895,"colStart":5,"colEnd":76},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
219{"eqIndex":87,"section":"initial-lambda0","tag":"assign","defines":["PI.I.use_reset"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":11,"lineEnd":12,"colStart":5,"colEnd":73},"within":["Boolean"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
220{"eqIndex":88,"section":"initial-lambda0","tag":"assign","defines":["PI.I.use_set"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":13,"lineEnd":14,"colStart":5,"colEnd":99},"within":["Boolean"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
221{"eqIndex":89,"section":"initial-lambda0","tag":"assign","defines":["PI.I.initType"],"uses":[],"equation":["Modelica.Blocks.Types.Init.SteadyState"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":19,"lineEnd":21,"colStart":5,"colEnd":40},"within":["Modelica.Blocks.Types.Init"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
222{"eqIndex":90,"section":"initial-lambda0","tag":"assign","defines":["PI.I.y_start"],"uses":["PI.xi_start"],"equation":["PI.xi_start"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":22,"lineEnd":23,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
223{"eqIndex":91,"section":"initial-lambda0","tag":"assign","defines":["PI.xi_start"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":922,"lineEnd":926,"colStart":5,"colEnd":87},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
224{"eqIndex":92,"section":"initial-lambda0","tag":"assign","defines":["PI.addI.k1"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":968,"lineEnd":968,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3$PI$addI"]}},
225{"eqIndex":93,"section":"initial-lambda0","tag":"assign","defines":["PI.addI.k2"],"uses":[],"equation":["-1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":969,"lineEnd":969,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3$PI$addI"]}},
226{"eqIndex":94,"section":"initial-lambda0","tag":"assign","defines":["PI.addI.k3"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":970,"lineEnd":970,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3$PI$addI"]}},
227{"eqIndex":95,"section":"initial-lambda0","tag":"assign","defines":["PI.addSat.k1"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":911,"lineEnd":911,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddSat","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addSat"]}},
228{"eqIndex":96,"section":"initial-lambda0","tag":"assign","defines":["PI.addSat.k2"],"uses":[],"equation":["-1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":912,"lineEnd":912,"colStart":5,"colEnd":50},"within":["Real"],"instance":"PIaddSat","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addSat"]}},
229{"eqIndex":97,"section":"initial-lambda0","tag":"assign","defines":["PI.gainTrack.k"],"uses":["PI.k","PI.Ni"],"equation":["1.0 / (PI.Ni * PI.k)"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":543,"lineEnd":544,"colStart":5,"colEnd":48},"within":["Real"],"instance":"PIgainTrack","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Gain$PI$gainTrack"]}},
230{"eqIndex":98,"section":"initial-lambda0","tag":"assign","defines":["PI.Ni"],"uses":[],"equation":["0.1"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":907,"lineEnd":910,"colStart":5,"colEnd":94},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
231{"eqIndex":99,"section":"initial-lambda0","tag":"assign","defines":["PI.k"],"uses":[],"equation":["100.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":891,"lineEnd":891,"colStart":5,"colEnd":63},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
232{"eqIndex":100,"section":"initial-lambda0","tag":"assign","defines":["inertia1.J"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2471,"lineEnd":2471,"colStart":7,"colEnd":65},"within":["Real"],"instance":"inertia1","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia1"]}},
233{"eqIndex":101,"section":"initial-lambda0","tag":"assign","defines":["inertia1.stateSelect"],"uses":[],"equation":["StateSelect.default"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2472,"lineEnd":2474,"colStart":7,"colEnd":61},"within":["StateSelect"],"instance":"inertia1","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia1"]}},
234{"eqIndex":102,"section":"initial-lambda0","tag":"assign","defines":["torque.useSupport"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7417,"lineEnd":7422,"colStart":7,"colEnd":32},"within":["Boolean"],"instance":"torque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.Torque"]}},
235{"eqIndex":103,"section":"initial-lambda0","tag":"assign","defines":["spring.phi_nominal"],"uses":[],"equation":["0.0001"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7299,"lineEnd":7302,"colStart":7,"colEnd":44},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
236{"eqIndex":104,"section":"initial-lambda0","tag":"assign","defines":["spring.stateSelect"],"uses":[],"equation":["StateSelect.prefer"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7303,"lineEnd":7305,"colStart":7,"colEnd":61},"within":["StateSelect"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
237{"eqIndex":105,"section":"initial-lambda0","tag":"assign","defines":["spring.useHeatPort"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Thermal/HeatTransfer.mo","lineStart":3137,"lineEnd":3138,"colStart":7,"colEnd":75},"within":["Boolean"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
238{"eqIndex":106,"section":"initial-lambda0","tag":"assign","defines":["spring.c"],"uses":[],"equation":["10000.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2694,"lineEnd":2695,"colStart":7,"colEnd":26},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
239{"eqIndex":107,"section":"initial-lambda0","tag":"assign","defines":["spring.d"],"uses":[],"equation":["100.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2696,"lineEnd":2697,"colStart":7,"colEnd":27},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
240{"eqIndex":108,"section":"initial-lambda0","tag":"assign","defines":["spring.phi_rel0"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2698,"lineEnd":2698,"colStart":7,"colEnd":63},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
241{"eqIndex":109,"section":"initial-lambda0","tag":"assign","defines":["inertia2.J"],"uses":[],"equation":["2.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2471,"lineEnd":2471,"colStart":7,"colEnd":65},"within":["Real"],"instance":"inertia2","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia2"]}},
242{"eqIndex":110,"section":"initial-lambda0","tag":"assign","defines":["inertia2.stateSelect"],"uses":[],"equation":["StateSelect.default"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2472,"lineEnd":2474,"colStart":7,"colEnd":61},"within":["StateSelect"],"instance":"inertia2","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia2"]}},
243{"eqIndex":111,"section":"initial-lambda0","tag":"assign","defines":["kinematicPTP.nout"],"uses":[],"equation":["1"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":313,"lineEnd":313,"colStart":5,"colEnd":58},"within":["Integer"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
244{"eqIndex":112,"section":"initial-lambda0","tag":"assign","defines":["kinematicPTP.startTime"],"uses":[],"equation":["0.5"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1458,"lineEnd":1458,"colStart":5,"colEnd":79},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
245{"eqIndex":113,"section":"initial-lambda0","tag":"assign","defines":["kinematicPTP.p_deltaq[1]"],"uses":["kinematicPTP.deltaq[1]"],"equation":["kinematicPTP.deltaq[1]"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1463,"lineEnd":1464,"colStart":5,"colEnd":31},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
246{"eqIndex":114,"section":"initial-lambda0","tag":"assign","defines":["kinematicPTP.deltaq[1]"],"uses":["driveAngle"],"equation":["driveAngle"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1452,"lineEnd":1453,"colStart":5,"colEnd":106},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
247{"eqIndex":115,"section":"initial-lambda0","tag":"assign","defines":["driveAngle"],"uses":[],"equation":["1.570796326794897"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/package.mo","lineStart":17,"lineEnd":18,"colStart":5,"colEnd":35},"within":["Real"],"typeLst":["Modelica.Blocks.Examples.PID_Controller"]}},
248{"eqIndex":116,"section":"initial-lambda0","tag":"assign","defines":["kinematicPTP.p_qd_max[1]"],"uses":["kinematicPTP.qd_max[1]"],"equation":["kinematicPTP.qd_max[1]"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1465,"lineEnd":1466,"colStart":5,"colEnd":31},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
249{"eqIndex":117,"section":"initial-lambda0","tag":"assign","defines":["kinematicPTP.qd_max[1]"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1454,"lineEnd":1455,"colStart":5,"colEnd":34},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
250{"eqIndex":118,"section":"initial-lambda0","tag":"assign","defines":["kinematicPTP.p_qdd_max[1]"],"uses":["kinematicPTP.qdd_max[1]"],"equation":["kinematicPTP.qdd_max[1]"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1467,"lineEnd":1468,"colStart":5,"colEnd":33},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
251{"eqIndex":119,"section":"initial-lambda0","tag":"assign","defines":["kinematicPTP.qdd_max[1]"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1456,"lineEnd":1457,"colStart":5,"colEnd":38},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
252{"eqIndex":120,"section":"initial-lambda0","tag":"assign","defines":["integrator.k"],"uses":[],"equation":["1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":10,"lineEnd":10,"colStart":5,"colEnd":51},"within":["Real"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
253{"eqIndex":121,"section":"initial-lambda0","tag":"assign","defines":["integrator.use_reset"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":11,"lineEnd":12,"colStart":5,"colEnd":73},"within":["Boolean"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
254{"eqIndex":122,"section":"initial-lambda0","tag":"assign","defines":["integrator.use_set"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":13,"lineEnd":14,"colStart":5,"colEnd":99},"within":["Boolean"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
255{"eqIndex":123,"section":"initial-lambda0","tag":"assign","defines":["integrator.initType"],"uses":[],"equation":["Modelica.Blocks.Types.Init.InitialState"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":19,"lineEnd":21,"colStart":5,"colEnd":40},"within":["Modelica.Blocks.Types.Init"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
256{"eqIndex":124,"section":"initial-lambda0","tag":"assign","defines":["integrator.y_start"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":22,"lineEnd":23,"colStart":5,"colEnd":50},"within":["Real"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
257{"eqIndex":125,"section":"initial-lambda0","tag":"assign","defines":["loadTorque.useSupport"],"uses":[],"equation":["false"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7417,"lineEnd":7422,"colStart":7,"colEnd":32},"within":["Boolean"],"instance":"loadTorque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.ConstantTorque$loadTorque"]}},
258{"eqIndex":126,"section":"initial-lambda0","tag":"assign","defines":["loadTorque.tau"],"uses":["loadTorque.tau_constant"],"equation":["loadTorque.tau_constant"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":6685,"lineEnd":6686,"colStart":7,"colEnd":63},"within":["Real"],"instance":"loadTorque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.ConstantTorque$loadTorque"],"operations":[{"op":"info","display":"solved","data":["loadTorque.tau = loadTorque.tau_constant"]},{"op":"before-after","display":"flattening","data":["tau = tau_constant;","loadTorque.tau = loadTorque.tau_constant;"]}]}},
259{"eqIndex":127,"section":"initial-lambda0","tag":"assign","defines":["loadTorque.flange.tau"],"uses":["loadTorque.tau_constant"],"equation":["-loadTorque.tau_constant"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":6864,"lineEnd":6864,"colStart":7,"colEnd":52},"within":["Real"],"instance":"loadTorqueflange","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.ConstantTorque$loadTorque","Modelica.Mechanics.Rotational.Interfaces.Flange_b"],"operations":[{"op":"info","display":"solved","data":["loadTorque.flange.tau = -loadTorque.tau_constant"]},{"op":"chain","display":"substitution","data":["loadTorque.flange.tau","loadTorque.tau"]},{"op":"before-after","display":"flattening","data":["tau = -flange.tau;","loadTorque.tau = -loadTorque.flange.tau;"]}]}},
260{"eqIndex":128,"section":"initial-lambda0","tag":"assign","defines":["inertia2.flange_b.tau"],"uses":["loadTorque.tau_constant"],"equation":["loadTorque.tau_constant"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":6864,"lineEnd":6864,"colStart":7,"colEnd":52},"within":["Real"],"instance":"inertia2flange_b","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia2","Modelica.Mechanics.Rotational.Interfaces.Flange_b"],"operations":[{"op":"info","display":"solved","data":["inertia2.flange_b.tau = loadTorque.tau_constant"]},{"op":"chain","display":"substitution","data":["inertia2.flange_b.tau","-loadTorque.flange.tau"]}]}},
261{"eqIndex":129,"section":"initial-lambda0","tag":"assign","defines":["loadTorque.tau_constant"],"uses":[],"equation":["10.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":6681,"lineEnd":6682,"colStart":7,"colEnd":100},"within":["Real"],"instance":"loadTorque","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Sources.ConstantTorque$loadTorque"]}},
262{"eqIndex":130,"section":"initial-lambda0","tag":"assign","defines":["PI.FFzero.y"],"uses":["PI.FFzero.k"],"equation":["PI.FFzero.k"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":300,"lineEnd":301,"colStart":5,"colEnd":56},"within":["Real"],"instance":"PIFFzero","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Sources.Constant$PI$FFzero"],"operations":[{"op":"info","display":"solved","data":["PI.FFzero.y = PI.FFzero.k"]},{"op":"before-after","display":"flattening","data":["y = k;","PI.FFzero.y = PI.FFzero.k;"]}]}},
263{"eqIndex":131,"section":"initial-lambda0","tag":"assign","defines":["PI.addFF.u2"],"uses":["PI.FFzero.k"],"equation":["PI.FFzero.k"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":344,"lineEnd":345,"colStart":5,"colEnd":59},"within":["Real"],"instance":"PIaddFF","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add$PI$addFF"],"operations":[{"op":"info","display":"solved","data":["PI.addFF.u2 = PI.FFzero.k"]},{"op":"chain","display":"substitution","data":["PI.addFF.u2","PI.FFzero.y"]}]}},
264{"eqIndex":132,"section":"initial-lambda0","tag":"assign","defines":["PI.FFzero.k"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":216,"lineEnd":217,"colStart":5,"colEnd":102},"within":["Real"],"instance":"PIFFzero","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Sources.Constant$PI$FFzero"]}},
265{"eqIndex":133,"section":"initial-lambda0","tag":"assign","defines":["PI.Dzero.y"],"uses":["PI.Dzero.k"],"equation":["PI.Dzero.k"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":300,"lineEnd":301,"colStart":5,"colEnd":56},"within":["Real"],"instance":"PIDzero","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Sources.Constant$PI$Dzero"],"operations":[{"op":"info","display":"solved","data":["PI.Dzero.y = PI.Dzero.k"]},{"op":"before-after","display":"flattening","data":["y = k;","PI.Dzero.y = PI.Dzero.k;"]}]}},
266{"eqIndex":134,"section":"initial-lambda0","tag":"assign","defines":["PI.addPID.u2"],"uses":["PI.Dzero.k"],"equation":["PI.Dzero.k"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":973,"lineEnd":974,"colStart":5,"colEnd":66},"within":["Real"],"instance":"PIaddPID","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Math.Add3"],"operations":[{"op":"info","display":"solved","data":["PI.addPID.u2 = PI.Dzero.k"]},{"op":"chain","display":"substitution","data":["PI.addPID.u2","PI.Dzero.y"]}]}},
267{"eqIndex":135,"section":"initial-lambda0","tag":"assign","defines":["PI.Dzero.k"],"uses":[],"equation":["0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":216,"lineEnd":217,"colStart":5,"colEnd":102},"within":["Real"],"instance":"PIDzero","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Sources.Constant$PI$Dzero"]}},
268{"eqIndex":136,"tag":"alias","equation":[1],"section":"initial-lambda0"},
269{"eqIndex":137,"tag":"alias","equation":[2],"section":"initial-lambda0"},
270{"eqIndex":138,"tag":"alias","equation":[3],"section":"initial-lambda0"},
271{"eqIndex":139,"tag":"alias","equation":[4],"section":"initial-lambda0"},
272{"eqIndex":140,"tag":"alias","equation":[5],"section":"initial-lambda0"},
273{"eqIndex":141,"tag":"alias","equation":[6],"section":"initial-lambda0"},
274{"eqIndex":142,"tag":"alias","equation":[7],"section":"initial-lambda0"},
275{"eqIndex":143,"tag":"alias","equation":[8],"section":"initial-lambda0"},
276{"eqIndex":144,"tag":"alias","equation":[9],"section":"initial-lambda0"},
277{"eqIndex":145,"tag":"alias","equation":[10],"section":"initial-lambda0"},
278{"eqIndex":146,"tag":"alias","equation":[11],"section":"initial-lambda0"},
279{"eqIndex":147,"tag":"alias","equation":[187],"section":"initial-lambda0"},
280{"eqIndex":148,"tag":"alias","equation":[188],"section":"initial-lambda0"},
281{"eqIndex":149,"tag":"alias","equation":[189],"section":"initial-lambda0"},
282{"eqIndex":150,"tag":"alias","equation":[198],"section":"initial-lambda0"},
283{"eqIndex":151,"tag":"alias","equation":[199],"section":"initial-lambda0"},
284{"eqIndex":152,"tag":"alias","equation":[200],"section":"initial-lambda0"},
285{"eqIndex":153,"tag":"alias","equation":[18],"section":"initial-lambda0"},
286{"eqIndex":154,"tag":"alias","equation":[19],"section":"initial-lambda0"},
287{"eqIndex":155,"tag":"alias","equation":[20],"section":"initial-lambda0"},
288{"eqIndex":156,"tag":"alias","equation":[21],"section":"initial-lambda0"},
289{"eqIndex":157,"tag":"alias","equation":[212],"section":"initial-lambda0"},
290{"eqIndex":158,"tag":"alias","equation":[23],"section":"initial-lambda0"},
291{"eqIndex":159,"tag":"alias","equation":[197],"section":"initial-lambda0"},
292{"eqIndex":160,"tag":"alias","equation":[192],"section":"initial-lambda0"},
293{"eqIndex":161,"tag":"alias","equation":[193],"section":"initial-lambda0"},
294{"eqIndex":162,"tag":"alias","equation":[27],"section":"initial-lambda0"},
295{"eqIndex":163,"tag":"alias","equation":[28],"section":"initial-lambda0"},
296{"eqIndex":164,"tag":"alias","equation":[29],"section":"initial-lambda0"},
297{"eqIndex":165,"tag":"alias","equation":[30],"section":"initial-lambda0"},
298{"eqIndex":166,"tag":"alias","equation":[31],"section":"initial-lambda0"},
299{"eqIndex":167,"tag":"alias","equation":[32],"section":"initial-lambda0"},
300{"eqIndex":168,"tag":"alias","equation":[218],"section":"initial-lambda0"},
301{"eqIndex":169,"tag":"alias","equation":[34],"section":"initial-lambda0"},
302{"eqIndex":170,"section":"initial-lambda0","tag":"assign","defines":["PI.addFF.y"],"uses":["PI.y"],"equation":["PI.y"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":39,"lineEnd":40,"colStart":13,"colEnd":52},"within":["Modelica.Blocks.Nonlinear.Limiter$PI$limiter"],"instance":"PIlimiter","operations":[{"op":"info","display":"solved","data":["PI.addFF.y = PI.y"]},{"op":"info","display":"solved","data":["PI.addFF.y = PI.y"]},{"op":"chain","display":"substitution","data":["homotopy(smooth(0, if PI.limiter.u > PI.limiter.uMax then PI.limiter.uMax else if PI.limiter.u < PI.limiter.uMin then PI.limiter.uMin else PI.limiter.u), PI.limiter.simplifiedExpr)","homotopy(smooth(0, if PI.addFF.y > PI.limiter.uMax then PI.limiter.uMax else if PI.addFF.y < PI.limiter.uMin then PI.limiter.uMin else PI.addFF.y), PI.addFF.y)"]},{"op":"chain","display":"substitution","data":["PI.limiter.y","PI.y"]},{"op":"before-after","display":"flattening","data":["y = homotopy(actual = smooth(0, if u > uMax then uMax else if u < uMin then uMin else u), simplified = simplifiedExpr);","PI.limiter.y = homotopy(smooth(0, if PI.limiter.u > PI.limiter.uMax then PI.limiter.uMax else if PI.limiter.u < PI.limiter.uMin then PI.limiter.uMin else PI.limiter.u), PI.limiter.simplifiedExpr);"]}]}},
303{"eqIndex":171,"tag":"alias","equation":[213],"section":"initial-lambda0"},
304{"eqIndex":172,"tag":"alias","equation":[214],"section":"initial-lambda0"},
305{"eqIndex":173,"tag":"alias","equation":[39],"section":"initial-lambda0"},
306{"eqIndex":174,"tag":"alias","equation":[40],"section":"initial-lambda0"},
307{"eqIndex":175,"tag":"alias","equation":[196],"section":"initial-lambda0"},
308{"eqIndex":176,"tag":"alias","equation":[42],"section":"initial-lambda0"},
309{"eqIndex":177,"tag":"alias","equation":[43],"section":"initial-lambda0"},
310{"eqIndex":178,"tag":"alias","equation":[44],"section":"initial-lambda0"},
311{"eqIndex":179,"tag":"alias","equation":[45],"section":"initial-lambda0"},
312{"eqIndex":180,"tag":"alias","equation":[46],"section":"initial-lambda0"},
313{"eqIndex":181,"tag":"alias","equation":[190],"section":"initial-lambda0"},
314{"eqIndex":182,"tag":"alias","equation":[202],"section":"initial-lambda0"},
315{"eqIndex":183,"tag":"alias","equation":[203],"section":"initial-lambda0"},
316{"eqIndex":184,"tag":"alias","equation":[204],"section":"initial-lambda0"},
317{"eqIndex":185,"tag":"alias","equation":[51],"section":"initial-lambda0"},
318{"eqIndex":186,"tag":"alias","equation":[217],"section":"initial-lambda0"},
319{"eqIndex":187,"section":"regular","tag":"assign","defines":["kinematicPTP.noWphase"],"uses":["kinematicPTP.Ta1","kinematicPTP.Ta2"],"equation":["kinematicPTP.Ta2 >= kinematicPTP.Ta1"],"source":{"info":{"file":"","lineStart":0,"lineEnd":0,"colStart":0,"colEnd":0},"operations":[{"op":"info","display":"solved","data":["kinematicPTP.noWphase = kinematicPTP.Ta2 >= kinematicPTP.Ta1"]},{"op":"info","display":"solved","data":["kinematicPTP.noWphase = kinematicPTP.Ta2 >= kinematicPTP.Ta1"]}]}},
320{"eqIndex":188,"section":"regular","tag":"assign","defines":["kinematicPTP.Tv"],"uses":["kinematicPTP.sd_max","kinematicPTP.Ta1","kinematicPTP.noWphase"],"equation":["if kinematicPTP.noWphase then kinematicPTP.Ta1 else 1.0 / kinematicPTP.sd_max"],"source":{"info":{"file":"","lineStart":0,"lineEnd":0,"colStart":0,"colEnd":0},"operations":[{"op":"info","display":"solved","data":["kinematicPTP.Tv = if kinematicPTP.noWphase then kinematicPTP.Ta1 else 1.0 / kinematicPTP.sd_max"]},{"op":"info","display":"solved","data":["kinematicPTP.Tv = if kinematicPTP.noWphase then kinematicPTP.Ta1 else 1.0 / kinematicPTP.sd_max"]}]}},
321{"eqIndex":189,"section":"regular","tag":"assign","defines":["kinematicPTP.Te"],"uses":["kinematicPTP.Ta2","kinematicPTP.Tv","kinematicPTP.Ta1","kinematicPTP.noWphase"],"equation":["if kinematicPTP.noWphase then 2.0 * kinematicPTP.Ta1 else kinematicPTP.Tv + kinematicPTP.Ta2"],"source":{"info":{"file":"","lineStart":0,"lineEnd":0,"colStart":0,"colEnd":0},"operations":[{"op":"info","display":"solved","data":["kinematicPTP.Te = if kinematicPTP.noWphase then 2.0 * kinematicPTP.Ta1 else kinematicPTP.Tv + kinematicPTP.Ta2"]},{"op":"info","display":"solved","data":["kinematicPTP.Te = if kinematicPTP.noWphase then 2.0 * kinematicPTP.Ta1 else kinematicPTP.Tv + kinematicPTP.Ta2"]}]}},
322{"eqIndex":190,"section":"regular","tag":"assign","defines":["der(loadTorque.phi)"],"uses":["inertia2.w"],"equation":["inertia2.w"],"source":{"info":{"file":"","lineStart":0,"lineEnd":0,"colStart":0,"colEnd":0},"operations":[{"op":"info","display":"solved","data":["der(loadTorque.phi) = inertia2.w"]},{"op":"info","display":"solved","data":["der(loadTorque.phi) = inertia2.w"]}]}},
323{"eqIndex":191,"section":"regular","tag":"assign","defines":["spring.tau_c"],"uses":["spring.phi_rel0","spring.phi_rel","spring.c"],"equation":["spring.c * (spring.phi_rel - spring.phi_rel0)"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2707,"lineEnd":2707,"colStart":7,"colEnd":37},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["spring.tau_c = spring.c * (spring.phi_rel - spring.phi_rel0)"]},{"op":"info","display":"solved","data":["spring.tau_c = spring.c * (spring.phi_rel - spring.phi_rel0)"]},{"op":"before-after","display":"flattening","data":["tau_c = c * (phi_rel - phi_rel0);","spring.tau_c = spring.c * (spring.phi_rel - spring.phi_rel0);"]}]}},
324{"eqIndex":192,"section":"regular","tag":"assign","defines":["spring.tau_d"],"uses":["spring.w_rel","spring.d"],"equation":["spring.d * spring.w_rel"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2708,"lineEnd":2708,"colStart":7,"colEnd":22},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["spring.tau_d = spring.d * spring.w_rel"]},{"op":"info","display":"solved","data":["spring.tau_d = spring.d * spring.w_rel"]},{"op":"before-after","display":"flattening","data":["tau_d = d * w_rel;","spring.tau_d = spring.d * spring.w_rel;"]}]}},
325{"eqIndex":193,"section":"regular","tag":"assign","defines":["spring.lossPower"],"uses":["spring.w_rel","spring.tau_d"],"equation":["spring.tau_d * spring.w_rel"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2710,"lineEnd":2710,"colStart":7,"colEnd":30},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["spring.lossPower = spring.tau_d * spring.w_rel"]},{"op":"info","display":"solved","data":["spring.lossPower = spring.tau_d * spring.w_rel"]},{"op":"before-after","display":"flattening","data":["lossPower = tau_d * w_rel;","spring.lossPower = spring.tau_d * spring.w_rel;"]}]}},
326{"eqIndex":194,"section":"regular","tag":"assign","defines":["spring.tau"],"uses":["spring.tau_d","spring.tau_c"],"equation":["spring.tau_c + spring.tau_d"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2709,"lineEnd":2709,"colStart":7,"colEnd":26},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["spring.tau = spring.tau_c + spring.tau_d"]},{"op":"info","display":"solved","data":["spring.tau = spring.tau_c + spring.tau_d"]},{"op":"before-after","display":"flattening","data":["tau = tau_c + tau_d;","spring.tau = spring.tau_c + spring.tau_d;"]}]}},
327{"eqIndex":195,"section":"regular","tag":"assign","defines":["inertia2.a"],"uses":["inertia2.J","spring.tau","loadTorque.tau_constant"],"equation":["(loadTorque.tau_constant - spring.tau) / inertia2.J"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2490,"lineEnd":2490,"colStart":7,"colEnd":40},"within":["Modelica.Mechanics.Rotational.Components.Inertia$inertia2"],"instance":"inertia2","operations":[{"op":"info","display":"solved","data":["inertia2.a = (loadTorque.tau_constant - spring.tau) / inertia2.J"]},{"op":"info","display":"solved","data":["inertia2.a = (loadTorque.tau_constant - spring.tau) / inertia2.J"]},{"op":"before-after","display":"simplify","data":["inertia2.J * inertia2.a = (-spring.tau) + loadTorque.tau_constant","inertia2.J * inertia2.a = loadTorque.tau_constant - spring.tau"]},{"op":"chain","display":"substitution","data":["inertia2.flange_a.tau + inertia2.flange_b.tau","(-spring.tau) + loadTorque.tau_constant"]},{"op":"before-after","display":"flattening","data":["J * a = flange_a.tau + flange_b.tau;","inertia2.J * inertia2.a = inertia2.flange_a.tau + inertia2.flange_b.tau;"]}]}},
328{"eqIndex":196,"section":"regular","tag":"assign","defines":["der(inertia2.w)"],"uses":["inertia2.a"],"equation":["inertia2.a"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2489,"lineEnd":2489,"colStart":7,"colEnd":17},"within":["Modelica.Mechanics.Rotational.Components.Inertia$inertia2"],"instance":"inertia2","operations":[{"op":"info","display":"solved","data":["der(inertia2.w) = inertia2.a"]},{"op":"info","display":"solved","data":["der(inertia2.w) = inertia2.a"]},{"op":"before-after","display":"differentiate d/dtime","data":["der(inertia2.w)","der(inertia2.w)"]},{"op":"before-after","display":"flattening","data":["a = der(w);","inertia2.a = der(inertia2.w);"]}]}},
329{"eqIndex":197,"section":"regular","tag":"assign","defines":["der(spring.phi_rel)"],"uses":["spring.w_rel"],"equation":["spring.w_rel"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7309,"lineEnd":7309,"colStart":7,"colEnd":27},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["der(spring.phi_rel) = spring.w_rel"]},{"op":"info","display":"solved","data":["der(spring.phi_rel) = spring.w_rel"]},{"op":"before-after","display":"differentiate d/dtime","data":["der(spring.phi_rel)","der(spring.phi_rel)"]},{"op":"before-after","display":"flattening","data":["w_rel = der(phi_rel);","spring.w_rel = der(spring.phi_rel);"]}]}},
330{"eqIndex":198,"section":"regular","tag":"assign","defines":["kinematicPTP.sdd"],"uses":["kinematicPTP.Tv","kinematicPTP.Ta2","kinematicPTP.Te","kinematicPTP.sdd_max","kinematicPTP.Ta1","kinematicPTP.noWphase","kinematicPTP.startTime","time"],"equation":["if time < kinematicPTP.startTime then 0.0 else if kinematicPTP.noWphase then if time < kinematicPTP.Ta1 + kinematicPTP.startTime then kinematicPTP.sdd_max else if time < kinematicPTP.Te + kinematicPTP.startTime then -kinematicPTP.sdd_max else 0.0 else if time < kinematicPTP.Ta2 + kinematicPTP.startTime then kinematicPTP.sdd_max else if time < kinematicPTP.Tv + kinematicPTP.startTime then 0.0 else if time < kinematicPTP.Te + kinematicPTP.startTime then -kinematicPTP.sdd_max else 0.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1495,"lineEnd":1498,"colStart":5,"colEnd":80},"within":["Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"instance":"kinematicPTP","operations":[{"op":"info","display":"solved","data":["kinematicPTP.sdd = if time < kinematicPTP.startTime then 0.0 else if kinematicPTP.noWphase then if time < kinematicPTP.Ta1 + kinematicPTP.startTime then kinematicPTP.sdd_max else if time < kinematicPTP.Te + kinematicPTP.startTime then -kinematicPTP.sdd_max else 0.0 else if time < kinematicPTP.Ta2 + kinematicPTP.startTime then kinematicPTP.sdd_max else if time < kinematicPTP.Tv + kinematicPTP.startTime then 0.0 else if time < kinematicPTP.Te + kinematicPTP.startTime then -kinematicPTP.sdd_max else 0.0"]},{"op":"info","display":"solved","data":["kinematicPTP.sdd = if time < kinematicPTP.startTime then 0.0 else if kinematicPTP.noWphase then if time < kinematicPTP.Ta1 + kinematicPTP.startTime then kinematicPTP.sdd_max else if time < kinematicPTP.Te + kinematicPTP.startTime then -kinematicPTP.sdd_max else 0.0 else if time < kinematicPTP.Ta2 + kinematicPTP.startTime then kinematicPTP.sdd_max else if time < kinematicPTP.Tv + kinematicPTP.startTime then 0.0 else if time < kinematicPTP.Te + kinematicPTP.startTime then -kinematicPTP.sdd_max else 0.0"]},{"op":"before-after","display":"flattening","data":["sdd = if time < startTime then 0 else if noWphase then if time < Ta1 + startTime then sdd_max else if time < Te + startTime then -sdd_max else 0 else if time < Ta2 + startTime then sdd_max else if time < Tv + startTime then 0 else if time < Te + startTime then -sdd_max else 0;","kinematicPTP.sdd = if time < kinematicPTP.startTime then 0.0 else if kinematicPTP.noWphase then if time < kinematicPTP.Ta1 + kinematicPTP.startTime then kinematicPTP.sdd_max else if time < kinematicPTP.Te + kinematicPTP.startTime then -kinematicPTP.sdd_max else 0.0 else if time < kinematicPTP.Ta2 + kinematicPTP.startTime then kinematicPTP.sdd_max else if time < kinematicPTP.Tv + kinematicPTP.startTime then 0.0 else if time < kinematicPTP.Te + kinematicPTP.startTime then -kinematicPTP.sdd_max else 0.0;"]}]}},
331{"eqIndex":199,"section":"regular","tag":"assign","defines":["kinematicPTP.y[1]"],"uses":["kinematicPTP.sdd","kinematicPTP.p_deltaq[1]"],"equation":["kinematicPTP.p_deltaq[1] * kinematicPTP.sdd"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1501,"lineEnd":1501,"colStart":5,"colEnd":21},"within":["Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"],"instance":"kinematicPTP","operations":[{"op":"info","display":"solved","data":["kinematicPTP.y[1] = kinematicPTP.p_deltaq[1] * kinematicPTP.sdd"]},{"op":"info","display":"solved","data":["kinematicPTP.y[1] = kinematicPTP.p_deltaq[1] * kinematicPTP.sdd"]},{"op":"before-after","display":"flattening","data":["y = p_deltaq * sdd;","kinematicPTP.y[1] = kinematicPTP.p_deltaq[1] * kinematicPTP.sdd;"]}]}},
332{"eqIndex":200,"section":"regular","tag":"assign","defines":["der(integrator.y)"],"uses":["kinematicPTP.y[1]","integrator.k"],"equation":["integrator.k * kinematicPTP.y[1]"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":61,"lineEnd":61,"colStart":5,"colEnd":17},"within":["Modelica.Blocks.Continuous.Integrator$integrator"],"instance":"integrator","operations":[{"op":"info","display":"solved","data":["der(integrator.y) = integrator.k * kinematicPTP.y[1]"]},{"op":"info","display":"solved","data":["der(integrator.y) = integrator.k * kinematicPTP.y[1]"]},{"op":"chain","display":"substitution","data":["integrator.k * integrator.u","integrator.k * kinematicPTP.y[1]"]},{"op":"before-after","display":"differentiate d/dtime","data":["der(integrator.y)","der(integrator.y)"]},{"op":"before-after","display":"flattening","data":["der(y) = k * u;","der(integrator.y) = integrator.k * integrator.u;"]}]}},
333{"eqIndex":201,"section":"regular","tag":"assign","defines":["inertia1.w"],"uses":["spring.w_rel","inertia2.w"],"equation":["inertia2.w - spring.w_rel"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7308,"lineEnd":7308,"colStart":7,"colEnd":44},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["inertia1.w = inertia2.w - spring.w_rel"]},{"op":"info","display":"solved","data":["inertia1.w = inertia2.w - spring.w_rel"]},{"op":"before-after","display":"differentiate d/dtime","data":["loadTorque.phi - inertia1.phi","der(loadTorque.phi) - der(inertia1.phi)"]},{"op":"before-after","display":"differentiate d/dtime","data":["spring.phi_rel","der(spring.phi_rel)"]},{"op":"chain","display":"substitution","data":["spring.flange_b.phi - spring.flange_a.phi","loadTorque.phi - inertia1.phi","inertia2.phi - inertia1.phi"]},{"op":"before-after","display":"flattening","data":["phi_rel = flange_b.phi - flange_a.phi;","spring.phi_rel = spring.flange_b.phi - spring.flange_a.phi;"]}]}},
334{"eqIndex":202,"section":"regular","tag":"assign","defines":["der(inertia1.phi)"],"uses":["inertia1.w"],"equation":["inertia1.w"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2488,"lineEnd":2488,"colStart":7,"colEnd":19},"within":["Modelica.Mechanics.Rotational.Components.Inertia$inertia1"],"instance":"inertia1","operations":[{"op":"info","display":"solved","data":["der(inertia1.phi) = inertia1.w"]},{"op":"info","display":"solved","data":["der(inertia1.phi) = inertia1.w"]},{"op":"before-after","display":"differentiate d/dtime","data":["der(inertia1.phi)","der(inertia1.phi)"]},{"op":"before-after","display":"flattening","data":["w = der(phi);","inertia1.w = der(inertia1.phi);"]}]}},
335{"eqIndex":203,"section":"regular","tag":"assign","defines":["PI.P.u"],"uses":["inertia1.w","PI.addP.k2","integrator.y","PI.addP.k1"],"equation":["PI.addP.k1 * integrator.y + PI.addP.k2 * inertia1.w"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":915,"lineEnd":915,"colStart":5,"colEnd":22},"within":["Modelica.Blocks.Math.Add$PI$addP"],"instance":"PIaddP","operations":[{"op":"info","display":"solved","data":["PI.P.u = PI.addP.k1 * integrator.y + PI.addP.k2 * inertia1.w"]},{"op":"info","display":"solved","data":["PI.P.u = PI.addP.k1 * integrator.y + PI.addP.k2 * inertia1.w"]},{"op":"chain","display":"substitution","data":["PI.addP.k1 * PI.addP.u1 + PI.addP.k2 * PI.addP.u2","PI.addP.k1 * integrator.y + PI.addP.k2 * inertia1.w","PI.addP.k1 * integrator.y + PI.addP.k2 * PI.u_m"]},{"op":"chain","display":"substitution","data":["PI.addP.y","PI.P.u"]},{"op":"before-after","display":"flattening","data":["y = k1 * u1 + k2 * u2;","PI.addP.y = PI.addP.k1 * PI.addP.u1 + PI.addP.k2 * PI.addP.u2;"]}]}},
336{"eqIndex":204,"section":"regular","tag":"assign","defines":["PI.P.y"],"uses":["PI.P.u","PI.P.k"],"equation":["PI.P.k * PI.P.u"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":552,"lineEnd":552,"colStart":5,"colEnd":12},"within":["Modelica.Blocks.Math.Gain$PI$P"],"instance":"PIP","operations":[{"op":"info","display":"solved","data":["PI.P.y = PI.P.k * PI.P.u"]},{"op":"info","display":"solved","data":["PI.P.y = PI.P.k * PI.P.u"]},{"op":"before-after","display":"flattening","data":["y = k * u;","PI.P.y = PI.P.k * PI.P.u;"]}]}},
337{"eqIndex":205,"section":"regular","tag":"assign","defines":["PI.addPID.y"],"uses":["PI.I.y","PI.addPID.k3","PI.Dzero.k","PI.addPID.k2","PI.P.y","PI.addPID.k1"],"equation":["PI.addPID.k1 * PI.P.y + PI.addPID.k2 * PI.Dzero.k + PI.addPID.k3 * PI.I.y"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":981,"lineEnd":981,"colStart":5,"colEnd":30},"within":["Modelica.Blocks.Math.Add3"],"instance":"PIaddPID","operations":[{"op":"info","display":"solved","data":["PI.addPID.y = PI.addPID.k1 * PI.P.y + PI.addPID.k2 * PI.Dzero.k + PI.addPID.k3 * PI.I.y"]},{"op":"info","display":"solved","data":["PI.addPID.y = PI.addPID.k1 * PI.P.y + PI.addPID.k2 * PI.Dzero.k + PI.addPID.k3 * PI.I.y"]},{"op":"chain","display":"substitution","data":["PI.addPID.k1 * PI.addPID.u1 + PI.addPID.k2 * PI.addPID.u2 + PI.addPID.k3 * PI.addPID.u3","PI.addPID.k1 * PI.P.y + PI.addPID.k2 * PI.Dzero.k + PI.addPID.k3 * PI.I.y"]},{"op":"before-after","display":"flattening","data":["y = k1 * u1 + k2 * u2 + k3 * u3;","PI.addPID.y = PI.addPID.k1 * PI.addPID.u1 + PI.addPID.k2 * PI.addPID.u2 + PI.addPID.k3 * PI.addPID.u3;"]}]}},
338{"eqIndex":206,"section":"regular","tag":"assign","defines":["PI.addFF.u1"],"uses":["PI.addPID.y","PI.gainPID.k"],"equation":["PI.gainPID.k * PI.addPID.y"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":552,"lineEnd":552,"colStart":5,"colEnd":12},"within":["Modelica.Blocks.Math.Gain$PI$gainPID"],"instance":"PIgainPID","operations":[{"op":"info","display":"solved","data":["PI.addFF.u1 = PI.gainPID.k * PI.addPID.y"]},{"op":"info","display":"solved","data":["PI.addFF.u1 = PI.gainPID.k * PI.addPID.y"]},{"op":"chain","display":"substitution","data":["PI.gainPID.k * PI.gainPID.u","PI.gainPID.k * PI.addPID.y"]},{"op":"chain","display":"substitution","data":["PI.gainPID.y","PI.addFF.u1"]},{"op":"before-after","display":"flattening","data":["y = k * u;","PI.gainPID.y = PI.gainPID.k * PI.gainPID.u;"]}]}},
339{"eqIndex":207,"section":"regular","tag":"assign","defines":["PI.addFF.y"],"uses":["PI.FFzero.k","PI.addFF.k2","PI.addFF.u1","PI.addFF.k1"],"equation":["PI.addFF.k1 * PI.addFF.u1 + PI.addFF.k2 * PI.FFzero.k"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":915,"lineEnd":915,"colStart":5,"colEnd":22},"within":["Modelica.Blocks.Math.Add$PI$addFF"],"instance":"PIaddFF","operations":[{"op":"info","display":"solved","data":["PI.addFF.y = PI.addFF.k1 * PI.addFF.u1 + PI.addFF.k2 * PI.FFzero.k"]},{"op":"info","display":"solved","data":["PI.addFF.y = PI.addFF.k1 * PI.addFF.u1 + PI.addFF.k2 * PI.FFzero.k"]},{"op":"chain","display":"substitution","data":["PI.addFF.k1 * PI.addFF.u1 + PI.addFF.k2 * PI.addFF.u2","PI.addFF.k1 * PI.addFF.u1 + PI.addFF.k2 * PI.FFzero.k"]},{"op":"before-after","display":"flattening","data":["y = k1 * u1 + k2 * u2;","PI.addFF.y = PI.addFF.k1 * PI.addFF.u1 + PI.addFF.k2 * PI.addFF.u2;"]}]}},
340{"eqIndex":208,"section":"regular","tag":"assign","defines":["PI.y"],"uses":["PI.limiter.uMin","PI.limiter.uMax","PI.addFF.y"],"equation":["smooth(0, if PI.addFF.y > PI.limiter.uMax then PI.limiter.uMax else if PI.addFF.y < PI.limiter.uMin then PI.limiter.uMin else PI.addFF.y)"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":39,"lineEnd":40,"colStart":13,"colEnd":52},"within":["Modelica.Blocks.Nonlinear.Limiter$PI$limiter"],"instance":"PIlimiter","operations":[{"op":"info","display":"solved","data":["PI.y = smooth(0, if PI.addFF.y > PI.limiter.uMax then PI.limiter.uMax else if PI.addFF.y < PI.limiter.uMin then PI.limiter.uMin else PI.addFF.y)"]},{"op":"info","display":"solved","data":["PI.y = smooth(0, if PI.addFF.y > PI.limiter.uMax then PI.limiter.uMax else if PI.addFF.y < PI.limiter.uMin then PI.limiter.uMin else PI.addFF.y)"]},{"op":"chain","display":"substitution","data":["homotopy(smooth(0, if PI.limiter.u > PI.limiter.uMax then PI.limiter.uMax else if PI.limiter.u < PI.limiter.uMin then PI.limiter.uMin else PI.limiter.u), PI.limiter.simplifiedExpr)","homotopy(smooth(0, if PI.addFF.y > PI.limiter.uMax then PI.limiter.uMax else if PI.addFF.y < PI.limiter.uMin then PI.limiter.uMin else PI.addFF.y), PI.addFF.y)"]},{"op":"chain","display":"substitution","data":["PI.limiter.y","PI.y"]},{"op":"before-after","display":"flattening","data":["y = homotopy(actual = smooth(0, if u > uMax then uMax else if u < uMin then uMin else u), simplified = simplifiedExpr);","PI.limiter.y = homotopy(smooth(0, if PI.limiter.u > PI.limiter.uMax then PI.limiter.uMax else if PI.limiter.u < PI.limiter.uMin then PI.limiter.uMin else PI.limiter.u), PI.limiter.simplifiedExpr);"]}]}},
341{"eqIndex":209,"section":"regular","tag":"assign","defines":["inertia1.a"],"uses":["inertia1.J","spring.tau","PI.y"],"equation":["(PI.y + spring.tau) / inertia1.J"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2490,"lineEnd":2490,"colStart":7,"colEnd":40},"within":["Modelica.Mechanics.Rotational.Components.Inertia$inertia1"],"instance":"inertia1","operations":[{"op":"info","display":"solved","data":["inertia1.a = (PI.y + spring.tau) / inertia1.J"]},{"op":"info","display":"solved","data":["inertia1.a = (PI.y + spring.tau) / inertia1.J"]},{"op":"chain","display":"substitution","data":["inertia1.flange_a.tau + inertia1.flange_b.tau","PI.y + spring.tau","PI.y + inertia1.flange_b.tau"]},{"op":"before-after","display":"flattening","data":["J * a = flange_a.tau + flange_b.tau;","inertia1.J * inertia1.a = inertia1.flange_a.tau + inertia1.flange_b.tau;"]}]}},
342{"eqIndex":210,"section":"regular","tag":"assign","defines":["spring.a_rel"],"uses":["inertia1.a","inertia2.a"],"equation":["inertia2.a - inertia1.a"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7308,"lineEnd":7308,"colStart":7,"colEnd":44},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["spring.a_rel = inertia2.a - inertia1.a"]},{"op":"info","display":"solved","data":["spring.a_rel = inertia2.a - inertia1.a"]},{"op":"before-after","display":"differentiate d/dtime","data":["inertia2.w - inertia1.w","der(inertia2.w) - der(inertia1.w)"]},{"op":"before-after","display":"differentiate d/dtime","data":["spring.w_rel","der(spring.w_rel)"]},{"op":"before-after","display":"differentiate d/dtime","data":["loadTorque.phi - inertia1.phi","der(loadTorque.phi) - der(inertia1.phi)"]},{"op":"before-after","display":"differentiate d/dtime","data":["spring.phi_rel","der(spring.phi_rel)"]},{"op":"chain","display":"substitution","data":["spring.flange_b.phi - spring.flange_a.phi","loadTorque.phi - inertia1.phi","inertia2.phi - inertia1.phi"]},{"op":"before-after","display":"flattening","data":["phi_rel = flange_b.phi - flange_a.phi;","spring.phi_rel = spring.flange_b.phi - spring.flange_a.phi;"]}]}},
343{"eqIndex":211,"section":"regular","tag":"assign","defines":["der(spring.w_rel)"],"uses":["spring.a_rel"],"equation":["spring.a_rel"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7310,"lineEnd":7310,"colStart":7,"colEnd":25},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["der(spring.w_rel) = spring.a_rel"]},{"op":"info","display":"solved","data":["der(spring.w_rel) = spring.a_rel"]},{"op":"before-after","display":"differentiate d/dtime","data":["der(spring.w_rel)","der(spring.w_rel)"]},{"op":"before-after","display":"flattening","data":["a_rel = der(w_rel);","spring.a_rel = der(spring.w_rel);"]}]}},
344{"eqIndex":212,"section":"regular","tag":"assign","defines":["der(inertia1.w)"],"uses":["inertia1.a"],"equation":["inertia1.a"],"source":{"info":{"file":"","lineStart":0,"lineEnd":0,"colStart":0,"colEnd":0},"operations":[{"op":"info","display":"solved","data":["der(inertia1.w) = inertia1.a"]},{"op":"info","display":"solved","data":["der(inertia1.w) = inertia1.a"]}]}},
345{"eqIndex":213,"section":"regular","tag":"assign","defines":["PI.addSat.y"],"uses":["PI.addFF.y","PI.addSat.k2","PI.y","PI.addSat.k1"],"equation":["PI.addSat.k1 * PI.y + PI.addSat.k2 * PI.addFF.y"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":915,"lineEnd":915,"colStart":5,"colEnd":22},"within":["Modelica.Blocks.Math.Add$PI$addSat"],"instance":"PIaddSat","operations":[{"op":"info","display":"solved","data":["PI.addSat.y = PI.addSat.k1 * PI.y + PI.addSat.k2 * PI.addFF.y"]},{"op":"info","display":"solved","data":["PI.addSat.y = PI.addSat.k1 * PI.y + PI.addSat.k2 * PI.addFF.y"]},{"op":"chain","display":"substitution","data":["PI.addSat.k1 * PI.addSat.u1 + PI.addSat.k2 * PI.addSat.u2","PI.addSat.k1 * PI.y + PI.addSat.k2 * PI.addFF.y"]},{"op":"before-after","display":"flattening","data":["y = k1 * u1 + k2 * u2;","PI.addSat.y = PI.addSat.k1 * PI.addSat.u1 + PI.addSat.k2 * PI.addSat.u2;"]}]}},
346{"eqIndex":214,"section":"regular","tag":"assign","defines":["PI.addI.u3"],"uses":["PI.addSat.y","PI.gainTrack.k"],"equation":["PI.gainTrack.k * PI.addSat.y"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":552,"lineEnd":552,"colStart":5,"colEnd":12},"within":["Modelica.Blocks.Math.Gain$PI$gainTrack"],"instance":"PIgainTrack","operations":[{"op":"info","display":"solved","data":["PI.addI.u3 = PI.gainTrack.k * PI.addSat.y"]},{"op":"info","display":"solved","data":["PI.addI.u3 = PI.gainTrack.k * PI.addSat.y"]},{"op":"chain","display":"substitution","data":["PI.gainTrack.k * PI.gainTrack.u","PI.gainTrack.k * PI.addSat.y"]},{"op":"chain","display":"substitution","data":["PI.gainTrack.y","PI.addI.u3"]},{"op":"before-after","display":"flattening","data":["y = k * u;","PI.gainTrack.y = PI.gainTrack.k * PI.gainTrack.u;"]}]}},
347{"eqIndex":215,"section":"regular","tag":"assign","defines":["PI.I.u"],"uses":["PI.addI.u3","PI.addI.k3","inertia1.w","PI.addI.k2","integrator.y","PI.addI.k1"],"equation":["PI.addI.k1 * integrator.y + PI.addI.k2 * inertia1.w + PI.addI.k3 * PI.addI.u3"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo","lineStart":981,"lineEnd":981,"colStart":5,"colEnd":30},"within":["Modelica.Blocks.Math.Add3$PI$addI"],"instance":"PIaddI","operations":[{"op":"info","display":"solved","data":["PI.I.u = PI.addI.k1 * integrator.y + PI.addI.k2 * inertia1.w + PI.addI.k3 * PI.addI.u3"]},{"op":"info","display":"solved","data":["PI.I.u = PI.addI.k1 * integrator.y + PI.addI.k2 * inertia1.w + PI.addI.k3 * PI.addI.u3"]},{"op":"chain","display":"substitution","data":["PI.addI.k1 * PI.addI.u1 + PI.addI.k2 * PI.addI.u2 + PI.addI.k3 * PI.addI.u3","PI.addI.k1 * integrator.y + PI.addI.k2 * inertia1.w + PI.addI.k3 * PI.addI.u3","PI.addI.k1 * integrator.y + PI.addI.k2 * PI.u_m + PI.addI.k3 * PI.addI.u3"]},{"op":"chain","display":"substitution","data":["PI.addI.y","PI.I.u"]},{"op":"before-after","display":"flattening","data":["y = k1 * u1 + k2 * u2 + k3 * u3;","PI.addI.y = PI.addI.k1 * PI.addI.u1 + PI.addI.k2 * PI.addI.u2 + PI.addI.k3 * PI.addI.u3;"]}]}},
348{"eqIndex":216,"section":"regular","tag":"assign","defines":["der(PI.I.y)"],"uses":["PI.I.u","PI.I.k"],"equation":["PI.I.k * PI.I.u"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":61,"lineEnd":61,"colStart":5,"colEnd":17},"within":["Modelica.Blocks.Continuous.Integrator$PI$I"],"instance":"PII","operations":[{"op":"info","display":"solved","data":["der(PI.I.y) = PI.I.k * PI.I.u"]},{"op":"info","display":"solved","data":["der(PI.I.y) = PI.I.k * PI.I.u"]},{"op":"before-after","display":"differentiate d/dtime","data":["der(PI.I.y)","der(PI.I.y)"]},{"op":"before-after","display":"flattening","data":["der(y) = k * u;","der(PI.I.y) = PI.I.k * PI.I.u;"]}]}},
349{"eqIndex":217,"section":"regular","tag":"assign","defines":["PI.controlError"],"uses":["inertia1.w","integrator.y"],"equation":["integrator.y - inertia1.w"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":887,"lineEnd":888,"colStart":5,"colEnd":48},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"],"operations":[{"op":"info","display":"solved","data":["PI.controlError = integrator.y - inertia1.w"]},{"op":"info","display":"solved","data":["PI.controlError = integrator.y - inertia1.w"]},{"op":"chain","display":"substitution","data":["PI.u_s - PI.u_m","integrator.y - inertia1.w","integrator.y - PI.u_m"]}]}},
350{"eqIndex":218,"section":"regular","tag":"assign","defines":["loadTorque.phi"],"uses":["spring.phi_rel","inertia1.phi"],"equation":["inertia1.phi + spring.phi_rel"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7308,"lineEnd":7308,"colStart":7,"colEnd":44},"within":["Modelica.Mechanics.Rotational.Components.SpringDamper$spring"],"instance":"spring","operations":[{"op":"info","display":"solved","data":["loadTorque.phi = inertia1.phi + spring.phi_rel"]},{"op":"info","display":"solved","data":["loadTorque.phi = inertia1.phi + spring.phi_rel"]},{"op":"chain","display":"substitution","data":["spring.flange_b.phi - spring.flange_a.phi","loadTorque.phi - inertia1.phi","inertia2.phi - inertia1.phi"]},{"op":"before-after","display":"flattening","data":["phi_rel = flange_b.phi - flange_a.phi;","spring.phi_rel = spring.flange_b.phi - spring.flange_a.phi;"]}]}},
351{"eqIndex":219,"section":"regular","tag":"algorithm","equation":["assert(PI.limiter.uMax >= PI.limiter.uMin, \"Limiter: Limits must be consistent. However, uMax (=\" + String(PI.limiter.uMax, 6, 0, true) + \") < uMin (=\" + String(PI.limiter.uMin, 6, 0, true) + \")\");"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":22,"lineEnd":23,"colStart":9,"colEnd":65},"within":["Modelica.Blocks.Nonlinear.Limiter$PI$limiter"],"instance":"PIlimiter","operations":[{"op":"info","display":"scode","data":["assert(uMax >= uMin, \"Limiter: Limits must be consistent. However, uMax (=\" + String(uMax) + \") < uMin (=\" + String(uMin) + \")\");"]}]}},
352{"eqIndex":220,"section":"start","tag":"assign","defines":["$START.integrator.y"],"uses":["integrator.y_start"],"equation":["integrator.y_start"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":329,"lineEnd":330,"colStart":5,"colEnd":56},"within":["Real"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
353{"eqIndex":221,"section":"start","tag":"assign","defines":["$START.PI.I.y"],"uses":["PI.I.y_start"],"equation":["PI.I.y_start"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":329,"lineEnd":330,"colStart":5,"colEnd":56},"within":["Real"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
354{"eqIndex":222,"section":"nominal","tag":"assign","defines":["spring.phi_rel"],"uses":["spring.phi_nominal"],"equation":["if spring.phi_nominal >= 1e-15 then spring.phi_nominal else 1.0"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7284,"lineEnd":7288,"colStart":7,"colEnd":73},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
355{"eqIndex":223,"tag":"alias","equation":[134],"section":"parameter"},
356{"eqIndex":224,"tag":"alias","equation":[133],"section":"parameter"},
357{"eqIndex":225,"tag":"alias","equation":[131],"section":"parameter"},
358{"eqIndex":226,"tag":"alias","equation":[130],"section":"parameter"},
359{"eqIndex":227,"tag":"alias","equation":[128],"section":"parameter"},
360{"eqIndex":228,"tag":"alias","equation":[127],"section":"parameter"},
361{"eqIndex":229,"tag":"alias","equation":[126],"section":"parameter"},
362{"eqIndex":230,"tag":"alias","equation":[125],"section":"parameter"},
363{"eqIndex":231,"tag":"alias","equation":[123],"section":"parameter"},
364{"eqIndex":232,"tag":"alias","equation":[122],"section":"parameter"},
365{"eqIndex":233,"tag":"alias","equation":[121],"section":"parameter"},
366{"eqIndex":234,"tag":"alias","equation":[118],"section":"parameter"},
367{"eqIndex":235,"tag":"alias","equation":[116],"section":"parameter"},
368{"eqIndex":236,"tag":"alias","equation":[114],"section":"parameter"},
369{"eqIndex":237,"tag":"alias","equation":[113],"section":"parameter"},
370{"eqIndex":238,"tag":"alias","equation":[111],"section":"parameter"},
371{"eqIndex":239,"tag":"alias","equation":[110],"section":"parameter"},
372{"eqIndex":240,"tag":"alias","equation":[105],"section":"parameter"},
373{"eqIndex":241,"tag":"alias","equation":[104],"section":"parameter"},
374{"eqIndex":242,"tag":"alias","equation":[102],"section":"parameter"},
375{"eqIndex":243,"tag":"alias","equation":[101],"section":"parameter"},
376{"eqIndex":244,"tag":"alias","equation":[97],"section":"parameter"},
377{"eqIndex":245,"tag":"alias","equation":[90],"section":"parameter"},
378{"eqIndex":246,"tag":"alias","equation":[89],"section":"parameter"},
379{"eqIndex":247,"tag":"alias","equation":[88],"section":"parameter"},
380{"eqIndex":248,"tag":"alias","equation":[87],"section":"parameter"},
381{"eqIndex":249,"tag":"alias","equation":[85],"section":"parameter"},
382{"eqIndex":250,"tag":"alias","equation":[83],"section":"parameter"},
383{"eqIndex":251,"tag":"alias","equation":[81],"section":"parameter"},
384{"eqIndex":252,"tag":"alias","equation":[80],"section":"parameter"},
385{"eqIndex":253,"tag":"alias","equation":[79],"section":"parameter"},
386{"eqIndex":254,"tag":"alias","equation":[78],"section":"parameter"},
387{"eqIndex":255,"tag":"alias","equation":[77],"section":"parameter"},
388{"eqIndex":256,"tag":"alias","equation":[75],"section":"parameter"},
389{"eqIndex":257,"tag":"alias","equation":[74],"section":"parameter"},
390{"eqIndex":258,"tag":"alias","equation":[73],"section":"parameter"},
391{"eqIndex":259,"tag":"alias","equation":[69],"section":"parameter"},
392{"eqIndex":260,"tag":"alias","equation":[65],"section":"parameter"},
393{"eqIndex":261,"tag":"alias","equation":[64],"section":"parameter"},
394{"eqIndex":262,"tag":"alias","equation":[63],"section":"parameter"},
395{"eqIndex":263,"tag":"alias","equation":[62],"section":"parameter"},
396{"eqIndex":264,"tag":"alias","equation":[59],"section":"parameter"},
397{"eqIndex":265,"tag":"alias","equation":[58],"section":"parameter"},
398{"eqIndex":266,"tag":"alias","equation":[54],"section":"parameter"},
399{"eqIndex":267,"tag":"alias","equation":[19],"section":"parameter"},
400{"eqIndex":268,"tag":"alias","equation":[18],"section":"parameter"},
401{"eqIndex":269,"tag":"alias","equation":[8],"section":"parameter"},
402{"eqIndex":270,"tag":"alias","equation":[6],"section":"parameter"},
403{"eqIndex":271,"tag":"alias","equation":[7],"section":"parameter"},
404{"eqIndex":272,"tag":"alias","equation":[9],"section":"parameter"},
405{"eqIndex":273,"tag":"alias","equation":[10],"section":"parameter"},
406{"eqIndex":274,"tag":"alias","equation":[11],"section":"parameter"},
407{"eqIndex":275,"tag":"alias","equation":[5],"section":"parameter"},
408{"eqIndex":276,"tag":"alias","equation":[4],"section":"parameter"},
409{"eqIndex":277,"tag":"alias","equation":[3],"section":"parameter"},
410{"eqIndex":278,"tag":"alias","equation":[2],"section":"parameter"},
411{"eqIndex":279,"tag":"alias","equation":[1],"section":"parameter"},
412{"eqIndex":280,"section":"parameter","tag":"algorithm","equation":["assert(integrator.initType >= Modelica.Blocks.Types.Init.NoInit and integrator.initType <= Modelica.Blocks.Types.Init.InitialOutput, \"Variable violating min/max constraint: Modelica.Blocks.Types.Init.NoInit <= integrator.initType <= Modelica.Blocks.Types.Init.InitialOutput, has value: \" + String(integrator.initType, \"d\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":19,"lineEnd":21,"colStart":5,"colEnd":40},"within":["Modelica.Blocks.Types.Init"],"instance":"integrator","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.Integrator$integrator"]}},
413{"eqIndex":281,"section":"parameter","tag":"algorithm","equation":["assert(kinematicPTP.qdd_max[1] >= 1e-60, \"Variable violating min constraint: 1e-60 <= kinematicPTP.qdd_max[1], has value: \" + String(kinematicPTP.qdd_max[1], \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1456,"lineEnd":1457,"colStart":5,"colEnd":38},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
414{"eqIndex":282,"section":"parameter","tag":"algorithm","equation":["assert(kinematicPTP.qd_max[1] >= 1e-60, \"Variable violating min constraint: 1e-60 <= kinematicPTP.qd_max[1], has value: \" + String(kinematicPTP.qd_max[1], \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Sources.mo","lineStart":1454,"lineEnd":1455,"colStart":5,"colEnd":34},"within":["Real"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
415{"eqIndex":283,"section":"parameter","tag":"algorithm","equation":["assert(kinematicPTP.nout >= 1, \"Variable violating min constraint: 1 <= kinematicPTP.nout, has value: \" + String(kinematicPTP.nout, \"d\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Interfaces.mo","lineStart":313,"lineEnd":313,"colStart":5,"colEnd":58},"within":["Integer"],"instance":"kinematicPTP","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Sources.KinematicPTP$kinematicPTP"]}},
416{"eqIndex":284,"section":"parameter","tag":"algorithm","equation":["assert(inertia2.stateSelect >= StateSelect.never and inertia2.stateSelect <= StateSelect.always, \"Variable violating min/max constraint: StateSelect.never <= inertia2.stateSelect <= StateSelect.always, has value: \" + String(inertia2.stateSelect, \"d\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2472,"lineEnd":2474,"colStart":7,"colEnd":61},"within":["StateSelect"],"instance":"inertia2","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia2"]}},
417{"eqIndex":285,"section":"parameter","tag":"algorithm","equation":["assert(inertia2.J >= 0.0, \"Variable violating min constraint: 0.0 <= inertia2.J, has value: \" + String(inertia2.J, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2471,"lineEnd":2471,"colStart":7,"colEnd":65},"within":["Real"],"instance":"inertia2","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia2"]}},
418{"eqIndex":286,"section":"parameter","tag":"algorithm","equation":["assert(spring.d >= 0.0, \"Variable violating min constraint: 0.0 <= spring.d, has value: \" + String(spring.d, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2696,"lineEnd":2697,"colStart":7,"colEnd":27},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
419{"eqIndex":287,"section":"parameter","tag":"algorithm","equation":["assert(spring.c >= 0.0, \"Variable violating min constraint: 0.0 <= spring.c, has value: \" + String(spring.c, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2694,"lineEnd":2695,"colStart":7,"colEnd":26},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
420{"eqIndex":288,"section":"parameter","tag":"algorithm","equation":["assert(spring.stateSelect >= StateSelect.never and spring.stateSelect <= StateSelect.always, \"Variable violating min/max constraint: StateSelect.never <= spring.stateSelect <= StateSelect.always, has value: \" + String(spring.stateSelect, \"d\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7303,"lineEnd":7305,"colStart":7,"colEnd":61},"within":["StateSelect"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
421{"eqIndex":289,"section":"parameter","tag":"algorithm","equation":["assert(spring.phi_nominal >= 0.0, \"Variable violating min constraint: 0.0 <= spring.phi_nominal, has value: \" + String(spring.phi_nominal, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":7299,"lineEnd":7302,"colStart":7,"colEnd":44},"within":["Real"],"instance":"spring","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.SpringDamper$spring"]}},
422{"eqIndex":290,"section":"parameter","tag":"algorithm","equation":["assert(inertia1.stateSelect >= StateSelect.never and inertia1.stateSelect <= StateSelect.always, \"Variable violating min/max constraint: StateSelect.never <= inertia1.stateSelect <= StateSelect.always, has value: \" + String(inertia1.stateSelect, \"d\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2472,"lineEnd":2474,"colStart":7,"colEnd":61},"within":["StateSelect"],"instance":"inertia1","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia1"]}},
423{"eqIndex":291,"section":"parameter","tag":"algorithm","equation":["assert(inertia1.J >= 0.0, \"Variable violating min constraint: 0.0 <= inertia1.J, has value: \" + String(inertia1.J, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Mechanics/Rotational.mo","lineStart":2471,"lineEnd":2471,"colStart":7,"colEnd":65},"within":["Real"],"instance":"inertia1","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Mechanics.Rotational.Components.Inertia$inertia1"]}},
424{"eqIndex":292,"section":"parameter","tag":"algorithm","equation":["assert(PI.k >= 0.0, \"Variable violating min constraint: 0.0 <= PI.k, has value: \" + String(PI.k, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":891,"lineEnd":891,"colStart":5,"colEnd":63},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
425{"eqIndex":293,"section":"parameter","tag":"algorithm","equation":["assert(PI.Ni >= 1e-13, \"Variable violating min constraint: 1e-13 <= PI.Ni, has value: \" + String(PI.Ni, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":907,"lineEnd":910,"colStart":5,"colEnd":94},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
426{"eqIndex":294,"section":"parameter","tag":"algorithm","equation":["assert(PI.I.initType >= Modelica.Blocks.Types.Init.NoInit and PI.I.initType <= Modelica.Blocks.Types.Init.InitialOutput, \"Variable violating min/max constraint: Modelica.Blocks.Types.Init.NoInit <= PI.I.initType <= Modelica.Blocks.Types.Init.InitialOutput, has value: \" + String(PI.I.initType, \"d\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":19,"lineEnd":21,"colStart":5,"colEnd":40},"within":["Modelica.Blocks.Types.Init"],"instance":"PII","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Continuous.Integrator$PI$I"]}},
427{"eqIndex":295,"section":"parameter","tag":"algorithm","equation":["assert(PI.Ti >= 1e-60, \"Variable violating min constraint: 1e-60 <= PI.Ti, has value: \" + String(PI.Ti, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":892,"lineEnd":895,"colStart":5,"colEnd":76},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
428{"eqIndex":296,"section":"parameter","tag":"algorithm","equation":["assert(PI.limiter.homotopyType >= Modelica.Blocks.Types.LimiterHomotopy.NoHomotopy and PI.limiter.homotopyType <= Modelica.Blocks.Types.LimiterHomotopy.LowerLimit, \"Variable violating min/max constraint: Modelica.Blocks.Types.LimiterHomotopy.NoHomotopy <= PI.limiter.homotopyType <= Modelica.Blocks.Types.LimiterHomotopy.LowerLimit, has value: \" + String(PI.limiter.homotopyType, \"d\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Nonlinear.mo","lineStart":12,"lineEnd":13,"colStart":9,"colEnd":69},"within":["Modelica.Blocks.Types.LimiterHomotopy"],"instance":"PIlimiter","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI","Modelica.Blocks.Nonlinear.Limiter$PI$limiter"]}},
429{"eqIndex":297,"section":"parameter","tag":"algorithm","equation":["assert(PI.wp >= 0.0, \"Variable violating min constraint: 0.0 <= PI.wp, has value: \" + String(PI.wp, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":902,"lineEnd":903,"colStart":5,"colEnd":55},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
430{"eqIndex":298,"section":"parameter","tag":"algorithm","equation":["assert(PI.homotopyType >= Modelica.Blocks.Types.LimiterHomotopy.NoHomotopy and PI.homotopyType <= Modelica.Blocks.Types.LimiterHomotopy.LowerLimit, \"Variable violating min/max constraint: Modelica.Blocks.Types.LimiterHomotopy.NoHomotopy <= PI.homotopyType <= Modelica.Blocks.Types.LimiterHomotopy.LowerLimit, has value: \" + String(PI.homotopyType, \"d\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":935,"lineEnd":937,"colStart":5,"colEnd":65},"within":["Modelica.Blocks.Types.LimiterHomotopy"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
431{"eqIndex":299,"section":"parameter","tag":"algorithm","equation":["assert(PI.initType >= Modelica.Blocks.Types.InitPID.NoInit and PI.initType <= Modelica.Blocks.Types.InitPID.DoNotUse_InitialIntegratorState, \"Variable violating min/max constraint: Modelica.Blocks.Types.InitPID.NoInit <= PI.initType <= Modelica.Blocks.Types.InitPID.DoNotUse_InitialIntegratorState, has value: \" + String(PI.initType, \"d\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":919,"lineEnd":921,"colStart":5,"colEnd":64},"within":["Modelica.Blocks.Types.InitPID"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
432{"eqIndex":300,"section":"parameter","tag":"algorithm","equation":["assert(PI.Nd >= 1e-13, \"Variable violating min constraint: 1e-13 <= PI.Nd, has value: \" + String(PI.Nd, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":911,"lineEnd":914,"colStart":5,"colEnd":96},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
433{"eqIndex":301,"section":"parameter","tag":"algorithm","equation":["assert(PI.wd >= 0.0, \"Variable violating min constraint: 0.0 <= PI.wd, has value: \" + String(PI.wd, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":904,"lineEnd":906,"colStart":5,"colEnd":96},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
434{"eqIndex":302,"section":"parameter","tag":"algorithm","equation":["assert(PI.Td >= 0.0, \"Variable violating min constraint: 0.0 <= PI.Td, has value: \" + String(PI.Td, \"g\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":896,"lineEnd":899,"colStart":5,"colEnd":76},"within":["Real"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}},
435{"eqIndex":303,"section":"parameter","tag":"algorithm","equation":["assert(PI.controllerType >= Modelica.Blocks.Types.SimpleController.P and PI.controllerType <= Modelica.Blocks.Types.SimpleController.PID, \"Variable violating min/max constraint: Modelica.Blocks.Types.SimpleController.P <= PI.controllerType <= Modelica.Blocks.Types.SimpleController.PID, has value: \" + String(PI.controllerType, \"d\"));"],"source":{"info":{"file":"/opt/local/lib/omlibrary/Modelica 3.2.3/Blocks/Continuous.mo","lineStart":889,"lineEnd":890,"colStart":5,"colEnd":76},"within":["Modelica.Blocks.Types.SimpleController"],"instance":"PI","typeLst":["Modelica.Blocks.Examples.PID_Controller","Modelica.Blocks.Continuous.LimPID$PI"]}}
436],
437"functions":[
438]
439}