## Introduction to Operational Faults Modeling[LINK]

Most of the buildings, either new or old, have operational faults in the sensors, controllers, meters, equipment and systems. Being able to model and simulate these faults and their impact on energy performance of buildings is crucial to improve accuracy of building simulations and to support the retrofit of buildings.

To date, the main practitioner use of EnergyPlus has been for new construction design. With the new high priority attached by USDOE to retrofit and improved operation of existing buildings, there is a need to extend the capabilities of EnergyPlus to model existing buildings, including faulty operation:

Retrofit analysis: starts with calibrated simulation; the ability to estimate the severity of common faults is expected to improve the accuracy and transparency of the calibrated model and hence the increase accuracy of the analysis of different retrofit measures.

Commissioning providers can use the fault models to demonstrate the saving to be expected from fixing faults found in retro-commissioning

Support for building operation by using the calibrated model, including unfixed faults, as a real-time reference model to detect, and verify the diagnosis of, newly occurring faults.

The users in these cases are practitioners, not power users, so it is needed to implement the fault models using conventional EnergyPlus objects rather than the EMS, which, in any case, could only be used to model limited types of faults.

EnergyPlus contains a number of objects to model operational faults of sensors, meters, equipment and systems. The current implementation allows the model of sensors faults with air economizers.

The objects used by EnergyPlus to model sensors faults in an air economizer are as follows:

This object defines the offset of an outdoor air dry-bulb temperature sensor that is used to determine applicability of an air economizer.

This is the user-defined name of the fault.

This field provides the name of a schedule that will determine if this fault is applicable. When a fault is not applicable it is not modeled in the simulations. When it is applicable, then a user-defined sensor offset and a severity schedule will be applied. This schedule should be set to “1.0” when a fault is applicable and “0.0” when it is not. If this field is blank, the schedule has values of 1 for all time periods.

This field provides the name of a schedule that represents severity of a fault. This is used as a multiplier to the user-defined temperature offset. This schedule should be set to a non-zero value when a fault is applicable and “0.0” when it is not. If this field is blank, the schedule has values of 1 for all time periods.

This field defines the controller object type that this fault is associated with. Choices are from a list of applicable controller types. Current implementation supports air economizer – the choice is Controller:OutdoorAir.

This field defines the name of the controller object associated with the fault. It should be one of the objects with the defined types.

This field defines the offset of the temperature sensor. A positive value means the sensor reads a temperature that is higher than the real value. A negative value means the sensor reads a temperature that is lower than the real value. A “0.0” value means no offset. Default is 0.0. The units are in degrees Celsius.

This object defines the offset of an outdoor air humidity sensor that is used to determine applicability of an air economizer.

This is the user-defined name of the fault.

This field provides the name of a schedule that will determine if this fault is applicable. When a fault is not applicable it is not modeled in the simulations. When it is applicable, then a user-defined sensor offset and a severity schedule will be applied. This schedule should be set to “1.0” when a fault is applicable and “0.0” when it is not. If this field is blank, the schedule has values of 1 for all time periods.

This field provides the name of a schedule that represents severity of a fault. This is used as a multiplier to the user-defined temperature offset. This schedule should be set to a non-zero value when a fault is applicable and “0.0” when it is not. If this field is blank, the schedule has values of 1 for all time periods.

This field defines the controller object type that this fault is associated with. Choices are from a list of applicable controller types. Current implementation supports air economizer – the choice is Controller:OutdoorAir.

This field defines the name of the controller object associated with the fault. It should be one of the objects with the defined types.

This field defines the offset of the humidity ratio sensor. A positive value means the sensor reads a humidity ratio that is higher than the real value. A negative value means the sensor reads a humidity ratio that is lower than the real value. A “0.0” value means no offset. Default is 0.0. The units are in kgWater/kgDryAir.

This object defines the offset of an outdoor enthalpy sensor that is used to determine applicability of an air economizer.

This is the user-defined name of the fault.

This field provides the name of a schedule that will determine if this fault is applicable. When a fault is not applicable it is not modeled in the simulations. When it is applicable, then a user-defined sensor offset and a severity schedule will be applied. This schedule should be set to “1.0” when a fault is applicable and “0.0” when it is not. If this field is blank, the schedule has values of 1 for all time periods.

This field provides the name of a schedule that represents severity of a fault. This is used as a multiplier to the user-defined temperature offset. This schedule should be set to a non-zero value when a fault is applicable and “0.0” when it is not. If this field is blank, the schedule has values of 1 for all time periods.

