dev(UML-1519): git init + create Position Regulator Entity

This commit is contained in:
protsenko 2023-05-17 16:25:14 +03:00
parent 728221bbbe
commit ddd8ce70d3
8 changed files with 5911 additions and 0 deletions

822
PositionControlExample.json Normal file
View File

@ -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<float>",
"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<float>",
"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<float>",
"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<float>",
"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<float>",
"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<float>",
"type": "systemic::IValueType<float>",
"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<float>",
"type": "systemic::IValueType<float>",
"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<float>",
"type": "systemic::IValueType<float>",
"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<float>",
"type": "systemic::IValueType<float>",
"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<float>",
"type": "systemic::IValueType<float>",
"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<control::PhaseSpacePoint<float>>",
"type": "systemic::IValueType<control::PhaseSpacePoint<float>>",
"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<float>",
"type": "systemic::IValueType<float>",
"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
}
]
}

1307
PositionControlProcess.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -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
}
]
}

876
PositionUnitTie.json Normal file
View File

@ -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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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<driver::IInverter>",
"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<systemic::IValueTypeSet<control::StandingVector>>",
"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<float>",
"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<float>",
"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<float>",
"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<systemic::IValueTypeSet<control::StandingVector>>",
"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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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<driver::IInverter>",
"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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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<float>",
"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<float>",
"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<float>",
"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
}
]
}

516
SpeedController.json Normal file
View File

@ -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
}
]
}

708
SpeedUnitTie.json Normal file
View File

@ -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<driver::IInverter>",
"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<systemic::IValueTypeSet<control::StandingVector>>",
"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<float>",
"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<float>",
"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<systemic::IValueTypeSet<control::StandingVector>>",
"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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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<driver::IInverter>",
"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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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<float>",
"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<float>",
"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
}
]
}

850
TorqueRegulator.json Normal file
View File

@ -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
}
]
}

493
TorqueUnitTie.json Normal file
View File

@ -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<driver::IInverter>",
"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<systemic::IValueTypeSet<control::StandingVector>>",
"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<systemic::IValueTypeSet<control::StandingVector>>",
"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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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<driver::IInverter>",
"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<systemic::IValueType<control::PhaseSpacePoint<float>>>",
"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
}
]
}