The leadLag block is used to schedule a number of units on/off.

  • The 'units' property should be set to a bundle variable that imports the list units the command from the *unit program*.
  • The unit program must have three variables for each unit: -unit stage number used to determine start order - unit alarm status as true/false (anything not true is considered false) - variable used to command the unit; this variable must be set via 'setExternal' block in the unit program.
  • This block's 'numOn' property is used to command all the units on or off. Each unit in alarm is commanded to off. Any remaining units are commanded on until we reach the desired number on (using unit num ordering).

The leadLag block can be found in the Block Library under the Expression group.

Block Library leadLag

Using the leadLag block

  1. A created point called Current Stage is found under Misc > City Center. This point indicates the number of how many points you want on.
  1. Create a program (AHU Staging) that runs on the AHUs and contains Alarm, SF, and Stage points in it, and add the block Set External. On that block, put the name of the point that will be commanded externally.
    The leadLag block from the next program created.
  1. Create a program that runs on the Misc equip and contains Current Stage and bundle of the previous program we made (AHU Staging).
  1. In this program, add the leadLag block.
    The leadLag block connects to the bundle columns using a gridSelectCol block. So what the logic is saying is that if Current Stage is 1, then anything in the bundle (all AHUs) that is stage 1 will turn on. So if AHU-1 is stage 1 and the alarm is on, then it will turn on the next equipment that is stage 2 and so on.
leadLag block