blockGroupStatus
Block that outputs the zone group status
Information
This sequence sums up the zone level status calculation to find the outputs that are needed to define the zone group operation mode.
It requires following inputs from zone lelvel calculation:
-
zonOcc: if the zone-level local override switch indicates the zone is occupied, -
u1Occ: if the zone is occupied according to its occupancy schedule, -
tNexOcc: time to next occupied period, -
uCooTim: required cooldown time, -
uWarTim: required warm-up time, -
u1OccHeaHig: if the zone temperature is lower than the occupied heating setpoint, -
u1HigOccCoo: if the zone temperature is higher than the occupied cooling setpoint, -
u1UnoHeaHig: if the zone temperature is lower than the unoccupied heating setpoint, -
THeaSetOff: zone unoccupied heating setpoint, -
u1EndSetBac: if the zone could end the setback mode, -
u1HigUnoCoo: if the zone temperature is higher than its unoccupied cooling setpoint, -
TCooSetOff: zone unoccupied cooling setpoint, -
u1EndSetUp: if the zone could end the setup mode, -
TZon: zone temperature, -
uWin: True when the window is open, false when the window is close or the zone does not have window status sensor.
The sequence gives following outputs for zone group level calculation:
-
uGroOcc: the zone group should be in occupied mode when there is any zone becoming occupied according its schedule or due to the local override, -
nexOcc: the shortest time to the next occupied period among all the zones in the group, -
yCooTim: longest cooldown time, -
yWarTim: longest warm-up time, -
yOccHeaHig: if there is zone with temperature being lower than the occupied heating setpoint, so the group could be in the warm-up mode, -
yHigOccCoo: if there is zone with temperature being higher than the occupied cooling setpoint, so the group could be in the cooldown mode, -
yColZon: total number of zones that the temperature is lower than the unoccupied heating setpoint, -
ySetBac: check if the group could be into setback mode due to that the average zone temperature is lower than the average unoccupied heating setpoint, -
yEndSetBac: check if the group should end setback mode due to that all the zone temperature are above their unoccupied heating setpoint by a limited value, -
yHotZon: total number of zones that the temperature is higher than the unoccupied cooling setpoint, -
ySetUp: check if the group could be into setup mode due to that the average zone temperature is higher than the average unoccupied cooling setpoint, -
yEndSetUp: check if the group should end setup mode due to that all the zone temperature are below their unoccupied cooling setpoint by a limited value, -
TZonMax: maximum zone temperature in the zone group, -
TZonMin: minimum zone temperature in the zone group, -
yOpeWin: total number of opening windows.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nBuiZon | 5 | Total number of zones in building |
| Integer | nGroZon | nBuiZon | Total number of zones in the group |
| Boolean[nBuiZon] | zonGroMsk | fill(true, nBuiZon) | Boolean array mask of zones included in group |
| Advanced | |||
| Real | uLow | -0.1 | Low limit of the hysteresis for checking temperature difference |
| Real | uHigh | 0.1 | High limit of the hysteresis for checking temperature difference |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nBuiZon] | zonOcc | True when the zone is set to be occupied due to the override | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nBuiZon] | u1Occ | True when the zone is occupied according to the occupancy schedule | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nBuiZon] | tNexOcc | Time to next occupied period | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nBuiZon] | uCooTim | Cool down time | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nBuiZon] | uWarTim | Warm-up time | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nBuiZon] | u1OccHeaHig | True when the zone temperature is lower than the occupied heating setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nBuiZon] | u1HigOccCoo | True when the zone temperature is higher than the occupied cooling setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nBuiZon] | u1UnoHeaHig | True when the zone temperature is lower than the unoccupied heating setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nBuiZon] | THeaSetOff | Zone unoccupied heating setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nBuiZon] | u1EndSetBac | True when the zone could end the setback mode | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nBuiZon] | u1HigUnoCoo | True when the zone temperature is higher than its unoccupied cooling setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nBuiZon] | TCooSetOff | Zone unoccupied cooling setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nBuiZon] | u1EndSetUp | True when the zone could end the setup mode | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nBuiZon] | TZon | Zone temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nBuiZon] | u1Win | Window status, normally closed (true), when windows open, it becomes false. For zone without sensor, it is true | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | uGroOcc | True when the zone group is in occupied mode | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | nexOcc | Time to next occupied period | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yCooTim | Cool down time | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yWarTim | Warm-up time | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yOccHeaHig | True when there is zone with temperature being lower than the occupied heating setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yHigOccCoo | True when there is zone with temperature being higher than the occupied cooling setpoint | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yColZon | Total number of cold zones | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | ySetBac | Run setback mode | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yEndSetBac | True when the group should end setback mode | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yHotZon | Total number of hot zones | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | ySetUp | Run setup mode | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput | yEndSetUp | True when the group should end setup mode | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | TZonMax | Maximum zone temperature in the zone group | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | TZonMin | Minimum zone temperature in the zone group | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | yOpeWin | Total number of open windows |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Logical.Not[nGroZon] | not1 | Logical not |
Revisions
-
June 10 15, 2020, by Jianjun Hu:
First implementation.