blockAlarms
Information
This block outputs alarms of terminal unit with reheat. The implementation is according to the Section 5.6.6 of ASHRAE Guideline 36, May 2020.
Low airflow
-
If the zone is in occupied mode and after the AHU supply fan has been enabled for
staTim, if the measured airflowVDis_flowis less than 70% of setpointVActSet_flowfor 5 minutes (lowFloTim) while the setpoint is greater than zero, generate a Level 3 alarm. -
If the zone is in occupied mode and after the AHU supply fan has been enabled for
staTim, if the measured airflowVDis_flowis less than 50% of setpointVActSet_flowfor 5 minutes (lowFloTim) while the setpoint is greater than zero, generate a Level 2 alarm. -
If a zone has an importance multiplier (
staPreMul) of 0 for its static pressure reset Trim-Respond control loop, low airflow alarms shall be suppressed for that zone.
Low-discharging air temperature
-
If the zone is in occupied mode
and if heating hot-water plant is proven on (
u1HotPla=true), and the discharge temperature (TDis) is 8 °C (15 °F) less than the setpoint (TDisSet) for 10 minuts (lowTemTim), generate a Level 3 alarm. -
If the zone is in occupied mode
and if heating hot-water plant is proven on (
u1HotPla=true), and the discharge temperature (TDis) is 17 °C (30 °F) less than the setpoint (TDisSet) for 10 minuts (lowTemTim), generate a Level 2 alarm. -
If a zone has an importance multiplier (
hotWatRes) of 0 for its hot-water reset Trim-Respond control loop, low discharing air temperature alarms shall be suppressed for that zone.
Airflow sensor calibration
If the fan serving the zone has been OFF (u1Fan=false) for 10 minutes
(fanOffTim), and airflow sensor reading VDis_flow
is above 10% of the cooling maximum airflow setpoint VCooMax_flow,
generate a Level 3 alarm.
Leaking damper
If the damper position (uDam) is 0% and airflow sensor reading
VDis_flow is above 10% of the cooling maximum airflow setpoint
VCooMax_flow for 10 minutes (leaFloTim) while the
fan serving the zone is proven on (u1Fan=true), generate a Level
4 alarm.
Leaking valve
If the valve position (uVal) is 0% for 15 minutes (valCloTim),
discharing air temperature TDis is above AHU supply temperature
TSup by 3 °C (5 °F), and the fan serving the zone is proven
on (u1Fan=true), gemerate a Level 4 alarm.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.ASHRAE.G36.Types.HeatingCoil | heaCoi | Buildings.Controls.OBC.ASHRAE.G36.Types.HeatingCoil.WaterBased | Heating coil type |
| Real | staPreMul | Importance multiplier for the zone static pressure reset control loop | |
| Real | hotWatRes | Importance multiplier for the hot water reset control loop | |
| Real | VCooMax_flow | Design zone cooling maximum airflow rate | |
| Real | lowFloTim | 300 | Threshold time to check low flow rate |
| Real | lowTemTim | 600 | Threshold time to check low discharge temperature |
| Real | fanOffTim | 600 | Threshold time to check fan off |
| Real | leaFloTim | 600 | Threshold time to check damper leaking airflow |
| Real | valCloTim | 900 | Threshold time to check valve leaking water flow |
| Advanced | |||
| Real | floHys | 0.05 | Near zero flow rate, below which the flow rate or difference will be seen as zero |
| Real | dTHys | 0.25 | Temperature difference hysteresis below which the temperature difference will be seen as zero |
| Real | damPosHys | 0.05 | Near zero damper position, below which the damper will be seen as closed |
| Real | valPosHys | 0.05 | Near zero valve position, below which the valve will be seen as closed |
| Real | staTim | 1800 | Delay triggering alarms after enabling AHU supply fan |
Connectors
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter | gai | Percentage of the setpoint | |
| Buildings.Controls.OBC.CDL.Reals.Less | les | Check if measured airflow is less than threshold | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | truDel | Check if the measured airflow has been less than threshold value for threshold time | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | greThr | Check if setpoint airflow is greater than zero | |
| Buildings.Controls.OBC.CDL.Reals.Greater | gre | Check if measured airflow is less than threshold | |
| Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter | gai1 | Percentage of the setpoint | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | truDel1 | Check if the measured airflow has been less than threshold value for threshold time | |
| Buildings.Controls.OBC.CDL.Logical.And | and2 | Measured airflow has been less than threshold value for sufficient time | |
| Buildings.Controls.OBC.CDL.Logical.And | and1 | Measured airflow has been less than threshold value for sufficient time | |
| Buildings.Controls.OBC.CDL.Integers.Switch | lowFloAla | Low airflow alarm | |
| Buildings.Controls.OBC.CDL.Integers.Sources.Constant | conInt | Level 2 alarm | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger | booToInt | Convert boolean true to level 3 alarm | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | conInt1 | Importance multiplier for zone static pressure reset | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | greThr1 | Check if the multiplier is greater than zero | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger | booToInt1 | Suppress the alarm when multiplier is zero | |
| Buildings.Controls.OBC.CDL.Integers.Multiply | proInt | Low flow alarms | |
| Buildings.Controls.OBC.CDL.Logical.And | and4 | Logical and | |
| Buildings.Controls.OBC.CDL.Logical.Not | not1 | Logical not | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | assMes | Level 2 low airflow alarm | |
| Buildings.Controls.OBC.CDL.Logical.And | and12 | Logical and | |
| Buildings.Controls.OBC.CDL.Logical.Not | not2 | Logical not | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | assMes1 | Level 3 low airflow alarm | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | cooMaxFlo | Cooling maximum airflow setpoint | |
| Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter | gai2 | Percentage of the setpoint | |
| Buildings.Controls.OBC.CDL.Logical.Not | not3 | Logical not | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | truDel2 | Check if the supply fan has been OFF more than threshold time | |
| Buildings.Controls.OBC.CDL.Reals.Greater | gre1 | Check if measured airflow is greater than threshold | |
| Buildings.Controls.OBC.CDL.Logical.And | and5 | Logical and | |
| Buildings.Controls.OBC.CDL.Logical.Not | not4 | Logical not | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | assMes2 | Level 3 airflow sensor alarm | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger | booToInt2 | Convert boolean true to level 3 alarm | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | truDel3 | Check if the air flow is above threshold by more than threshold time | |
| Buildings.Controls.OBC.CDL.Reals.LessThreshold | cloDam | Check if damper position is near zero | |
| Buildings.Controls.OBC.CDL.Logical.And | leaDamAla | Check if generating leak damper alarms | |
| Buildings.Controls.OBC.CDL.Logical.Not | not5 | Logical not | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | assMes3 | Level 4 leaking damper alarm | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger | booToInt3 | Convert boolean true to level 4 alarm | |
| Buildings.Controls.OBC.CDL.Reals.Less | les1 | Discharge temperature lower than setpoint by a threshold | |
| Buildings.Controls.OBC.CDL.Reals.AddParameter | addPar | Setpoint temperature minus a threshold | |
| Buildings.Controls.OBC.CDL.Reals.Less | les2 | Discharge temperature lower than setpoint by a threshold | |
| Buildings.Controls.OBC.CDL.Reals.AddParameter | addPar1 | Setpoint temperature minus a threshold | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | truDel4 | Check if the discharge temperature has been less than threshold value for threshold time | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | truDel5 | Check if the discharge temperature has been less than threshold value for threshold time | |
| Buildings.Controls.OBC.CDL.Logical.And | and6 | Discharge temperature has been less than threshold value for sufficient time | |
| Buildings.Controls.OBC.CDL.Logical.And | and7 | Logical and | |
| Buildings.Controls.OBC.CDL.Logical.Not | not6 | Logical not | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | assMes4 | Level 2 low discharge air temperature alarm | |
| Buildings.Controls.OBC.CDL.Integers.Switch | lowTemAla | Low discharge temperature alarm | |
| Buildings.Controls.OBC.CDL.Integers.Sources.Constant | conInt2 | Level 2 alarm | |
| Buildings.Controls.OBC.CDL.Logical.And | and8 | Discharge temperature has been less than threshold value for sufficient time | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger | booToInt4 | Convert boolean true to level 3 alarm | |
| Buildings.Controls.OBC.CDL.Logical.And | and9 | Logical and | |
| Buildings.Controls.OBC.CDL.Logical.Not | not7 | Logical not | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | assMes5 | Level 3 low airflow alarm | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | conInt3 | Importance multiplier for hot water reset control | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | greThr2 | Check if the multiplier is greater than zero | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger | booToInt5 | Suppress the alarm when multiplier is zero | |
| Buildings.Controls.OBC.CDL.Integers.Multiply | proInt1 | Low discharge air temperature alarms | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | truDel6 | Check if valve position is closed for more than threshold time | |
| Buildings.Controls.OBC.CDL.Reals.LessThreshold | cloVal | Check if valve position is near zero | |
| Buildings.Controls.OBC.CDL.Reals.AddParameter | addPar2 | AHU supply temperature plus 3 degree | |
| Buildings.Controls.OBC.CDL.Reals.Greater | gre2 | Discharge temperature greate than AHU supply temperature by a threshold | |
| Buildings.Controls.OBC.CDL.Logical.And | leaValAla | Check if generating leak valve alarms | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger | booToInt6 | Convert boolean true to level 4 alarm | |
| Buildings.Controls.OBC.CDL.Logical.Not | not8 | Logical not | |
| Buildings.Controls.OBC.CDL.Utilities.Assert | assMes6 | Level 4 leaking valve alarm | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | truDel7 | Check if the active flow setpoint has been greater than zero for the threshold time | |
| Buildings.Controls.OBC.CDL.Logical.And | fanHotPlaOn | True: both the supply fan and the hot water plant are ON | |
| Buildings.Controls.OBC.CDL.Logical.And | and10 | True: AHU fan is enabled and the discharge flow is lower than the threshold | |
| Buildings.Controls.OBC.CDL.Logical.And | and11 | True: AHU fan is enabled and the discharge flow is lower than the threshold | |
| Buildings.Controls.OBC.CDL.Logical.TrueDelay | fanIni | Check if the AHU supply fan has been enabled for threshold time | |
| Buildings.Controls.OBC.CDL.Integers.Equal | isOcc | Check if current operation mode is occupied mode | |
| Buildings.Controls.OBC.CDL.Integers.Sources.Constant | occMod | Occupied mode | |
| Buildings.Controls.OBC.CDL.Logical.And | and3 | Logical and | |
| Buildings.Controls.OBC.CDL.Logical.And | and13 | Logical and | |
| Buildings.Controls.OBC.CDL.Logical.And | leaDamAla1 | Check if generating leak damper alarms | |
| Buildings.Controls.OBC.CDL.Logical.And | leaValAla1 | Check if generating leak valve alarms | |
| Buildings.Controls.OBC.CDL.Logical.And | and14 | Logical and | |
| Buildings.Controls.OBC.CDL.Logical.And | and15 | Logical and |
Revisions
-
August 29, 2023, by Hongxiang Fu:
Because of the removal ofLogical.And3based on ASHRAE 231P, replaced it with a stack of twoLogical.Andblocks. This is for #2465. -
August 23, 2023, by Jianjun Hu:
Added delaystaTimto allow the system becoming stabilized. This is for issue 3257. -
August 1, 2020, by Jianjun Hu:
First implementation.