In December 1993, the International Electrotechnical Commission (IEC) recognized five standard programming languages that could be used for implementing either process or discrete programmable controllers. The IEC is an organization that prepares and publishes international standards for all electrical, electronic, and related technologies, including controllers. The organization identified five programming languages and their common abbreviations as: ladder diagram (LD), instruction list (IL), function block diagram (FBD), structured text (ST), and sequential function chart (SFC). The third edition was published in February 2013.
The IEC developed these programming standards in response to the growing number of automation vendors, the growing complexity of applications, and the multiplying methods of implementing control functions. This article provides a brief overview of sequential function charts, describing proper implementation and common mistakes.
Sequential controls allow organizations to process sequential and parallel operations in a mode that is discrete with respect to time or events. They are used to coordinate different continuous functions, as well as to control complex process sequences. Depending on the defined state or events, operating and mode changes are generated, which results in a desired sequential implementation. Control system engineers learn to understand the interaction between the programs for basic automation and the sequential controls and how to generate sequential controls in their distributed control system.
Sequential controls specify one or several step sequences. The implementation of sequential control algorithms are generally referred to as sequential function charts. A step sequence is the alternating sequence of steps that trigger certain actions, respectively, and transitions that cause a step to change into another one when the corresponding step enabling condition is met. Each step sequence has exactly one start step and one end step and in addition may contain any number of intermediate steps that are interconnected through transitions. These transitions are triggered via “rising edge” signals. The diagrams may also generate feedback through loops within the step sequence. They can include parallel or alternative branches. In this case, however, the design must be done so that the sequence does not contain unsafe or unavailable segments.
To design sequential controls, a method called state diagrams may be used. State diagrams are easily learned, make automatic error diagnosis possible, and can be converted without a problem into many existing programming languages for sequence controls. However, designing parallel structures may not be possible, because a state diagram, by definition, is in exactly one state at any given time; otherwise, it cannot be considered a state diagram.
One of the core benefits of sequential controls is that all structures can be modeled and extensively analyzed, thus significantly reducing the time it would take to validate conventional structures. Sequential controls parameterize and activate lower-level logical control systems by setting corresponding global control signals. These control signals can have a brief or a lasting, a direct or a delayed effect. Sequential controls, as well as logical controls, have to support different operating modes. Particularly, manual control of the transitions and temporary or permanent interruptions of the process sequences have to be possible. In addition, process-specific protective functions are implemented with sequence controls.