Issue
How to program software for automatic window modulation using BAS or Sigma.
Product Line
Satchwell BAS & SigmaEnvironment
Satchwell BAS & Sigma
Cause
Standard window operations typically support only open/close functionality. However, in this case, the requirement is for staged modulation—windows should open or close in increments based on environmental conditions and manual overrides.
Resolution
To enable modulated control of windows (rather than simple open/close), the following setup is required:
1. Window Travel Time
- Determine the total time for the window to move from fully closed to fully open.
- Ensure symmetry: open and close times must be equal for accurate modulation.
2. Control Strategy
- Modulation is achieved in fixed stages (e.g., 25%, 50%, 75%, 100%).
- This allows granular control of ventilation and environmental conditions.
3. Override Functionality
- The system should allow manual override by the classroom teacher to open or close windows as needed.
4. Environmental Interlocks
- Integrate interlocks for wind direction and rain detection to ensure safe operation.
- These interlocks prevent window operation under adverse weather conditions.
Implementation Example
A sample configuration for a classroom includes all necessary objects and logic.
Inputs
- P60 = Time schedule
- P15 = Fire
- P16 = Rain
- P17 = Teacher Override On
- P18 = Teacher Override Off
- P19 = Wind Direction
- P35 = Temperature control loop (set to Pb only)
- P34 = CO₂ control loop (set to Pb only)
- P33 = Calculation point (set to maximum of P34 and P35)
Programmable Points
P36 – CONTROL SLOW RAMP
Tracks the max temp/CO₂ signal and ramps slowly.
Timer must exceed window pulse timer.
Also tracks overrides to resume control from the correct point.
10 XFlo = POINT 0|33
20 IF TIME LEFT THEN GOTO 50
30 IF XFlo > YFlo THEN YFlo = YFlo + 1.00000
40 IF XFlo < YFlo THEN YFlo = YFlo - 1.00000
50 IF YFlo CHANGED THEN SET TIMER 10
60 IF POINT 0|18 CLOSED THEN YFlo = 0.000000
70 IF POINT 0|15 CLOSED THEN YFlo = 0.000000
80 IF POINT 0|16 CLOSED THEN YFlo = 0.000000
90 IF POINT 0|19 CLOSED THEN YFlo = 0.000000
100 IF POINT 0|60 CLOSED THEN YFlo = 0.000000
110 IF POINT 0|17 CLOSED THEN YFlo = 100.000
120 RETURN VIA TEXT 92 VALUE YFloP37 – CONTROL 10% INTERVAL
Divides control loop into 10 stages.
10 XFlo = POINT 0|36
20 IF XFlo = 100.000 THEN YFlo = 100.000
30 IF XFlo < 100.000 THEN YFlo = 90.0000
40 IF XFlo < 90.0000 THEN YFlo = 80.0000
50 IF XFlo < 80.0000 THEN YFlo = 70.0000
60 IF XFlo < 70.0000 THEN YFlo = 60.0000
70 IF XFlo < 60.0000 THEN YFlo = 50.0000
80 IF XFlo < 50.0000 THEN YFlo = 40.0000
90 IF XFlo < 40.0000 THEN YFlo = 30.0000
100 IF XFlo < 30.0000 THEN YFlo = 20.0000
110 IF XFlo < 20.0000 THEN YFlo = 10.0000
120 IF XFlo < 10.0000 THEN YFlo = 0.000000
130 RETURN VIA TEXT 92 VALUE YFloP38 – OPEN CONTROL
Xref your Window Open DO to this point.
Timer = 72s / 10 stages = 7s per stage.
10 XFlo = POINT 0|37
20 IF XFlo UP THEN SET TIMER 7
30 IF POINT 0|18 CLOSED THEN RETURN FALSE "TchO/R Close"
40 IF POINT 0|15 CLOSED THEN RETURN FALSE "FIRE"
50 IF POINT 0|16 CLOSED THEN RETURN FALSE "RAIN"
60 IF POINT 0|19 CLOSED THEN RETURN FALSE "WrgWind Dir'"
70 IF POINT 0|60 CLOSED THEN RETURN FALSE "Time Off"
80 IF POINT 0|17 CLOSED THEN RETURN TRUE " TchO/R Open"
90 IF TIME LEFT THEN RETURN TRUE "Move Open"
100 RETURN FALSE "Stationary"P39 – CLOSE CONTROL
Xref your Window Close DO to this point.
Same timer logic as P38.
10 XFlo = POINT 0|37
20 IF XFlo DOWN THEN SET TIMER 7
30 IF POINT 0|18 CLOSED THEN RETURN TRUE "TchO/R Close"
40 IF POINT 0|15 CLOSED THEN RETURN TRUE "FIRE"
50 IF POINT 0|16 CLOSED THEN RETURN TRUE "RAIN"
60 IF POINT 0|19 CLOSED THEN RETURN TRUE "WrgWind Dir'"
70 IF POINT 0|60 CLOSED THEN RETURN TRUE "Time Off"
80 IF POINT 0|17 CLOSED THEN RETURN FALSE " TchO/R Open"
90 IF TIME LEFT THEN RETURN TRUE "Move Close"
100 RETURN FALSE "Stationary"
📄 Download Configuration Files: