User Programmable Control (UPC) Scripts Emily Stevens Client Service Manager General Notes Units and Dates User units are always used Dates are always in the following format • YYYY-MM-DD Global and Local Scripts All scripts can go in the Global Script Local scripts can only operate that asset Global Script Local Script Evaluation of UPC Scripts At the beginning of every time-step all conditions in all rules are evaluated as true or false Rules are evaluated in the order they appear in the script. If they contradict then the last rule will be implemented. PST name PUMP 1 = ON AND PST name PUMP 2 = OFF PST name STATE = 010 will result in pumps 1 and 3 being switched off and pump 2 on. EXAMPLES LEVEL CONTROLLED PUMP VARIABLE SPEED PUMP USED TO MAINTAIN RESERVIOR LEVEL 30 MINUTE PUMP DELAY This control has an added parameter that the pump is not allowed to turn on again until 30 minutes has passed since it turned on TIME DEALY ON 2ND PUMP STARTING AND RESERVOIR LEVEL STILL FALLING The second pump is programmed to start if pump 1 has been on for 10mins and the reservoir depth is still falling. SET VALVE OPENING BASED ON TIME OF DAY VARIABLE ON AND OFF LEVELS FOR A PUMP The on level is 0.3m below the set point and the off level is 0.5m above the set point. CALCULATE VOLUME THROUGH PIPE AND CLOSE IF LIMIT BREACHED SLOWLY OPEN/CLOSE A VALVE BASED ON RESERVOIR LEVEL OVER A TIME PERIOD Worked Example Consider the following example of two pumps and two reservoirs. The two pumps pump from RESA to RESB under certain conditions. Pump 1 RESA RESB Pump 2 Pump 1 Worked Example RESA RESB Pump 2 Pump 1 On Conditions If the level in RESB is below the time varying level below and there is sufficient depth in RESA then Pump 1 can be switched on. Time 00:00 16:00 19:00 RESB Depth 3.2m 3.0m 3.2m “Sufficient Depth” is classed as the following; Time 00:00 07:00 19:00 RESA Depth 2.3m 2.6m 2.3m Worked Example Pump 1 On Conditions Pump 1 RESA RESB Pump 2 Pump 1 Worked Example RESA RESB Pump 2 Pump 2 On Conditions If the level in RESB is below the time varying level below and there is sufficient depth in RESA then Pump 2 can be switched on. Time 00:00 16:00 19:00 RESB Depth 3.1m 2.8m 3.1m “Sufficient Depth” is classed as the following; Time 00:00 07:00 19:00 RESA Depth 2.4m 2.6m 2.4m Worked Example Pump 2 On Conditions Pump 1 RESA RESB Pump 2 Pump 1 Worked Example RESA RESB Pump 2 Pump 1 Off Conditions If the level in RESB is above the time varying level below then Pump 1 can be switched off. Time 00:00 16:00 19:00 RESB Depth 3.5m 3.4m 3.5m Worked Example Pump 1 Off Condition Pump 1 RESA RESB Pump 2 Pump 1 Worked Example RESA RESB Pump 2 Pump 2 Off Conditions If the level in RESB is above the time varying level below then Pump 1 can be switched off. Time 00:00 16:00 19:00 RESB Depth 3.4m 3.1m 3.4m Worked Example Pump 2 Off Condition Pump 1 RESA RESB Pump 2 Pump 1 Worked Example RESA RESB Pump 2 Pump 1 and 2 Override Off Control If the level in RESA is below the time varying level below then Pump 1 will be switched off regardless of the level in RESB Time 00:00 07:00 19:00 RESA Depth 1.9m 2.1m 1.9m If the level in RESA is below the time varying level below then Pump 2 will be switched off regardless of the level in RESB Time 00:00 07:00 19:00 RESA Depth 2.2m 2.4m 2.2m Worked Example Pump 1 On Conditions Pump 1 RESA RESB Pump 2 Worked Example Where to start?! For RESA there are four control levels Worked Example For RESB there are four control levels Worked Example All eight control profiles would be added as standalone control profiles in InfoWorks. Worked Example Work out the rules for each pump If the level in RESB is below x and the level in RESA is above y then PUMPz can be turned on If the level in RESB is above a then PUMPz will turn off If the level in RESA is below b then PUMPz will turn off