This field defines the controller object type that this fault is associated with. Choices are from a list of applicable controller types. Current implementation supports air economizer – the choice is Controller:OutdoorAir.

This field defines the name of the controller object associated with the fault. It should be one of the objects with the defined types.

This field defines the offset of the enthalpy sensor. A positive value means the sensor reads an enthalpy that is higher than the real value. A negative value means the sensor reads an enthalpy that is lower than the real value. A “0.0” value means no offset. Default is 0.0. The units are in J/kg.

This object defines the offset of a return air dry-bulb temperature sensor that is used to determine applicability of an air economizer.

This is the user-defined name of the fault.

This field provides the name of a schedule that will determine if this fault is applicable. When a fault is not applicable it is not modeled in the simulations. When it is applicable, then a user-defined sensor offset and a severity schedule will be applied. This schedule should be set to “1.0” when a fault is applicable and “0.0” when it is not. If this field is blank, the schedule has values of 1 for all time periods.

This field provides the name of a schedule that represents severity of a fault. This is used as a multiplier to the user-defined temperature offset. This schedule should be set to a non-zero value when a fault is applicable and “0.0” when it is not. If this field is blank, the schedule has values of 1 for all time periods.

This field defines the controller object type that this fault is associated with. Choices are from a list of applicable controller types. Current implementation supports air economizer – the choice is Controller:OutdoorAir.

This field defines the name of the controller object associated with the fault. It should be one of the objects with the defined types.

This field defines the offset of the temperature sensor. A positive value means the sensor reads a temperature that is higher than the real value. A negative value means the sensor reads a temperature that is lower than the real value. A “0.0” value means no offset. Default is 0.0. The units are in degrees Celsius.

This object defines the offset of a return air enthalpy sensor that is used to determine applicability of an air economizer.

This is the user-defined name of the fault.

This field provides the name of a schedule that will determine if this fault is applicable. When a fault is not applicable it is not modeled in the simulations. When it is applicable, then a user-defined sensor offset and a severity schedule will be applied. This schedule should be set to “1.0” when a fault is applicable and “0.0” when it is not. If this field is blank, the schedule has values of 1 for all time periods.

This field provides the name of a schedule that represents severity of a fault. This is used as a multiplier to the user-defined temperature offset. This schedule should be set to a non-zero value when a fault is applicable and “0.0” when it is not. If this field is blank, the schedule has values of 1 for all time periods.

This field defines the controller object type that this fault is associated with. Choices are from a list of applicable controller types. Current implementation supports air economizer – the choice is Controller:OutdoorAir.

This field defines the name of the controller object associated with the fault. It should be one of the objects with the defined types.

This field defines the offset of the enthalpy sensor. A positive value means the sensor reads an enthalpy that is higher than the real value. A negative value means the sensor reads an enthalpy that is lower than the real value. A “0.0” value means no offset. Default is 0.0. The units are in J/kg.

IDF examples:

! example faults for an air economizer

Schedule:Compact,
OATSeveritySch,          !- Name
On/Off,                  !- Schedule Type Limits Name
Through: 6/30,           !- Field 1
For: AllDays,            !- Field 2
Until: 24:00,0,          !- Field 3
Through: 12/31,          !- Field 4
For: AllDays,            !- Field 5
Until: 24:00,1;          !- Field 6

FaultModel:TemperatureSensorOffset:OutdoorAir,
OATFault,                 !- Name
ALWAYS_ON,                !- Availability Schedule Name
OATSeveritySch,           !- Severity Schedule Name
Controller:OutdoorAir,    !- Controller Object Type
VAV_1_OA_Controller,      !- Controller Object Name
-2.0;                      !- Temperature Sensor Offset, deg C

FaultModel:TemperatureSensorOffset:ReturnAir,
RATFault,                 !- Name
,                         !- Availability Schedule Name
,                         !- Severity Schedule Name
Controller:OutdoorAir,    !- Controller Object Type
VAV_2_OA_Controller,      !- Controller Object Name
-2.0;                     !- Temperature Sensor Offset, deg C

FaultModel:EnthalpySensorOffset:ReturnAir,
RAHFault,                 !- Name
,                         !- Availability Schedule Name
,                         !- Severity Schedule Name
Controller:OutdoorAir,    !- Controller Object Type
VAV_2_OA_Controller,      !- Controller Object Name
-2000;                    !- Enthalpy Sensor Offset, J/Kg