From aa64b8216c6046ee92cc8a80a33b585a027ed3fc Mon Sep 17 00:00:00 2001 From: protsenko Date: Thu, 18 May 2023 12:40:54 +0300 Subject: [PATCH] dev(UML-1527): added force controller --- Control System/ForceControlExample.json | 1467 +++++++++++++++++ Control System/ForceController.json | 1254 ++++++++++++++ Control System/ForceControllerDiagnostic.json | 506 ++++++ Control System/ForceEstimator.json | 748 +++++++++ Control System/ForceUnitTie.json | 1125 +++++++++++++ .../PositionControlExample.json | 0 .../PositionControlProcess.json | 96 +- .../PositionRegulatorWithLimitedDynamics.json | 32 +- .../PositionUnitTie.json | 56 +- Control System/RampSpeed.json | 275 +++ .../SpeedController.json | 22 +- .../SpeedUnitTie.json | 42 +- .../TorqueRegulator.json | 34 +- .../TorqueUnitTie.json | 30 +- 14 files changed, 5531 insertions(+), 156 deletions(-) create mode 100644 Control System/ForceControlExample.json create mode 100644 Control System/ForceController.json create mode 100644 Control System/ForceControllerDiagnostic.json create mode 100644 Control System/ForceEstimator.json create mode 100644 Control System/ForceUnitTie.json rename PositionControlExample.json => Control System/PositionControlExample.json (100%) rename PositionControlProcess.json => Control System/PositionControlProcess.json (97%) rename PositionRegulatorWithLimitedDynamics.json => Control System/PositionRegulatorWithLimitedDynamics.json (95%) rename PositionUnitTie.json => Control System/PositionUnitTie.json (97%) create mode 100644 Control System/RampSpeed.json rename SpeedController.json => Control System/SpeedController.json (98%) rename SpeedUnitTie.json => Control System/SpeedUnitTie.json (97%) rename TorqueRegulator.json => Control System/TorqueRegulator.json (97%) rename TorqueUnitTie.json => Control System/TorqueUnitTie.json (97%) diff --git a/Control System/ForceControlExample.json b/Control System/ForceControlExample.json new file mode 100644 index 0000000..6ac3425 --- /dev/null +++ b/Control System/ForceControlExample.json @@ -0,0 +1,1467 @@ +{ + "id": 139836198082768, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": -411.2499999999998, + "scene_pos_y": -704.9999999999997, + "nodes": [ + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "SpeedController", + "pos_x": -1247.583007812499, + "pos_y": -1316.4538574218745, + "inputs": [], + "outputs": [ + { + "id": 10101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "text": "Speed Regulator", + "mode": "input", + "object": "resource", + "true_type": "control::regulator::SpeedController", + "type": "control::regulator::SpeedController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 139951070108624 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "SpeedController.json", + "offset": 0 + }, + { + "id": 2, + "enable": true, + "is_invalid": true, + "title": "TorqueUnitTie", + "pos_x": -155.07812500000023, + "pos_y": -967.4538574218744, + "inputs": [ + { + "id": 20001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "Inverter Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "driver::IInverter", + "description": "\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + }, + { + "id": 20002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "Voltage Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "technological::adapter::PwmGenAdapter", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 20003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 41, + "text": "Torque Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToStandingVectorUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + } + ], + "outputs": [ + { + "id": 20101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 9, + "text": "Speed Control State", + "mode": "input", + "object": "resource", + "true_type": "technological::drivecontrol::state::ControlStatePositionControl", + "type": "technological::IExecutorState", + "description": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u0435\u0439 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 139951069336992 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "TorqueUnitTie.json", + "offset": 5 + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "TorqueRegulator", + "pos_x": -1247.583007812499, + "pos_y": -1401.4538574218745, + "inputs": [], + "outputs": [ + { + "id": 30101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 10, + "text": "Torque Regulator", + "mode": "input", + "object": "resource", + "true_type": "control::regulator::PmsmMotorController_v2", + "type": "control::regulator::PmsmMotorController_v2", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 139951069338720 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "TorqueRegulator.json", + "offset": 9 + }, + { + "id": 4, + "enable": true, + "is_invalid": true, + "title": "SpeedUnitTie", + "pos_x": -155.07812500000023, + "pos_y": -1168.4538574218745, + "inputs": [ + { + "id": 40001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 42, + "text": "Torque Limit", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + }, + { + "id": 40002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 36, + "text": "Speed Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 40003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "Inverter Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "driver::IInverter", + "description": "\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + }, + { + "id": 40004, + "index": 3, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 44, + "text": "Acceleration Limit", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + }, + { + "id": 40005, + "index": 4, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "Voltage Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "technological::adapter::PwmGenAdapter", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 40006, + "index": 5, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 41, + "text": "Torque Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToStandingVectorUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + } + ], + "outputs": [ + { + "id": 40101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 27, + "text": "Speed Control State", + "mode": "input", + "object": "resource", + "true_type": "technological::drivecontrol::state::ControlStatePositionControl", + "type": "technological::IExecutorState", + "description": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u0435\u0439 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 139951069468496 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "SpeedUnitTie.json", + "offset": 22 + }, + { + "id": 5, + "enable": true, + "is_invalid": true, + "title": "PositionUnitTie", + "pos_x": -155.07812500000023, + "pos_y": -1407.4538574218745, + "inputs": [ + { + "id": 50001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 43, + "text": "Position Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 50002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 42, + "text": "Torque Limit", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + }, + { + "id": 50003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 36, + "text": "Speed Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 50004, + "index": 3, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "Inverter Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "driver::IInverter", + "description": "\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + }, + { + "id": 50005, + "index": 4, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 44, + "text": "Acceleration Limit", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + }, + { + "id": 50006, + "index": 5, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "Speed Limit", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + }, + { + "id": 50007, + "index": 6, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "Voltage Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "technological::adapter::PwmGenAdapter", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 50008, + "index": 7, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 41, + "text": "Torque Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToStandingVectorUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + } + ], + "outputs": [ + { + "id": 50101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 33, + "text": "Position Control State", + "mode": "input", + "object": "resource", + "true_type": "technological::drivecontrol::state::ControlStatePositionControl", + "type": "technological::IExecutorState", + "description": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u0435\u0439 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 139948590739328 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "PositionUnitTie.json", + "offset": 27 + }, + { + "id": 6, + "enable": true, + "is_invalid": false, + "title": "PositionRegulatorWithLimitedDynamics", + "pos_x": -1247.583007812499, + "pos_y": -1231.4538574218745, + "inputs": [], + "outputs": [ + { + "id": 60101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 34, + "text": "Posititon Regulator", + "mode": "input", + "object": "resource", + "true_type": "control::regulator::ParabolicPositionerWithLimitedDynamics", + "type": "control::regulator::ParabolicPositioner", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 139948589889952 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "PositionRegulatorWithLimitedDynamics.json", + "offset": 33 + }, + { + "id": 7, + "enable": true, + "is_invalid": true, + "title": "PositionControlProcess", + "pos_x": -729.6918334960942, + "pos_y": -1358.4538574218745, + "inputs": [ + { + "id": 70001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 10, + "text": "Torque regulator", + "mode": "output", + "object": "static", + "true_type": "none", + "type": "control::regulator::PmsmMotorController_v2", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u043c\u043e\u043c\u0435\u043d\u0442\u0430." + }, + { + "id": 70002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "text": "Speed Regulator", + "mode": "output", + "object": "static", + "true_type": "none", + "type": "control::regulator::SpeedController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + }, + { + "id": 70003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 34, + "text": "Position Regulator", + "mode": "output", + "object": "static", + "true_type": "none", + "type": "control::regulator::ParabolicPositioner", + "description": "\u041f\u0430\u0440\u0430\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0437\u0438\u0446\u0438\u0438." + }, + { + "id": 70004, + "index": 3, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Fast Voltage DC", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u0432 \u0417\u041f\u0422." + }, + { + "id": 70005, + "index": 4, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Current Beta", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0442\u043e\u043a \u0432 \u0441\u0442\u0430\u043d\u0446\u0438\u043e\u043d\u0430\u0440\u043d\u044b\u0445 \u043e\u0441\u044f\u0445, \u0431\u0435\u0442\u0430." + }, + { + "id": 70006, + "index": 5, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Current Alpha", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0442\u043e\u043a \u0432 \u0441\u0442\u0430\u043d\u0446\u0438\u043e\u043d\u0430\u0440\u043d\u044b\u0445 \u043e\u0441\u044f\u0445, \u0430\u043b\u044c\u0444\u0430." + }, + { + "id": 70007, + "index": 6, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Theta", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u0433\u043e\u043b." + }, + { + "id": 70008, + "index": 7, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Omega", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c." + }, + { + "id": 70009, + "index": 8, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Rotor Speed", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 70010, + "index": 9, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Rotor Position", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "outputs": [ + { + "id": 70101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 41, + "text": "Torque control process", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::TorqueControlProcess", + "type": "processing::acs::PhaseSpaceToStandingVectorUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 70102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 42, + "text": "Torque limit", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u043e\u043a\u0430." + }, + { + "id": 70103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 36, + "text": "Speed Control Process", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::SpeedControlProcess", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 70104, + "index": 3, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 37, + "text": "Torque up Limit", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u0412\u0435\u0440\u0445\u043d\u0435\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 70105, + "index": 4, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 38, + "text": "Torque down Limit", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041d\u0438\u0436\u043d\u0435\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 70106, + "index": 5, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 43, + "text": "Position Control Process", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::PositionControlProcess", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u0435\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u0430\u0440\u0430\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438." + }, + { + "id": 70107, + "index": 6, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 44, + "text": "Acceleration Limit", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "" + }, + { + "id": 70108, + "index": 7, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 45, + "text": "Speed Limit", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "" + }, + { + "id": 70109, + "index": 8, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 40, + "text": "Feedforward", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType>", + "type": "systemic::IValueType>", + "description": "\u0422\u0440\u0430\u043a\u0442 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c." + }, + { + "id": 70110, + "index": 9, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 39, + "text": "Inertia", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u043d\u0435\u0440\u0446\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b." + } + ], + "content": { + "id": 139948589834320 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "PositionControlProcess.json", + "offset": 35 + }, + { + "id": 16, + "enable": true, + "is_invalid": true, + "title": "ForceUnitTie", + "pos_x": -171.50878906250023, + "pos_y": -643.1689453124997, + "inputs": [ + { + "id": 160001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 71, + "text": "Force Feedforward", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType>", + "description": "\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + }, + { + "id": 160002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 61, + "text": "Effort Compensation", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 160003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 72, + "text": "Ramp Speed", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 160004, + "index": 3, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 67, + "text": "Speed Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 160005, + "index": 4, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 41, + "text": "Torque Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToStandingVectorUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 160006, + "index": 5, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "Voltage Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "technological::adapter::PwmGenAdapter", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 160007, + "index": 6, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "Inverter Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "driver::IInverter", + "description": "\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + }, + { + "id": 160008, + "index": 7, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 63, + "text": "Force Control", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + } + ], + "outputs": [ + { + "id": 160101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 53, + "text": "Force Control State", + "mode": "input", + "object": "resource", + "true_type": "technological::drivecontrol::state::ControlStateValueControl", + "type": "technological::IExecutorState", + "description": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c." + } + ], + "content": { + "id": 139948586735872 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "ForceUnitTie.json", + "offset": 45 + }, + { + "id": 17, + "enable": true, + "is_invalid": true, + "title": "ForceEstimator", + "pos_x": -1247.583007812499, + "pos_y": -657.9814453124997, + "inputs": [ + { + "id": 170001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Raw Force", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0423\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435 \u043e\u0442 \u0434\u0430\u0447\u0442\u0438\u043a\u0430 \u0443\u0441\u0438\u043b\u0438\u044f." + }, + { + "id": 170002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Rotor Position", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u041f\u043e\u0437\u0438\u0446\u0438\u044f \u0440\u043e\u0442\u043e\u0440\u0430." + }, + { + "id": 170003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Rotor Speed", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u043e\u0442\u043e\u0440\u0430." + } + ], + "outputs": [ + { + "id": 170101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 60, + "text": "Force Derivative", + "mode": "input", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430." + }, + { + "id": 170102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 59, + "text": "Force Predicted", + "mode": "input", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0424\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435." + }, + { + "id": 170103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 56, + "text": "Khardness", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u0416\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u044c (\u041d*\u043c)." + }, + { + "id": 170104, + "index": 3, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 58, + "text": "Khardness Estimated", + "mode": "input", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041e\u0446\u0435\u043d\u043a\u0430 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 139948589834464 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "ForceEstimator.json", + "offset": 55 + }, + { + "id": 18, + "enable": true, + "is_invalid": true, + "title": "ForceController", + "pos_x": -755.6224975585942, + "pos_y": -668.3642578124995, + "inputs": [ + { + "id": 180001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 59, + "text": "Force Predicted", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0435 \u0443\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 180002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Rotor Speed", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0435 \u0443\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 180003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 83, + "text": "Speed Regulator", + "mode": "output", + "object": "static", + "true_type": "none", + "type": "control::regulator::SpeedController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + } + ], + "outputs": [ + { + "id": 180101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 66, + "text": "Diagnostic", + "mode": "input", + "object": "resource", + "true_type": "control::regulator::ForceController", + "type": "control::regulator::ForceController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0443\u0441\u0438\u043b\u0438\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0443\u0441\u0438\u043b\u0438\u044f." + }, + { + "id": 180102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 63, + "text": "Force Control", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::ForceControlProcess", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0438\u043b\u0438\u0435\u043c \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 180103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 61, + "text": "EffortCompensation", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::EffortCompensationProcess", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0430\u0446\u0438\u0438 \u0443\u0441\u0438\u043b\u0438\u044f \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 180104, + "index": 3, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 64, + "text": "Khardness", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438 \u0443\u043f\u043e\u0440\u0430." + }, + { + "id": 180105, + "index": 4, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 65, + "text": "Mass", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438 \u0443\u043f\u043e\u0440\u0430." + }, + { + "id": 180106, + "index": 5, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 62, + "text": "Efficienty", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::EffortCompensationProcess", + "type": "systemic::IValueType", + "description": "\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0443\u0441\u0438\u043b\u0438\u044f (\u043a\u043f\u0434, \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0435 - 1)." + }, + { + "id": 180107, + "index": 6, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 67, + "text": "Force Speed Control Process", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::SpeedControlProcess", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 180108, + "index": 7, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 69, + "text": "Force Torque down Limit", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041d\u0438\u0436\u043d\u0435\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 180109, + "index": 8, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 71, + "text": "Force Feedforward", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType>", + "type": "systemic::IValueType>", + "description": "\u0422\u0440\u0430\u043a\u0442 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c." + }, + { + "id": 180110, + "index": 9, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 68, + "text": "Force Torque up Limit", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u0412\u0435\u0440\u0445\u043d\u0435\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 180111, + "index": 10, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 70, + "text": "Force Inertia", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u043d\u0435\u0440\u0446\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b." + } + ], + "content": { + "id": 139948593738320 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "ForceController.json", + "offset": 60 + }, + { + "id": 8, + "enable": true, + "is_invalid": true, + "title": "RampSpeed", + "pos_x": -756.8681640624997, + "pos_y": -763.3369140624997, + "inputs": [ + { + "id": 80001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "Rotor Speed", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438." + } + ], + "outputs": [ + { + "id": 80101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 72, + "text": "Ramp Speed", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::RampGeneration1stOrderProcess", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948593450432 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "RampSpeed.json", + "offset": 71 + }, + { + "id": 9, + "enable": true, + "is_invalid": true, + "title": "ForceControllerDiagnostic", + "pos_x": -172.5087890625, + "pos_y": -757.3369140625001, + "inputs": [ + { + "id": 90001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 66, + "text": "Diagnostic", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "control::regulator::ForceController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0443\u0441\u0438\u043b\u0438\u044f." + } + ], + "outputs": [], + "content": { + "id": 139948593459072 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "ForceControllerDiagnostic.json", + "offset": 74 + }, + { + "id": 10, + "enable": true, + "is_invalid": false, + "title": "SpeedController", + "pos_x": -1247.583007812499, + "pos_y": -486.8164062499999, + "inputs": [], + "outputs": [ + { + "id": 100101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 83, + "text": "Speed Regulator", + "mode": "input", + "object": "resource", + "true_type": "control::regulator::SpeedController", + "type": "control::regulator::SpeedController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 139948593460368 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "SpeedController.json", + "offset": 82 + } + ], + "edges": [ + { + "edge_type": 2, + "start": 30101, + "end": 70001 + }, + { + "edge_type": 2, + "start": 70002, + "end": 10101 + }, + { + "edge_type": 2, + "start": 60101, + "end": 70003 + }, + { + "edge_type": 2, + "start": 70101, + "end": 50008 + }, + { + "edge_type": 2, + "start": 40006, + "end": 70101 + }, + { + "edge_type": 2, + "start": 70101, + "end": 20003 + }, + { + "edge_type": 2, + "start": 70102, + "end": 50002 + }, + { + "edge_type": 2, + "start": 70102, + "end": 40001 + }, + { + "edge_type": 2, + "start": 70103, + "end": 50003 + }, + { + "edge_type": 2, + "start": 70103, + "end": 40002 + }, + { + "edge_type": 2, + "start": 70106, + "end": 50001 + }, + { + "edge_type": 2, + "start": 70107, + "end": 50005 + }, + { + "edge_type": 2, + "start": 70107, + "end": 40004 + }, + { + "edge_type": 2, + "start": 180102, + "end": 160008 + }, + { + "edge_type": 2, + "start": 160005, + "end": 70101 + }, + { + "edge_type": 2, + "start": 160002, + "end": 180103 + }, + { + "edge_type": 2, + "start": 80101, + "end": 160003 + }, + { + "edge_type": 2, + "start": 180001, + "end": 170102 + }, + { + "edge_type": 2, + "start": 180101, + "end": 90001 + }, + { + "edge_type": 2, + "start": 180109, + "end": 160001 + }, + { + "edge_type": 2, + "start": 180107, + "end": 160004 + }, + { + "edge_type": 2, + "start": 100101, + "end": 180003 + } + ] +} \ No newline at end of file diff --git a/Control System/ForceController.json b/Control System/ForceController.json new file mode 100644 index 0000000..3a3eb8a --- /dev/null +++ b/Control System/ForceController.json @@ -0,0 +1,1254 @@ +{ + "id": 140195507732592, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": 303.0, + "scene_pos_y": 223.0, + "nodes": [ + { + "id": 5, + "enable": true, + "is_invalid": false, + "title": "EffortCompensationProcess", + "pos_x": 1325.0312500000002, + "pos_y": 194.6679687500001, + "inputs": [ + { + "id": 50001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "force", + "mode": "input", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0435 \u0443\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 50002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "speed", + "mode": "input", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c." + }, + { + "id": 50003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 2, + "text": "params", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "processing::acs::EffortCompensationProcess", + "description": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0430\u0446\u0438\u0438 \u0443\u0441\u0438\u043b\u0438\u044f \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 50004, + "index": 3, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 6, + "text": "regulator", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "control::regulator::ForceController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u043d\u0430\u0431\u043e\u0440\u0430 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0443\u0441\u0438\u043b\u0438\u044f." + } + ], + "outputs": [ + { + "id": 50101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "text": "control_process", + "mode": "output", + "object": "resource", + "true_type": "processing::acs::EffortCompensationProcess", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0430\u0446\u0438\u0438 \u0443\u0441\u0438\u043b\u0438\u044f \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 50102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 1, + "text": "demand", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0417\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0443\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 50103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 2, + "text": "compensation", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041a\u043e\u043c\u043f\u0435\u043d\u0441\u0430\u0446\u0438\u044f \u0443\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 50104, + "index": 3, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 2, + "text": "efficienty", + "mode": "output", + "object": "resource", + "true_type": "processing::acs::EffortCompensationProcess", + "type": "systemic::IValueType", + "description": "\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0443\u0441\u0438\u043b\u0438\u044f (\u043a\u043f\u0434, \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0435 - 1)." + } + ], + "content": { + "id": 139948593740768 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 313, + "process_settings": { + "processor_id": 2, + "priority": 1, + "period": 0, + "phase": 0 + }, + "node_id": 717, + "cpu_id": 0 + }, + { + "id": 10, + "enable": true, + "is_invalid": false, + "title": "control::regulator::ForceController", + "pos_x": 674.0312500000001, + "pos_y": -130.76953124999986, + "inputs": [], + "outputs": [ + { + "id": 100101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 1, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "control::regulator::ForceController", + "description": "" + } + ], + "content": { + "id": 139948594038672 + }, + "alias": "", + "comment": "", + "params": { + "linear_coeff": { + "value": 0.5, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0438 \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0443\u0441\u0438\u043b\u0438\u044f (\u043a\u0433*\u043c/(\u041d*\u0441^2)).", + "min": 0.0, + "max": 1000000000000.0 + }, + "prop_mismatch": { + "value": 150.0, + "format": "f", + "description": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0443\u0441\u0438\u043b\u0438\u044f \u043f\u043e\u0434\u043f\u043e\u0440\u0430 (\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0443 \u043d\u0430\u0431\u043e\u0440\u0430 \u0443\u0441\u0438\u043b\u0438\u044f \u043f\u043e\u0434\u043f\u043e\u0440\u0430) (\u041d).", + "min": 0.1, + "max": 1000000000000.0 + }, + "khardness": { + "value": 2709450.0, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438 (\u041d/\u043c).", + "min": 0.1, + "max": 1000000000000.0 + }, + "mass": { + "value": 504.3, + "format": "f", + "description": "\u0418\u043d\u0435\u0440\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u043c\u0430\u0441\u0441\u0430 (\u043a\u0433).", + "min": 0.1, + "max": 1000000000000.0 + }, + "dump_force": { + "value": 500.0, + "format": "f", + "description": "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e \u0443\u0441\u0438\u043b\u0438\u044e \u0441\u0431\u0440\u043e\u0441\u0430 \u043f\u043e\u0434\u043f\u043e\u0440\u0430 (\u041d).", + "min": 0.1, + "max": 1000000000000.0 + }, + "hold_mismatch": { + "value": 25.0, + "format": "f", + "description": "\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u043d\u0430 \u0443\u0441\u0438\u043b\u0438\u0435 (\u041d)." + }, + "dead_pos": { + "value": 5.0, + "format": "f", + "description": "\u0417\u043e\u043d\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u0440\u0435\u0430\u043a\u0446\u0438\u0438 \u043d\u0430 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u0443\u0441\u0438\u043b\u0438\u044f (\u041d)." + }, + "dead_neg": { + "value": 5.0, + "format": "f", + "description": "\u0417\u043e\u043d\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u0440\u0435\u0430\u043a\u0446\u0438\u0438 \u043d\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u0438\u0435 \u0443\u0441\u0438\u043b\u0438\u044f (\u041d)." + }, + "coeff_pos": { + "value": 4e-05, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0438\u043b\u0438\u044f (\u043c/(\u041d*\u0441))." + }, + "coeff_neg": { + "value": 4e-05, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0441\u0431\u0440\u043e\u0441\u0430 \u0443\u0441\u0438\u043b\u0438\u044f (\u043c/(\u041d*\u0441))." + } + }, + "setting_name": "Force Controller Params", + "group": "Force Controller", + "level": 3 + }, + { + "id": 11, + "enable": true, + "is_invalid": false, + "title": "ForceControlProcess", + "pos_x": 1322.5625000000039, + "pos_y": 19.214843749996362, + "inputs": [ + { + "id": 110001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "force", + "mode": "input", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0435 \u0443\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 110002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 3, + "text": "params", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "processing::acs::ForceControlProcess", + "description": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0438\u043b\u0438\u0435\u043c \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 110003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 6, + "text": "regulator", + "mode": "input", + "object": "static", + "true_type": "none", + "type": "control::regulator::ForceController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u043d\u0430\u0431\u043e\u0440\u0430 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0443\u0441\u0438\u043b\u0438\u044f." + } + ], + "outputs": [ + { + "id": 110101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 3, + "text": "control_process", + "mode": "output", + "object": "resource", + "true_type": "processing::acs::ForceControlProcess", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0438\u043b\u0438\u0435\u043c \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 110102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 4, + "text": "khardness", + "mode": "output", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438 \u0443\u043f\u043e\u0440\u0430." + }, + { + "id": 110103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 3, + "text": "demand", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0417\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0443\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + }, + { + "id": 110104, + "index": 3, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 5, + "text": "mass", + "mode": "output", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438 \u0443\u043f\u043e\u0440\u0430." + } + ], + "content": { + "id": 139948594039968 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 312, + "process_settings": { + "processor_id": 2, + "priority": 0, + "period": 0, + "phase": 0 + }, + "node_id": 718, + "cpu_id": 0 + }, + { + "id": 13, + "enable": true, + "is_invalid": false, + "title": "ForceController", + "pos_x": 966.2812500000001, + "pos_y": -104.9414062500035, + "inputs": [ + { + "id": 130001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 1, + "text": "params", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "control::regulator::ForceController", + "description": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0443\u0441\u0438\u043b\u0438\u044f." + } + ], + "outputs": [ + { + "id": 130101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 6, + "text": "regulator", + "mode": "output", + "object": "resource", + "true_type": "control::regulator::ForceController", + "type": "control::regulator::ForceController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0443\u0441\u0438\u043b\u0438\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0443\u0441\u0438\u043b\u0438\u044f." + } + ], + "content": { + "id": 139948594042560 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 311, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 719, + "cpu_id": 0 + }, + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": 674.0312500000001, + "pos_y": 35.68749999999986, + "inputs": [], + "outputs": [ + { + "id": 10101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": -1, + "text": "", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0435 \u0443\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + } + ], + "content": { + "id": 139948594043712 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Predicted", + "group": "EffortCompensationProcess" + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": 674.0312500000001, + "pos_y": 135.62500000000003, + "inputs": [], + "outputs": [ + { + "id": 30101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": -1, + "text": "", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0435 \u0443\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + } + ], + "content": { + "id": 139948594045008 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Rotor Speed", + "group": "SpeedControlProcess" + }, + { + "id": 4, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1314.5, + "pos_y": -153.375, + "inputs": [ + { + "id": 40001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 6, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "control::regulator::ForceController", + "type": "control::regulator::ForceController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0443\u0441\u0438\u043b\u0438\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0443\u0441\u0438\u043b\u0438\u044f." + } + ], + "outputs": [], + "content": { + "id": 139948594046304 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Diagnostic", + "group": "ForceController" + }, + { + "id": 6, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1793.75, + "pos_y": -104.75000000000003, + "inputs": [ + { + "id": 60001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 3, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::ForceControlProcess", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0438\u043b\u0438\u0435\u043c \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + } + ], + "outputs": [], + "content": { + "id": 139948594047600 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Control", + "group": "ForceControlProcess" + }, + { + "id": 7, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1790.0, + "pos_y": 251.0, + "inputs": [ + { + "id": 70001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::EffortCompensationProcess", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0430\u0446\u0438\u0438 \u0443\u0441\u0438\u043b\u0438\u044f \u043d\u0430 \u0448\u0442\u043e\u043a\u0435." + } + ], + "outputs": [], + "content": { + "id": 139948594048896 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "EffortCompensation", + "group": "EffortCompensationProcess" + }, + { + "id": 9, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1791.2500000000002, + "pos_y": 4.25, + "inputs": [ + { + "id": 90001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 4, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438 \u0443\u043f\u043e\u0440\u0430." + } + ], + "outputs": [], + "content": { + "id": 139948594050192 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Khardness", + "group": "ForceControlProcess" + }, + { + "id": 12, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1790.0, + "pos_y": 93.0, + "inputs": [ + { + "id": 120001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 5, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438 \u0443\u043f\u043e\u0440\u0430." + } + ], + "outputs": [], + "content": { + "id": 139948594051488 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Mass", + "group": "ForceControlProcess" + }, + { + "id": 14, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1788.7500000000005, + "pos_y": 358.25000000000006, + "inputs": [ + { + "id": 140001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 2, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::EffortCompensationProcess", + "type": "systemic::IValueType", + "description": "\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0443\u0441\u0438\u043b\u0438\u044f (\u043a\u043f\u0434, \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0435 - 1)." + } + ], + "outputs": [], + "content": { + "id": 139948594052784 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Efficienty", + "group": "EffortCompensationProcess" + }, + { + "id": 2, + "enable": true, + "is_invalid": false, + "title": "processing::acs::EffortCompensationProcess", + "pos_x": 674.0312500000001, + "pos_y": 419.25, + "inputs": [], + "outputs": [ + { + "id": 20101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 2, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "processing::acs::EffortCompensationProcess", + "description": "" + } + ], + "content": { + "id": 139948594267184 + }, + "alias": "", + "comment": "", + "params": { + "transmission_ratio": { + "value": 0.00018568076694054457, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0432\u0440\u0430\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e-\u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438." + }, + "efficiency": { + "value": 0.7, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432 \u0443\u0441\u0438\u043b\u0438\u0435 (\u043a\u043f\u0434)." + } + }, + "setting_name": "Effort Compensation Process", + "group": "Force Controller", + "level": 3 + }, + { + "id": 8, + "enable": true, + "is_invalid": false, + "title": "processing::acs::ForceControlProcess", + "pos_x": 674.03125, + "pos_y": 310.5, + "inputs": [], + "outputs": [ + { + "id": 80101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 3, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "processing::acs::ForceControlProcess", + "description": "" + } + ], + "content": { + "id": 139948594268480 + }, + "alias": "", + "comment": "", + "params": { + "transmission_ratio": { + "value": 0.00018568076694054457, + "format": "f", + "description": "" + } + }, + "setting_name": "Force Control Process Params", + "group": "Force Controller", + "level": 3 + }, + { + "id": 15, + "enable": true, + "is_invalid": false, + "title": "SpeedControlProcess", + "pos_x": 1335.9375000000002, + "pos_y": 693.7500000000001, + "inputs": [ + { + "id": 150001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "speed", + "mode": "input", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 150002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "regulator", + "mode": "input", + "object": "static", + "true_type": "none", + "type": "control::regulator::SpeedController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + } + ], + "outputs": [ + { + "id": 150101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 7, + "text": "control_process", + "mode": "output", + "object": "resource", + "true_type": "processing::acs::SpeedControlProcess", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 150102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 8, + "text": "torque_up_limit", + "mode": "output", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u0412\u0435\u0440\u0445\u043d\u0435\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 150103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 9, + "text": "torque_down_limit", + "mode": "output", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041d\u0438\u0436\u043d\u0435\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 150104, + "index": 3, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 10, + "text": "inertia", + "mode": "output", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u043d\u0435\u0440\u0446\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b." + }, + { + "id": 150105, + "index": 4, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 11, + "text": "feedforward", + "mode": "output", + "object": "resource", + "true_type": "systemic::IValueType>", + "type": "systemic::IValueType>", + "description": "\u0422\u0440\u0430\u043a\u0442 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c." + }, + { + "id": 150106, + "index": 5, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 4, + "text": "demand", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0417\u0430\u0434\u0430\u043d\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 139948594269776 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 30, + "process_settings": { + "processor_id": 2, + "priority": 7, + "period": 0, + "phase": 0 + }, + "node_id": 720, + "cpu_id": 0 + }, + { + "id": 17, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": 682.5000000000002, + "pos_y": 710.8593750000002, + "inputs": [], + "outputs": [ + { + "id": 170101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "mode": "output", + "object": "static", + "true_type": "none", + "type": "control::regulator::SpeedController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + } + ], + "content": { + "id": 139948594272656 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Regulator", + "group": "SpeedControlProcess" + }, + { + "id": 16, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 1800.7812499999995, + "pos_y": 1110.9374999999995, + "inputs": [ + { + "id": 160001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 4, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 139948594273952 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Reference Force Rotor Speed", + "group": "Control System" + }, + { + "id": 18, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1800.7812499999995, + "pos_y": 685.9374999999997, + "inputs": [ + { + "id": 180001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 7, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::SpeedControlProcess", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "outputs": [], + "content": { + "id": 139948594275392 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Speed Control Process", + "group": "SpeedControlProcess" + }, + { + "id": 19, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1800.7812499999993, + "pos_y": 857.1874999999997, + "inputs": [ + { + "id": 190001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 9, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041d\u0438\u0436\u043d\u0435\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "outputs": [], + "content": { + "id": 139948594276688 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Torque down Limit", + "group": "SpeedControlProcess" + }, + { + "id": 20, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1800.7812499999995, + "pos_y": 1025.9374999999995, + "inputs": [ + { + "id": 200001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 11, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType>", + "type": "systemic::IValueType>", + "description": "\u0422\u0440\u0430\u043a\u0442 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c." + } + ], + "outputs": [], + "content": { + "id": 139948594277840 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Feedforward", + "group": "SpeedControlProcess" + }, + { + "id": 21, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1800.7812499999995, + "pos_y": 770.9374999999997, + "inputs": [ + { + "id": 210001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 8, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u0412\u0435\u0440\u0445\u043d\u0435\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "outputs": [], + "content": { + "id": 139948594279136 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Torque up Limit", + "group": "SpeedControlProcess" + }, + { + "id": 22, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1800.7812499999995, + "pos_y": 940.9374999999997, + "inputs": [ + { + "id": 220001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 10, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u043d\u0435\u0440\u0446\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b." + } + ], + "outputs": [], + "content": { + "id": 139948594280432 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Inertia", + "group": "SpeedControlProcess" + } + ], + "edges": [ + { + "edge_type": 2, + "start": 130101, + "end": 50004 + }, + { + "edge_type": 2, + "start": 100101, + "end": 130001 + }, + { + "edge_type": 2, + "start": 130101, + "end": 110003 + }, + { + "edge_type": 2, + "start": 10101, + "end": 110001 + }, + { + "edge_type": 2, + "start": 10101, + "end": 50001 + }, + { + "edge_type": 2, + "start": 30101, + "end": 50002 + }, + { + "edge_type": 2, + "start": 130101, + "end": 40001 + }, + { + "edge_type": 2, + "start": 110101, + "end": 60001 + }, + { + "edge_type": 2, + "start": 50101, + "end": 70001 + }, + { + "edge_type": 2, + "start": 110102, + "end": 90001 + }, + { + "edge_type": 2, + "start": 110104, + "end": 120001 + }, + { + "edge_type": 2, + "start": 50104, + "end": 140001 + }, + { + "edge_type": 2, + "start": 80101, + "end": 110002 + }, + { + "edge_type": 2, + "start": 20101, + "end": 50003 + }, + { + "edge_type": 2, + "start": 150001, + "end": 30101 + }, + { + "edge_type": 2, + "start": 170101, + "end": 150002 + }, + { + "edge_type": 2, + "start": 150101, + "end": 180001 + }, + { + "edge_type": 2, + "start": 150102, + "end": 210001 + }, + { + "edge_type": 2, + "start": 190001, + "end": 150103 + }, + { + "edge_type": 2, + "start": 150104, + "end": 220001 + }, + { + "edge_type": 2, + "start": 200001, + "end": 150105 + }, + { + "edge_type": 2, + "start": 150106, + "end": 160001 + } + ] +} \ No newline at end of file diff --git a/Control System/ForceControllerDiagnostic.json b/Control System/ForceControllerDiagnostic.json new file mode 100644 index 0000000..e3dc18e --- /dev/null +++ b/Control System/ForceControllerDiagnostic.json @@ -0,0 +1,506 @@ +{ + "id": 139950308172528, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": 311.0, + "scene_pos_y": 231.0, + "nodes": [ + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 197.28124999999272, + "pos_y": 101.49999999999994, + "inputs": [ + { + "id": 10001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 7, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 139948593460512 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Jerk Reference Diagnostic", + "group": "Force Controller Diagnostic" + }, + { + "id": 2, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 194.28124999999272, + "pos_y": 17.499999999999943, + "inputs": [ + { + "id": 20001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 5, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 139948593461808 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Reference Force controller Diagnostic", + "group": "Force Controller Diagnostic" + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 194.28124999999272, + "pos_y": -152.49999999999994, + "inputs": [ + { + "id": 30001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 2, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 139948593463104 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Feedback Diagnostic", + "group": "Force Controller Diagnostic" + }, + { + "id": 4, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 3.281249999992724, + "pos_y": -83.49999999999994, + "inputs": [ + { + "id": 40001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 1, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 139948593317056 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Reference Diagnostic", + "group": "Force Controller Diagnostic" + }, + { + "id": 5, + "enable": true, + "is_invalid": false, + "title": "ForceControllerView", + "pos_x": -297.2812499999927, + "pos_y": -29.893463134767273, + "inputs": [ + { + "id": 50001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "regulator", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "control::regulator::ForceController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0443\u0441\u0438\u043b\u0438\u044f." + } + ], + "outputs": [ + { + "id": 50101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 1, + "text": "force_demand", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0426\u0435\u043b\u0435\u0432\u043e\u0435 \u0443\u0441\u0438\u043b\u0438\u0435." + }, + { + "id": 50102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 2, + "text": "force_feedback", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0432\u044f\u0437\u044c \u043f\u043e \u0443\u0441\u0438\u043b\u0438\u044e." + }, + { + "id": 50103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 3, + "text": "force_estimation", + "mode": "output", + "object": "value", + "true_type": "unknow", + "type": "float", + "description": "\u041e\u0446\u0435\u043d\u043a\u0430 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u043e\u0433\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043f\u043e\u0440\u0430 \u0443\u0441\u0438\u043b\u0438\u044f." + }, + { + "id": 50104, + "index": 3, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 4, + "text": "force_fixed", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0424\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0443\u0441\u0438\u043b\u0438\u044f \u0434\u043b\u044f \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f." + }, + { + "id": 50105, + "index": 4, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 5, + "text": "speed_demand", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0417\u0430\u0434\u0430\u043d\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c." + }, + { + "id": 50106, + "index": 5, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 6, + "text": "acceleration_demand", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0417\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435." + }, + { + "id": 50107, + "index": 6, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 7, + "text": "jerk_demand", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0417\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u044b\u0432\u043e\u043a \u043f\u043e\u0434\u043f\u043e\u0440\u0430." + }, + { + "id": 50108, + "index": 7, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 8, + "text": "controller_state", + "mode": "output", + "object": "value", + "true_type": "unknow", + "type": "float", + "description": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430." + } + ], + "content": { + "id": 139948593318352 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 318, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 1, + "cpu_id": 0 + }, + { + "id": 6, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 4.281249999992724, + "pos_y": 87.49999999999994, + "inputs": [ + { + "id": 60001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 6, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 139948593321520 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Acceleration Reference Diagnostic", + "group": "Force Controller Diagnostic" + }, + { + "id": 7, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 4.281249999992724, + "pos_y": 172.49999999999994, + "inputs": [ + { + "id": 70001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 8, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 139948593322816 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Controller State Diagnostic ", + "group": "Force Controller Diagnostic" + }, + { + "id": 8, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 4.281249999992724, + "pos_y": 2.500000000000057, + "inputs": [ + { + "id": 80001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 3, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 139948593324112 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Estimation Diagnostic", + "group": "Force Controller Diagnostic" + }, + { + "id": 9, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 194.28124999999272, + "pos_y": -67.49999999999994, + "inputs": [ + { + "id": 90001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 4, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 139948593325408 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Fixed Diagnostic", + "group": "Force Controller Diagnostic" + }, + { + "id": 10, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -638.0, + "pos_y": -34.0, + "inputs": [], + "outputs": [ + { + "id": 100101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "control::regulator::ForceController", + "description": "\u0420\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0443\u0441\u0438\u043b\u0438\u044f." + } + ], + "content": { + "id": 139948593326704 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Diagnostic", + "group": "ForceControllerView" + } + ], + "edges": [ + { + "edge_type": 2, + "start": 50105, + "end": 20001 + }, + { + "edge_type": 2, + "start": 50104, + "end": 90001 + }, + { + "edge_type": 2, + "start": 50106, + "end": 60001 + }, + { + "edge_type": 2, + "start": 50107, + "end": 10001 + }, + { + "edge_type": 2, + "start": 50108, + "end": 70001 + }, + { + "edge_type": 2, + "start": 50102, + "end": 30001 + }, + { + "edge_type": 2, + "start": 50103, + "end": 80001 + }, + { + "edge_type": 2, + "start": 50101, + "end": 40001 + }, + { + "edge_type": 2, + "start": 50001, + "end": 100101 + } + ] +} \ No newline at end of file diff --git a/Control System/ForceEstimator.json b/Control System/ForceEstimator.json new file mode 100644 index 0000000..5d692ab --- /dev/null +++ b/Control System/ForceEstimator.json @@ -0,0 +1,748 @@ +{ + "id": 140195508441872, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": 287.0, + "scene_pos_y": 207.0, + "nodes": [ + { + "id": 2, + "enable": true, + "is_invalid": false, + "title": "ForceEstimation", + "pos_x": 112.23632812500011, + "pos_y": 418.74999999999955, + "inputs": [ + { + "id": 20001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "position", + "mode": "input", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u041f\u043e\u0437\u0438\u0446\u0438\u044f \u0440\u043e\u0442\u043e\u0440\u0430." + }, + { + "id": 20002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "speed", + "mode": "input", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u043e\u0442\u043e\u0440\u0430." + }, + { + "id": 20003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "force", + "mode": "input", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0423\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435 \u043e\u0442 \u0434\u0430\u0447\u0442\u0438\u043a\u0430 \u0443\u0441\u0438\u043b\u0438\u044f." + }, + { + "id": 20004, + "index": 3, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 1, + "text": "params", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "processing::ForceEstimation", + "description": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0446\u0435\u043d\u043a\u0438 \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0443\u0441\u0438\u043b\u0438\u044f." + } + ], + "outputs": [ + { + "id": 20101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "text": "khardness", + "mode": "output", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u0416\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u044c (\u041d*\u043c)." + }, + { + "id": 20102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 1, + "text": "estimated", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041e\u0446\u0435\u043d\u043a\u0430 \u0443\u0441\u0438\u043b\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 20103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 2, + "text": "predicted", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u0443\u0441\u0438\u043b\u0438\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u0446\u0435\u043d\u043a\u0438 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 20104, + "index": 3, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 3, + "text": "khardness_est", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041e\u0446\u0435\u043d\u043a\u0430 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 139948593618304 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 327, + "process_settings": { + "processor_id": 3, + "priority": 1, + "period": 0, + "phase": 0 + }, + "node_id": 706, + "cpu_id": 1 + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "processing::ForceEstimation", + "pos_x": -292.0, + "pos_y": 631.1992187500032, + "inputs": [], + "outputs": [ + { + "id": 30101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 1, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "processing::ForceEstimation", + "description": "" + } + ], + "content": { + "id": 139948593621184 + }, + "alias": "", + "comment": "", + "params": { + "min_force": { + "value": 200.0, + "format": "f", + "description": "\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u0438\u043b\u0438\u0435, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u0435\u043b\u044f (\u041d)." + }, + "khardness": { + "value": 2709450.0, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438 (\u041d/\u043c)." + }, + "force_delay": { + "value": 0.0005, + "format": "f", + "description": "\u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0443\u0441\u0438\u043b\u0438\u044f (\u0441)." + }, + "transmission_ratio": { + "value": 0.00018568076694054457, + "format": "f", + "description": "\u041f\u0435\u0440\u0435\u0434\u0430\u0442\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 (\u043c/\u0440\u0430\u0434)." + }, + "L1": { + "value": 0.1, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u0442 \u0441\u043b\u0435\u0434\u044f\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0446\u0435\u043d\u043a\u0438 \u0443\u0441\u0438\u043b\u0438\u044f. \u041a\u043e\u0440\u0440\u0435\u043a\u0446\u0438\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u0443\u0441\u0438\u043b\u0438\u044f." + }, + "L2": { + "value": 0.1, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u0442 \u0441\u043b\u0435\u0434\u044f\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0446\u0435\u043d\u043a\u0438 \u0443\u0441\u0438\u043b\u0438\u044f. \u041a\u043e\u0440\u0440\u0435\u043a\u0446\u0438\u044f \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u0430 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438." + }, + "permit_error": { + "value": 100.0, + "format": "f", + "description": "\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0441\u043b\u0435\u0434\u044f\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b." + } + }, + "setting_name": "Force Estimation", + "group": "Force Estimation", + "level": 3 + }, + { + "id": 4, + "enable": true, + "is_invalid": false, + "title": "processing::Butterworth1stOrder", + "pos_x": 108.51757812500375, + "pos_y": 280.89062500000136, + "inputs": [], + "outputs": [ + { + "id": 40101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 2, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "processing::Butterworth1stOrder", + "description": "" + } + ], + "content": { + "id": 139948593622480 + }, + "alias": "", + "comment": "", + "params": { + "Tf": { + "value": 0.000125, + "format": "f", + "description": "\u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438." + } + }, + "setting_name": "Force Filter Predicted", + "group": "Force Estimation", + "level": 3 + }, + { + "id": 5, + "enable": true, + "is_invalid": false, + "title": "Butterworth1stOrder", + "pos_x": 509.04492187498545, + "pos_y": 209.49609374999596, + "inputs": [ + { + "id": 50001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 2, + "text": "input", + "mode": "input", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0412\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b." + }, + { + "id": 50002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 2, + "text": "params", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "processing::Butterworth1stOrder", + "description": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0444\u0438\u043b\u044c\u0442\u0440\u0430." + } + ], + "outputs": [ + { + "id": 50101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 4, + "text": "filtered", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0424\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435." + }, + { + "id": 50102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 2, + "text": "reset", + "mode": "output", + "object": "resource", + "true_type": "systemic::IFunctor", + "type": "systemic::IFunctor", + "description": "\u0421\u0431\u0440\u043e\u0441 \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u043d\u0430 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435." + } + ], + "content": { + "id": 139948593623776 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 49, + "process_settings": { + "processor_id": 3, + "priority": 2, + "period": 0, + "phase": 0 + }, + "node_id": 707, + "cpu_id": 1 + }, + { + "id": 6, + "enable": true, + "is_invalid": false, + "title": "DerivativeFilter", + "pos_x": 730.763671875, + "pos_y": 79.29296874999932, + "inputs": [ + { + "id": 60001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 4, + "text": "input", + "mode": "input", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0412\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b." + }, + { + "id": 60002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 3, + "text": "params", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "processing::DerivativeFilter", + "description": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0444\u0438\u043b\u044c\u0442\u0440\u0430." + } + ], + "outputs": [ + { + "id": 60101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 5, + "text": "derivative", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430." + } + ], + "content": { + "id": 139948593625504 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 50, + "process_settings": { + "processor_id": 3, + "priority": 3, + "period": 0, + "phase": 0 + }, + "node_id": 708, + "cpu_id": 1 + }, + { + "id": 7, + "enable": true, + "is_invalid": false, + "title": "processing::DerivativeFilter", + "pos_x": 103.345703125, + "pos_y": 66.04687499999949, + "inputs": [], + "outputs": [ + { + "id": 70101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 3, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "processing::DerivativeFilter", + "description": "" + } + ], + "content": { + "id": 139948593626944 + }, + "alias": "", + "comment": "", + "params": { + "N": { + "value": 1000.0, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u043e\u0439." + }, + "dX_init": { + "value": 0.0, + "format": "f", + "description": "\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u0447\u043d\u0435\u0442\u0441\u044f \u0440\u0430\u0441\u0447\u0435\u0442." + } + }, + "setting_name": "Force Derivative", + "group": "Force Estimation", + "level": 3 + }, + { + "id": 8, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -293.0, + "pos_y": 524.9999999999999, + "inputs": [], + "outputs": [ + { + "id": 80101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": -1, + "text": "", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0423\u0441\u0438\u043b\u0438\u0435 \u043d\u0430 \u0448\u0442\u043e\u043a\u0435 \u043e\u0442 \u0434\u0430\u0447\u0442\u0438\u043a\u0430 \u0443\u0441\u0438\u043b\u0438\u044f." + } + ], + "content": { + "id": 139948593726656 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Raw Force", + "group": "ForceEstimation" + }, + { + "id": 9, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -293.0, + "pos_y": 343.74999999999994, + "inputs": [], + "outputs": [ + { + "id": 90101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": -1, + "text": "", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u041f\u043e\u0437\u0438\u0446\u0438\u044f \u0440\u043e\u0442\u043e\u0440\u0430." + } + ], + "content": { + "id": 139948593727952 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Rotor Position", + "group": "ForceEstimation" + }, + { + "id": 10, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -293.0, + "pos_y": 432.0, + "inputs": [], + "outputs": [ + { + "id": 100101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": -1, + "text": "", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u043e\u0442\u043e\u0440\u0430." + } + ], + "content": { + "id": 139948593729248 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Rotor Speed", + "group": "ForceEstimation" + }, + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 983.0, + "pos_y": 123.0, + "inputs": [ + { + "id": 10001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 5, + "text": "", + "mode": "input", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430." + } + ], + "outputs": [], + "content": { + "id": 139948593730544 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Derivative", + "group": "DerivativeFilter" + }, + { + "id": 11, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 983.0, + "pos_y": 225.0, + "inputs": [ + { + "id": 110001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 4, + "text": "", + "mode": "input", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0424\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435." + } + ], + "outputs": [], + "content": { + "id": 139948593731840 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Predicted", + "group": "Butterworth1stOrder" + }, + { + "id": 12, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 983.0, + "pos_y": 334.0, + "inputs": [ + { + "id": 120001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u0416\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u044c (\u041d*\u043c)." + } + ], + "outputs": [], + "content": { + "id": 139948593733136 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Khardness", + "group": "ForceEstimation" + }, + { + "id": 14, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 985.0, + "pos_y": 449.0, + "inputs": [ + { + "id": 140001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 3, + "text": "", + "mode": "input", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041e\u0446\u0435\u043d\u043a\u0430 \u0436\u0435\u0441\u0442\u043a\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u0435\u043b\u044f." + } + ], + "outputs": [], + "content": { + "id": 139948593734432 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Khardness Estimated", + "group": "ForceEstimation" + } + ], + "edges": [ + { + "edge_type": 2, + "start": 50001, + "end": 20103 + }, + { + "edge_type": 2, + "start": 50002, + "end": 40101 + }, + { + "edge_type": 2, + "start": 20004, + "end": 30101 + }, + { + "edge_type": 2, + "start": 60001, + "end": 50101 + }, + { + "edge_type": 2, + "start": 70101, + "end": 60002 + }, + { + "edge_type": 2, + "start": 20003, + "end": 80101 + }, + { + "edge_type": 2, + "start": 20001, + "end": 90101 + }, + { + "edge_type": 2, + "start": 20002, + "end": 100101 + }, + { + "edge_type": 2, + "start": 60101, + "end": 10001 + }, + { + "edge_type": 2, + "start": 50101, + "end": 110001 + }, + { + "edge_type": 2, + "start": 20101, + "end": 120001 + }, + { + "edge_type": 2, + "start": 20104, + "end": 140001 + } + ] +} \ No newline at end of file diff --git a/Control System/ForceUnitTie.json b/Control System/ForceUnitTie.json new file mode 100644 index 0000000..4fb751b --- /dev/null +++ b/Control System/ForceUnitTie.json @@ -0,0 +1,1125 @@ +{ + "id": 139875752760704, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": 295.0, + "scene_pos_y": 215.0, + "nodes": [ + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "ValueToPhaseSpaceUnitTie", + "pos_x": 99.07812500000003, + "pos_y": -886.7929687499961, + "inputs": [ + { + "id": 10001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "control_process", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 10002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 10, + "text": "output", + "mode": "input", + "object": "static", + "true_type": "none", + "type": "technological::adapter::TieInterface>>", + "description": "\u041f\u043e\u0434\u0447\u0438\u043d\u0435\u043d\u043d\u044b\u0439 (\u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439) \u043a\u043e\u043d\u0442\u0443\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "outputs": [ + { + "id": 10101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "text": "control_unit", + "mode": "output", + "object": "resource", + "true_type": "technological::adapter::ValueToPhaseSpaceUnitTie", + "type": "technological::adapter::TieInterface>", + "description": "\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948586738752 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 182, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 749, + "cpu_id": 0 + }, + { + "id": 2, + "enable": true, + "is_invalid": false, + "title": "PhaseSpaceToStandingVectorUnitTie", + "pos_x": 99.07812500000003, + "pos_y": -458.79296874999613, + "inputs": [ + { + "id": 20001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "control_process", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToStandingVectorUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 20002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 5, + "text": "output", + "mode": "input", + "object": "static", + "true_type": "none", + "type": "technological::adapter::TieInterface>", + "description": "\u041f\u043e\u0434\u0447\u0438\u043d\u0435\u043d\u043d\u044b\u0439 (\u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439) \u043a\u043e\u043d\u0442\u0443\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "outputs": [ + { + "id": 20101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 2, + "text": "control_unit", + "mode": "output", + "object": "resource", + "true_type": "technological::adapter::PhaseSpaceToStandingVectorUnitTie", + "type": "technological::adapter::TieInterface>>", + "description": "\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948586739760 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 168, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 750, + "cpu_id": 0 + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "ValueToPhaseSpaceUnitTie", + "pos_x": 99.07812500000003, + "pos_y": -779.7929687499961, + "inputs": [ + { + "id": 30001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "control_process", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 30002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 6, + "text": "output", + "mode": "input", + "object": "static", + "true_type": "none", + "type": "technological::adapter::TieInterface>>", + "description": "\u041f\u043e\u0434\u0447\u0438\u043d\u0435\u043d\u043d\u044b\u0439 (\u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439) \u043a\u043e\u043d\u0442\u0443\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "outputs": [ + { + "id": 30101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 3, + "text": "control_unit", + "mode": "output", + "object": "resource", + "true_type": "technological::adapter::ValueToPhaseSpaceUnitTie", + "type": "technological::adapter::TieInterface>", + "description": "\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948586741200 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 182, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 751, + "cpu_id": 0 + }, + { + "id": 4, + "enable": true, + "is_invalid": false, + "title": "PhaseSpaceToPhaseSpaceUnitTie", + "pos_x": 99.07812500000003, + "pos_y": -565.7929687499961, + "inputs": [ + { + "id": 40001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "control_process", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 40002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 2, + "text": "output", + "mode": "input", + "object": "static", + "true_type": "none", + "type": "technological::adapter::TieInterface>>", + "description": "\u041f\u043e\u0434\u0447\u0438\u043d\u0435\u043d\u043d\u044b\u0439 (\u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439) \u043a\u043e\u043d\u0442\u0443\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "outputs": [ + { + "id": 40101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 4, + "text": "control_unit", + "mode": "output", + "object": "resource", + "true_type": "technological::adapter::PhaseSpaceToPhaseSpaceUnitTie", + "type": "technological::adapter::TieInterface>>", + "description": "\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948586742640 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 167, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 752, + "cpu_id": 0 + }, + { + "id": 5, + "enable": true, + "is_invalid": false, + "title": "PwmGenerationAdapterTie", + "pos_x": 99.07812500000003, + "pos_y": -351.79296874999613, + "inputs": [ + { + "id": 50001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "control_process", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "technological::adapter::PwmGenAdapter", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 50002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 9, + "text": "output", + "mode": "input", + "object": "static", + "true_type": "none", + "type": "technological::adapter::TieInterface", + "description": "\u041f\u043e\u0434\u0447\u0438\u043d\u0435\u043d\u043d\u044b\u0439 (\u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439) \u043a\u043e\u043d\u0442\u0443\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "outputs": [ + { + "id": 50101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 5, + "text": "control_unit", + "mode": "output", + "object": "resource", + "true_type": "technological::adapter::PwmGenAdaptorTie", + "type": "technological::adapter::TieInterface>", + "description": "\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948586744080 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 170, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 753, + "cpu_id": 0 + }, + { + "id": 6, + "enable": true, + "is_invalid": false, + "title": "technological::drivecontrol::state::ControlStateValueControl", + "pos_x": 486.7929687500001, + "pos_y": -779.7929687499961, + "inputs": [], + "outputs": [ + { + "id": 60101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 1, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "technological::drivecontrol::state::ControlStateValueControl", + "description": "" + } + ], + "content": { + "id": 139948586745520 + }, + "alias": "", + "comment": "", + "params": { + "retention_accuracy": { + "value": 50.0, + "format": "f", + "description": "\u0422\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f." + } + }, + "setting_name": "Force Controller Accuracy code 2", + "group": "Force Controller", + "level": 3 + }, + { + "id": 7, + "enable": true, + "is_invalid": false, + "title": "PhaseSpaceToPhaseSpaceUnitTie", + "pos_x": 99.07812500000003, + "pos_y": -672.7929687499961, + "inputs": [ + { + "id": 70001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "control_process", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + }, + { + "id": 70002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 4, + "text": "output", + "mode": "input", + "object": "static", + "true_type": "none", + "type": "technological::adapter::TieInterface>>", + "description": "\u041f\u043e\u0434\u0447\u0438\u043d\u0435\u043d\u043d\u044b\u0439 (\u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439) \u043a\u043e\u043d\u0442\u0443\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "outputs": [ + { + "id": 70101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 6, + "text": "control_unit", + "mode": "output", + "object": "resource", + "true_type": "technological::adapter::PhaseSpaceToPhaseSpaceUnitTie", + "type": "technological::adapter::TieInterface>>", + "description": "\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948593847968 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 167, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 754, + "cpu_id": 0 + }, + { + "id": 8, + "enable": true, + "is_invalid": false, + "title": "ValueInterconnector", + "pos_x": 486.7929687500001, + "pos_y": -886.7929687499961, + "inputs": [ + { + "id": 80001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 3, + "text": "primary_output", + "mode": "input", + "object": "static", + "true_type": "none", + "type": "technological::adapter::TieInterface>", + "description": "" + }, + { + "id": 80002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "text": "secondary_output", + "mode": "input", + "object": "static", + "true_type": "none", + "type": "technological::adapter::TieInterface>", + "description": "\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "outputs": [ + { + "id": 80101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 7, + "text": "output", + "mode": "output", + "object": "resource", + "true_type": "technological::adapter::ValueInterTie", + "type": "technological::adapter::TieInterface>", + "description": "\u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948593852144 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 181, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 755, + "cpu_id": 0 + }, + { + "id": 9, + "enable": true, + "is_invalid": false, + "title": "ControlStateValueControl", + "pos_x": 827.3242187500001, + "pos_y": -886.7929687499961, + "inputs": [ + { + "id": 90001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 7, + "text": "control_system", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "technological::adapter::TieInterface>", + "description": "\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + }, + { + "id": 90002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 1, + "text": "conditions", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "technological::drivecontrol::state::ControlStateValueControl", + "description": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b." + } + ], + "outputs": [ + { + "id": 90101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 8, + "text": "control_state", + "mode": "output", + "object": "resource", + "true_type": "technological::drivecontrol::state::ControlStateValueControl", + "type": "technological::IExecutorState", + "description": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c." + }, + { + "id": 90102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 1, + "text": "demand", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0417\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435." + } + ], + "content": { + "id": 139948593853584 + }, + "alias": "", + "comment": "", + "params": { + "code": { + "value": 2, + "format": "H", + "description": "\u041a\u043e\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b." + } + }, + "initializer_id": 188, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 756, + "cpu_id": 0 + }, + { + "id": 10, + "enable": true, + "is_invalid": false, + "title": "InverterEndpoint", + "pos_x": 99.07812500000003, + "pos_y": -244.79296874999613, + "inputs": [ + { + "id": 100001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "endpoint", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "driver::IInverter", + "description": "\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "outputs": [ + { + "id": 100101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 9, + "text": "control_unit", + "mode": "output", + "object": "resource", + "true_type": "technological::adapter::InverterEndpoint", + "type": "technological::adapter::TieInterface", + "description": "\u041a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948593844800 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 166, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 757, + "cpu_id": 0 + }, + { + "id": 11, + "enable": true, + "is_invalid": false, + "title": "PhaseSpaceEndpoint", + "pos_x": -292.7031250000003, + "pos_y": -801.7929687499961, + "inputs": [ + { + "id": 110001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "endpoint", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType>", + "description": "\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "outputs": [ + { + "id": 110101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 10, + "text": "control_unit", + "mode": "output", + "object": "resource", + "true_type": "technological::adapter::PhaseSpaceEndpoint", + "type": "technological::adapter::TieInterface>>", + "description": "\u041a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948593846240 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 189, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 758, + "cpu_id": 0 + }, + { + "id": 12, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -581.8359375000002, + "pos_y": -801.7929687499961, + "inputs": [], + "outputs": [ + { + "id": 120101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType>", + "description": "\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948593842208 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Feedforward", + "group": "PhaseSpaceEndpoint" + }, + { + "id": 13, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -581.8359375000002, + "pos_y": -886.7929687499961, + "inputs": [], + "outputs": [ + { + "id": 130101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + } + ], + "content": { + "id": 139948593842928 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Effort Compensation", + "group": "ValueToPhaseSpaceUnitTie" + }, + { + "id": 14, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -581.8359375000002, + "pos_y": -631.7929687499961, + "inputs": [], + "outputs": [ + { + "id": 140101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + } + ], + "content": { + "id": 139948593847680 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Ramp Speed", + "group": "PhaseSpaceToPhaseSpaceUnitTie" + }, + { + "id": 15, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -581.8359375000002, + "pos_y": -546.7929687499961, + "inputs": [], + "outputs": [ + { + "id": 150101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + } + ], + "content": { + "id": 139948593845376 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Control", + "group": "PhaseSpaceToPhaseSpaceUnitTie" + }, + { + "id": 16, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -581.8359375000002, + "pos_y": -461.79296874999613, + "inputs": [], + "outputs": [ + { + "id": 160101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::PhaseSpaceToStandingVectorUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + } + ], + "content": { + "id": 139948593855312 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque Control", + "group": "PhaseSpaceToStandingVectorUnitTie" + }, + { + "id": 17, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -581.8359375000002, + "pos_y": -376.79296874999613, + "inputs": [], + "outputs": [ + { + "id": 170101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "technological::adapter::PwmGenAdapter", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + } + ], + "content": { + "id": 139948593851280 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Voltage Control", + "group": "PwmGenerationAdapterTie" + }, + { + "id": 18, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -581.8359375000002, + "pos_y": -291.79296874999613, + "inputs": [], + "outputs": [ + { + "id": 180101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "driver::IInverter", + "description": "\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948593856032 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Inverter Control", + "group": "InverterEndpoint" + }, + { + "id": 19, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -581.8359375000002, + "pos_y": -716.7929687499961, + "inputs": [], + "outputs": [ + { + "id": 190101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "mode": "output", + "object": "dynamic", + "true_type": "none", + "type": "processing::acs::ValueToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432." + } + ], + "content": { + "id": 139948593611680 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Control", + "group": "ValueToPhaseSpaceUnitTie" + }, + { + "id": 20, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1228.32421875, + "pos_y": -886.7929687499961, + "inputs": [ + { + "id": 200001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 8, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "technological::drivecontrol::state::ControlStateValueControl", + "type": "technological::IExecutorState", + "description": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c." + } + ], + "outputs": [], + "content": { + "id": 139948593612832 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Force Control State", + "group": "ControlStateValueControl" + } + ], + "edges": [ + { + "edge_type": 2, + "start": 80101, + "end": 90001 + }, + { + "edge_type": 2, + "start": 10101, + "end": 80002 + }, + { + "edge_type": 2, + "start": 20101, + "end": 40002 + }, + { + "edge_type": 2, + "start": 70002, + "end": 40101 + }, + { + "edge_type": 2, + "start": 50002, + "end": 100101 + }, + { + "edge_type": 2, + "start": 90002, + "end": 60101 + }, + { + "edge_type": 2, + "start": 20002, + "end": 50101 + }, + { + "edge_type": 2, + "start": 80001, + "end": 30101 + }, + { + "edge_type": 2, + "start": 70101, + "end": 30002 + }, + { + "edge_type": 2, + "start": 110101, + "end": 10002 + }, + { + "edge_type": 2, + "start": 110001, + "end": 120101 + }, + { + "edge_type": 2, + "start": 10001, + "end": 130101 + }, + { + "edge_type": 2, + "start": 70001, + "end": 140101 + }, + { + "edge_type": 2, + "start": 40001, + "end": 150101 + }, + { + "edge_type": 2, + "start": 20001, + "end": 160101 + }, + { + "edge_type": 2, + "start": 50001, + "end": 170101 + }, + { + "edge_type": 2, + "start": 100001, + "end": 180101 + }, + { + "edge_type": 2, + "start": 30001, + "end": 190101 + }, + { + "edge_type": 2, + "start": 90101, + "end": 200001 + } + ] +} \ No newline at end of file diff --git a/PositionControlExample.json b/Control System/PositionControlExample.json similarity index 100% rename from PositionControlExample.json rename to Control System/PositionControlExample.json diff --git a/PositionControlProcess.json b/Control System/PositionControlProcess.json similarity index 97% rename from PositionControlProcess.json rename to Control System/PositionControlProcess.json index e7add43..88c73f4 100644 --- a/PositionControlProcess.json +++ b/Control System/PositionControlProcess.json @@ -2,8 +2,8 @@ "id": 140568378905536, "scene_width": 64000, "scene_height": 64000, - "scene_pos_x": 476.0, - "scene_pos_y": -57.0, + "scene_pos_x": 146.0, + "scene_pos_y": 17.0, "nodes": [ { "id": 1, @@ -63,7 +63,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 1, + "link_id": 2, "text": "torque_up_limit", "mode": "output", "object": "resource", @@ -77,7 +77,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 2, + "link_id": 3, "text": "torque_down_limit", "mode": "output", "object": "resource", @@ -91,7 +91,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 3, + "link_id": 4, "text": "inertia", "mode": "output", "object": "resource", @@ -105,7 +105,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 1, + "link_id": 5, "text": "feedforward", "mode": "output", "object": "resource", @@ -129,7 +129,7 @@ } ], "content": { - "id": 140116297434880 + "id": 139948589837344 }, "alias": "", "comment": "", @@ -244,7 +244,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 1, + "link_id": 6, "text": "control_process", "mode": "output", "object": "resource", @@ -272,7 +272,7 @@ "multi_edges": true, "position": 2, "socket_type": 1, - "link_id": 3, + "link_id": 2, "text": "demand", "mode": "output", "object": "value", @@ -282,7 +282,7 @@ } ], "content": { - "id": 140116297437616 + "id": 139948589840224 }, "alias": "", "comment": "", @@ -355,7 +355,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 3, + "link_id": 8, "text": "control_process", "mode": "output", "object": "resource", @@ -369,7 +369,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 8, + "link_id": 9, "text": "acceleration_limit", "mode": "output", "object": "resource", @@ -383,7 +383,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 9, + "link_id": 10, "text": "speed_limit", "mode": "output", "object": "resource", @@ -397,7 +397,7 @@ "multi_edges": true, "position": 2, "socket_type": 1, - "link_id": 4, + "link_id": 3, "text": "demand", "mode": "output", "object": "value", @@ -407,7 +407,7 @@ } ], "content": { - "id": 140116297440784 + "id": 139948586501168 }, "alias": "", "comment": "", @@ -447,7 +447,7 @@ } ], "content": { - "id": 140116297443376 + "id": 139948586503760 }, "alias": "", "comment": "", @@ -480,7 +480,7 @@ } ], "content": { - "id": 140116297444672 + "id": 139948586505056 }, "alias": "", "comment": "", @@ -513,7 +513,7 @@ } ], "content": { - "id": 140116297445968 + "id": 139948586506352 }, "alias": "", "comment": "", @@ -546,7 +546,7 @@ } ], "content": { - "id": 140116297447264 + "id": 139948586507648 }, "alias": "", "comment": "", @@ -579,7 +579,7 @@ } ], "content": { - "id": 140116297448560 + "id": 139948586508944 }, "alias": "", "comment": "", @@ -612,7 +612,7 @@ } ], "content": { - "id": 140116297630192 + "id": 139948586510240 }, "alias": "", "comment": "", @@ -645,7 +645,7 @@ } ], "content": { - "id": 140116297631488 + "id": 139948586511536 }, "alias": "", "comment": "", @@ -678,7 +678,7 @@ } ], "content": { - "id": 140116297632784 + "id": 139948586512832 }, "alias": "", "comment": "", @@ -700,7 +700,7 @@ "multi_edges": false, "position": 0, "socket_type": 1, - "link_id": 3, + "link_id": 2, "text": "", "mode": "", "object": "", @@ -711,7 +711,7 @@ ], "outputs": [], "content": { - "id": 140116297634080 + "id": 139948586514128 }, "alias": "", "comment": "", @@ -733,7 +733,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 1, + "link_id": 6, "text": "", "mode": "input", "object": "resource", @@ -744,7 +744,7 @@ ], "outputs": [], "content": { - "id": 140116297635376 + "id": 139948586515424 }, "alias": "", "comment": "", @@ -777,7 +777,7 @@ ], "outputs": [], "content": { - "id": 140116297636672 + "id": 139948586631520 }, "alias": "", "comment": "", @@ -810,7 +810,7 @@ } ], "content": { - "id": 140116297637968 + "id": 139948586632816 }, "alias": "", "comment": "", @@ -843,7 +843,7 @@ } ], "content": { - "id": 140116297639264 + "id": 139948586634112 }, "alias": "", "comment": "", @@ -876,7 +876,7 @@ ], "outputs": [], "content": { - "id": 140116297640560 + "id": 139948586635408 }, "alias": "", "comment": "", @@ -898,7 +898,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 1, + "link_id": 2, "text": "", "mode": "input", "object": "resource", @@ -909,7 +909,7 @@ ], "outputs": [], "content": { - "id": 140116297642000 + "id": 139948586636848 }, "alias": "", "comment": "", @@ -931,7 +931,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 2, + "link_id": 3, "text": "", "mode": "input", "object": "resource", @@ -942,7 +942,7 @@ ], "outputs": [], "content": { - "id": 140116297643296 + "id": 139948586638144 }, "alias": "", "comment": "", @@ -975,7 +975,7 @@ ], "outputs": [], "content": { - "id": 140116297644448 + "id": 139948586639296 }, "alias": "", "comment": "", @@ -997,7 +997,7 @@ "multi_edges": false, "position": 0, "socket_type": 1, - "link_id": 4, + "link_id": 3, "text": "", "mode": "", "object": "", @@ -1008,7 +1008,7 @@ ], "outputs": [], "content": { - "id": 140116297645744 + "id": 139948586640592 }, "alias": "", "comment": "", @@ -1030,7 +1030,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 3, + "link_id": 8, "text": "", "mode": "input", "object": "resource", @@ -1041,7 +1041,7 @@ ], "outputs": [], "content": { - "id": 140116297745456 + "id": 139948586641888 }, "alias": "", "comment": "", @@ -1063,7 +1063,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 8, + "link_id": 9, "text": "", "mode": "input", "object": "resource", @@ -1074,7 +1074,7 @@ ], "outputs": [], "content": { - "id": 140116297746752 + "id": 139948586643184 }, "alias": "", "comment": "", @@ -1096,7 +1096,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 9, + "link_id": 10, "text": "", "mode": "input", "object": "resource", @@ -1107,7 +1107,7 @@ ], "outputs": [], "content": { - "id": 140116297748048 + "id": 139948586644480 }, "alias": "", "comment": "", @@ -1129,7 +1129,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 1, + "link_id": 5, "text": "", "mode": "input", "object": "resource", @@ -1140,7 +1140,7 @@ ], "outputs": [], "content": { - "id": 140116297749344 + "id": 139948586645776 }, "alias": "", "comment": "", @@ -1162,7 +1162,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 3, + "link_id": 4, "text": "", "mode": "input", "object": "resource", @@ -1173,7 +1173,7 @@ ], "outputs": [], "content": { - "id": 140116297750640 + "id": 139948586647072 }, "alias": "", "comment": "", diff --git a/PositionRegulatorWithLimitedDynamics.json b/Control System/PositionRegulatorWithLimitedDynamics.json similarity index 95% rename from PositionRegulatorWithLimitedDynamics.json rename to Control System/PositionRegulatorWithLimitedDynamics.json index 373cbfc..268ba51 100644 --- a/PositionRegulatorWithLimitedDynamics.json +++ b/Control System/PositionRegulatorWithLimitedDynamics.json @@ -2,8 +2,8 @@ "id": 140568870538064, "scene_width": 64000, "scene_height": 64000, - "scene_pos_x": -346.0, - "scene_pos_y": -2038.0, + "scene_pos_x": -378.0, + "scene_pos_y": -2070.0, "nodes": [ { "id": 29, @@ -19,7 +19,7 @@ "multi_edges": false, "position": 0, "socket_type": 3, - "link_id": 8, + "link_id": 2, "text": "params", "mode": "input", "object": "setting", @@ -33,7 +33,7 @@ "multi_edges": false, "position": 0, "socket_type": 3, - "link_id": 6, + "link_id": 1, "text": "limits", "mode": "input", "object": "setting", @@ -63,7 +63,7 @@ "multi_edges": true, "position": 2, "socket_type": 1, - "link_id": 22, + "link_id": 1, "text": "proportional_part", "mode": "output", "object": "value", @@ -77,7 +77,7 @@ "multi_edges": true, "position": 2, "socket_type": 1, - "link_id": 23, + "link_id": 2, "text": "output", "mode": "output", "object": "value", @@ -87,7 +87,7 @@ } ], "content": { - "id": 140116303452272 + "id": 139948589890816 }, "alias": "", "comment": "", @@ -117,7 +117,7 @@ "multi_edges": true, "position": 2, "socket_type": 3, - "link_id": 6, + "link_id": 1, "text": "", "mode": "output", "object": "", @@ -127,7 +127,7 @@ } ], "content": { - "id": 140116303454288 + "id": 139948589826976 }, "alias": "", "comment": "", @@ -157,7 +157,7 @@ "multi_edges": true, "position": 2, "socket_type": 3, - "link_id": 8, + "link_id": 2, "text": "", "mode": "output", "object": "", @@ -167,7 +167,7 @@ } ], "content": { - "id": 140116303455584 + "id": 139948589828272 }, "alias": "", "comment": "", @@ -223,7 +223,7 @@ "multi_edges": false, "position": 0, "socket_type": 1, - "link_id": 22, + "link_id": 1, "text": "", "mode": "", "object": "", @@ -234,7 +234,7 @@ ], "outputs": [], "content": { - "id": 140116303456880 + "id": 139948589829568 }, "alias": "", "comment": "", @@ -256,7 +256,7 @@ "multi_edges": false, "position": 0, "socket_type": 1, - "link_id": 23, + "link_id": 2, "text": "", "mode": "", "object": "", @@ -267,7 +267,7 @@ ], "outputs": [], "content": { - "id": 140116303098016 + "id": 139948589830864 }, "alias": "", "comment": "", @@ -300,7 +300,7 @@ ], "outputs": [], "content": { - "id": 140116303459328 + "id": 139948589832160 }, "alias": "", "comment": "", diff --git a/PositionUnitTie.json b/Control System/PositionUnitTie.json similarity index 97% rename from PositionUnitTie.json rename to Control System/PositionUnitTie.json index f5ae1f3..7c89199 100644 --- a/PositionUnitTie.json +++ b/Control System/PositionUnitTie.json @@ -2,8 +2,8 @@ "id": 140568379505152, "scene_width": 64000, "scene_height": 64000, - "scene_pos_x": -38.0, - "scene_pos_y": -645.0, + "scene_pos_x": 311.0, + "scene_pos_y": 231.0, "nodes": [ { "id": 1, @@ -19,7 +19,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 1, + "link_id": 6, "text": "", "mode": "input", "object": "resource", @@ -30,7 +30,7 @@ ], "outputs": [], "content": { - "id": 140116303098304 + "id": 139948590736736 }, "alias": "", "comment": "", @@ -66,7 +66,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 3, + "link_id": 4, "text": "output", "mode": "input", "object": "static", @@ -92,7 +92,7 @@ } ], "content": { - "id": 140116303099600 + "id": 139948590735440 }, "alias": "", "comment": "", @@ -135,7 +135,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 1, + "link_id": 5, "text": "output", "mode": "input", "object": "static", @@ -151,7 +151,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 1, + "link_id": 2, "text": "control_unit", "mode": "output", "object": "resource", @@ -161,7 +161,7 @@ } ], "content": { - "id": 140116303101040 + "id": 139948590734000 }, "alias": "", "comment": "", @@ -201,7 +201,7 @@ } ], "content": { - "id": 140116303282816 + "id": 139948590732560 }, "alias": "", "comment": "", @@ -234,7 +234,7 @@ } ], "content": { - "id": 140116303284112 + "id": 139948590731264 }, "alias": "", "comment": "", @@ -267,7 +267,7 @@ } ], "content": { - "id": 140116303285408 + "id": 139948590729968 }, "alias": "", "comment": "", @@ -300,7 +300,7 @@ } ], "content": { - "id": 140116303286704 + "id": 139948590728672 }, "alias": "", "comment": "", @@ -333,7 +333,7 @@ } ], "content": { - "id": 140116303288000 + "id": 139948590727376 }, "alias": "", "comment": "", @@ -366,7 +366,7 @@ } ], "content": { - "id": 140116303289296 + "id": 139948589876272 }, "alias": "", "comment": "", @@ -399,7 +399,7 @@ } ], "content": { - "id": 140116303290592 + "id": 139948589877568 }, "alias": "", "comment": "", @@ -435,7 +435,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 1, + "link_id": 2, "text": "output", "mode": "input", "object": "static", @@ -451,7 +451,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 2, + "link_id": 3, "text": "control_unit", "mode": "output", "object": "resource", @@ -461,7 +461,7 @@ } ], "content": { - "id": 140116303291888 + "id": 139948589878864 }, "alias": "", "comment": "", @@ -504,7 +504,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 2, + "link_id": 3, "text": "output", "mode": "input", "object": "static", @@ -520,7 +520,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 3, + "link_id": 4, "text": "control_unit", "mode": "output", "object": "resource", @@ -530,7 +530,7 @@ } ], "content": { - "id": 140116303293328 + "id": 139948589880304 }, "alias": "", "comment": "", @@ -575,7 +575,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 1, + "link_id": 5, "text": "control_unit", "mode": "output", "object": "resource", @@ -585,7 +585,7 @@ } ], "content": { - "id": 140116303294768 + "id": 139948589881744 }, "alias": "", "comment": "", @@ -686,7 +686,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 1, + "link_id": 6, "text": "control_state", "mode": "output", "object": "resource", @@ -696,7 +696,7 @@ } ], "content": { - "id": 140116303295920 + "id": 139948589882896 }, "alias": "", "comment": "", @@ -742,7 +742,7 @@ } ], "content": { - "id": 140116303298224 + "id": 139948589885200 }, "alias": "", "comment": "", @@ -775,7 +775,7 @@ } ], "content": { - "id": 140116303447088 + "id": 139948589886496 }, "alias": "", "comment": "", diff --git a/Control System/RampSpeed.json b/Control System/RampSpeed.json new file mode 100644 index 0000000..5c1390d --- /dev/null +++ b/Control System/RampSpeed.json @@ -0,0 +1,275 @@ +{ + "id": 139948590267120, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": 738.0, + "scene_pos_y": -200.0, + "nodes": [ + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "RampGeneration1stOrderProcess", + "pos_x": 451.79101562499636, + "pos_y": -93.0, + "inputs": [ + { + "id": 10001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "value", + "mode": "input", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438." + }, + { + "id": 10002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 3, + "text": "generator", + "mode": "input", + "object": "static", + "true_type": "none", + "type": "control::generator::Generator_1stOrder", + "description": "\u041f\u0430\u0440\u0430\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0437\u0438\u0446\u0438\u0438." + } + ], + "outputs": [ + { + "id": 10101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "text": "generation_process", + "mode": "output", + "object": "resource", + "true_type": "processing::acs::RampGeneration1stOrderProcess", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f." + }, + { + "id": 10102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 2, + "text": "derivative_limit", + "mode": "output", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u043e\u0439." + } + ], + "content": { + "id": 139948593451728 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 171, + "process_settings": { + "processor_id": 3, + "priority": 2, + "period": 0, + "phase": 0 + }, + "node_id": 1, + "cpu_id": 0 + }, + { + "id": 2, + "enable": true, + "is_invalid": false, + "title": "control::generator::Generator_1stOrder", + "pos_x": -253.79101562499272, + "pos_y": -93.0, + "inputs": [], + "outputs": [ + { + "id": 20101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 1, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "control::generator::Generator_1stOrder", + "description": "" + } + ], + "content": { + "id": 139948593453024 + }, + "alias": "", + "comment": "", + "params": { + "max_limit_dtarget": { + "value": 22000.0, + "format": "f", + "description": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u0440\u0430\u0449\u0435\u043d\u0438\u0435." + } + }, + "setting_name": "Speed LimitRamp", + "group": "Force Controller", + "level": 3 + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "RampGenerator", + "pos_x": 56.58593749999636, + "pos_y": -93.0, + "inputs": [ + { + "id": 30001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 1, + "text": "params", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "control::generator::Generator_1stOrder", + "description": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c \u0442\u0435\u043c\u043f\u043e\u043c \u043d\u0430\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044f." + } + ], + "outputs": [ + { + "id": 30101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 3, + "text": "generator", + "mode": "output", + "object": "resource", + "true_type": "control::generator::Generator_1stOrder", + "type": "control::generator::Generator_1stOrder", + "description": "\u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c \u0442\u0435\u043c\u043f\u043e\u043c \u043d\u0430\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044f." + } + ], + "content": { + "id": 139948593454320 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 29, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 2, + "cpu_id": 0 + }, + { + "id": 4, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -259.0, + "pos_y": -386.0, + "inputs": [], + "outputs": [ + { + "id": 40101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": -1, + "text": "", + "mode": "output", + "object": "value", + "true_type": "none", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438." + } + ], + "content": { + "id": 139948593455472 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Rotor Speed", + "group": "RampGeneration1stOrderProcess" + }, + { + "id": 5, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1117.0, + "pos_y": -106.0, + "inputs": [ + { + "id": 50001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "text": "", + "mode": "input", + "object": "resource", + "true_type": "processing::acs::RampGeneration1stOrderProcess", + "type": "processing::acs::PhaseSpaceToPhaseSpaceUnitInterface", + "description": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f." + } + ], + "outputs": [], + "content": { + "id": 139948593456768 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Ramp Speed", + "group": "RampGeneration1stOrderProcess" + } + ], + "edges": [ + { + "edge_type": 2, + "start": 10002, + "end": 30101 + }, + { + "edge_type": 2, + "start": 20101, + "end": 30001 + }, + { + "edge_type": 2, + "start": 10001, + "end": 40101 + }, + { + "edge_type": 2, + "start": 10101, + "end": 50001 + } + ] +} \ No newline at end of file diff --git a/SpeedController.json b/Control System/SpeedController.json similarity index 98% rename from SpeedController.json rename to Control System/SpeedController.json index efb433e..07a9beb 100644 --- a/SpeedController.json +++ b/Control System/SpeedController.json @@ -2,8 +2,8 @@ "id": 140667921584560, "scene_width": 64000, "scene_height": 64000, - "scene_pos_x": -451.0, - "scene_pos_y": 87.0, + "scene_pos_x": -491.0, + "scene_pos_y": 47.0, "nodes": [ { "id": 1, @@ -30,7 +30,7 @@ ], "outputs": [], "content": { - "id": 140116542372112 + "id": 139948593330736 }, "alias": "", "comment": "", @@ -63,7 +63,7 @@ ], "outputs": [], "content": { - "id": 140116542373408 + "id": 139948593332032 }, "alias": "", "comment": "", @@ -96,7 +96,7 @@ } ], "content": { - "id": 140116542522272 + "id": 139950304363712 }, "alias": "", "comment": "", @@ -191,7 +191,7 @@ ], "outputs": [], "content": { - "id": 140116542523568 + "id": 139950304365008 }, "alias": "", "comment": "", @@ -323,7 +323,7 @@ } ], "content": { - "id": 140116542524864 + "id": 139950304366304 }, "alias": "", "comment": "", @@ -363,7 +363,7 @@ ], "outputs": [], "content": { - "id": 140116542527744 + "id": 139950304368608 }, "alias": "", "comment": "", @@ -396,7 +396,7 @@ ], "outputs": [], "content": { - "id": 140116542529040 + "id": 139950304369904 }, "alias": "", "comment": "", @@ -429,7 +429,7 @@ ], "outputs": [], "content": { - "id": 140116542530336 + "id": 139950304371200 }, "alias": "", "comment": "", @@ -462,7 +462,7 @@ ], "outputs": [], "content": { - "id": 140116542531632 + "id": 139950304372496 }, "alias": "", "comment": "", diff --git a/SpeedUnitTie.json b/Control System/SpeedUnitTie.json similarity index 97% rename from SpeedUnitTie.json rename to Control System/SpeedUnitTie.json index 4e8907e..40b1f15 100644 --- a/SpeedUnitTie.json +++ b/Control System/SpeedUnitTie.json @@ -2,8 +2,8 @@ "id": 140568379505152, "scene_width": 64000, "scene_height": 64000, - "scene_pos_x": -126.0, - "scene_pos_y": -800.0, + "scene_pos_x": -158.0, + "scene_pos_y": -832.0, "nodes": [ { "id": 1, @@ -19,7 +19,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 2, + "link_id": 5, "text": "", "mode": "input", "object": "resource", @@ -30,7 +30,7 @@ ], "outputs": [], "content": { - "id": 140116302945232 + "id": 139949149897632 }, "alias": "", "comment": "", @@ -66,7 +66,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 1, + "link_id": 4, "text": "output", "mode": "input", "object": "static", @@ -92,7 +92,7 @@ } ], "content": { - "id": 140116302946528 + "id": 139949149898928 }, "alias": "", "comment": "", @@ -132,7 +132,7 @@ } ], "content": { - "id": 140116302947968 + "id": 139949149900368 }, "alias": "", "comment": "", @@ -165,7 +165,7 @@ } ], "content": { - "id": 140116302949264 + "id": 139951069468640 }, "alias": "", "comment": "", @@ -198,7 +198,7 @@ } ], "content": { - "id": 140116302950560 + "id": 139949149902528 }, "alias": "", "comment": "", @@ -231,7 +231,7 @@ } ], "content": { - "id": 140116302951856 + "id": 139949149903824 }, "alias": "", "comment": "", @@ -264,7 +264,7 @@ } ], "content": { - "id": 140116302953008 + "id": 139949149905120 }, "alias": "", "comment": "", @@ -326,7 +326,7 @@ } ], "content": { - "id": 140116302954304 + "id": 139949149906416 }, "alias": "", "comment": "", @@ -395,7 +395,7 @@ } ], "content": { - "id": 140116303086928 + "id": 139949149907856 }, "alias": "", "comment": "", @@ -440,7 +440,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 1, + "link_id": 4, "text": "control_unit", "mode": "output", "object": "resource", @@ -450,7 +450,7 @@ } ], "content": { - "id": 140116303088368 + "id": 139949149909296 }, "alias": "", "comment": "", @@ -490,7 +490,7 @@ } ], "content": { - "id": 140116303089520 + "id": 139949149910448 }, "alias": "", "comment": "", @@ -554,7 +554,7 @@ "multi_edges": false, "position": 0, "socket_type": 3, - "link_id": 2, + "link_id": 1, "text": "conditions", "mode": "input", "object": "setting", @@ -570,7 +570,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 2, + "link_id": 5, "text": "control_state", "mode": "output", "object": "resource", @@ -580,7 +580,7 @@ } ], "content": { - "id": 140116303090816 + "id": 139949149911744 }, "alias": "", "comment": "", @@ -616,7 +616,7 @@ "multi_edges": true, "position": 2, "socket_type": 3, - "link_id": 2, + "link_id": 1, "text": "", "mode": "output", "object": "", @@ -626,7 +626,7 @@ } ], "content": { - "id": 140116303092832 + "id": 139948590742640 }, "alias": "", "comment": "", diff --git a/TorqueRegulator.json b/Control System/TorqueRegulator.json similarity index 97% rename from TorqueRegulator.json rename to Control System/TorqueRegulator.json index da2dac8..0200ee6 100644 --- a/TorqueRegulator.json +++ b/Control System/TorqueRegulator.json @@ -2,8 +2,8 @@ "id": 140667681570096, "scene_width": 64000, "scene_height": 64000, - "scene_pos_x": -418.0, - "scene_pos_y": 100.0, + "scene_pos_x": -450.0, + "scene_pos_y": 68.0, "nodes": [ { "id": 1, @@ -30,7 +30,7 @@ ], "outputs": [], "content": { - "id": 140116302656224 + "id": 139951069468928 }, "alias": "", "comment": "", @@ -63,7 +63,7 @@ ], "outputs": [], "content": { - "id": 140116302657520 + "id": 139951069470224 }, "alias": "", "comment": "", @@ -96,7 +96,7 @@ ], "outputs": [], "content": { - "id": 140116302658816 + "id": 139951069471520 }, "alias": "", "comment": "", @@ -129,7 +129,7 @@ ], "outputs": [], "content": { - "id": 140116302791296 + "id": 139951069472816 }, "alias": "", "comment": "", @@ -162,7 +162,7 @@ ], "outputs": [], "content": { - "id": 140116302792592 + "id": 139951069474112 }, "alias": "", "comment": "", @@ -195,7 +195,7 @@ ], "outputs": [], "content": { - "id": 140116302793888 + "id": 139951069475408 }, "alias": "", "comment": "", @@ -228,7 +228,7 @@ ], "outputs": [], "content": { - "id": 140116302795184 + "id": 139951069476704 }, "alias": "", "comment": "", @@ -261,7 +261,7 @@ ], "outputs": [], "content": { - "id": 140116302796480 + "id": 139951069478000 }, "alias": "", "comment": "", @@ -294,7 +294,7 @@ ], "outputs": [], "content": { - "id": 140116302797776 + "id": 139949150011888 }, "alias": "", "comment": "", @@ -524,7 +524,7 @@ } ], "content": { - "id": 140116302799072 + "id": 139949150013184 }, "alias": "", "comment": "", @@ -564,7 +564,7 @@ ], "outputs": [], "content": { - "id": 140116302803968 + "id": 139949150018080 }, "alias": "", "comment": "", @@ -597,7 +597,7 @@ ], "outputs": [], "content": { - "id": 140116302805264 + "id": 139949150019376 }, "alias": "", "comment": "", @@ -630,7 +630,7 @@ ], "outputs": [], "content": { - "id": 140116302806560 + "id": 139949150020672 }, "alias": "", "comment": "", @@ -663,7 +663,7 @@ } ], "content": { - "id": 140116302939040 + "id": 139949150021968 }, "alias": "", "comment": "", @@ -766,7 +766,7 @@ ], "outputs": [], "content": { - "id": 140116302940336 + "id": 139949150023264 }, "alias": "", "comment": "", diff --git a/TorqueUnitTie.json b/Control System/TorqueUnitTie.json similarity index 97% rename from TorqueUnitTie.json rename to Control System/TorqueUnitTie.json index eb50a9e..ae9aa7c 100644 --- a/TorqueUnitTie.json +++ b/Control System/TorqueUnitTie.json @@ -2,8 +2,8 @@ "id": 140568379505152, "scene_width": 64000, "scene_height": 64000, - "scene_pos_x": -347.0, - "scene_pos_y": -624.0, + "scene_pos_x": -379.0, + "scene_pos_y": -656.0, "nodes": [ { "id": 1, @@ -19,7 +19,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 1, + "link_id": 4, "text": "", "mode": "input", "object": "resource", @@ -30,7 +30,7 @@ ], "outputs": [], "content": { - "id": 140116542535952 + "id": 139951069338864 }, "alias": "", "comment": "", @@ -66,7 +66,7 @@ "multi_edges": false, "position": 0, "socket_type": 2, - "link_id": 1, + "link_id": 3, "text": "output", "mode": "input", "object": "static", @@ -92,7 +92,7 @@ } ], "content": { - "id": 140116542537248 + "id": 139951069340160 }, "alias": "", "comment": "", @@ -132,7 +132,7 @@ } ], "content": { - "id": 140116302644272 + "id": 139951069341600 }, "alias": "", "comment": "", @@ -165,7 +165,7 @@ } ], "content": { - "id": 140116302645568 + "id": 139951069342896 }, "alias": "", "comment": "", @@ -227,7 +227,7 @@ } ], "content": { - "id": 140116302646864 + "id": 139951069344192 }, "alias": "", "comment": "", @@ -272,7 +272,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 1, + "link_id": 3, "text": "control_unit", "mode": "output", "object": "resource", @@ -282,7 +282,7 @@ } ], "content": { - "id": 140116302648160 + "id": 139951069345632 }, "alias": "", "comment": "", @@ -322,7 +322,7 @@ } ], "content": { - "id": 140116302649312 + "id": 139951069346784 }, "alias": "", "comment": "", @@ -374,7 +374,7 @@ "multi_edges": true, "position": 2, "socket_type": 2, - "link_id": 1, + "link_id": 4, "text": "control_state", "mode": "output", "object": "resource", @@ -384,7 +384,7 @@ } ], "content": { - "id": 140116302650608 + "id": 139951069462880 }, "alias": "", "comment": "", @@ -430,7 +430,7 @@ } ], "content": { - "id": 140116302652048 + "id": 139951069464320 }, "alias": "", "comment": "",