From ddd8ce70d32df075aa5dbd8bb4623e2e4421d578 Mon Sep 17 00:00:00 2001 From: protsenko Date: Wed, 17 May 2023 16:25:14 +0300 Subject: [PATCH] dev(UML-1519): git init + create Position Regulator Entity --- PositionControlExample.json | 822 +++++++++++++ PositionControlProcess.json | 1307 +++++++++++++++++++++ PositionRegulatorWithLimitedDynamics.json | 339 ++++++ PositionUnitTie.json | 876 ++++++++++++++ SpeedController.json | 516 ++++++++ SpeedUnitTie.json | 708 +++++++++++ TorqueRegulator.json | 850 ++++++++++++++ TorqueUnitTie.json | 493 ++++++++ 8 files changed, 5911 insertions(+) create mode 100644 PositionControlExample.json create mode 100644 PositionControlProcess.json create mode 100644 PositionRegulatorWithLimitedDynamics.json create mode 100644 PositionUnitTie.json create mode 100644 SpeedController.json create mode 100644 SpeedUnitTie.json create mode 100644 TorqueRegulator.json create mode 100644 TorqueUnitTie.json diff --git a/PositionControlExample.json b/PositionControlExample.json new file mode 100644 index 0000000..8a62bc4 --- /dev/null +++ b/PositionControlExample.json @@ -0,0 +1,822 @@ +{ + "id": 139836198082768, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": -919.9218749999998, + "scene_pos_y": -130.85937499999997, + "nodes": [ + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "SpeedController", + "pos_x": -1451.0, + "pos_y": -420.0, + "inputs": [], + "outputs": [ + { + "id": 10101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 16385, + "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": 140116541672464 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "SpeedController.json", + "offset": 16384 + }, + { + "id": 2, + "enable": true, + "is_invalid": true, + "title": "TorqueUnitTie", + "pos_x": -437.68750000000006, + "pos_y": -71.0, + "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": 17921, + "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": 16641, + "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": 140116542534656 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "TorqueUnitTie.json", + "offset": 16640 + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "TorqueRegulator", + "pos_x": -1451.0, + "pos_y": -505.0, + "inputs": [], + "outputs": [ + { + "id": 30101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 16897, + "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": 140116302654784 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "TorqueRegulator.json", + "offset": 16896 + }, + { + "id": 4, + "enable": true, + "is_invalid": true, + "title": "SpeedUnitTie", + "pos_x": -437.68750000000006, + "pos_y": -266.0, + "inputs": [ + { + "id": 40001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 17927, + "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": 17921, + "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": 17928, + "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": 17921, + "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": 17154, + "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": 140116302941632 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "SpeedUnitTie.json", + "offset": 17152 + }, + { + "id": 5, + "enable": true, + "is_invalid": true, + "title": "PositionUnitTie", + "pos_x": -437.68750000000006, + "pos_y": -505.0, + "inputs": [ + { + "id": 50001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 17923, + "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": 17927, + "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": 17921, + "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": 17928, + "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": 17921, + "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": 17409, + "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": 140116303096432 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "PositionUnitTie.json", + "offset": 17408 + }, + { + "id": 6, + "enable": true, + "is_invalid": false, + "title": "PositionRegulatorWithLimitedDynamics", + "pos_x": -1451.0, + "pos_y": -335.0, + "inputs": [], + "outputs": [ + { + "id": 60101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 17665, + "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": 140116303451120 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "PositionRegulatorWithLimitedDynamics.json", + "offset": 17664 + }, + { + "id": 7, + "enable": true, + "is_invalid": true, + "title": "PositionControlProcess", + "pos_x": -1021.5625000000001, + "pos_y": -505.0, + "inputs": [ + { + "id": 70001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 16897, + "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": 16385, + "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": 17665, + "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": 17921, + "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": 17927, + "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": 17921, + "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": 17921, + "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": 17922, + "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": 17923, + "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": 17928, + "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": 17929, + "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": 17921, + "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": 17923, + "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": 140116303461632 + }, + "alias": "", + "comment": "", + "params": {}, + "cpu_id": 0, + "graph": "PositionControlProcess.json", + "offset": 17920 + } + ], + "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 + } + ] +} \ No newline at end of file diff --git a/PositionControlProcess.json b/PositionControlProcess.json new file mode 100644 index 0000000..e7add43 --- /dev/null +++ b/PositionControlProcess.json @@ -0,0 +1,1307 @@ +{ + "id": 140568378905536, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": 476.0, + "scene_pos_y": -57.0, + "nodes": [ + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "SpeedControlProcess", + "pos_x": -24.999999999999986, + "pos_y": -191.5, + "inputs": [ + { + "id": 10001, + "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": 10002, + "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": 10101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "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": 10102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "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": 10103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 2, + "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": 10104, + "index": 3, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 3, + "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": 10105, + "index": 4, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "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": 10106, + "index": 5, + "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\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 140116297434880 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 30, + "process_settings": { + "processor_id": 2, + "priority": 7, + "period": 0, + "phase": 0 + }, + "node_id": 1, + "cpu_id": 0 + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "TorqueControlProcess", + "pos_x": -24.999999999999986, + "pos_y": 3.5, + "inputs": [ + { + "id": 30001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "theta", + "mode": "input", + "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": 30002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "omega", + "mode": "input", + "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": 30003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "current_alfa", + "mode": "input", + "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": 30004, + "index": 3, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "current_beta", + "mode": "input", + "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": 30005, + "index": 4, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": -1, + "text": "voltage_dc", + "mode": "input", + "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": 30006, + "index": 5, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "regulator", + "mode": "input", + "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." + } + ], + "outputs": [ + { + "id": 30101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "text": "control_process", + "mode": "output", + "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": 30102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 7, + "text": "current_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\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u043e\u043a\u0430." + }, + { + "id": 30103, + "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\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u041d*\u043c." + } + ], + "content": { + "id": 140116297437616 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 32, + "process_settings": { + "processor_id": 2, + "priority": 8, + "period": 0, + "phase": 0 + }, + "node_id": 3, + "cpu_id": 0 + }, + { + "id": 4, + "enable": true, + "is_invalid": false, + "title": "PositionControlProcess", + "pos_x": -24.999999999999986, + "pos_y": -342.5, + "inputs": [ + { + "id": 40001, + "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": "\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 40002, + "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 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 40003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "regulator", + "mode": "input", + "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." + } + ], + "outputs": [ + { + "id": 40101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 3, + "text": "control_process", + "mode": "output", + "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": 40102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 8, + "text": "acceleration_limit", + "mode": "output", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "" + }, + { + "id": 40103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 9, + "text": "speed_limit", + "mode": "output", + "object": "resource", + "true_type": "systemic::IValueType", + "type": "systemic::IValueType", + "description": "" + }, + { + "id": 40104, + "index": 3, + "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 \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 140116297440784 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 38, + "process_settings": { + "processor_id": 2, + "priority": 5, + "period": 0, + "phase": 0 + }, + "node_id": 4, + "cpu_id": 0 + }, + { + "id": 6, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -891.0, + "pos_y": 422.5, + "inputs": [], + "outputs": [ + { + "id": 60101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "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." + } + ], + "content": { + "id": 140116297443376 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque regulator", + "group": "TorqueControlProcess" + }, + { + "id": 7, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -891.0, + "pos_y": -87.5, + "inputs": [], + "outputs": [ + { + "id": 70101, + "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": 140116297444672 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Regulator", + "group": "SpeedControlProcess" + }, + { + "id": 2, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -891.0, + "pos_y": -257.5, + "inputs": [], + "outputs": [ + { + "id": 20101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": -1, + "text": "", + "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." + } + ], + "content": { + "id": 140116297445968 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Position Regulator", + "group": "PositionControlProcess" + }, + { + "id": 5, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -891.0, + "pos_y": 337.5, + "inputs": [], + "outputs": [ + { + "id": 50101, + "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 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u0432 \u0417\u041f\u0422." + } + ], + "content": { + "id": 140116297447264 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Fast Voltage DC", + "group": "TorqueControlProcess" + }, + { + "id": 8, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -891.0, + "pos_y": 252.5, + "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": "\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." + } + ], + "content": { + "id": 140116297448560 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Current Beta", + "group": "TorqueControlProcess" + }, + { + "id": 9, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -891.0, + "pos_y": 167.5, + "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": "\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." + } + ], + "content": { + "id": 140116297630192 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Current Alpha", + "group": "TorqueControlProcess" + }, + { + "id": 10, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -891.0, + "pos_y": -2.5, + "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": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u0433\u043e\u043b." + } + ], + "content": { + "id": 140116297631488 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Theta", + "group": "TorqueControlProcess" + }, + { + "id": 11, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -891.0, + "pos_y": 82.5, + "inputs": [], + "outputs": [ + { + "id": 110101, + "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\u0438\u0439 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c." + } + ], + "content": { + "id": 140116297632784 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Omega", + "group": "TorqueControlProcess" + }, + { + "id": 12, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 937.5, + "pos_y": 677.5, + "inputs": [ + { + "id": 120001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 3, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116297634080 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Reference Rotor Torque", + "group": "Control System" + }, + { + "id": 13, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 937.5, + "pos_y": 507.5, + "inputs": [ + { + "id": 130001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "text": "", + "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." + } + ], + "outputs": [], + "content": { + "id": 140116297635376 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque control process", + "group": "TorqueControlProcess" + }, + { + "id": 14, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 937.5, + "pos_y": 592.5, + "inputs": [ + { + "id": 140001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 7, + "text": "", + "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." + } + ], + "outputs": [], + "content": { + "id": 140116297636672 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque limit", + "group": "TorqueControlProcess" + }, + { + "id": 15, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -891.0, + "pos_y": -172.5, + "inputs": [], + "outputs": [ + { + "id": 150101, + "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 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 140116297637968 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Rotor Speed", + "group": "PositionControlProcess" + }, + { + "id": 16, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -891.0, + "pos_y": -342.5, + "inputs": [], + "outputs": [ + { + "id": 160101, + "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 \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 140116297639264 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Rotor Position", + "group": "PositionControlProcess" + }, + { + "id": 17, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 937.5, + "pos_y": -2.5, + "inputs": [ + { + "id": 170001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "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": 140116297640560 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Control Process", + "group": "SpeedControlProcess" + }, + { + "id": 18, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 937.5, + "pos_y": 82.5, + "inputs": [ + { + "id": 180001, + "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": "\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": 140116297642000 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque up Limit", + "group": "SpeedControlProcess" + }, + { + "id": 19, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 937.5, + "pos_y": 167.5, + "inputs": [ + { + "id": 190001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 2, + "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": 140116297643296 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque down Limit", + "group": "SpeedControlProcess" + }, + { + "id": 21, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 937.5, + "pos_y": 422.5, + "inputs": [ + { + "id": 210001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 1, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116297644448 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Reference Rotor Speed", + "group": "Control System" + }, + { + "id": 20, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 937.5, + "pos_y": -87.5, + "inputs": [ + { + "id": 200001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 4, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116297645744 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Reference Rotor Position", + "group": "Control System" + }, + { + "id": 22, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 937.5, + "pos_y": -342.5, + "inputs": [ + { + "id": 220001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 3, + "text": "", + "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." + } + ], + "outputs": [], + "content": { + "id": 140116297745456 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Position Control Process", + "group": "PositionControlProcess" + }, + { + "id": 23, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 937.5, + "pos_y": -257.5, + "inputs": [ + { + "id": 230001, + "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": "" + } + ], + "outputs": [], + "content": { + "id": 140116297746752 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Acceleration Limit", + "group": "PositionControlProcess" + }, + { + "id": 24, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 937.5, + "pos_y": -172.5, + "inputs": [ + { + "id": 240001, + "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": "" + } + ], + "outputs": [], + "content": { + "id": 140116297748048 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Limit", + "group": "PositionControlProcess" + }, + { + "id": 25, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 937.5, + "pos_y": 337.5, + "inputs": [ + { + "id": 250001, + "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": "\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": 140116297749344 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Feedforward", + "group": "SpeedControlProcess" + }, + { + "id": 26, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 937.5, + "pos_y": 252.5, + "inputs": [ + { + "id": 260001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 3, + "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": 140116297750640 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Inertia", + "group": "SpeedControlProcess" + } + ], + "edges": [ + { + "edge_type": 2, + "start": 30006, + "end": 60101 + }, + { + "edge_type": 2, + "start": 10002, + "end": 70101 + }, + { + "edge_type": 2, + "start": 40003, + "end": 20101 + }, + { + "edge_type": 2, + "start": 30005, + "end": 50101 + }, + { + "edge_type": 2, + "start": 30004, + "end": 80101 + }, + { + "edge_type": 2, + "start": 30003, + "end": 90101 + }, + { + "edge_type": 2, + "start": 30001, + "end": 100101 + }, + { + "edge_type": 2, + "start": 30002, + "end": 110101 + }, + { + "edge_type": 2, + "start": 30103, + "end": 120001 + }, + { + "edge_type": 2, + "start": 30101, + "end": 130001 + }, + { + "edge_type": 2, + "start": 30102, + "end": 140001 + }, + { + "edge_type": 2, + "start": 10001, + "end": 150101 + }, + { + "edge_type": 2, + "start": 40002, + "end": 150101 + }, + { + "edge_type": 2, + "start": 40001, + "end": 160101 + }, + { + "edge_type": 2, + "start": 10101, + "end": 170001 + }, + { + "edge_type": 2, + "start": 10102, + "end": 180001 + }, + { + "edge_type": 2, + "start": 10103, + "end": 190001 + }, + { + "edge_type": 2, + "start": 210001, + "end": 10106 + }, + { + "edge_type": 2, + "start": 200001, + "end": 40104 + }, + { + "edge_type": 2, + "start": 40101, + "end": 220001 + }, + { + "edge_type": 2, + "start": 40102, + "end": 230001 + }, + { + "edge_type": 2, + "start": 40103, + "end": 240001 + }, + { + "edge_type": 2, + "start": 10105, + "end": 250001 + }, + { + "edge_type": 2, + "start": 10104, + "end": 260001 + } + ] +} \ No newline at end of file diff --git a/PositionRegulatorWithLimitedDynamics.json b/PositionRegulatorWithLimitedDynamics.json new file mode 100644 index 0000000..373cbfc --- /dev/null +++ b/PositionRegulatorWithLimitedDynamics.json @@ -0,0 +1,339 @@ +{ + "id": 140568870538064, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": -346.0, + "scene_pos_y": -2038.0, + "nodes": [ + { + "id": 29, + "enable": true, + "is_invalid": false, + "title": "PositionControllerWithLimitedDynamics", + "pos_x": -482.59281063078384, + "pos_y": -2137.087890624998, + "inputs": [ + { + "id": 290001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 8, + "text": "params", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "control::regulator::ParabolicPositioner", + "description": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 290002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 6, + "text": "limits", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "control::regulator::ParabolicPositionerWithLimitedDynamics", + "description": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "outputs": [ + { + "id": 290101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "text": "regulator", + "mode": "output", + "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." + }, + { + "id": 290102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 22, + "text": "proportional_part", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041f\u0440\u043e\u043f\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438." + }, + { + "id": 290103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 23, + "text": "output", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0412\u044b\u0445\u043e\u0434 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438." + } + ], + "content": { + "id": 140116303452272 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 65, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 7, + "cpu_id": 0 + }, + { + "id": 41, + "enable": true, + "is_invalid": false, + "title": "control::regulator::ParabolicPositionerWithLimitedDynamics", + "pos_x": -768.4053106307838, + "pos_y": -2032.0878906249982, + "inputs": [], + "outputs": [ + { + "id": 410101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 6, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "control::regulator::ParabolicPositionerWithLimitedDynamics", + "description": "" + } + ], + "content": { + "id": 140116303454288 + }, + "alias": "", + "comment": "", + "params": { + "minimal_time": { + "value": 0.1, + "format": "f", + "description": "\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f." + } + }, + "setting_name": "Position Regulator limits", + "group": "Control System", + "level": 3 + }, + { + "id": 44, + "enable": true, + "is_invalid": false, + "title": "control::regulator::ParabolicPositioner", + "pos_x": -768.4053106307838, + "pos_y": -2137.087890624998, + "inputs": [], + "outputs": [ + { + "id": 440101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 8, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "control::regulator::ParabolicPositioner", + "description": "" + } + ], + "content": { + "id": 140116303455584 + }, + "alias": "", + "comment": "", + "params": { + "max_speed": { + "value": 380.0, + "format": "f", + "description": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c.", + "alias": "", + "min": 0.0, + "max": 600.0 + }, + "max_acc": { + "value": 15000.0, + "format": "f", + "description": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0433\u043e\u043d\u0430.", + "alias": "", + "min": 0.0, + "max": 25000.0 + }, + "max_dec": { + "value": 15000.0, + "format": "f", + "description": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u0442\u043e\u0440\u043c\u043e\u0436\u0435\u043d\u0438\u044f.", + "alias": "", + "min": 0.0, + "max": 25000.0 + }, + "Kp_lin": { + "value": 150.0, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0441\u043b\u0435\u0434\u044f\u0449\u0435\u043c \u0440\u0435\u0436\u0438\u043c\u0435.", + "alias": "", + "min": 0.0, + "max": 1200.0 + } + }, + "setting_name": "Position Regulator", + "group": "Control System", + "level": 3 + }, + { + "id": 35, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -103.88763427734307, + "pos_y": -2052.087890624998, + "inputs": [ + { + "id": 350001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 22, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116303456880 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Position regulator Proportional", + "group": "Control System" + }, + { + "id": 23, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -103.88763427734307, + "pos_y": -1967.0878906249982, + "inputs": [ + { + "id": 230001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 23, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116303098016 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Reference Position", + "group": "Control System" + }, + { + "id": 28, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": -103.88763427734307, + "pos_y": -2137.087890624998, + "inputs": [ + { + "id": 280001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "text": "", + "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." + } + ], + "outputs": [], + "content": { + "id": 140116303459328 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Posititon Regulator", + "group": "PositionControllerWithLimitedDynamics" + } + ], + "edges": [ + { + "edge_type": 2, + "start": 290002, + "end": 410101 + }, + { + "edge_type": 2, + "start": 290001, + "end": 440101 + }, + { + "edge_type": 2, + "start": 290102, + "end": 350001 + }, + { + "edge_type": 2, + "start": 290103, + "end": 230001 + }, + { + "edge_type": 2, + "start": 290101, + "end": 280001 + } + ] +} \ No newline at end of file diff --git a/PositionUnitTie.json b/PositionUnitTie.json new file mode 100644 index 0000000..f5ae1f3 --- /dev/null +++ b/PositionUnitTie.json @@ -0,0 +1,876 @@ +{ + "id": 140568379505152, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": -38.0, + "scene_pos_y": -645.0, + "nodes": [ + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 59.6445312500004, + "pos_y": -1111.140625, + "inputs": [ + { + "id": 10001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "text": "", + "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." + } + ], + "outputs": [], + "content": { + "id": 140116303098304 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Position Control State", + "group": "ControlStatePositionControl" + }, + { + "id": 2, + "enable": true, + "is_invalid": false, + "title": "PhaseSpaceToPhaseSpaceUnitTie", + "pos_x": -277.3554687499998, + "pos_y": -938.140625, + "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::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": 20002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 3, + "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": 1, + "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": 140116303099600 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 167, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 1, + "cpu_id": 0 + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "PwmGenerationAdapterTie", + "pos_x": -277.3554687499998, + "pos_y": -617.140625, + "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": "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": 30002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "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": 1, + "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": 140116303101040 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 170, + "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": -633.81640625, + "pos_y": -751.140625, + "inputs": [], + "outputs": [ + { + "id": 40101, + "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": 140116303282816 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Position Control", + "group": "PhaseSpaceToPhaseSpaceUnitTie" + }, + { + "id": 5, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -633.81640625, + "pos_y": -1111.140625, + "inputs": [], + "outputs": [ + { + "id": 50101, + "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": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + } + ], + "content": { + "id": 140116303284112 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque Limit", + "group": "ControlStatePositionControl" + }, + { + "id": 6, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -633.81640625, + "pos_y": -666.140625, + "inputs": [], + "outputs": [ + { + "id": 60101, + "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": 140116303285408 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Control", + "group": "PhaseSpaceToPhaseSpaceUnitTie" + }, + { + "id": 7, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -633.81640625, + "pos_y": -411.140625, + "inputs": [], + "outputs": [ + { + "id": 70101, + "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": 140116303286704 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Inverter Control", + "group": "InverterEndpoint" + }, + { + "id": 8, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -633.81640625, + "pos_y": -1026.140625, + "inputs": [], + "outputs": [ + { + "id": 80101, + "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": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + } + ], + "content": { + "id": 140116303288000 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Acceleration Limit", + "group": "ControlStatePositionControl" + }, + { + "id": 9, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -633.81640625, + "pos_y": -941.140625, + "inputs": [], + "outputs": [ + { + "id": 90101, + "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": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + } + ], + "content": { + "id": 140116303289296 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Limit", + "group": "ControlStatePositionControl" + }, + { + "id": 10, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -633.81640625, + "pos_y": -496.140625, + "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": "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": 140116303290592 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Voltage Control", + "group": "PwmGenerationAdapterTie" + }, + { + "id": 11, + "enable": true, + "is_invalid": false, + "title": "PhaseSpaceToStandingVectorUnitTie", + "pos_x": -277.3554687499998, + "pos_y": -724.140625, + "inputs": [ + { + "id": 110001, + "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": 110002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "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": 110101, + "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": 140116303291888 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 168, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 3, + "cpu_id": 0 + }, + { + "id": 12, + "enable": true, + "is_invalid": false, + "title": "PhaseSpaceToPhaseSpaceUnitTie", + "pos_x": -277.3554687499998, + "pos_y": -831.140625, + "inputs": [ + { + "id": 120001, + "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": 120002, + "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": 120101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 3, + "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": 140116303293328 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 167, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 4, + "cpu_id": 0 + }, + { + "id": 14, + "enable": true, + "is_invalid": false, + "title": "InverterEndpoint", + "pos_x": -277.3554687499998, + "pos_y": -510.140625, + "inputs": [ + { + "id": 140001, + "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": 140101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "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": 140116303294768 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 166, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 5, + "cpu_id": 0 + }, + { + "id": 15, + "enable": true, + "is_invalid": false, + "title": "ControlStatePositionControl", + "pos_x": -277.3554687499998, + "pos_y": -1111.140625, + "inputs": [ + { + "id": 150001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "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": 150002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "torque_limit", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 150003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "acceleration_limit", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f." + }, + { + "id": 150004, + "index": 3, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "speed_limit", + "mode": "input", + "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": 150005, + "index": 4, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 1, + "text": "conditions", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "technological::drivecontrol::state::ControlStatePositionControl", + "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": 150101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "text": "control_state", + "mode": "output", + "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": 140116303295920 + }, + "alias": "", + "comment": "", + "params": { + "code": { + "value": 20, + "format": "H", + "description": "\u041a\u043e\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b." + } + }, + "initializer_id": 36, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 6, + "cpu_id": 0 + }, + { + "id": 16, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -633.81640625, + "pos_y": -581.140625, + "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": 140116303298224 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque Control", + "group": "PhaseSpaceToStandingVectorUnitTie" + }, + { + "id": 17, + "enable": true, + "is_invalid": false, + "title": "technological::drivecontrol::state::ControlStatePositionControl", + "pos_x": -633.81640625, + "pos_y": -856.140625, + "inputs": [], + "outputs": [ + { + "id": 170101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 1, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "technological::drivecontrol::state::ControlStatePositionControl", + "description": "" + } + ], + "content": { + "id": 140116303447088 + }, + "alias": "", + "comment": "", + "params": { + "retention_accuracy": { + "value": 1.0, + "format": "f", + "description": "\u0422\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u0438." + }, + "speed_accuracy": { + "value": 1.0, + "format": "f", + "description": "\u0422\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + } + }, + "setting_name": "Position Complite Condition ", + "group": "Control System", + "level": 3 + } + ], + "edges": [ + { + "edge_type": 2, + "start": 140101, + "end": 30002 + }, + { + "edge_type": 2, + "start": 30101, + "end": 110002 + }, + { + "edge_type": 2, + "start": 150001, + "end": 20101 + }, + { + "edge_type": 2, + "start": 60101, + "end": 120001 + }, + { + "edge_type": 2, + "start": 120101, + "end": 20002 + }, + { + "edge_type": 2, + "start": 70101, + "end": 140001 + }, + { + "edge_type": 2, + "start": 150004, + "end": 90101 + }, + { + "edge_type": 2, + "start": 10001, + "end": 150101 + }, + { + "edge_type": 2, + "start": 160101, + "end": 110001 + }, + { + "edge_type": 2, + "start": 110101, + "end": 120002 + }, + { + "edge_type": 2, + "start": 150003, + "end": 80101 + }, + { + "edge_type": 2, + "start": 150002, + "end": 50101 + }, + { + "edge_type": 2, + "start": 40101, + "end": 20001 + }, + { + "edge_type": 2, + "start": 100101, + "end": 30001 + }, + { + "edge_type": 2, + "start": 150005, + "end": 170101 + } + ] +} \ No newline at end of file diff --git a/SpeedController.json b/SpeedController.json new file mode 100644 index 0000000..efb433e --- /dev/null +++ b/SpeedController.json @@ -0,0 +1,516 @@ +{ + "id": 140667921584560, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": -451.0, + "scene_pos_y": 87.0, + "nodes": [ + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -446.5879025459359, + "pos_y": 99.0, + "inputs": [ + { + "id": 10001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 5, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116542372112 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Anti windup", + "group": "Control System" + }, + { + "id": 2, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -446.5879025459359, + "pos_y": -241.0, + "inputs": [ + { + "id": 20001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 1, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116542373408 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed reg Integral", + "group": "Control System" + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "control::regulator::SpeedController", + "pos_x": -1116.0400881767196, + "pos_y": -56.10172653198242, + "inputs": [], + "outputs": [ + { + "id": 30101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 1, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "control::regulator::SpeedController", + "description": "" + } + ], + "content": { + "id": 140116542522272 + }, + "alias": "", + "comment": "", + "params": { + "reg_speed_Kp": { + "value": 0.3, + "format": "f", + "description": "\u041f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438.", + "alias": "srf_proportional_speed_coeff", + "min": 0.0 + }, + "reg_speed_Ki": { + "value": 128.0, + "format": "f", + "description": "\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438.", + "alias": "srf_integral_speed_coeff", + "min": 0.0 + }, + "reg_speed_Ktr": { + "value": 1.0, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438.", + "alias": "", + "min": 0.0, + "max": 1.0 + }, + "reg_speed_Im": { + "value": 27.0, + "format": "f", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438.", + "alias": "srf_integral_restriction", + "min": 0.0 + }, + "max_torque": { + "value": 31.0, + "format": "f", + "description": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f.", + "alias": "srf_torque_restriction", + "min": 0.0, + "max": 70.0 + }, + "max_dtorque": { + "value": 100000.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 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f.", + "alias": "srf_increment_restriction", + "min": 0.0 + }, + "reg_speed_Kd_stp": { + "value": 1.0, + "format": "f", + "description": "\u0414\u0438\u0444\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043f\u0440\u0438\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438.", + "alias": "srf_diff_speed_coeff", + "min": 0.0, + "max": 1.0 + }, + "base_Jp": { + "value": 0.0022, + "format": "f", + "description": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u043d\u0435\u0440\u0446\u0438\u0438.", + "alias": "ms_moment_of_inertia", + "min": 0.0, + "max": 2.0 + } + }, + "setting_name": "Speed Regulator", + "group": "Control System", + "level": 3 + }, + { + "id": 4, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -446.5879025459359, + "pos_y": -154.0, + "inputs": [ + { + "id": 40001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 2, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116542523568 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed reg Proportional", + "group": "Control System" + }, + { + "id": 5, + "enable": true, + "is_invalid": false, + "title": "SpeedController", + "pos_x": -830.2275881767198, + "pos_y": -27.777507781981512, + "inputs": [ + { + "id": 50001, + "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::SpeedController", + "description": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "outputs": [ + { + "id": 50101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "text": "regulator", + "mode": "output", + "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." + }, + { + "id": 50102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 1, + "text": "integral_part", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + }, + { + "id": 50103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 2, + "text": "proportional_part", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u041f\u0440\u043e\u043f\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + }, + { + "id": 50104, + "index": 3, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 3, + "text": "output", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0412\u044b\u0445\u043e\u0434 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + }, + { + "id": 50105, + "index": 4, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 4, + "text": "unbounded_output", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0412\u044b\u0445\u043e\u0434 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0431\u0435\u0437 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439." + }, + { + "id": 50106, + "index": 5, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 5, + "text": "derivative_part", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0414\u0438\u0444\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + }, + { + "id": 50107, + "index": 6, + "multi_edges": true, + "position": 2, + "socket_type": 5, + "link_id": 1, + "text": "limited", + "mode": "output", + "object": "value", + "true_type": "unknow", + "type": "bool", + "description": "\u041f\u0440\u0438\u0437\u043d\u0430\u043a \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0443\u0448\u0435\u043b \u0432 \u043d\u0430\u0441\u044b\u0449\u0435\u043d\u0438\u0435." + } + ], + "content": { + "id": 140116542524864 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 31, + "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": -446.5879025459359, + "pos_y": -71.0, + "inputs": [ + { + "id": 60001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 3, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116542527744 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Reference Torque", + "group": "Control System" + }, + { + "id": 7, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -445.5879025459359, + "pos_y": 15.0, + "inputs": [ + { + "id": 70001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 4, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116542529040 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Unbounded reference torque", + "group": "Control System" + }, + { + "id": 8, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 930.0400881767197, + "pos_y": -154.20312499999955, + "inputs": [ + { + "id": 80001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "text": "", + "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." + } + ], + "outputs": [], + "content": { + "id": 140116542530336 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Regulator", + "group": "SpeedController" + }, + { + "id": 9, + "enable": true, + "is_invalid": false, + "title": "Status", + "pos_x": -444.0, + "pos_y": 185.0, + "inputs": [ + { + "id": 90001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 5, + "link_id": 1, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "bool", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116542531632 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed reg limited", + "group": "Control System" + } + ], + "edges": [ + { + "edge_type": 2, + "start": 50101, + "end": 80001 + }, + { + "edge_type": 2, + "start": 50104, + "end": 60001 + }, + { + "edge_type": 2, + "start": 50103, + "end": 40001 + }, + { + "edge_type": 2, + "start": 50102, + "end": 20001 + }, + { + "edge_type": 2, + "start": 30101, + "end": 50001 + }, + { + "edge_type": 2, + "start": 50105, + "end": 70001 + }, + { + "edge_type": 2, + "start": 10001, + "end": 50106 + }, + { + "edge_type": 2, + "start": 50107, + "end": 90001 + } + ] +} \ No newline at end of file diff --git a/SpeedUnitTie.json b/SpeedUnitTie.json new file mode 100644 index 0000000..4e8907e --- /dev/null +++ b/SpeedUnitTie.json @@ -0,0 +1,708 @@ +{ + "id": 140568379505152, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": -126.0, + "scene_pos_y": -800.0, + "nodes": [ + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 51.6445312500004, + "pos_y": -1033.140625, + "inputs": [ + { + "id": 10001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 2, + "text": "", + "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." + } + ], + "outputs": [], + "content": { + "id": 140116302945232 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Control State", + "group": "ControlStateSpeedControl" + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "PwmGenerationAdapterTie", + "pos_x": -277.3554687499998, + "pos_y": -668.140625, + "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": "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": 30002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "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": 1, + "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": 140116302946528 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 170, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 2, + "cpu_id": 0 + }, + { + "id": 5, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -636.81640625, + "pos_y": -1033.140625, + "inputs": [], + "outputs": [ + { + "id": 50101, + "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": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + } + ], + "content": { + "id": 140116302947968 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque Limit", + "group": "ControlStateSpeedControl" + }, + { + "id": 6, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -636.81640625, + "pos_y": -758.140625, + "inputs": [], + "outputs": [ + { + "id": 60101, + "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": 140116302949264 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Control", + "group": "PhaseSpaceToPhaseSpaceUnitTie" + }, + { + "id": 7, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -636.81640625, + "pos_y": -503.140625, + "inputs": [], + "outputs": [ + { + "id": 70101, + "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": 140116302950560 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Inverter Control", + "group": "InverterEndpoint" + }, + { + "id": 8, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -636.81640625, + "pos_y": -948.140625, + "inputs": [], + "outputs": [ + { + "id": 80101, + "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": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438." + } + ], + "content": { + "id": 140116302951856 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Acceleration Limit", + "group": "ControlStateSpeedControl" + }, + { + "id": 10, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -636.81640625, + "pos_y": -588.140625, + "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": "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": 140116302953008 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Voltage Control", + "group": "PwmGenerationAdapterTie" + }, + { + "id": 11, + "enable": true, + "is_invalid": false, + "title": "PhaseSpaceToStandingVectorUnitTie", + "pos_x": -277.3554687499998, + "pos_y": -775.140625, + "inputs": [ + { + "id": 110001, + "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": 110002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "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": 110101, + "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": 140116302954304 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 168, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 3, + "cpu_id": 0 + }, + { + "id": 12, + "enable": true, + "is_invalid": false, + "title": "PhaseSpaceToPhaseSpaceUnitTie", + "pos_x": -277.3554687499998, + "pos_y": -882.140625, + "inputs": [ + { + "id": 120001, + "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": 120002, + "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": 120101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 3, + "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": 140116303086928 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 167, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 4, + "cpu_id": 0 + }, + { + "id": 14, + "enable": true, + "is_invalid": false, + "title": "InverterEndpoint", + "pos_x": -277.3554687499998, + "pos_y": -561.140625, + "inputs": [ + { + "id": 140001, + "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": 140101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "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": 140116303088368 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 166, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 5, + "cpu_id": 0 + }, + { + "id": 16, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -636.81640625, + "pos_y": -673.140625, + "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": 140116303089520 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque Control", + "group": "PhaseSpaceToStandingVectorUnitTie" + }, + { + "id": 13, + "enable": true, + "is_invalid": false, + "title": "ControlStateSpeedControl", + "pos_x": -277.3554687499998, + "pos_y": -1033.140625, + "inputs": [ + { + "id": 130001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 3, + "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": 130002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "torque_limit", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + }, + { + "id": 130003, + "index": 2, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": -1, + "text": "acceleration_limit", + "mode": "input", + "object": "dynamic", + "true_type": "none", + "type": "systemic::IValueType", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f." + }, + { + "id": 130004, + "index": 3, + "multi_edges": false, + "position": 0, + "socket_type": 3, + "link_id": 2, + "text": "conditions", + "mode": "input", + "object": "setting", + "true_type": "none", + "type": "technological::drivecontrol::state::ControlStateSpeedControl", + "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": 130101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 2, + "text": "control_state", + "mode": "output", + "object": "resource", + "true_type": "technological::drivecontrol::state::ControlStateSpeedControl", + "type": "technological::IExecutorState", + "description": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \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." + } + ], + "content": { + "id": 140116303090816 + }, + "alias": "", + "comment": "", + "params": { + "code": { + "value": 208, + "format": "H", + "description": "\u041a\u043e\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b." + } + }, + "initializer_id": 26, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 7, + "cpu_id": 0 + }, + { + "id": 2, + "enable": true, + "is_invalid": false, + "title": "technological::drivecontrol::state::ControlStateSpeedControl", + "pos_x": -636.81640625, + "pos_y": -863.140625, + "inputs": [], + "outputs": [ + { + "id": 20101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 2, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "technological::drivecontrol::state::ControlStateSpeedControl", + "description": "" + } + ], + "content": { + "id": 140116303092832 + }, + "alias": "", + "comment": "", + "params": { + "retention_accuracy": { + "value": 1.0, + "format": "f", + "description": "\u0422\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438.", + "min": 0.0 + } + }, + "setting_name": "Speed Complite Condition ", + "group": "Control System", + "level": 3 + } + ], + "edges": [ + { + "edge_type": 2, + "start": 140101, + "end": 30002 + }, + { + "edge_type": 2, + "start": 30101, + "end": 110002 + }, + { + "edge_type": 2, + "start": 60101, + "end": 120001 + }, + { + "edge_type": 2, + "start": 70101, + "end": 140001 + }, + { + "edge_type": 2, + "start": 160101, + "end": 110001 + }, + { + "edge_type": 2, + "start": 110101, + "end": 120002 + }, + { + "edge_type": 2, + "start": 100101, + "end": 30001 + }, + { + "edge_type": 2, + "start": 130101, + "end": 10001 + }, + { + "edge_type": 2, + "start": 50101, + "end": 130002 + }, + { + "edge_type": 2, + "start": 130003, + "end": 80101 + }, + { + "edge_type": 2, + "start": 120101, + "end": 130001 + }, + { + "edge_type": 2, + "start": 130004, + "end": 20101 + } + ] +} \ No newline at end of file diff --git a/TorqueRegulator.json b/TorqueRegulator.json new file mode 100644 index 0000000..da2dac8 --- /dev/null +++ b/TorqueRegulator.json @@ -0,0 +1,850 @@ +{ + "id": 140667681570096, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": -418.0, + "scene_pos_y": 100.0, + "nodes": [ + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -354.5879025459359, + "pos_y": 230.12230682373, + "inputs": [ + { + "id": 10001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 10, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302656224 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Voltage Cd", + "group": "Control System" + }, + { + "id": 2, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -354.5879025459359, + "pos_y": 485.12230682373, + "inputs": [ + { + "id": 20001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 13, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302657520 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Rotor Torque", + "group": "Control System" + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -354.5879025459359, + "pos_y": 400.12230682373, + "inputs": [ + { + "id": 30001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 12, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302658816 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Output Ud", + "group": "Control System" + }, + { + "id": 4, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 256.27938127517723, + "pos_y": 153.16370773315384, + "inputs": [ + { + "id": 40001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 5, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302791296 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Voltage Uq", + "group": "Control System" + }, + { + "id": 5, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -354.5879025459359, + "pos_y": 315.12230682373, + "inputs": [ + { + "id": 50001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 11, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302792592 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Output Uq", + "group": "Control System" + }, + { + "id": 6, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 257.27938127517723, + "pos_y": 239.16370773315384, + "inputs": [ + { + "id": 60001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 7, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302793888 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Voltage Rq", + "group": "Control System" + }, + { + "id": 7, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 1022.0400881767197, + "pos_y": -319.12230682373, + "inputs": [ + { + "id": 70001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "text": "", + "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." + } + ], + "outputs": [], + "content": { + "id": 140116302795184 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque Regulator", + "group": "TorqueController" + }, + { + "id": 8, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -354.5879025459359, + "pos_y": 145.12230682373, + "inputs": [ + { + "id": 80001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 8, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302796480 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Voltage Rd", + "group": "Control System" + }, + { + "id": 9, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -354.5879025459359, + "pos_y": -24.877693176269986, + "inputs": [ + { + "id": 90001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 1, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302797776 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Reference Iq", + "group": "Control System" + }, + { + "id": 10, + "enable": true, + "is_invalid": false, + "title": "TorqueController", + "pos_x": -738.2275881767198, + "pos_y": 75.98018646240143, + "inputs": [ + { + "id": 100001, + "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::PmsmMotorController_v2", + "description": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "outputs": [ + { + "id": 100101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "text": "regulator", + "mode": "output", + "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." + }, + { + "id": 100102, + "index": 1, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 1, + "text": "reference_iq", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0417\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u043e\u043a \u043e\u0441\u0438 q." + }, + { + "id": 100103, + "index": 2, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 2, + "text": "reference_id", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0417\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u043e\u043a \u043e\u0441\u0438 d." + }, + { + "id": 100104, + "index": 3, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 3, + "text": "feedback_iq", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0442\u043e\u043a \u043e\u0441\u0438 q." + }, + { + "id": 100105, + "index": 4, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 4, + "text": "feedback_id", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0442\u043e\u043a \u043e\u0441\u0438 d." + }, + { + "id": 100106, + "index": 5, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 5, + "text": "voltage_uq", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0421\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0438\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u043e\u043a\u043e\u043c \u043e\u0441\u0438 q." + }, + { + "id": 100107, + "index": 6, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 6, + "text": "voltage_ud", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0421\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0438\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u043e\u043a\u043e\u043c \u043e\u0441\u0438 d." + }, + { + "id": 100108, + "index": 7, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 7, + "text": "voltage_rq", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0421\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0442\u043e\u043a\u0430 \u043e\u0441\u0438 q." + }, + { + "id": 100109, + "index": 8, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 8, + "text": "voltage_rd", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0421\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0442\u043e\u043a\u0430 \u043e\u0441\u0438 d." + }, + { + "id": 100110, + "index": 9, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 9, + "text": "voltage_cq", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0421\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u043a\u0440\u0435\u0441\u0442\u043d\u044b\u0445 \u0441\u0432\u044f\u0437\u0435\u0439 \u043e\u0441\u0438 q." + }, + { + "id": 100111, + "index": 10, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 10, + "text": "voltage_cd", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0421\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u043a\u0440\u0435\u0441\u0442\u043d\u044b\u0445 \u0441\u0432\u044f\u0437\u0435\u0439 \u043e\u0441\u0438 d." + }, + { + "id": 100112, + "index": 11, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 11, + "text": "output_q", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0418\u0442\u043e\u0433\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u043e\u0441\u0438 q." + }, + { + "id": 100113, + "index": 12, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 12, + "text": "output_d", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0418\u0442\u043e\u0433\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u043e\u0441\u0438 d." + }, + { + "id": 100114, + "index": 13, + "multi_edges": true, + "position": 2, + "socket_type": 1, + "link_id": 13, + "text": "feedback_torque", + "mode": "output", + "object": "value", + "true_type": "const float &", + "type": "float", + "description": "\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f." + } + ], + "content": { + "id": 140116302799072 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 33, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 1, + "cpu_id": 0 + }, + { + "id": 11, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -354.5879025459359, + "pos_y": 60.122306823730014, + "inputs": [ + { + "id": 110001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 6, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302803968 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Voltage Ud", + "group": "Control System" + }, + { + "id": 12, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -354.5879025459359, + "pos_y": -109.87769317626999, + "inputs": [ + { + "id": 120001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 4, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302805264 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Feedback Id", + "group": "Control System" + }, + { + "id": 13, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": -354.5879025459359, + "pos_y": -194.87769317627, + "inputs": [ + { + "id": 130001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 3, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302806560 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Feedback Iq", + "group": "Control System" + }, + { + "id": 14, + "enable": true, + "is_invalid": false, + "title": "control::regulator::PmsmMotorController_v2", + "pos_x": -1024.0400881767196, + "pos_y": 84.60909271240189, + "inputs": [], + "outputs": [ + { + "id": 140101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 1, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "control::regulator::PmsmMotorController_v2", + "description": "" + } + ], + "content": { + "id": 140116302939040 + }, + "alias": "", + "comment": "", + "params": { + "Ke": { + "value": 0.265, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043f\u0440\u043e\u0438\u0442\u0432\u043e\u044d\u0434\u0441 \u043c\u0430\u0448\u0438\u043d\u044b.", + "alias": "", + "min": 0.0, + "max": 16.0 + }, + "Km": { + "value": 1.044, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u0448\u0438\u043d\u044b.", + "alias": "", + "min": 0.0, + "max": 16.0 + }, + "Ls": { + "value": 0.0058, + "format": "f", + "description": "\u0418\u043d\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0446\u0435\u043f\u0438 \u0441\u0442\u0430\u0442\u043e\u0440\u0430.", + "alias": "", + "min": 0.0, + "max": 16.0 + }, + "Rs": { + "value": 3.25, + "format": "f", + "description": "\u0410\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0441\u043e\u043f\u0440\u043e\u0442\u0438\u0432\u043b\u0435\u043d\u0438\u0435 \u0446\u0435\u043f\u0438 \u0441\u0442\u0430\u0442\u043e\u0440\u0430.", + "alias": "", + "min": 0.0, + "max": 16.0 + }, + "Thd": { + "value": 0.0, + "format": "f", + "description": "\u0417\u0430\u043f\u0430\u0437\u0434\u044b\u0432\u0430\u043d\u0438\u0435 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0433\u043b\u0430.", + "min": -0.0005, + "max": 0.0005 + }, + "Pwmd": { + "value": 2.0, + "format": "f", + "description": "\u0417\u0430\u043f\u0430\u0437\u0434\u044b\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0428\u0418\u041c.", + "min": 1.0, + "max": 2.0 + }, + "Kie": { + "value": 15796.8, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439.", + "alias": "", + "min": 0.0 + }, + "Kpe": { + "value": 16.17, + "format": "f", + "description": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439.", + "alias": "", + "min": 0.0 + }, + "max_current": { + "value": 40.0, + "format": "f", + "description": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u043e\u043a\u0430.", + "alias": "", + "min": 0.0, + "max": 47.5 + } + }, + "setting_name": "Torque Regulator", + "group": "Control System", + "level": 3 + }, + { + "id": 15, + "enable": true, + "is_invalid": false, + "title": "Signal", + "pos_x": 256.27938127517723, + "pos_y": 323.16370773315384, + "inputs": [ + { + "id": 150001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 1, + "link_id": 9, + "text": "", + "mode": "", + "object": "", + "true_type": "", + "type": "float", + "description": "" + } + ], + "outputs": [], + "content": { + "id": 140116302940336 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Voltage Cq", + "group": "Control System" + } + ], + "edges": [ + { + "edge_type": 2, + "start": 100102, + "end": 90001 + }, + { + "edge_type": 2, + "start": 100001, + "end": 140101 + }, + { + "edge_type": 2, + "start": 100105, + "end": 120001 + }, + { + "edge_type": 2, + "start": 100111, + "end": 10001 + }, + { + "edge_type": 2, + "start": 100109, + "end": 80001 + }, + { + "edge_type": 2, + "start": 100104, + "end": 130001 + }, + { + "edge_type": 2, + "start": 100106, + "end": 40001 + }, + { + "edge_type": 2, + "start": 100112, + "end": 50001 + }, + { + "edge_type": 2, + "start": 100107, + "end": 110001 + }, + { + "edge_type": 2, + "start": 100110, + "end": 150001 + }, + { + "edge_type": 2, + "start": 100108, + "end": 60001 + }, + { + "edge_type": 2, + "start": 100114, + "end": 20001 + }, + { + "edge_type": 2, + "start": 100113, + "end": 30001 + }, + { + "edge_type": 2, + "start": 100101, + "end": 70001 + } + ] +} \ No newline at end of file diff --git a/TorqueUnitTie.json b/TorqueUnitTie.json new file mode 100644 index 0000000..eb50a9e --- /dev/null +++ b/TorqueUnitTie.json @@ -0,0 +1,493 @@ +{ + "id": 140568379505152, + "scene_width": 64000, + "scene_height": 64000, + "scene_pos_x": -347.0, + "scene_pos_y": -624.0, + "nodes": [ + { + "id": 1, + "enable": true, + "is_invalid": false, + "title": "Output", + "pos_x": 68.6445312500004, + "pos_y": -882.140625, + "inputs": [ + { + "id": 10001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "text": "", + "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." + } + ], + "outputs": [], + "content": { + "id": 140116542535952 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Speed Control State", + "group": "ControlStateTorqueControl" + }, + { + "id": 3, + "enable": true, + "is_invalid": false, + "title": "PwmGenerationAdapterTie", + "pos_x": -279.0, + "pos_y": -668.140625, + "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": "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": 30002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "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": 1, + "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": 140116542537248 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 170, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 2, + "cpu_id": 0 + }, + { + "id": 7, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -636.81640625, + "pos_y": -607.140625, + "inputs": [], + "outputs": [ + { + "id": 70101, + "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": 140116302644272 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Inverter Control", + "group": "InverterEndpoint" + }, + { + "id": 10, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -636.81640625, + "pos_y": -692.140625, + "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": "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": 140116302645568 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Voltage Control", + "group": "PwmGenerationAdapterTie" + }, + { + "id": 11, + "enable": true, + "is_invalid": false, + "title": "PhaseSpaceToStandingVectorUnitTie", + "pos_x": -279.0, + "pos_y": -775.140625, + "inputs": [ + { + "id": 110001, + "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": 110002, + "index": 1, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 1, + "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": 110101, + "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": 140116302646864 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 168, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 3, + "cpu_id": 0 + }, + { + "id": 14, + "enable": true, + "is_invalid": false, + "title": "InverterEndpoint", + "pos_x": -279.0, + "pos_y": -561.140625, + "inputs": [ + { + "id": 140001, + "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": 140101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "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": 140116302648160 + }, + "alias": "", + "comment": "", + "params": {}, + "initializer_id": 166, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 5, + "cpu_id": 0 + }, + { + "id": 16, + "enable": true, + "is_invalid": false, + "title": "Input", + "pos_x": -636.81640625, + "pos_y": -777.140625, + "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": 140116302649312 + }, + "alias": "", + "comment": "", + "params": {}, + "object_name": "Torque Control", + "group": "PhaseSpaceToStandingVectorUnitTie" + }, + { + "id": 4, + "enable": true, + "is_invalid": false, + "title": "ControlStateTorqueControl", + "pos_x": -279.0, + "pos_y": -882.140625, + "inputs": [ + { + "id": 40001, + "index": 0, + "multi_edges": false, + "position": 0, + "socket_type": 2, + "link_id": 2, + "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": 40002, + "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::ControlStateTorqueControl", + "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": 40101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 2, + "link_id": 1, + "text": "control_state", + "mode": "output", + "object": "resource", + "true_type": "technological::drivecontrol::state::ControlStateTorqueControl", + "type": "technological::IExecutorState", + "description": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \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." + } + ], + "content": { + "id": 140116302650608 + }, + "alias": "", + "comment": "", + "params": { + "code": { + "value": 212, + "format": "H", + "description": "\u041a\u043e\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b." + } + }, + "initializer_id": 37, + "process_settings": { + "processor_id": null, + "priority": null, + "period": null, + "phase": null + }, + "node_id": 8, + "cpu_id": 0 + }, + { + "id": 9, + "enable": true, + "is_invalid": false, + "title": "technological::drivecontrol::state::ControlStateTorqueControl", + "pos_x": -636.81640625, + "pos_y": -882.140625, + "inputs": [], + "outputs": [ + { + "id": 90101, + "index": 0, + "multi_edges": true, + "position": 2, + "socket_type": 3, + "link_id": 1, + "text": "", + "mode": "output", + "object": "", + "true_type": "", + "type": "technological::drivecontrol::state::ControlStateTorqueControl", + "description": "" + } + ], + "content": { + "id": 140116302652048 + }, + "alias": "", + "comment": "", + "params": { + "retention_accuracy": { + "value": 0.5, + "format": "f", + "description": "\u0422\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u0430.", + "min": 0.0, + "max": 1.0 + } + }, + "setting_name": "Complete Torque Control Conditions", + "group": "Control System", + "level": 3 + } + ], + "edges": [ + { + "edge_type": 2, + "start": 140101, + "end": 30002 + }, + { + "edge_type": 2, + "start": 30101, + "end": 110002 + }, + { + "edge_type": 2, + "start": 70101, + "end": 140001 + }, + { + "edge_type": 2, + "start": 160101, + "end": 110001 + }, + { + "edge_type": 2, + "start": 100101, + "end": 30001 + }, + { + "edge_type": 2, + "start": 90101, + "end": 40002 + }, + { + "edge_type": 2, + "start": 110101, + "end": 40001 + }, + { + "edge_type": 2, + "start": 40101, + "end": 10001 + } + ] +} \ No newline at end of file