PLC application sources (NVL, rooms, boiler), HA/Node-RED integration guide, and NVL patch utilities. Co-authored-by: Cursor <cursoragent@cursor.com>
186 lines
7.4 KiB
JSON
186 lines
7.4 KiB
JSON
{
|
|
"project_path": "C:\\codesys-projects\\Codesys_Home_Automation\\Home_Automation.project",
|
|
"staged_project_path": "C:\\codesys-projects\\Codesys_Home_Automation\\Home_Automation_Boiler_Phase1\\Home_Automation.project",
|
|
"staged_project_folder": "Home_Automation_Boiler_Phase1",
|
|
"active_application": "Application",
|
|
"generated_at": "2026-05-24T20:24:00+03:00",
|
|
"inventory_refreshed_at": "2026-05-24T20:24:00+03:00",
|
|
"io_snapshot": {
|
|
"file": "_io.json",
|
|
"summary": "_io.md",
|
|
"captured_at": "2026-05-24T20:24:00+03:00",
|
|
"device_count": 9,
|
|
"channels_only": true
|
|
},
|
|
"convention": {
|
|
"declaration_marker": "(* === DECLARATION === *)",
|
|
"implementation_marker": "(* === IMPLEMENTATION === *)",
|
|
"notes": "Each .st file contains the declaration section followed by the implementation section, separated by the markers above. Empty section after a marker means CODESYS reported no content for that section."
|
|
},
|
|
"objects": [
|
|
{
|
|
"file": "Device/Plc Logic/Application/PLC_PRG.st",
|
|
"object_path": "Device / Plc Logic / Application / PLC_PRG",
|
|
"kind": "program",
|
|
"has_declaration": true,
|
|
"has_implementation": true
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/0.Structures/struct_switches.st",
|
|
"object_path": "Device / Plc Logic / Application / 0.Structures / struct_switches",
|
|
"kind": "dut",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/0.Structures/struct_lights.st",
|
|
"object_path": "Device / Plc Logic / Application / 0.Structures / struct_lights",
|
|
"kind": "dut",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/0.Structures/struct_room_outs.st",
|
|
"object_path": "Device / Plc Logic / Application / 0.Structures / struct_room_outs",
|
|
"kind": "dut",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/0.Structures/struct_room_cmds.st",
|
|
"object_path": "Device / Plc Logic / Application / 0.Structures / struct_room_cmds",
|
|
"kind": "dut",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/0.Structures/struct_boiler_cmd.st",
|
|
"object_path": "Device / Plc Logic / Application / 0.Structures / struct_boiler_cmd",
|
|
"kind": "dut",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/0.Structures/struct_boiler_status.st",
|
|
"object_path": "Device / Plc Logic / Application / 0.Structures / struct_boiler_status",
|
|
"kind": "dut",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/0.Structures/struct_zones.st",
|
|
"object_path": "Device / Plc Logic / Application / 0.Structures / struct_zones",
|
|
"kind": "dut",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/1.Variables/NVL_Sender.st",
|
|
"object_path": "Device / Plc Logic / Application / 1.Variables / NVL_Sender",
|
|
"kind": "gvl",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/1.Variables/NVL_Receiver.st",
|
|
"object_path": "Device / Plc Logic / Application / 1.Variables / NVL_Receiver",
|
|
"kind": "gvl",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/1.Variables/GVL.st",
|
|
"object_path": "Device / Plc Logic / Application / 1.Variables / GVL",
|
|
"kind": "gvl",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/3.Function Blocks/fb_toogleButton.st",
|
|
"object_path": "Device / Plc Logic / Application / 3.Function Blocks / fb_toogleButton",
|
|
"kind": "function_block",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/3.Function Blocks/fb_switch.st",
|
|
"object_path": "Device / Plc Logic / Application / 3.Function Blocks / fb_switch",
|
|
"kind": "function_block",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/3.Function Blocks/fb_light.st",
|
|
"object_path": "Device / Plc Logic / Application / 3.Function Blocks / fb_light",
|
|
"kind": "function_block",
|
|
"has_declaration": true,
|
|
"has_implementation": true
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/3.Function Blocks/fb_room.st",
|
|
"object_path": "Device / Plc Logic / Application / 3.Function Blocks / fb_room",
|
|
"kind": "function_block",
|
|
"has_declaration": true,
|
|
"has_implementation": true
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/3.Function Blocks/fb_boiler.st",
|
|
"object_path": "Device / Plc Logic / Application / 3.Function Blocks / fb_boiler",
|
|
"kind": "function_block",
|
|
"has_declaration": true,
|
|
"has_implementation": true
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/4.Programs/Lights.st",
|
|
"object_path": "Device / Plc Logic / Application / 4.Programs / Lights",
|
|
"kind": "program",
|
|
"has_declaration": true,
|
|
"has_implementation": false
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/4.Programs/Lights_new.st",
|
|
"object_path": "Device / Plc Logic / Application / 4.Programs / Lights_new",
|
|
"kind": "program",
|
|
"has_declaration": true,
|
|
"has_implementation": true
|
|
},
|
|
{
|
|
"file": "Device/Plc Logic/Application/4.Programs/Boiler_PRG.st",
|
|
"object_path": "Device / Plc Logic / Application / 4.Programs / Boiler_PRG",
|
|
"kind": "program",
|
|
"has_declaration": true,
|
|
"has_implementation": true
|
|
}
|
|
],
|
|
"non_textual_tree": [
|
|
{"depth": 0, "kind": "node", "name": "Project Settings"},
|
|
{"depth": 0, "kind": "device", "name": "Device"},
|
|
{"depth": 1, "kind": "node", "name": "Plc Logic"},
|
|
{"depth": 2, "kind": "application", "name": "Application"},
|
|
{"depth": 3, "kind": "node", "name": "Library Manager"},
|
|
{"depth": 3, "kind": "node", "name": "Task Configuration"},
|
|
{"depth": 4, "kind": "node", "name": "MainTask"},
|
|
{"depth": 5, "kind": "node", "name": "PLC_PRG"},
|
|
{"depth": 4, "kind": "node", "name": "EtherCAT_Task"},
|
|
{"depth": 3, "kind": "folder", "name": "3.Function Blocks"},
|
|
{"depth": 3, "kind": "folder", "name": "1.Variables"},
|
|
{"depth": 3, "kind": "folder", "name": "2.Functions"},
|
|
{"depth": 3, "kind": "folder", "name": "4.Programs"},
|
|
{"depth": 3, "kind": "folder", "name": "0.Structures"},
|
|
{"depth": 1, "kind": "node", "name": "SoftMotion General Axis Pool"},
|
|
{"depth": 1, "kind": "device", "name": "GPIOs_A_B"},
|
|
{"depth": 1, "kind": "node", "name": "Onewire"},
|
|
{"depth": 1, "kind": "node", "name": "Camera device"},
|
|
{"depth": 2, "kind": "device", "name": "<Empty>"},
|
|
{"depth": 1, "kind": "node", "name": "SPI"},
|
|
{"depth": 1, "kind": "node", "name": "I?C"},
|
|
{"depth": 1, "kind": "device", "name": "EtherCAT_Master"},
|
|
{"depth": 2, "kind": "device", "name": "EK1100"},
|
|
{"depth": 3, "kind": "device", "name": "K1"},
|
|
{"depth": 3, "kind": "device", "name": "K2"},
|
|
{"depth": 3, "kind": "device", "name": "K3"},
|
|
{"depth": 3, "kind": "device", "name": "K4"},
|
|
{"depth": 0, "kind": "node", "name": "__VisualizationStyle"}
|
|
]
|
|
}
|