Initial commit: CODESYS tree, integration docs, Node-RED scripts.
PLC application sources (NVL, rooms, boiler), HA/Node-RED integration guide, and NVL patch utilities. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
(* === DECLARATION === *)
|
||||
(* Room lighting (redesign). Shower channels l_1..l_5 only — l_6 is water heater (Boiler_PRG). *)
|
||||
PROGRAM Lights_new
|
||||
VAR
|
||||
Living_Room: FB_ROOM;
|
||||
Dininng_Room: fb_room;
|
||||
Kitchen_Area: fb_room;
|
||||
Hallway: fb_room;
|
||||
Office: fb_room;
|
||||
Bedroom: fb_room;
|
||||
Master_Bedroom: fb_room;
|
||||
Master_bath: fb_room;
|
||||
Shower: fb_room;
|
||||
Guest_wc: fb_room;
|
||||
Outside_front: fb_room;
|
||||
Covered_Veranda: fb_room;
|
||||
Yard: fb_room;
|
||||
Outside_back: fb_room;
|
||||
END_VAR
|
||||
|
||||
(* === IMPLEMENTATION === *)
|
||||
Living_Room(
|
||||
switches := NVL_Receiver.cmd_livingRoom,
|
||||
relay_status := NVL_Sender.light_livingRoom
|
||||
);
|
||||
NVL_Sender.light_livingRoom := Living_Room.lights;
|
||||
|
||||
Dininng_Room(
|
||||
switches := NVL_Receiver.cmd_dinningRoom,
|
||||
relay_status := NVL_Sender.light_dinningRoom
|
||||
);
|
||||
NVL_Sender.light_dinningRoom := Dininng_Room.lights;
|
||||
|
||||
Kitchen_Area(
|
||||
switches := NVL_Receiver.cmd_kitchenArea,
|
||||
relay_status := NVL_Sender.light_kitchenArea
|
||||
);
|
||||
NVL_Sender.light_kitchenArea := Kitchen_Area.lights;
|
||||
|
||||
Hallway(
|
||||
switches := NVL_Receiver.cmd_hallway,
|
||||
relay_status := NVL_Sender.light_hallway
|
||||
);
|
||||
NVL_Sender.light_hallway := Hallway.lights;
|
||||
|
||||
Office(
|
||||
switches := NVL_Receiver.cmd_office,
|
||||
relay_status := NVL_Sender.light_office
|
||||
);
|
||||
NVL_Sender.light_office := Office.lights;
|
||||
|
||||
Bedroom(
|
||||
switches := NVL_Receiver.cmd_bedroom,
|
||||
relay_status := NVL_Sender.light_bedroom
|
||||
);
|
||||
NVL_Sender.light_bedroom := Bedroom.lights;
|
||||
|
||||
Master_Bedroom(
|
||||
switches := NVL_Receiver.cmd_masterBedroom,
|
||||
relay_status := NVL_Sender.light_masterBedroom
|
||||
);
|
||||
NVL_Sender.light_masterBedroom := Master_Bedroom.lights;
|
||||
|
||||
Master_bath(
|
||||
switches := NVL_Receiver.cmd_masterBath,
|
||||
relay_status := NVL_Sender.light_masterBath
|
||||
);
|
||||
NVL_Sender.light_masterBath := Master_bath.lights;
|
||||
|
||||
Shower(
|
||||
switches := NVL_Receiver.cmd_shower,
|
||||
relay_status := NVL_Sender.light_shower
|
||||
);
|
||||
// l_6 not used for shower — water heater uses boiler_status.relay_output (%QX5.4)
|
||||
NVL_Sender.light_shower.l_6 := FALSE;
|
||||
NVL_Sender.light_shower.l_6_status := FALSE;
|
||||
NVL_Sender.light_shower.l_1 := Shower.lights.l_1;
|
||||
NVL_Sender.light_shower.l_2 := Shower.lights.l_2;
|
||||
NVL_Sender.light_shower.l_3 := Shower.lights.l_3;
|
||||
NVL_Sender.light_shower.l_4 := Shower.lights.l_4;
|
||||
NVL_Sender.light_shower.l_5 := Shower.lights.l_5;
|
||||
NVL_Sender.light_shower.l_1_status := Shower.lights.l_1;
|
||||
NVL_Sender.light_shower.l_2_status := Shower.lights.l_2;
|
||||
NVL_Sender.light_shower.l_3_status := Shower.lights.l_3;
|
||||
NVL_Sender.light_shower.l_4_status := Shower.lights.l_4;
|
||||
NVL_Sender.light_shower.l_5_status := Shower.lights.l_5;
|
||||
|
||||
Guest_wc(
|
||||
switches := NVL_Receiver.cmd_guestWc,
|
||||
relay_status := NVL_Sender.light_guestWc
|
||||
);
|
||||
NVL_Sender.light_guestWc := Guest_wc.lights;
|
||||
|
||||
Outside_front(
|
||||
switches := NVL_Receiver.cmd_outFront,
|
||||
relay_status := NVL_Sender.light_outFront
|
||||
);
|
||||
NVL_Sender.light_outFront := Outside_front.lights;
|
||||
|
||||
Covered_Veranda(
|
||||
switches := NVL_Receiver.cmd_coveredVeranda,
|
||||
relay_status := NVL_Sender.light_coveredVeranda
|
||||
);
|
||||
NVL_Sender.light_coveredVeranda := Covered_Veranda.lights;
|
||||
|
||||
Yard(
|
||||
switches := NVL_Receiver.cmd_outYard,
|
||||
relay_status := NVL_Sender.light_outYard
|
||||
);
|
||||
NVL_Sender.light_outYard := Yard.lights;
|
||||
|
||||
Outside_back(
|
||||
switches := NVL_Receiver.cmd_outBack,
|
||||
relay_status := NVL_Sender.light_outBack
|
||||
);
|
||||
NVL_Sender.light_outBack := Outside_back.lights;
|
||||
Reference in New Issue
Block a user