From bf51c8815bf56c3d8d53062694cb6685afdcf859 Mon Sep 17 00:00:00 2001 From: Emmanuel HC Date: Wed, 8 Oct 2025 08:34:46 -0500 Subject: [PATCH] Chiller daiking return temp and flow switch added --- src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/State_Running.cpp | 7 ++++++- src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/State_Standby.cpp | 3 +++ src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/config.h | 4 +++- src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Running.cpp | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/State_Running.cpp b/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/State_Running.cpp index 0def2bb..6b6b207 100644 --- a/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/State_Running.cpp +++ b/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/State_Running.cpp @@ -15,6 +15,7 @@ #include "Strategies/Strategy_PID.h" #include "Strategies/Strategy_Ramp.h" #include "Strategies/Strategy_Totalizer.h" +#include "Strategies/Strategy_SingleValue.h" #include "Equipment/Equipment.h" #include "ModbusPoints/Modbus_Point.h" #include "ModbusPoints/Modbus_FloatDecorator.h" @@ -40,6 +41,7 @@ RunningState::RunningState() { addStrategy("Actual Capacity", new PIDStrategy("Active SP", 1000, "Supply Temp")); addStrategy("Comp1 Percent RLA", new RampStrategy(0.0f, 5.0f, 1000)); addStrategy("Comp2 Percent RLA", new RampStrategy(0.0f, 5.0f, 1000)); + addStrategy("Return Temp", new SingleValueStrategy(85,3.0f, 1000)); } /** @@ -70,7 +72,6 @@ State* RunningState::update(Equipment* equipmen static_cast(PID_Strat)->setLimits(0.0f, highCapacityLimit); float currentSP = 50.0f; // Default value int currentMode = getPointValue(equipment, "Chiller Mode Output"); - // Determine the correct setpoint based on the current operating mode. switch(currentMode){ case 1: @@ -119,6 +120,8 @@ State* RunningState::update(Equipment* equipmen setPointValue(equipment, "Chiller Mode Output", 2.0f); } + float SupplyTemp = getPointValue(equipment, "Supply Temp"); + setPointValue(equipment, "Return Temp", SupplyTemp + 14.0f); setPointValue(equipment, "Active SP", currentSP); // Apply any strategies defined for the standby state @@ -137,6 +140,8 @@ void RunningState::enterState(Equipment* equipment) { Serial.println("Enter Running State..."); // You could also update a Modbus register to show the "standby" state setPointValue(equipment, "Run Enabled", 1); + setPointValue(equipment, "Flow Switch", 1); + } /** diff --git a/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/State_Standby.cpp b/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/State_Standby.cpp index 9c820cc..d6e8c75 100644 --- a/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/State_Standby.cpp +++ b/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/State_Standby.cpp @@ -13,6 +13,7 @@ #include "ModbusPoints/Modbus_FloatDecorator.h" #include "Equipment/Equipment.h" #include "Strategies/Strategy_Ramp.h" +#include "Strategies/Strategy_SingleValue.h" #include #include @@ -33,6 +34,7 @@ template<> StandbyState::StandbyState() { addStrategy("Comp1 Percent RLA", new RampStrategy(0,5,1000)); addStrategy("Comp2 Percent RLA", new RampStrategy(0,5,1000)); + addStrategy("Return Temp", new SingleValueStrategy(85,3.0f, 1000)); } /** @@ -75,6 +77,7 @@ void StandbyState::enterState(Equipment* equipment) { // Logic to run when the equipment enters this state Serial.println("Enter Standby State..."); setPointValue(equipment, "Run Enabled", 0); + setPointValue(equipment, "Flow Switch", 0); } /** diff --git a/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/config.h b/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/config.h index 54a889b..3b31f9c 100644 --- a/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/config.h +++ b/src/BMS/CHILLER/CH_Daikin_AWV026B_RTU/config.h @@ -56,7 +56,9 @@ modbusMap mb_map[] = { {HR, 100, 0, "State Control"}, //Internal to control from Modscan {HR, 101, 0, "Fault Code"}, - {HR_FLOAT, 102, 0, "Supply Temp"}, + {HR_FLOAT, 102, 0, "Supply Temp"}, + {HR_FLOAT, 103, 0, "Return Temp"}, //+14 + {HR_FLOAT, 104, 0, "Flow Switch"}, {HR, 0, 0, "Chiller Local-Network"}, {HR, 1, 0, "Chiller Enable Output"}, {HR, 2, 0, "Run Enabled"}, diff --git a/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Running.cpp b/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Running.cpp index 1045e37..4fab407 100644 --- a/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Running.cpp +++ b/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Running.cpp @@ -41,7 +41,7 @@ RunningState::RunningState() { addStrategy("Source 1 Volts AB", new SingleValueStrategy(0.0F, 0.0f, 1000)); addStrategy("Source 1 Volts BC", new SingleValueStrategy(0.0F, 0.0f, 1000)); - addStrategy("Source 1 Volts CA", new SingleValueStrategy(0.0F, 0.0f, 1000)); + addStrategy("Source 2 Volts CA", new SingleValueStrategy(0.0F, 0.0f, 1000)); addStrategy("Source 2 Volts AB", new SingleValueStrategy(480.0F, 2.0f, 1000)); addStrategy("Source 2 Volts BC", new SingleValueStrategy(480.0F, 2.0f, 1000)); addStrategy("Source 2 Volts CA", new SingleValueStrategy(480.0F, 2.0f, 1000));