blockAlarms
Zone level alarms
Information
This block outputs zone alarms. The implementation is according to the ASHRAE Guideline 36, Section 5.3.6.
Zone temperature alarm
-
High-temperature alarm
-
If the zone temperature
TZonis 2 °C (3 °F) above the cooling setpointTCooSetfor 10 minutes (timChe), generate Level 3 alarm. -
If the zone temperature
TZonis 3 °C (5 °F) above the cooling setpointTCooSetfor 10 minutes (timChe), generate Level 2 alarm.
-
If the zone temperature
-
Low-temperature alarm
-
If the zone temperature
TZonis 2 °C (3 °F) below the heating setpointTHeaSetfor 10 minutes (timChe), generate Level 3 alarm. -
If the zone temperature
TZonis 3 °C (5 °F) below the heating setpointTHeaSetfor 10 minutes (timChe), generate Level 2 alarm.
-
If the zone temperature
-
Suppress zone temperature alarms as follows:
-
After zone setpoint is changed per Section 5.1.20 of Guideline 36,
uResSet=true. - While zone group is in warm-up or cooldown modes.
-
After zone setpoint is changed per Section 5.1.20 of Guideline 36,
For zones with CO2 sensors:
-
If the CO2 concentration
ppmCO2is less than 300 ppm, or the zone is in unoccupied mode for more than 2 hours (modChe) and zone CO2 concentration exceeds 600 ppm, generate a Level 3 alarm. The alarm text shall identify the sensor and indicate that it may be out of calibration. -
If the CO2 concentration exceeds setpoint (
CO2Set) plus 10% for more than 10 minutes (timChe), generate a Level 2 alarm.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | timChe | 600 | Threshold time to check temperature difference |
| CO2 concentration alarm | |||
| Boolean | have_CO2Sen | false | True: the zone has CO2 sensor |
| Real | modChe | 7200 | Threshold time to check unoccupied time |
| Real | CO2Set | 894 | CO2 setpoint in ppm |
| Advanced | |||
| Real | dTHys | 0.25 | Delta between the temperature hysteresis high and low limit |
| Real | ppmHys | 25 | Hysteresis to check CO2 concentration |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TZon | Measured zone temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TCooSet | Zone cooling setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | THeaSet | Zone heating setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1ResSet | True: zone setpoint temperature is being resetted | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | uOpeMod | AHU operation mode status signal | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | ppmCO2 | Measured CO2 concentration | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yTemAla | Zone temperature alarm | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yCO2Ala | CO2 concentration alarm | |
| Buildings.Controls.OBC.CDL.Reals.Subtract | lowTem | Zone temperature below the heating setpoint | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | twoDegLow | Check if the zone temperature is 2 degC lower than the heating setpoint | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | thrDegLow | Check if the zone temperature is 3 degC lower than the heating setpoint | |
| Buildings.Controls.OBC.CDL.Reals.Subtract | higTem | Zone temperature above the cooling setpoint | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | twoDegHig | Check if the zone temperature is 2 degC higher than the cooling setpoint | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | thrDegHig | Check if the zone temperature is 3 degC higher than the cooling setpoint | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | higTemAla3 | Level 3 high temperature alarm | |
| Buildings.Controls.OBC.CDL.Logical.Not | not1 | Logical not | |
| Buildings.Controls.OBC.CDL.Logical.Not | notSupTemAla | Do not suppress temperature alarms | |
| Buildings.Controls.OBC.CDL.Logical.And | and2 | Check if alarms should be generated | |
| Buildings.Controls.OBC.CDL.Logical.And | and1 | Check if alarms should be generated | |
| Buildings.Controls.OBC.CDL.Logical.And | and3 | Check if alarms should be generated | |
| Buildings.Controls.OBC.CDL.Logical.And | and4 | Check if alarms should be generated | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger | booToInt | Level 3 high temperature alarm | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger | booToInt2 | Level 3 low temperature alarm | |
| Buildings.Controls.OBC.CDL.Integers.Equal | levThrHig | Check if generating level 3 high temperature alarm | |
| Buildings.Controls.OBC.CDL.Integers.Sources.Constant | levTwo | Level 2 alarm | |
| Buildings.Controls.OBC.CDL.Integers.Sources.Constant | levThr | Level 3 alarm | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | higTemAla2 | Level 2 high temperature alarm | |
| Buildings.Controls.OBC.CDL.Logical.Not | not2 | Logical not | |
| Buildings.Controls.OBC.CDL.Integers.Equal | levTwoHig | Check if generating level 2 high temperature alarm | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | lowTemAla3 | Level 3 low temperature alarm | |
| Buildings.Controls.OBC.CDL.Logical.Not | not3 | Logical not | |
| Buildings.Controls.OBC.CDL.Integers.Equal | levThrLow | Check if generating level 3 low temperature alarm | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | lowTemAla2 | Level 2 low temperature alarm | |
| Buildings.Controls.OBC.CDL.Logical.Not | not4 | Logical not | |
| Buildings.Controls.OBC.CDL.Integers.Equal | levTwoLow | Check if generating level 2 low temperature alarm | |
| Buildings.Controls.OBC.CDL.Reals.LessThreshold | lesThr | Check if the CO2 concentration is less than threshold | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | greThr | Check if the CO2 concentration is greater than threshold | |
| Buildings.Controls.OBC.CDL.Logical.And | and5 | Check if it has been in unoccupied mode for long time and CO2 concentration exceeds threshold | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | lowTemAla4 | Level 3 CO2 alarm | |
| Buildings.Controls.OBC.CDL.Logical.Not | not5 | Logical not | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | greThr1 | Check if the CO2 concentration exceeds setpoint plus 10% | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger | booToInt4 | Level 3 CO2 concentration alarm | |
| Buildings.Controls.OBC.CDL.Logical.Not | not6 | Logical not | |
| Buildings.Controls.OBC.CDL.Logical.And | and6 | Check if it has been in unoccupied mode for long time and CO2 concentration exceeds threshold | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger | booToInt5 | Level 2 CO2 concentration alarm | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | lowTemAla5 | Level 2 CO2 alarm | |
| Buildings.Controls.OBC.CDL.Integers.Add | temAla | Zone temperature alarm | |
| Buildings.Controls.OBC.CDL.Integers.Add | co2Ala | CO2 concentration alarm | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | tenMinDur | Check if it has been over threshold time | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | tenMinDur1 | Check if it has been over threshold time | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | tenMinDur2 | Check if it has been over threshold time | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | tenMinDur3 | Check if it has been over threshold time | |
| Buildings.Controls.OBC.CDL.Integers.Sources.Constant | cooDowMod | Cool down mode | |
| Buildings.Controls.OBC.CDL.Integers.Sources.Constant | warUpMod | Warm-up mode | |
| Buildings.Controls.OBC.CDL.Integers.Equal | intEqu3 | Check if current operation mode is setback mode | |
| Buildings.Controls.OBC.CDL.Integers.Equal | intEqu4 | Check if current operation mode is warmup mode | |
| Buildings.Controls.OBC.CDL.Logical.Or | or2 | Cooldown or warm-up mode | |
| Buildings.Controls.OBC.CDL.Logical.Or | or1 | Check if the zone temperature alarms should be suppressed | |
| Buildings.Controls.OBC.CDL.Integers.Equal | intEqu1 | Check if current operation mode is warmup mode | |
| Buildings.Controls.OBC.CDL.Integers.Sources.Constant | unoMod | Unoccupied mode | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | twoHou | Check if it has been in unoccupied mode by threshold time | |
| Buildings.Controls.OBC.CDL.Logical.Or | or3 | Check if should generate level 3 alarm | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | tenMinDur4 | Check if it has been over threshold time | |
| Buildings.Controls.OBC.CDL.Integers.Switch | higTemAla | High temperature alarms | |
| Buildings.Controls.OBC.CDL.Integers.Switch | lowTemAla | Low temperature alarms |
Revisions
-
August 1, 2020, by Jianjun Hu:
First implementation.