The function block provides the following input pins cmdFlowPercent, sensedFlowVol, minFlowSetPt, maxFlowSetPt, manFlowOverride, manFlowValue. The output pins are effFlowSetPt and damperPos. This function is a Variable Air Volume (VAV) Damper Flow Controller. Traditionally this is the second half of a pressure independent VAV box cascade control strategy where typically the input would come from the output of a PID block controlling space temperature.
Analog Inputs
| Range | ||||
| Input Name | Low | High | Input Value | Description |
| cmdFlowPercent (%) |
0 | <+ infinity | unconnected | cmdFlowPercent= 0 |
| invalid | Same as unconnected. | |||
| sensedFlowVol | >=- infinity | <+ infinity | unconnected | damperPos = 100%*(minSP/maxSP) +(1-minSP/maxSP)*cmdPercent |
| invalid | damperPos = 100%*(minSP/maxSP) +(1-minSP/maxSP)*cmdPercent | |||
| minFlowSetPt | >=- infinity | <+ infinity | unconnected | Switch to Pressure dependant mode. minFlowSetPt = 20 maxFlowSetPt = 100 effFlowSetPt = invalid |
| invalid | Same as unconnected | |||
| maxFlowSetPt | >=- infinity | <+ infinity | unconnected | Switch to Pressure dependant mode. minFlowSetPt = 20 maxFlowSetPt = 100 effFlowSetPt = invalid |
| invalid | Same as unconnected | |||
| manFlowValue | 0 | <+ infinity | unconnected | value = invalid |
| invalid | Same as unconnected. | |||
| ductArea | >0 | <+ infinity | invalid | effFlowSetPt = invalid & damperPos = (100%* minSP/
maxSP)+(1-minSP/MaxSP)*cmdPercent |
| unconnected | Same as invalid | |||
| VAL <= 0 | Same as invalid | |||
Output
| Output Name | Range | Description |
| EFF_FLOW_SETPT | Any floating point value | Effective Flow setpoint |
| DAMPER_POS | Any floating point value | Damper position. |
Setpoints
| Name | Range/value | Description |
| units | 0 to 2 |
|
| motorSpeed | 1 to 255 seconds per 90 degrees | default is 90 |
Configuration
0 = flow (cfm), area(ft**2)
1 = flow (Lps), area (m**2)
2 = flow (cmh), area (m**2).
The Flow Controller function calculates an effective flow control set point (effFlowSetPt) and outputs a 0 -100 percent command to drive a VAV box damper. The commanded flow set point (in percent) from a temperature control signal is mapped into the effective flow set point such that 0 percent maps to the min flow set point and 100 percent maps to the max flow set point. The sensedFlowVol input is the volumetric flow into the box, if it is invalid (sensor fails) the damper is driven in a pressure dependant mode where:
Output = 100%*(minSP/maxSP)+ (1-minSP/maxSP)*cmdPercent.
If either flow MinSP, MaxSP is invalid, the output = 20% + .8*cmdPercent.
The Units parameter sets the units being used for the flow sensor, set points, and duct area where 0 = cfm (flow) and ft2 (area), 1 = L/s(flow) and m2(area), 2 = m3/hr(flow) and m2(area). The cmdFlowPercent input is the input in percent from the temperature control logic. DuctArea is the duct area in units per the Units parameter selection. DuctArea is required for the control algorithm. The control loop is implemented in air velocity in order to simplify loop tuning. The motorSpeed parameter is the time the actuator being used takes to travel a full 90 deg stroke in seconds (this is used to automatically adjust the control gains). The manFlowOverride input allows the flow set point to be selectively overridden based the following codes: (taken from snvt_hvac_overid)
- 0 and all others not listed = no override (normal operation)
- 2 = effFlowSetPt is set to the ManFlowValue input
- 6 = effFlowSetPt is set to the minFlowSetPt input
- 7 = effFlowSetPt is set to the maxFlowSetPt input
Manual flow override is particularly useful when trying to make the box easy to be balanced.
