blockAlarms
Generate alarms of cooling only terminal unit
Information
This block outputs alarms of cooling only terminal unit. The implementation is according to the Section 5.5.6 of ASHRAE Guideline 36, May 2020.
Low airflow 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 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.
Airflow sensor calibration
If the fan serving the zone has been OFF (uFan=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 (uFan=true), generate a Level
4 alarm.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | staPreMul | Importance multiplier for the zone static pressure reset control loop | |
| Real | VCooMax_flow | Design zone cooling maximum airflow rate | |
| Real | lowFloTim | 300 | Threshold time to check low flow rate |
| Real | fanOffTim | 600 | Threshold time to check fan off |
| Real | leaFloTim | 600 | Threshold time to check leaking flow |
| Advanced | |||
| Real | floHys | Near zero flow rate, below which the flow rate or difference will be seen as zero | |
| Real | damPosHys | Near zero damper position, below which the damper will be seen as closed | |
| Real | staTim | 1800 | Delay triggering alarms after enabling AHU supply fan |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VDis_flow | Measured discharge airflow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | VActSet_flow | Active airflow setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | u1Fan | AHU supply fan status | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerInput | uOpeMod | Zone operation mode | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | uDam | Damper position setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yLowFloAla | Low airflow alarms | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yFloSenAla | Airflow sensor calibration alarm | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yLeaDamAla | Leaking damper alarm |
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 | and8 | 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 | and4 | 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 input has been true for 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 | Check if the measured airflow is greater than the threshold and the supply fan is OFF | |
| 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 input has been true for more than threshold time | |
| Buildings.Controls.OBC.CDL.Reals.LessThreshold | cloDam | Check if damper position is near zero | |
| Buildings.Controls.OBC.CDL.Logical.And | leaDamAla1 | Check if generating leak damper alarms, one of two stacked And blocks | |
| Buildings.Controls.OBC.CDL.Logical.And | leaDamAla2 | Check if generating leak damper alarms, one of two stacked And blocks | |
| 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.Logical.TrueDelay | truDel4 | Check if the active flow setpoint has been greater than zero for the threshold time | |
| 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.And | and10 | 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.Sources.Constant | occMod | Occupied mode | |
| Buildings.Controls.OBC.CDL.Integers.Equal | isOcc | Check if current operation mode is occupied mode | |
| Buildings.Controls.OBC.CDL.Logical.And | and6 | Check if the measured airflow is greater than the threshold and the supply fan is OFF | |
| Buildings.Controls.OBC.CDL.Logical.And | and7 | Measured airflow has been less than threshold value for sufficient time | |
| Buildings.Controls.OBC.CDL.Logical.And | and3 | Measured airflow has been less than threshold value for sufficient time |
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.