Chiller Lead-Lag Sequencing
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
Three chillers serve a building cooling loop in a lead-lag arrangement. As cooling demand rises, additional units are staged on. When demand falls, lag units are shed. Runtime hours rotate the lead chiller each day to equalise wear. A chiller alarm removes that unit from the rotation and hands load to the next available unit.
Objectives
- COOLING_DEMAND >30% starts the lead chiller (CHILLER1_RUN initially)
- COOLING_DEMAND >60% stages on the first lag chiller
- COOLING_DEMAND >85% stages on the second lag chiller
- Chiller demand drops <25% sheds lag1; drops <55% sheds lag2 (hysteresis)
- CHILLER1_ALARM (or 2 or 3) removes that unit from service; next available takes over
- RESET_PB clears alarms and re-enables faulted chillers
- LAG_LOAD_BALANCE output (REAL) reports the fraction of chillers running (0, 0.33, 0.67, or 1.0)
Hints
- Use an array or three bits to track lead/lag order; rotate on a daily (simulated) basis
- Hysteresis: stage-on thresholds are 30/60/85%, shed thresholds are 25/55/80%
- LAG_LOAD_BALANCE := (running count) / 3.0 * 100.0
- An alarmed chiller must be excluded from both lead and lag selection
I/O Table
Inputs
COOLING_DEMANDCooling demand signal 0–100%
REAL · %IW0
CHILLER1_ALARMChiller 1 fault/alarm
BOOL · %I0.0
CHILLER2_ALARMChiller 2 fault/alarm
BOOL · %I0.1
CHILLER3_ALARMChiller 3 fault/alarm
BOOL · %I0.2
RESET_PBAlarm reset push-button
BOOL · %I0.3
STAGE1_DEMANDDemand ≥30% (hysteresis, off <25%) — start 1st chiller
BOOL · %I0.4
STAGE2_DEMANDDemand ≥60% (hysteresis, off <55%) — start 2nd chiller
BOOL · %I0.5
STAGE3_DEMANDDemand ≥85% (hysteresis, off <80%) — start 3rd chiller
BOOL · %I0.6
Outputs
CHILLER1_RUNChiller 1 run command
BOOL · %Q0.0
CHILLER2_RUNChiller 2 run command
BOOL · %Q0.1
CHILLER3_RUNChiller 3 run command
BOOL · %Q0.2
LAG_LOAD_BALANCELoad balance fraction 0–100%
REAL · %QW0
Your program will be tested against:
All test cases run automatically when you submit. Assertions are hidden until you pass.
- #1Lead chiller starts when demand exceeds 30%
COOLING_DEMAND=40 -> CHILLER1_RUN (initial lead)
- #2Lag chiller stages on at >60% demand
COOLING_DEMAND=65 -> lead + lag1 running
- #3All 3 chillers run at >85% demand
COOLING_DEMAND=90 -> all chillers on
- #4Chiller alarm removes unit from service
CHILLER1_ALARM while running -> CHILLER1_RUN stops, next unit starts
- #5Lag chiller sheds when demand drops
Demand drops from 65% to 20% -> only lead runs
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