VAV Damper Modulation
Ready to build this?
Sign up free — no credit card required. This scenario requires the Basic plan.
Sign up to play this scenario →Already have an account? Log in
Briefing
A Variable Air Volume (VAV) terminal unit controls space temperature by modulating a supply-air damper and a reheat coil valve. When space temperature exceeds setpoint (cooling demand), the damper opens proportionally. When temperature falls below setpoint (heating demand), the damper returns to minimum position and the reheat valve opens proportionally. In unoccupied mode both outputs go to minimum. A FAULT_LAMP lights if sensor inputs are out of range.
Objectives
- Cooling: DAMPER_CMD = proportional(SPACE_TEMP - SETPOINT) clamped 0–100%
- Heating: DAMPER_CMD = 10% (minimum), REHEAT_VALVE_CMD proportional to (SETPOINT - SPACE_TEMP)
- OCCUPIED = FALSE forces DAMPER_CMD = 10%, REHEAT_VALVE_CMD = 0%
- FAULT_LAMP if SPACE_TEMP < -20°C or >100°C (sensor out-of-range)
- RESET_PB clears the fault latch
Hints
- Deadband: ±0.5°C around setpoint — no action
- Proportional gain (cooling): 10%/°C → error=5°C → damper=50%
- Proportional gain (heating): 15%/°C → error=3°C → reheat=45%
- Clamp outputs to 0–100%
I/O Table
Inputs
SPACE_TEMPSpace temperature sensor (°C)
REAL · %IW0
SETPOINTTemperature setpoint (°C)
REAL · %IW1
OCCUPIEDOccupied mode switch
BOOL · %I0.0
RESET_PBFault reset push-button
BOOL · %I0.1
SENSOR_FAULTSpace-temp sensor out of −20…100 °C range
BOOL · %I0.2
Outputs
DAMPER_CMDDamper position command 0–100% (DAMPER_PID.CV)
REAL · %QW0
REHEAT_VALVE_CMDReheat valve command 0–100% (REHEAT_PID.CV)
REAL · %QW1
FAULT_LAMPSensor fault indicator lamp
BOOL · %Q0.0
Your program will be tested against:
All test cases run automatically when you submit. Assertions are hidden until you pass.
- #1Cooling demand opens damper proportionally
SPACE_TEMP=25, SETPOINT=22, OCCUPIED -> DAMPER_CMD ~30%
- #2Heating demand opens reheat, damper at minimum
SPACE_TEMP=18, SETPOINT=22, OCCUPIED -> DAMPER_CMD=10%, REHEAT>0
- #3Unoccupied mode sets damper to minimum
OCCUPIED=FALSE -> DAMPER_CMD=10%, REHEAT=0
- #4Sensor out-of-range latches FAULT_LAMP
SPACE_TEMP=150 (out of range) -> FAULT_LAMP
Related scenarios
Ready to build this?
Sign up free — no credit card required. This scenario requires the Basic plan.
Sign up to play this scenario →Already have an account? Log in