diff --git a/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.cpp b/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.cpp index 0d661c2..9651fa2 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.cpp +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.cpp @@ -53,46 +53,34 @@ void updateControlMode(Equipment* equipment){ equipment->setModbus_Point("Control Mode Selected", Control_Mode_Selected); } -/** - * @brief The purpose of this function is for testing the RA Temp, SA Temp, and RA Humidity alarms (Ignition HMI display) - * User will manually set Alarms through Modscan coils, which will change RA Temp or RA Humidity accordingly. - * The RA Temp alarm limits (reference Ignition UDT) are 72, 100. - * The SA Temp alarm limits (reference Ignition UDT) are 72, 78. - * The RA Humidity alarm limits (reference Ignition UDT) are 20, 60. - * If an associated alarm coil is not active, the analog values are set to a safe, un-alarmed value. - * - * This is a function used in the update() of the Running State. - * -*/ - void updateAnalogs(Equipment* equipment){ if (equipment->getModbus_Point("RA Temp NORMAL")->getValue()==1){ - equipment->setModbus_Point("Return Air Temp", 86.0f); + equipment->setModbus_Point("Return Air Temp", 84.0f); equipment->setModbus_Point("RA Temp Low Alarm ON", 0); equipment->setModbus_Point("RA Temp High Alarm ON", 0); equipment->setModbus_Point("RA Temp NORMAL", 0); } else if (equipment->getModbus_Point("RA Temp Low Alarm ON")->getValue() ==1){ - equipment->setModbus_Point("Return Air Temp", 62.0f); + equipment->setModbus_Point("Return Air Temp", 60.0f); equipment->setModbus_Point("RA Temp High Alarm ON", 0); } else if (equipment->getModbus_Point("RA Temp High Alarm ON")->getValue()==1){ - equipment->setModbus_Point("Return Air Temp", 106.0f); + equipment->setModbus_Point("Return Air Temp", 110.0f); equipment->setModbus_Point("RA Temp Low Alarm ON", 0); } if (equipment->getModbus_Point("RA Humidity NORMAL")->getValue()==1){ - equipment->setModbus_Point("Return Air Humidity", 25.0f); + equipment->setModbus_Point("Return Humidity", 25.0f); equipment->setModbus_Point("RA Humidity Low Alarm ON", 0); equipment->setModbus_Point("RA Humidity High Alarm ON", 0); equipment->setModbus_Point("RA Humidity NORMAL", 0); } else if (equipment->getModbus_Point("RA Humidity Low Alarm ON")->getValue()==1){ - equipment->setModbus_Point("Return Air Humidity", 6.0f); + equipment->setModbus_Point("Return Humidity", 5.0f); equipment->setModbus_Point("RA Humidity High Alarm ON", 0); } else if (equipment->getModbus_Point("RA Humidity High Alarm ON")->getValue()==1){ - equipment->setModbus_Point("Return Air Humidity", 80.0f); + equipment->setModbus_Point("Return Humidity", 80.0f); equipment->setModbus_Point("RA Humidity Low Alarm ON", 0); } @@ -117,32 +105,18 @@ void updateReturnAirTempAlarms(Equipment* equipment){ Modbus_Point* returnAirTemp = equipment -> getModbus_Point("Return Air Temp"); Modbus_Point* returnTempHighAlarmSP = equipment->getModbus_Point("Return Air Temp Alarm High SP"); Modbus_Point* returnTempLowAlarmSP = equipment->getModbus_Point("Return Air Temp Alarm Low SP"); - //Modbus_Point* returnTempHighAlarm = equipment->getModbus_Point("Alarm High Return Air Temp"); - //Modbus_Point* returnTempLowAlarm = equipment->getModbus_Point("Alarm Low Return Air Temp"); - - //int RATemp = returnAirTemp->getValue(); - //int RATempHighAlm = returnTempHighAlarmSP->getValue(); - //int RATempLowAlm = returnTempLowAlarmSP->getValue(); - - //equipment->setModbus_Point("RATemp Value", RATemp); - //equipment->setModbus_Point("RATempHighAlm Value", RATempHighAlm); - //equipment->setModbus_Point("RATempLowAlm Value", RATempLowAlm); if (returnAirTemp->getValue() < returnTempLowAlarmSP->getValue()) { equipment->setModbus_Point("Alarm Low Return Air Temp", 1); equipment->setModbus_Point("Alarm High Return Air Temp", 0); - //returnTempHighAlarm->setValue(1); } else if (returnAirTemp->getValue() > returnTempHighAlarmSP->getValue()) { equipment->setModbus_Point("Alarm High Return Air Temp", 1); equipment->setModbus_Point("Alarm Low Return Air Temp", 0); - //returnTempLowAlarm->setValue(1); } else{ equipment->setModbus_Point("Alarm High Return Air Temp", 0); equipment->setModbus_Point("Alarm Low Return Air Temp", 0); - //returnTempHighAlarm->setValue(0); - //returnTempLowAlarm->setValue(0); } } @@ -152,16 +126,6 @@ void updateSupplyAirTempAlarms(Equipment* equipment){ Modbus_Point* supplyTempHighAlarmSP = equipment->getModbus_Point("Supply Air Temp Alarm High SP"); Modbus_Point* supplyTempLowAlarmSP = equipment->getModbus_Point("Supply Air Temp Alarm Low SP"); - /** - int SATemp = supplyAirTemp->getValue(); - int SATempHighAlm = supplyTempHighAlarmSP->getValue(); - int SATempLowAlm = supplyTempLowAlarmSP->getValue(); - - equipment->setModbus_Point("SATemp Value", SATemp); - equipment->setModbus_Point("SATempHighAlm Value", SATempHighAlm); - equipment->setModbus_Point("SATempLowAlm Value", SATempLowAlm); - */ - if (supplyAirTemp->getValue() > supplyTempHighAlarmSP->getValue()) { equipment->setModbus_Point("Alarm High Supply Temp", 1); equipment->setModbus_Point("Alarm Low Supply Temp", 0); @@ -181,16 +145,6 @@ void updateReturnHumidityAlarms(Equipment* equipment){ Modbus_Point* returnHumHighAlarmSP = equipment->getModbus_Point("Return Humidity Alarm High SP"); Modbus_Point* returnHumLowAlarmSP = equipment->getModbus_Point("Return Humidity Alarm Low SP"); - /** - int RAHum = returnHumidity->getValue(); - int RAHumHighAlm = returnHumHighAlarmSP->getValue(); - int RAHumLowAlm = returnHumLowAlarmSP->getValue(); - - equipment->setModbus_Point("RAHum Value", RAHum); - equipment->setModbus_Point("RAHumHighAlm Value", RAHumHighAlm); - equipment->setModbus_Point("RAHumLowAlm Value", RAHumLowAlm); - */ - if (returnHumidity->getValue() > returnHumHighAlarmSP->getValue()) { equipment->setModbus_Point("Alarm High Return Humidity", 1); equipment->setModbus_Point("Alarm Low Return Humidity", 0); @@ -251,6 +205,8 @@ void updateAlarms(Equipment* equipment){ if (alarmAnalogPoint->getValue() == 1) numAlarms++; } } + // If any alarms are active, set the Common Alarm = 1, else Common Alarm = 0. + if (numAlarms >= 1) equipment->setModbus_Point("Common Alarm", 1); else equipment->setModbus_Point("Common Alarm", 0); } \ No newline at end of file diff --git a/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.h b/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.h index 7b80a30..7c49f8f 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.h +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.h @@ -34,7 +34,6 @@ class State; * @return The selected control mode (int). */ void updateControlMode(Equipment* equipment); - void updateAnalogs(Equipment* equipment); void updateReturnAirTempAlarms(Equipment* equipment); void updateSupplyAirTempAlarms(Equipment* equipment); diff --git a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Fail.cpp b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Fail.cpp index 4c1198b..5e9c124 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Fail.cpp +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Fail.cpp @@ -42,7 +42,7 @@ FailState::FailState(const std::vector& activeAlarms) { addStrategy("CW Valve Position", new RampStrategy(0.0f, 5.0f, 1000)); addStrategy("Supply Air Temp", new SingleValueStrategy(74.0f, 1.0f, 1000)); addStrategy("Return Air Temp", new SingleValueStrategy(86.0f, 1.0f, 1000)); - addStrategy("Return Air Humidity", new SingleValueStrategy(35.0f, 2.0f, 1000)); + addStrategy("Return Humidity", new SingleValueStrategy(30.0f, 1.0f, 3000)); addStrategy("Speed Fan 1", new RampStrategy(0.0f, 300.0f, 1000)); addStrategy("Speed Fan 2", new RampStrategy(0.0f, 300.0f, 1000)); addStrategy("Speed Fan 3", new RampStrategy(0.0f, 300.0f, 1000)); diff --git a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Running.cpp b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Running.cpp index 964c7fc..9290275 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Running.cpp +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Running.cpp @@ -71,9 +71,9 @@ RunningState::RunningState() { addStrategy("Operating Hours Fan 7", new TotalizerStrategy(1000)); addStrategy("Operating Hours Fan 8", new TotalizerStrategy(1000)); addStrategy("Operating Hours Fan 9", new TotalizerStrategy(1000)); - addStrategy("Supply Air Temp", new SawStrategy(60.0f, 100.0f, 2.2f, 1000)); // Won't initialize at lower bound; always initializes at 0 b/c FLOAT; initialize manually via Modscan - addStrategy("Return Air Humidity", new SawStrategy(25.0f, 40.0f, 1.1f, 1000)); - addStrategy("Return Air Temp", new SawStrategy(84.0f, 87.0f, 0.2f, 1000)); + addStrategy("Supply Air Temp", new SawStrategy(73.0f, 77.0f, 0.2f, 1000)); // Won't initialize at lower bound; always initializes at 0 b/c FLOAT; initialize manually via Modscan + addStrategy("Return Humidity", new SawStrategy(25.0f, 35.0f, 0.2f, 1000)); + addStrategy("Return Air Temp", new SawStrategy(80.0f, 90.0f, 0.2f, 1000)); addStrategy("Filter Differential Pressure", new SawStrategy(0.1f, 5.1f, 0.2f, 1000)); addStrategy("CW Valve Position", new PIDStrategy("Supply Air Temp Setpoint", 1000, "Supply Air Temp")); // SAT must be greater than SAT Setpoint for this PID to work. addStrategy("CRAH Heartbeat", new SawStrategy(0.0f, 60.0f, 1.0f, 1000)); diff --git a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Standby.cpp b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Standby.cpp index 1c9492c..c863fcd 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Standby.cpp +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Standby.cpp @@ -43,7 +43,7 @@ StandbyState::StandbyState() { addStrategy("CW Valve Position", new RampStrategy(0.0f, 5.0f, 1000)); addStrategy("Supply Air Temp", new SingleValueStrategy(76.0f, 1.0f, 2000)); addStrategy("Return Air Temp", new SingleValueStrategy(86.0f, 1.0f, 3000)); - addStrategy("Return Air Humidity", new SingleValueStrategy(25.0f, 1.0f, 4000)); + addStrategy("Return Humidity", new SingleValueStrategy(25.0f, 1.0f, 4000)); addStrategy("Speed Fan 1", new RampStrategy(0.0f, 300.0f, 1000)); addStrategy("Speed Fan 2", new RampStrategy(0.0f, 300.0f, 1000)); addStrategy("Speed Fan 3", new RampStrategy(0.0f, 300.0f, 1000)); diff --git a/src/BMS/CRAH/CRAH_UMAS_TCP/config.h b/src/BMS/CRAH/CRAH_UMAS_TCP/config.h index 8e0a308..614956b 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/config.h +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/config.h @@ -101,7 +101,7 @@ modbusMap mb_map[] = {DI, 16, 0, "Alarm Fire"}, {IR_FLOAT, 1, 0, "Supply Air Temp"}, - {IR_FLOAT, 3, 0, "Return Air Humidity"}, // Ignition visual only + {IR_FLOAT, 3, 0, "Return Humidity"}, // Ignition visual only {IR_FLOAT, 5, 0, "Return Air Temp"}, // Send to PLC {IR_FLOAT, 7, 0, "Filter Differential Pressure"}, // sawStrategy between 0 and 5 {IR_FLOAT, 9, 0, "CW Valve Position"},