From 283625701538289ab929f55a8deb6d7f79691e10 Mon Sep 17 00:00:00 2001 From: RobertJDavis Date: Fri, 31 Oct 2025 10:56:43 -0700 Subject: [PATCH] 10x registers Modified to 10x registers: Supply Temp, Return Temp, Return Humidity. Changed Supply and Return Temp in RunningState for PID strategy to work. --- .../State_Running.cpp | 14 ++++++++++++++ .../PHX3_CRAH_LIEBERT_80_SLAB_TCP/config.h | 18 +++++++++--------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/BMS/CRAH/PHX3_CRAH_LIEBERT_80_SLAB_TCP/State_Running.cpp b/src/BMS/CRAH/PHX3_CRAH_LIEBERT_80_SLAB_TCP/State_Running.cpp index d0ce726..33c87c7 100644 --- a/src/BMS/CRAH/PHX3_CRAH_LIEBERT_80_SLAB_TCP/State_Running.cpp +++ b/src/BMS/CRAH/PHX3_CRAH_LIEBERT_80_SLAB_TCP/State_Running.cpp @@ -89,6 +89,20 @@ State* RunningState::update(Equipment* equipment) return new StandbyState(); } + // Due to 10x scaling of Supply and Return Air Temps, need to adjust for PID strategies + float returnTemp = getPointValue(equipment, "Return Air Temp")/10; + float supplyTemp = getPointValue(equipment, "Supply Air Temp")/10; + float returnTempSP = getPointValue(equipment, "Return Air Temp Setpoint"); + float supplyTempSP = getPointValue(equipment, "Supply Air Temp Setpoint"); + + Strategy_Behavior* FluidControlValve1_strat = getStrategy("Fluid Control Valve Position 1"); + Strategy_Behavior* FluidControlValve2_strat = getStrategy("Fluid Control Valve Position 2"); + Strategy_Behavior* FanSpeed_strat = getStrategy("Fan Speed"); + static_cast(FluidControlValve1_strat)->setLimits(supplyTempSP, supplyTemp); + static_cast(FluidControlValve2_strat)->setLimits(supplyTempSP, supplyTemp); + static_cast(FanSpeed_strat)->setLimits(returnTempSP, returnTemp); + + // Apply any strategies defined for the standby state _applyStrategies(equipment); return nullptr; diff --git a/src/BMS/CRAH/PHX3_CRAH_LIEBERT_80_SLAB_TCP/config.h b/src/BMS/CRAH/PHX3_CRAH_LIEBERT_80_SLAB_TCP/config.h index f1040fb..f547b18 100644 --- a/src/BMS/CRAH/PHX3_CRAH_LIEBERT_80_SLAB_TCP/config.h +++ b/src/BMS/CRAH/PHX3_CRAH_LIEBERT_80_SLAB_TCP/config.h @@ -136,16 +136,16 @@ modbusMap mb_map[] = {DI, 741, 0, "Alarm Compressor 2B Overload"}, {IR, 99, 0, "Unit Status"}, // 0:off, 1:on, 2:standby - {IR, 102, 0, "Fan Speed"}, - {IR, 129, 0, "Return Humidity"}, - {IR, 742, 0, "Return Air Temp"}, - {IR, 743, 0, "Supply Air Temp"}, - {IR, 1465, 0, "Supply Air Flow"}, - {IR, 2050, 0, "Fluid Control Valve Position 1"}, - {IR, 2051, 0, "Fluid Control Valve Position 2"}, + {IR, 102, 0, "Fan Speed"}, + {IR_10x, 129, 0, "Return Humidity"}, + {IR_10x, 742, 0, "Return Air Temp"}, + {IR_10x, 743, 0, "Supply Air Temp"}, + {IR, 1465, 0, "Supply Air Flow"}, + {IR, 2050, 0, "Fluid Control Valve Position 1"}, + {IR, 2051, 0, "Fluid Control Valve Position 2"}, - {HR, 732, 73, "Supply Air Temp Setpoint"}, - {HR, 753, 80, "Return Air Temp Setpoint"}, + {HR, 732, 73, "Supply Air Temp Setpoint"}, + {HR, 753, 80, "Return Air Temp Setpoint"}, }; //Size of modbus map used in FOR cycles, automatically calculated.