Update and bump: The whitepaper, DCS Controller Loading Reduction for Sequence Logic – A Boiler Control Project Case Study, is now available.
Let’s close this week with a post about sequence control loading improvements in boiler operations. I managed to get my hands on a draft of a whitepaper from Emerson’s Shawn Zadeh who is a Process Automation Engineer on the Process Systems and Solutions team.
For one particular boiler control project, Shawn and a colleague observed that the DeltaV controller processor Free Time statistic was very good on the two controllers being used. With everything being mostly the same on the project vs. other projects with respect to motor control modules (CMs), control loop CMs, and discrete input CMs; the only striking exception was the way they chose to complete sequences.
Sequential tasks are often handled using IEC 848 sequential function charts (SFCs). In the whitepaper, Shawn notes there have been previous project tradeoffs in SFC implementations with controller scan rates and controller free time. The logic can be intensive when following the ISA-88 (S88) model with phase modules running SFCs that are often used in equipment modules. Shawn describes the upside to SFCs that are easy to understand because they clearly and simply represent the steps of the process. SFCs also work well for high-level programming of control sequences. They are familiar to many people, because SFC is one of the languages specified in IEC 61131-3, and they are used frequently in programming PLCs. And SFCs are self-documenting and easy to troubleshoot and debug.
For those not familiar with SFCs, it consists of a series of steps linked by transitions. A step is essentially a state of the system, and can be active or inactive (idle); the initial step is always active at start-up. Some steps have actions associated with them (open a valve, close a gate, etc.) that will be performed only if the step is active. A transition is enabled when the step preceding it is active and the logical condition(s) for the transition are satisfied. When a transition is enabled the step preceding it becomes idle and the one following it becomes active.
What Shawn and team did was to develop a technique for programming DeltaV systems for boiler control that replaces SFCs with function blocks to align with standard boiler control conventions, but had the unanticipated effect of using a very low amount of controller processing time as well. Function blocks, defined by IEC 61499, cover a broad range of applications. They are used traditionally for continuous control, but work quite well for discrete control. Function blocks are easy to use, help reduce training requirements, allow reuse of programming elements, and can reduce processor loading compared to SFCs.
For the sequence control strategy, the control module was broken into two main sections: the Sequence Control Initiation area and the Control Sequence Operation and Shutdown area. They wanted to delineate where the sequence setpoint is determined and where the sequence actions and confirmations are in order to facilitate troubleshooting. Shawn shared that the combination of the two areas that can handle failure detection (through the use of interlock and permissive functions), using a standard interface, and the connection between the two areas and the sequence logic contained in a top-down format that’s easy to read is unique.
Using this approach, the project controllers could perform complete unit operation control (i.e. sequence and continuous control) at a 200ms scan rate, which can satisfy nearly all non-SIS process and manufacturing control requirements. Operational runtime has proven this approach to be a robust method for the sequencing requirements found in these types of boiler project. Shawn sees reuse of this approach on modules that require fast scan times on multiple units/independent sequences running on a single controller.
I’ll update the post once the whitepaper is finalized and available on the www.EmersonProcess.com website. DCS Controller Loading Reduction for Sequence Logic – A Boiler Control Project Case Study.