updates from EG CRAH
This commit is contained in:
@@ -53,46 +53,34 @@ void updateControlMode(Equipment<ModbusIP>* equipment){
|
|||||||
equipment->setModbus_Point("Control Mode Selected", Control_Mode_Selected);
|
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<ModbusIP>* equipment){
|
void updateAnalogs(Equipment<ModbusIP>* equipment){
|
||||||
if (equipment->getModbus_Point("RA Temp NORMAL")->getValue()==1){
|
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 Low Alarm ON", 0);
|
||||||
equipment->setModbus_Point("RA Temp High Alarm ON", 0);
|
equipment->setModbus_Point("RA Temp High Alarm ON", 0);
|
||||||
equipment->setModbus_Point("RA Temp NORMAL", 0);
|
equipment->setModbus_Point("RA Temp NORMAL", 0);
|
||||||
}
|
}
|
||||||
else if (equipment->getModbus_Point("RA Temp Low Alarm ON")->getValue() ==1){
|
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);
|
equipment->setModbus_Point("RA Temp High Alarm ON", 0);
|
||||||
}
|
}
|
||||||
else if (equipment->getModbus_Point("RA Temp High Alarm ON")->getValue()==1){
|
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);
|
equipment->setModbus_Point("RA Temp Low Alarm ON", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (equipment->getModbus_Point("RA Humidity NORMAL")->getValue()==1){
|
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 Low Alarm ON", 0);
|
||||||
equipment->setModbus_Point("RA Humidity High Alarm ON", 0);
|
equipment->setModbus_Point("RA Humidity High Alarm ON", 0);
|
||||||
equipment->setModbus_Point("RA Humidity NORMAL", 0);
|
equipment->setModbus_Point("RA Humidity NORMAL", 0);
|
||||||
}
|
}
|
||||||
else if (equipment->getModbus_Point("RA Humidity Low Alarm ON")->getValue()==1){
|
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);
|
equipment->setModbus_Point("RA Humidity High Alarm ON", 0);
|
||||||
}
|
}
|
||||||
else if (equipment->getModbus_Point("RA Humidity High Alarm ON")->getValue()==1){
|
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);
|
equipment->setModbus_Point("RA Humidity Low Alarm ON", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,32 +105,18 @@ void updateReturnAirTempAlarms(Equipment<ModbusIP>* equipment){
|
|||||||
Modbus_Point<ModbusIP>* returnAirTemp = equipment -> getModbus_Point("Return Air Temp");
|
Modbus_Point<ModbusIP>* returnAirTemp = equipment -> getModbus_Point("Return Air Temp");
|
||||||
Modbus_Point<ModbusIP>* returnTempHighAlarmSP = equipment->getModbus_Point("Return Air Temp Alarm High SP");
|
Modbus_Point<ModbusIP>* returnTempHighAlarmSP = equipment->getModbus_Point("Return Air Temp Alarm High SP");
|
||||||
Modbus_Point<ModbusIP>* returnTempLowAlarmSP = equipment->getModbus_Point("Return Air Temp Alarm Low SP");
|
Modbus_Point<ModbusIP>* returnTempLowAlarmSP = equipment->getModbus_Point("Return Air Temp Alarm Low SP");
|
||||||
//Modbus_Point<ModbusIP>* returnTempHighAlarm = equipment->getModbus_Point("Alarm High Return Air Temp");
|
|
||||||
//Modbus_Point<ModbusIP>* 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()) {
|
if (returnAirTemp->getValue() < returnTempLowAlarmSP->getValue()) {
|
||||||
equipment->setModbus_Point("Alarm Low Return Air Temp", 1);
|
equipment->setModbus_Point("Alarm Low Return Air Temp", 1);
|
||||||
equipment->setModbus_Point("Alarm High Return Air Temp", 0);
|
equipment->setModbus_Point("Alarm High Return Air Temp", 0);
|
||||||
//returnTempHighAlarm->setValue(1);
|
|
||||||
}
|
}
|
||||||
else if (returnAirTemp->getValue() > returnTempHighAlarmSP->getValue()) {
|
else if (returnAirTemp->getValue() > returnTempHighAlarmSP->getValue()) {
|
||||||
equipment->setModbus_Point("Alarm High Return Air Temp", 1);
|
equipment->setModbus_Point("Alarm High Return Air Temp", 1);
|
||||||
equipment->setModbus_Point("Alarm Low Return Air Temp", 0);
|
equipment->setModbus_Point("Alarm Low Return Air Temp", 0);
|
||||||
//returnTempLowAlarm->setValue(1);
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
equipment->setModbus_Point("Alarm High Return Air Temp", 0);
|
equipment->setModbus_Point("Alarm High Return Air Temp", 0);
|
||||||
equipment->setModbus_Point("Alarm Low 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<ModbusIP>* equipment){
|
|||||||
Modbus_Point<ModbusIP>* supplyTempHighAlarmSP = equipment->getModbus_Point("Supply Air Temp Alarm High SP");
|
Modbus_Point<ModbusIP>* supplyTempHighAlarmSP = equipment->getModbus_Point("Supply Air Temp Alarm High SP");
|
||||||
Modbus_Point<ModbusIP>* supplyTempLowAlarmSP = equipment->getModbus_Point("Supply Air Temp Alarm Low SP");
|
Modbus_Point<ModbusIP>* 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()) {
|
if (supplyAirTemp->getValue() > supplyTempHighAlarmSP->getValue()) {
|
||||||
equipment->setModbus_Point("Alarm High Supply Temp", 1);
|
equipment->setModbus_Point("Alarm High Supply Temp", 1);
|
||||||
equipment->setModbus_Point("Alarm Low Supply Temp", 0);
|
equipment->setModbus_Point("Alarm Low Supply Temp", 0);
|
||||||
@@ -181,16 +145,6 @@ void updateReturnHumidityAlarms(Equipment<ModbusIP>* equipment){
|
|||||||
Modbus_Point<ModbusIP>* returnHumHighAlarmSP = equipment->getModbus_Point("Return Humidity Alarm High SP");
|
Modbus_Point<ModbusIP>* returnHumHighAlarmSP = equipment->getModbus_Point("Return Humidity Alarm High SP");
|
||||||
Modbus_Point<ModbusIP>* returnHumLowAlarmSP = equipment->getModbus_Point("Return Humidity Alarm Low SP");
|
Modbus_Point<ModbusIP>* 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()) {
|
if (returnHumidity->getValue() > returnHumHighAlarmSP->getValue()) {
|
||||||
equipment->setModbus_Point("Alarm High Return Humidity", 1);
|
equipment->setModbus_Point("Alarm High Return Humidity", 1);
|
||||||
equipment->setModbus_Point("Alarm Low Return Humidity", 0);
|
equipment->setModbus_Point("Alarm Low Return Humidity", 0);
|
||||||
@@ -251,6 +205,8 @@ void updateAlarms(Equipment<ModbusIP>* equipment){
|
|||||||
if (alarmAnalogPoint->getValue() == 1) numAlarms++;
|
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);
|
if (numAlarms >= 1) equipment->setModbus_Point("Common Alarm", 1);
|
||||||
else equipment->setModbus_Point("Common Alarm", 0);
|
else equipment->setModbus_Point("Common Alarm", 0);
|
||||||
}
|
}
|
||||||
@@ -34,7 +34,6 @@ class State;
|
|||||||
* @return The selected control mode (int).
|
* @return The selected control mode (int).
|
||||||
*/
|
*/
|
||||||
void updateControlMode(Equipment<ModbusIP>* equipment);
|
void updateControlMode(Equipment<ModbusIP>* equipment);
|
||||||
|
|
||||||
void updateAnalogs(Equipment<ModbusIP>* equipment);
|
void updateAnalogs(Equipment<ModbusIP>* equipment);
|
||||||
void updateReturnAirTempAlarms(Equipment<ModbusIP>* equipment);
|
void updateReturnAirTempAlarms(Equipment<ModbusIP>* equipment);
|
||||||
void updateSupplyAirTempAlarms(Equipment<ModbusIP>* equipment);
|
void updateSupplyAirTempAlarms(Equipment<ModbusIP>* equipment);
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ FailState<ModbusIP>::FailState(const std::vector<std::string>& activeAlarms) {
|
|||||||
addStrategy("CW Valve Position", new RampStrategy(0.0f, 5.0f, 1000));
|
addStrategy("CW Valve Position", new RampStrategy(0.0f, 5.0f, 1000));
|
||||||
addStrategy("Supply Air Temp", new SingleValueStrategy(74.0f, 1.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 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 1", new RampStrategy(0.0f, 300.0f, 1000));
|
||||||
addStrategy("Speed Fan 2", 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));
|
addStrategy("Speed Fan 3", new RampStrategy(0.0f, 300.0f, 1000));
|
||||||
|
|||||||
@@ -71,9 +71,9 @@ RunningState<ModbusIP>::RunningState() {
|
|||||||
addStrategy("Operating Hours Fan 7", new TotalizerStrategy(1000));
|
addStrategy("Operating Hours Fan 7", new TotalizerStrategy(1000));
|
||||||
addStrategy("Operating Hours Fan 8", new TotalizerStrategy(1000));
|
addStrategy("Operating Hours Fan 8", new TotalizerStrategy(1000));
|
||||||
addStrategy("Operating Hours Fan 9", 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("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 Air Humidity", new SawStrategy(25.0f, 40.0f, 1.1f, 1000));
|
addStrategy("Return Humidity", new SawStrategy(25.0f, 35.0f, 0.2f, 1000));
|
||||||
addStrategy("Return Air Temp", new SawStrategy(84.0f, 87.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("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("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));
|
addStrategy("CRAH Heartbeat", new SawStrategy(0.0f, 60.0f, 1.0f, 1000));
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ StandbyState<ModbusIP>::StandbyState() {
|
|||||||
addStrategy("CW Valve Position", new RampStrategy(0.0f, 5.0f, 1000));
|
addStrategy("CW Valve Position", new RampStrategy(0.0f, 5.0f, 1000));
|
||||||
addStrategy("Supply Air Temp", new SingleValueStrategy(76.0f, 1.0f, 2000));
|
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 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 1", new RampStrategy(0.0f, 300.0f, 1000));
|
||||||
addStrategy("Speed Fan 2", 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));
|
addStrategy("Speed Fan 3", new RampStrategy(0.0f, 300.0f, 1000));
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ modbusMap mb_map[] =
|
|||||||
{DI, 16, 0, "Alarm Fire"},
|
{DI, 16, 0, "Alarm Fire"},
|
||||||
|
|
||||||
{IR_FLOAT, 1, 0, "Supply Air Temp"},
|
{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, 5, 0, "Return Air Temp"}, // Send to PLC
|
||||||
{IR_FLOAT, 7, 0, "Filter Differential Pressure"}, // sawStrategy between 0 and 5
|
{IR_FLOAT, 7, 0, "Filter Differential Pressure"}, // sawStrategy between 0 and 5
|
||||||
{IR_FLOAT, 9, 0, "CW Valve Position"},
|
{IR_FLOAT, 9, 0, "CW Valve Position"},
|
||||||
|
|||||||
Reference in New Issue
Block a user