The Complexity and Simplicity of State Based Sequences
State based sequences are among the best ways to sequence control modes and equipment.
Are your sequences state based? Is there a finite set of conditions that drives your control sequences? If not, you may be missing out on one of the most intuitive ways to write control sequences.
State based sequencing uses conditional statements to drive sequences within a control system. For example, have you ever been to a site that is economizing when the mechanical cooling is on and the outdoor enthalpy is higher than the return enthalpy? This is a perfect example of a non-state based sequence. State based sequences look at a variety of external conditions and internal states to drive the sequencing of equipment within the control system.
A classic example is the rooftop unit. With a rooftop unit, you tend to have four main states: off, free cooling, mechanical cooling, and mechanical heating. Each state is exclusive; you cannot be in the free cooling state at the same time as the mechanical cooling state, at least you shouldn’t be. Different manufacturers achieve this in different ways, but the control system will only execute code based on the state the system is in.
HOW TO IMPLEMENT STATE BASED SEQUENCING
Implementing state based sequencing is easy and complex at the same time. In my experience, the best way to build out a state based sequence is through logically pathing the flow of a sequence. To do this, we need to define the following three things: enable parameters, secondary state parameters, and sequence logic.
Enable parameters are the parameters that determine that a state based sequence should be enabled. Here is an example of the enable parameters for a cooling loop.
The cooling shall be enabled whenever: The outside air temperature is greater than 60°F (adj.); and the economizer, if present, is disabled or fully open; and the zone temperature is above the cooling set point; and the supply fan status is on; and the heating is not active.
These parameters define when the cooling loop should be enabled. Each of these enable parameters is a Boolean parameter, which means the parameter is either true or false.
Even though outdoor air temperature (OAT) is an analog value, the comparison between an OAT and a set point results in a Boolean output. Either the OAT is above 60°, or it isn’t. There is no in between.
SECONDARY STATE PARAMETERS
Secondary state parameters are parameters that will bring a state based sequence into a secondary state. Oftentimes, these are failure sequences as demonstrated by the sequence snippet below. The cooling coil valve shall open to 50% (adj.) whenever the freezestat, if present, is on.
The above snippet will result in a state based sequence based on a freeze protection state. This is dependent on a concept called the state based sequence hierarchy (more on that later).
Sequence logic is pretty straight-forward. This is the logic you want the state based sequence to execute when it is in the appropriate state.
Sticking with our cooling loop scenario, the sequence logic is: The controller shall measure the zone temperature and modulate the cooling coil valve to maintain its cooling set point.
State based sequences are great; they make it much easier to commission, program, and test; however, on large sequences, they can appear overwhelming.
If you have free cooling and demand ventilation, which wins? Which gets priority? This is where the state based sequence hierarchy comes into play. This hierarchy allows you to define which sequence states take priority over one another. This is important, as complex sequences can have enable parameters that seem to override one another.
By using a state based sequence hierarchy, you can define what state based sequence takes priority. Cooling loops provide another example. Freeze protection takes priority over our mechanical cooling loop state based sequence. The freeze protection state based sequence would drive the cooling loop to 50%. Even though a cooling loop would be at zero in a freeze scenario, it obviously needs to be below 60° to freeze.
State based sequences provide a powerful methodology for creating a control sequence. Implementing state based sequences can seem overwhelming at first, but trust me, after you’ve written two or three, you will find that they just flow right out of your brain into your sequence. State based sequences are intuitive and conditional states that are, in my opinion, the best way to sequence control modes and equipment.
Next month, I will begin a multi-part series on systems integration design. I look forward to sharing that information with you then.