What Is State-Based Control / ISA-106 Procedural Control?
In the first blog “State-Based Control: The Next Step in Industrial Automation,” I discuss how the automation industry is looking to state-based control as the next step to improve margins and mitigate risk. Here we dig a little deeper to fully understand state-based control.
To operate any processing facility, the automation industry relies heavily on procedures, such as the ISA-106 standard for state-based control (being developed at the time of this writing). These are essentially the instruction sets for starting up, running and shutting down process units. These procedures are typically organized in steps that operators use to execute a particular function, typically moving a process from state to state. What follows is a simplified example of a Master Procedure for a distillation column. Each step could be a procedure in itself, detailing what needs to be done during each step.
|The process is idle.
|The operator lines up the process to feed the column the material it needs to distill. Unit remains in this step until the bottoms level reaches the low level alarm point.
|The operator lines up steam to the reboiler and begins adding heat.
|Once the reflux drum has a level greater than its low level alarm point, operations lines up the reflux pump and begins feed reflux back to the column.
|As soon as the product streams are on spec, they are forwarded to the next unit of operation.
Normally, a procedure would have very detailed step-by-step instructions for each activity. In our example, we are only going to capture the main steps and then use those to automate our startup. While a great many procedural steps can be automated, such as pump swapping and line up, we will limit our conversation to the basic steps and activities. The same can be done for process upsets and shutting down.
Starting up or shutting down using procedures is often time consuming and requires a great deal of human interaction. This increases risk and reduces efficiency. Operators need to check off each step and physically do the tasks. Multiplying such operations over and over, it becomes easy to see how much time could be saved by automating such tasks. The control system is always paying attention, never has to hand off a task to somebody else and instantly executes instructions.
So, let’s look at what our procedure might look like using state-based control. This ‘step diagram’ or Sequence Function Chart (SFC) identifies the main steps in the process. Moving from step to step requires a transition. The steps represent the various “states” of the process. The arrows between steps are transitions. We can use each step (state) to signal the devices in the facility what state the process is in, and each device can then decide what it should be doing.
By building the intelligence into the devices, we can utilize object-oriented programming (more on that later) to leverage common devices or objects to create our program by instructing the devices in what they should be doing based on the state of the process. In other words, each device acts according to the steps.
To move from step to step, we will use “transition logic.” In our procedure to move from the Fill step to the Heat Up step, we line up the feed to the column and then when the level reaches the low level alarm point, we advance to the Heat Up step.
To break that down the devices that line up the feed would turn on when the Fill step becomes true and the Transition would become true and move the SFC from Fill to Heat Up once the level reached the low level alarm point.
Logic-wise, this all might look like the following:
DO(Feed_BV) IF STEP(Fill) AND ‘other logic’
PID_CNTL(Feed_enabled) IF STEP(Fill) AND ‘other logic’
TRANS(FillToHeatup) IF LEVEL GT LEVEL_L AND STEP(Fill)
Each step allows each device to know what state the process is in and, based upon that and any other logic needed, to act accordingly. State-based control allows intelligence to be built into each device allowing for more effective and more efficient operations. In this manner, your process becomes smarter as it not only knows what to do during the ‘run state,’ it can also handle startup, shutdown and many other states.