diff --git a/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.cpp b/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.cpp index c3e3522..0d661c2 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.cpp +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.cpp @@ -53,6 +53,158 @@ 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("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("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("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("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("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("RA Humidity Low Alarm ON", 0); + } + + if (equipment->getModbus_Point("SA Temp NORMAL")->getValue()==1){ + equipment->setModbus_Point("Supply Air Temp", 76.0f); + equipment->setModbus_Point("SA Temp Low Alarm ON", 0); + equipment->setModbus_Point("SA Temp High Alarm ON", 0); + equipment->setModbus_Point("SA Temp NORMAL", 0); + } + else if (equipment->getModbus_Point("SA Temp Low Alarm ON")->getValue() ==1){ + equipment->setModbus_Point("Supply Air Temp", 60.0f); + equipment->setModbus_Point("SA Temp High Alarm ON", 0); + } + else if (equipment->getModbus_Point("SA Temp High Alarm ON")->getValue()==1){ + equipment->setModbus_Point("Supply Air Temp", 90.0f); + equipment->setModbus_Point("SA Temp Low Alarm ON", 0); + } + +} + +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); + } + +} + +void updateSupplyAirTempAlarms(Equipment* equipment){ + Modbus_Point* supplyAirTemp = equipment -> getModbus_Point("Supply Air Temp"); + 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); + } + else if (supplyAirTemp->getValue() < supplyTempLowAlarmSP->getValue()) { + equipment->setModbus_Point("Alarm Low Supply Temp", 1); + equipment->setModbus_Point("Alarm High Supply Temp", 0); + } + else{ + equipment->setModbus_Point("Alarm High Supply Temp", 0); + equipment->setModbus_Point("Alarm Low Supply Temp", 0); + } +} + +void updateReturnHumidityAlarms(Equipment* equipment){ + Modbus_Point* returnHumidity = equipment -> getModbus_Point("Return Humidity"); + 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); + } + else if (returnHumidity->getValue() < returnHumLowAlarmSP->getValue()) { + equipment->setModbus_Point("Alarm Low Return Humidity", 1); + equipment->setModbus_Point("Alarm High Return Humidity", 0); + } + else{ + equipment->setModbus_Point("Alarm High Return Humidity", 0); + equipment->setModbus_Point("Alarm Low Return Humidity", 0); + } +} + /** * @brief This function will update the Alarm status DI bits according to the Alarm Commands from Coils (Modscan) * It will also update the Common Alarm: if any alarm is active, the Common alarm will also be active. @@ -75,6 +227,12 @@ void updateAlarms(Equipment* equipment){ "Alarm Condensate Pump ON", "Alarm Fire ON", "Alarm Smoke ON" }; + const std::vector alarmAnalogs = { + "Alarm High Return Air Temp", "Alarm Low Return Air Temp", "Alarm High Return Humidity", "Alarm Low Return Humidity", + "Alarm High Supply Temp", "Alarm Low Supply Temp" + }; + + // NOTE: Per UMAS hardwire signals, alarm opened in case of normal operation, closed in case of alarm condition // 0: no alarm, 1: alarm int numAlarms = 0; @@ -86,37 +244,13 @@ void updateAlarms(Equipment* equipment){ if (alarmPoint->getValue() == 1) numAlarms++; } } + // If any of the analog alarms = 1, increment counter for number of active alarms + for (int j = 0; j* alarmAnalogPoint = equipment->getModbus_Point(alarmAnalogs[j]); + if (alarmAnalogPoint) { + if (alarmAnalogPoint->getValue() == 1) numAlarms++; + } + } if (numAlarms >= 1) equipment->setModbus_Point("Common Alarm", 1); else equipment->setModbus_Point("Common Alarm", 0); -} - -/** - * @brief The purpose of this function is for testing the RA 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. - * - * NOTE: These analog alarms will not activate the Common Alarm in the Arduino test. - * Since these alarms will be set in Ignition, will not be sent over Modbus from CRAH to Ignition. - * - * This is a function used in the update() of the Running State. - * -*/ -// Note: The Common Alarm is not configured to annunciate with these analog low/high alarms. -void updateAnalogs(Equipment* equipment){ - if (equipment->getModbus_Point("RA Temp Low Alarm ON")->getValue() ==1){ - equipment->setModbus_Point("Return Air Temp", 60.0f); - } - else if (equipment->getModbus_Point("RA Temp High Alarm ON")->getValue()==1){ - equipment->setModbus_Point("Return Air Temp", 110.0f); - } - - if (equipment->getModbus_Point("RA Humidity Low Alarm ON")->getValue()==1){ - equipment->setModbus_Point("Return Air Humidity", 5.0f); - } - else if (equipment->getModbus_Point("RA Humidity High Alarm ON")->getValue()==1){ - equipment->setModbus_Point("Return Air Humidity", 80.0f); - } } \ 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 23b56cb..7b80a30 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.h +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/StateUtils.h @@ -35,16 +35,14 @@ class State; */ void updateControlMode(Equipment* equipment); -/** - * @brief Checks common alarms (non-fail alarms) and updates the Common Alarm Modbus point. - * @param equipment Pointer to the Equipment instance. - * @return true if any common alarm is active, false otherwise. - */ -void updateAlarms(Equipment* equipment); +void updateAnalogs(Equipment* equipment); +void updateReturnAirTempAlarms(Equipment* equipment); +void updateSupplyAirTempAlarms(Equipment* equipment); +void updateReturnHumidityAlarms(Equipment* equipment); /** * @brief Checks common alarms (non-fail alarms) and updates the Common Alarm Modbus point. * @param equipment Pointer to the Equipment instance. * @return true if any common alarm is active, false otherwise. */ -void updateAnalogs(Equipment* equipment); \ No newline at end of file +void updateAlarms(Equipment* equipment); \ No newline at end of file diff --git a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Fail.cpp b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Fail.cpp index b9d847b..4c1198b 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Fail.cpp +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Fail.cpp @@ -82,8 +82,11 @@ State* FailState::update(Equipment* equipment) { // Still want Control Mode and Alarms to be updated while in Fail State // Ensure BMS Command is set to Off: want operator to re-start from BMS once Leak Detect Alarm is cleared. updateControlMode(equipment); - updateAlarms(equipment); updateAnalogs(equipment); + updateReturnAirTempAlarms(equipment); + updateSupplyAirTempAlarms(equipment); + updateReturnHumidityAlarms(equipment); + updateAlarms(equipment); setPointValue(equipment, "ON/OFF Command By BMS", 0); // The only way to exit the Fail State is for Leak Detect Alarm to turn off, then enter Standby State. diff --git a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Running.cpp b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Running.cpp index 14a1b28..964c7fc 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Running.cpp +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Running.cpp @@ -104,8 +104,11 @@ State* RunningState::update(Equipment* equipment) int BMS_Enable_Source = getPointValue(equipment, "BMS Enable Source"); // Modscan HR 2 updateControlMode(equipment); - updateAlarms(equipment); updateAnalogs(equipment); + updateReturnAirTempAlarms(equipment); + updateSupplyAirTempAlarms(equipment); + updateReturnHumidityAlarms(equipment); + updateAlarms(equipment); // Check to see if Leak Detect alarm is active (only alarm which will make unit FAIL and turn off) --> Send to FailState bool leakDetect = getPointValue(equipment, "Alarm Leak Detect"); diff --git a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Standby.cpp b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Standby.cpp index 90be569..1c9492c 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/State_Standby.cpp +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/State_Standby.cpp @@ -41,9 +41,9 @@ StandbyState::StandbyState() { // You can add initialization code here if needed. // These strategies are applied at the end of the update function. 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("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("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)); @@ -87,8 +87,11 @@ State* StandbyState::update(Equipment* equipment) int BMS_Enable_Source = getPointValue(equipment, "BMS Enable Source"); // Modscan HR 2 updateControlMode(equipment); - updateAlarms(equipment); updateAnalogs(equipment); + updateReturnAirTempAlarms(equipment); + updateSupplyAirTempAlarms(equipment); + updateReturnHumidityAlarms(equipment); + updateAlarms(equipment); // Check to see if Leak Detect alarm is active (only alarm which will make unit FAIL and turn off) --> Send to FailState bool leakDetect = getPointValue(equipment, "Alarm Leak Detect"); diff --git a/src/BMS/CRAH/CRAH_UMAS_TCP/config.h b/src/BMS/CRAH/CRAH_UMAS_TCP/config.h index 93fc80a..647caea 100644 --- a/src/BMS/CRAH/CRAH_UMAS_TCP/config.h +++ b/src/BMS/CRAH/CRAH_UMAS_TCP/config.h @@ -23,7 +23,7 @@ #include const char *ssid = "ArduinoWifiB"; /**< @brief The SSID of the WiFi network. */ const char *password = "123abc456"; /**< @brief The password for the WiFi network. */ - IPAddress local_IP(172, 17, 32, 10); /**< @brief The static IP address for the device. */ + IPAddress local_IP(172, 17, 32, 11); /**< @brief The static IP address for the device. */ IPAddress gateway(172, 17, 32, 1); /**< @brief The gateway IP address. */ IPAddress subnet(255, 255, 255, 0); /**< @brief The subnet mask. */ @@ -59,27 +59,42 @@ modbusMap mb_map[] = { {COIL, 0, 0, "ON/OFF Command By BMS"}, // Receive signal from PLC - {COIL, 1, 0, "Alarm Fan 1 ON"}, // Just for Arduino testing. Sets Alarm Fan 1 to 1. - {COIL, 2, 0, "Alarm Fan 2 ON"}, // Just for Arduino testing. Sets Alarm Fan 2 to 1. - {COIL, 3, 0, "Alarm Dirty Filter ON"}, // Just for Arduino testing. Sets Alarm Dirty Filter to 1. - {COIL, 4, 0, "Alarm Leak Detect ON"}, // Just for Arduino testing. Sets Alarm Fan 1 to 1. - {COIL, 5, 0, "RA Temp Low Alarm ON"}, // Just for Arduino testing. Sets RA Temp to 68F (low alarm) - {COIL, 6, 0, "RA Temp High Alarm ON"}, // Just for Arduino testing. Sets RA Temp to 104F (high alarm) - {COIL, 7, 0, "RA Humidity Low Alarm ON"}, // Just for Arduino testing. Sets RA Humidity to 15% (low alarm) - {COIL, 8, 0, "RA Humidity High Alarm ON"}, // Just for Arduino testing. Sets RA Humidity to 65% (high alarm) - {COIL, 9, 0, "Alarm Fan 3 ON"}, // Just for Arduino testing. Sets Alarm Fan 3 to 1. - {COIL, 10, 0, "Alarm Fan 4 ON"}, // Just for Arduino testing. Sets Alarm Fan 4 to 1. - {COIL, 11, 0, "Alarm Fan 5 ON"}, // Just for Arduino testing. Sets Alarm Fan 5 to 1. - {COIL, 12, 0, "Alarm Fan 6 ON"}, // Just for Arduino testing. Sets Alarm Fan 6 to 1. - {COIL, 13, 0, "Alarm Fan 7 ON"}, // Just for Arduino testing. Sets Alarm Fan 7 to 1. - {COIL, 14, 0, "Alarm Fan 8 ON"}, // Just for Arduino testing. Sets Alarm Fan 8 to 1. - {COIL, 15, 0, "Alarm Fan 9 ON"}, // Just for Arduino testing. Sets Alarm Fan 9 to 1. - {COIL, 16, 0, "Alarm Condensate Pump ON"}, // Just for Arduino testing. Sets Alarm Condensate Pump to 1. - {COIL, 17, 0, "Alarm Fire ON"}, // Just for Arduino testing. Sets Alarm Fire to 1. - {COIL, 18, 0, "Alarm Smoke ON"}, // Just for Arduino testing. Sets Alarm Smoke to 1. + {COIL, 1, 0, "Alarm Dirty Filter ON"}, // Just for Arduino testing. Sets Alarm Dirty Filter to 1. + {COIL, 2, 0, "Alarm Leak Detect ON"}, // Just for Arduino testing. Sets Alarm Fan 1 to 1. + + {COIL, 3, 0, "Alarm Fan 1 ON"}, // Just for Arduino testing. Sets Alarm Fan 1 to 1. + {COIL, 4, 0, "Alarm Fan 2 ON"}, // Just for Arduino testing. Sets Alarm Fan 2 to 1. + {COIL, 5, 0, "Alarm Fan 3 ON"}, // Just for Arduino testing. Sets Alarm Fan 3 to 1. + {COIL, 6, 0, "Alarm Fan 4 ON"}, // Just for Arduino testing. Sets Alarm Fan 4 to 1. + {COIL, 7, 0, "Alarm Fan 5 ON"}, // Just for Arduino testing. Sets Alarm Fan 5 to 1. + {COIL, 8, 0, "Alarm Fan 6 ON"}, // Just for Arduino testing. Sets Alarm Fan 6 to 1. + {COIL, 9, 0, "Alarm Fan 7 ON"}, // Just for Arduino testing. Sets Alarm Fan 7 to 1. + {COIL, 10, 0, "Alarm Fan 8 ON"}, // Just for Arduino testing. Sets Alarm Fan 8 to 1. + {COIL, 11, 0, "Alarm Fan 9 ON"}, // Just for Arduino testing. Sets Alarm Fan 9 to 1. + {COIL, 12, 0, "Alarm Condensate Pump ON"}, // Just for Arduino testing. Sets Alarm Condensate Pump to 1. + {COIL, 13, 0, "Alarm Fire ON"}, // Just for Arduino testing. Sets Alarm Fire to 1. + {COIL, 14, 0, "Alarm Smoke ON"}, // Just for Arduino testing. Sets Alarm Smoke to 1. + + {COIL, 15, 0, "RA Temp Low Alarm ON"}, // Just for Arduino testing. Sets RA Temp to 68F (low alarm) + {COIL, 16, 0, "RA Temp NORMAL"}, // Just for Arduino testing. Sets RA Temp to 68F (low alarm) + {COIL, 17, 0, "RA Temp High Alarm ON"}, // Just for Arduino testing. Sets RA Temp to 104F (high alarm) + + {COIL, 18, 0, "SA Temp Low Alarm ON"}, // Just for Arduino testing. Sets RA Temp to 68F (low alarm) + {COIL, 19, 0, "SA Temp NORMAL"}, // Just for Arduino testing. Sets RA Temp to 68F (low alarm) + {COIL, 20, 0, "SA Temp High Alarm ON"}, // Just for Arduino testing. Sets RA Temp to 104F (high alarm) + + {COIL, 21, 0, "RA Humidity Low Alarm ON"}, // Just for Arduino testing. Sets RA Humidity to 15% (low alarm) + {COIL, 22, 0, "RA Humidity NORMAL"}, // Just for Arduino testing. Sets RA Temp to 68F (low alarm) + {COIL, 23, 0, "RA Humidity High Alarm ON"}, // Just for Arduino testing. Sets RA Humidity to 65% (high alarm) {DI, 4, 0, "Alarm Leak Detect"}, {DI, 5, 0, "Alarm Dirty Filter"}, + {DI, 6, 0, "Alarm High Return Air Temp"}, // suggested default 100, operator inputs High RA Temp SP for alarm limit + {DI, 7, 0, "Alarm Low Return Air Temp"}, // suggested default 72, operator inputs Low RA Temp SP for alarm limit + {DI, 8, 0, "Alarm High Supply Temp"}, // suggested default 78, operator inputs High SA Temp SP for alarm limit + {DI, 9, 0, "Alarm Low Supply Temp"}, // suggested default 72, operator inputs Low SA Temp SP for alarm limit + {DI, 10, 0, "Alarm High Return Humidity"}, // suggested default 60, operator inputs High Return Humidity SP for alarm limit + {DI, 11, 0, "Alarm Low Return Humidity"}, // suggested default 20, operator inputs Low Return Humidity SP for alarm limit {DI, 12, 0, "Common Alarm"}, // Send to PLC {DI, 14, 0, "Alarm Condensate Pump"}, {DI, 15, 0, "Alarm Smoke"}, @@ -137,12 +152,12 @@ modbusMap mb_map[] = {IR_FLOAT, 77, 0, "Amps Fan 8"}, {IR_FLOAT, 79, 0, "Amps Fan 9"}, - {HR_FLOAT, 1, 0, "High Return Air Temp Setpoint"}, // default: 100, set locally on unit - {HR_FLOAT, 3, 0, "Low Return Air Temp Setpoint"}, // default: 72, set locally on unit - {HR_FLOAT, 5, 0, "High Supply Air Temp Setpoint"}, // default: 78, set locally on unit - {HR_FLOAT, 7, 0, "Low Return Air Temp Setpoint"}, // default: 72, set locally on unit - {HR_FLOAT, 9, 0, "High Return Humidity Setpoint"}, // default: 60, set locally on unit - {HR_FLOAT, 11, 0, "Low Return Humidity Setpoint"}, // default: 20, set locally on unit + {HR_FLOAT, 1, 100, "Return Air Temp Alarm High SP"}, // default: 100, set locally on unit + {HR_FLOAT, 3, 72, "Return Air Temp Alarm Low SP"}, // default: 72, set locally on unit + {HR_FLOAT, 5, 78, "Supply Air Temp Alarm High SP"}, // default: 78, set locally on unit + {HR_FLOAT, 7, 72, "Supply Air Temp Alarm Low SP"}, // default: 72, set locally on unit + {HR_FLOAT, 9, 60, "Return Humidity Alarm High SP"}, // default: 60, set locally on unit + {HR_FLOAT, 11, 20, "Return Humidity Alarm Low SP"}, // default: 20, set locally on unit {HR_FLOAT, 13, 0, "Fan Speed Setpoint"}, // Receive signal from PLC {HR_FLOAT, 17, 0, "Supply Air Temp Setpoint"}, // Receive signal from PLC {HR_FLOAT, 19, 0, "Return Air Temp Setpoint"}, // set locally on unit