Process Control and Optimization, VOLUME II - Unicauca

Software Suppliers: Allen-Bradley (C,D) ... in common use long before the introduction of the DCS. How- ... The IEC 61131-3 standard is in its third edition and.
218KB taille 1 téléchargements 146 vues
4.12

DCS: Modern Control Graphics T. L. BLEVINS, M. NIXON

(2005)

Industry Control Graphic Standards:

A. Fieldbus Foundation (www.fieldbus.org) B. PROFIBUS (www.profibus.com) C. IEC (www.iec.org) D. World Batch Forum (www.wbf.org)

Partial List of Software Suppliers:

ABB (B,C) (www.abb.com) Allen-Bradley (C,D) (www.ab.com) Emerson (A,C,D) (www.EasyDeltaV.com) Honeywell (A,C,D) (www.honeywell.com) Invensys (A,C,D) (www.invensys.com) Schneider (B,C) (www.schneider.com) Siemens (B,C) (www.siemens.com) Yokogawa (A,C) (www.yokogawa.com/us)

INTRODUCTION Graphical standards for defining control and calculation were in common use long before the introduction of the DCS. However, early digital control systems were limited by computer, software, and interface technology in supporting graphic control languages and in implementing process control and simulation graphics. With the introduction of the IEC 61131-3 standard in the early 90s, most manufacturers began to provide general support for control graphics. The IEC 61131-3 standard is in its third edition and defines four control languages for process control and manufacturing automation. Three of these languages use graphical representation of the control, as follows: •



Function block—Allows both continuous and discrete control to be represented by reusable blocks of functionality. The information flow between blocks is by wiring between the function block input and output connections. Sequential function chart—Defines calculation and control where the logic evaluation is done in a sequential manner and may follow different paths depending on the operating conditions. Such capability is often required in the sequential controls of batch processes. Ladder diagram— Allows discrete logic to be implemented as rungs of contact, coils, and function blocks. It has been utilized in discrete control and in motor control interlock and permissive logic applications.



Major equipment manufacturers and organizations of Foundation Fieldbus and Profibus have supported the use of 720 © 2006 by Béla Lipták

function blocks for control in the process industry. Many of the fieldbus devices utilized in the process industry today are based on the function block specifications defined by these industry sponsored organizations. The IEC 61804 international standard for process industry function blocks has adopted much of the function block architecture of Foundation Fieldbus and Profibus. Modern control systems are based on this standard for function block representation. The IEC 61804 standard also defines a migration path that allows older systems and field devices to be used in a consistent fashion within these systems. The release of batch control standard ANSI/ISA-88.011995, Batch Control Part 1: Models and Terminology, led to revolutionary advances in the way factories design, implement, and integrate flexible, modular batch processes. The standard made it possible to design better processes by combining recipes with equipment control in a standardized manner. Safety logic functions are also being integrated into the DCS systems. Doing so will greatly simplify the configuration and support for safety instrumented control strategies. Improved graphic displays contribute to better control of both continuous and batch processes.

FUNCTION BLOCK REPRESENTATION Control definitions based on function block representations are very common, providing graphic displays for continuous and batch-type processes. Much of this acceptance is based on the fact that common components that have been traditionally used for process control such as feedback controllers,

4.12 DCS: Modern Control Graphics

computing elements, and interface stations can each be represented by function blocks. For example, the analog PID controllers and their interfaces on the central control panel can, along with their associated field input and outputs, be represented as function blocks. The IEC 61131-3 made a significant contribution in standardizing the graphical representations of measurement, control, and calculations by function blocks. This standard specifies that any independent function which, when executed, yields one or more values may be represented as a block. Multiple, named instances of a function block can be created. Each instance must have an associated identifier (instance name) and defined input and output data structure. All the values of the output variables and the necessary internal variables must persist from one execution of the function block to the next. A function block instance is graphically represented as a block with the function block name inside the block and the instance name above the block. Any values that are required for the associated calculation must be shown as input connections on the left-hand side of the block. The size of the block may vary depending on the number of inputs and outputs. Formal input and output parameter names must be shown respectively at the inside left and right side of the block. Measurement and actuator access associated with Input and Output function blocks may not be explicitly shown since they are accessed in a proprietary fashion. For example, the graphical function block representation of the activation of a solenoid (DO function block) based on the logic OR of the contact status of two limit switches (using two DI function blocks) is shown in Figure 4.12a. Standard for Process Control The foundation for function block implementation has been further extended by the IEC 61804-2 Function Block standard for Process Control. In particular, this standard requires that function block implementations conform to the following: •

Function block inputs and outputs include both a value and status attribute. The quality associated with a function block input value is indicated by its status. The DI1 DI Out1 OR1

DO1

IN1 OR Out1 IN2

IN1 DO

DI2 DI Out1

FIG. 4.12a Block diagram representation of “or” logic, utilizing discrete I/O: The status of two digital inputs (DI) from two limit switches is evaluated by the logic block OR, which sets a digital output (DO) to a solenoid, which will be energized if either of the two limit switches is closed.

© 2006 by Béla Lipták





721

status of calculated function block outputs is based on the status of the block’s inputs and on the block mode. All function blocks associated with a control function will support a mode parameter. The mode parameter allows the source of the block setpoint and outputs to be explicitly selected by a plant operator. Configuration values used in the block algorithm, operating targets, and calculation results may be defined as contained parameter and do not need to be shown as input connections — as defined in IEC 61131-3. The majority of parameters associated with process industry function blocks fall into this category.

Function Block Modes The IEC 61804 standard defines the mode parameter used in control blocks. The allowed target mode values of a block are defined by the permitted mode attributes of the mode parameter. Thus, the modes available for controlling a block may vary with each block instance. To help an operator select the normal mode of operation from those available, a normal mode attribute is provide in the mode variable. This attribute may be used by a human interface application to help guide the operator in setting the operation mode of a block. The values assigned to the permitted mode attribute are selected from those defined by the block designer. They are assigned during block configuration to meet the specific requirements of a function block application. Interface devices and temporary devices may use the permitted mode to limit operator changes in target mode. Field devices limit changes in target mode to those allowed by the permitted mode attribute. Once the actual mode is determined, the block execution progresses and the outputs are generated. Figure 4.12b illustrates a block that contains a setpoint variable and an output variable whose values are determined by the mode variable. The target operating point of a control is determined by the setpoint variable. In addition to indicating how the algorithm is to execute, in this case, the mode also indicates the source for the block’s setpoint variable and the destination for its output variable. As shown in Figure 4.7b, the source of the setpoint or destination of the output variable value may be an input variable, the algorithm itself, a control application or a human interface application in an interface or temporary device. The effect of the mode on the operation of the function block is as follows: Out of service (O/S) mode—The block is not being evaluated. The output and set point are maintained at their last values. Initialization manual (IMan) mode—The block output is being set in response to the status of the “backcalculation input variable.” Manual (Man) mode—The block output is not being calculated, although it may be limited. It is directly set by the operator through an interface device (A).

722

Control Room Equipment

Source of output value

Input variables

Primary input variable Input variable 2 Input variable 3

Source of setpoint value

Salect

Target mode value

Input variable k Back calculation input variable Select

Interface device (direct)

A

Remote cascade input contained variable

B

Another function block cascade input variable

C

Block algorithm (internal)

D

Interface device (direct)

A

Remote output in contained variable

B

Another function block track input variable

C

Primary output variable

Algorithm D

Algorithm

Setpoint variable value

Back calculation variable

Interface device Remote cascade input contained variable Remote output out contained variable Other function blocks Back calculation output variable

Mode .

FIG. 4.12b The internal structure of an algorithm block with mode-controlled set point and output parameters.

Local override (LO) mode — In the local override mode, the block output is being set to track the value of the tracked input parameter. Automatic (Auto) mode—A local set point value is used by the normal block algorithm in determining the primary output value. The local setpoint value may be written to by an operator through an interface device. Cascade (Cas) mode — A set point value supplied by another function block through the cascade input parameter (C) is used by the normal block algorithm in determining the primary output value (D). Remote-Cascade (RCas) mode — The block setpoint is being set by a control application running on an interface device through the remote-cascade input variable (B). Based on this setpoint, the normal block algorithm determines the primary output value (D). Remote-Output (ROut) mode—The block output is being set by a control application running on an interface device through the remote output variable. Function Block Types The architecture and basic parameters of function blocks are defined for measurement, calculation, and control. The standard allows DCS manufacturers to identify specific function blocks and to define how the requirement for status attribute will be achieved. Providers of control equipment may contribute by specifying additional features (named profiles) to the standard. The standard includes profiles for Foundation Fieldbus, Hart, and Profibus Organization.

© 2006 by Béla Lipták

The Foundation Fieldbus profile is used by many manufacturers of fieldbus devices. Many control systems have adopted the Foundation Fieldbus function block architecture and specific function blocks. In this architecture, 10 basic blocks are available to specify the basic control and measurement requirements: • • • • • • • • • • •

Discrete input (DI) Discrete output (DO) Analog input (AI) Analog output (AO) PID, PI, I control (PID) P, PD control (PD) Control selector (CS) Manual loader (ML) Bias/Gain station (BG) Ratio station (RA) PID

In addition, 19 advanced function blocks have been defined by the function block specification that provide pulse count input and pulse duration output, dynamic compensation of feedforward, characterization, integration, and discrete device control for motors and valve manifolds. Most control applications may be addressed using these blocks. As a part of input block processing, the Foundation Fieldbus specification requires that checks be performed on associated hardware and software. The status of an output parameter is calculated by the block to give an explicit indication of the quality of the value — Good, Uncertain, or Bad — as shown in Figure 4.12c.

4.12 DCS: Modern Control Graphics

At any time the state of logic evaluation is defined by a set of active steps and by the values of the internal and external output parameters. The definition of these elements according to IEC 61131-3 is as follows:

Function block inputs and outputs Communicate value + STATUS Where status includes: Quality = Good, Uncertain, Bad Quality substatus = Highest priority error or alarm condition Limit - limit condition associated with value

Backward path AI

PID

AO

Forward path

FIG. 4.12c When a function block calculates an output value, status and substatus statements are also generated. The status statement indicates whether the quality of the output value is good, uncertain, or bad. The substatus statement indicates whether the value has reached a limit or alarm setting.

A substatus attribute indicates the primary condition, which determines the quality. Also, there is an indication in the status attribute whether the value has reached its high or low limit. When a block input or output parameter is accessed for viewing at an operator console, historian, or diagnostic tool, both the value and its associated status can be communicated. The quality information and its substatus may be useful in diagnosing the cause of a Bad or Uncertain measurement. Quality is indicated by a substatus attribute. If the substatus indicates that the quality is Good, it can also provide additional information that may be needed for control or monitoring purposes. For example, if the substatus of an input block is Good, it will also give information on the status of alarms that are defined for that block. As part of block definition, the processing and propagation of status is defined. To facilitate the use of status information, the representation and meaning of quality and its associated substatus have been defined in the Foundation Fieldbus specification.

SEQUENTIAL FUNCTION CHART (SFC) The IEC 61131-3 standard defines the capabilities of the sequential function chart (SFC) that is used to determine the execution of control functions. The set of SFC execution control elements as defined by IEC 61131-3 was originally designed as a program organization unit for a PLC. Many process control systems have adopted this graphical language as the primary means of sequential logic specification. Sequential evaluation of function blocks may be structured as sets of steps and transitions that are interconnected by directed links that use the SFC graphic language.

© 2006 by Béla Lipták

723

Step—A situation in which the behavior of a program organization unit with respect to its inputs and outputs follows a set of rules defined by the associated actions of the step. Transition—Represents the condition when control passes from one or more steps preceding the transition to one or more successor steps along the corresponding directed link. Each transition has an associated transition condition, which is the result of the evaluation of either a Boolean expression, a ladder diagram, or a network in the function block diagram language. When the transition condition is evaluated as TRUE, the transition is triggered and associated steps are enabled or disabled. Action—Can be defined as a collection of networks in the function block diagram or by various other means such as a collection of rungs in the ladder diagram language. It is used to assign the result of an expression to a database item, which can be an SFC step. A specific task may be represented graphically using steps, transitions, and actions. A sequence in an SFC is drawn as a series of steps and transitions. Steps are represented by boxes and transitions by vertical lines with crosses attached, as illustrated in Figure 4.12d. Each step contains a set of actions that affect the process. At any given time, one or more of the steps and transitions can be active. Each time the SFC scans, the active steps and transitions are evaluated. When a transition evaluates as TRUE (for example, when a transition condition is met), the steps prior to the transition are made inactive and the step(s) following the transition become active. This way, the SFC can sequence through the various control states as defined by the SFC diagram. Transitions allow single-stream or parallel execution of logic within the SFC. By using a sequence select divergence, divergent paths may be used to enter alternative sequences. To converge paths again, a sequence select convergence can

Step name

Step

+ Transition condition

Transition

FIG. 4.12d Representation of a step and of a transition, which are used in a sequential function chart (SFC) as sequentially numbered blocks.

724

Control Room Equipment

S5

+ T4

+ T3 + T1

+ T2

S6

S8

Divergence

state

Left power rail

Normally open contact

Coil

+T 6 state

+ S9

Convergence

S12

S14

Parallel divergence

FIG. 4.12e Examples of divergence and convergence paths in an SFC chart presentation.

also be graphically defined. Simultaneous or parallel sequences can be specified using parallel divergence. The graphic representation of divergent and convergent paths is illustrated in Figure 4.12e. The logic associated with an action or the logic for a transition may be defined as an expression. Within IEC 61131-3, the semantics and syntax of structured text language (ST) may be used to define an expression. Expressions may also be used to provide information for process operators so that they can make control decisions.

LADDER DIAGRAMS The ladder diagram as defined by IEC 61131-3 is utilized by many manufacturers of programmable controllers as their primary means of implementing discrete logic. By using this language, the PLC may test and modify data by means of standardized graphic symbols. These symbols are laid out in networks in a manner similar to “Rungs” of a relay ladder logic diagram. As defined in IEC 61131-3, the ladder diagrams are bounded on the left and right by power rails. The state of the left rail is considered ON (powered) and no state is defined for the right rail. A horizontal link element is represented by a horizontal line and transmits the logical state (ON or OFF) of the element on its immediate left to the element on its immediate right. A vertical link element consists of a vertical line intersection of one or more horizontal link elements on each side. The state of the vertical element represents the inclusive OR of the ON states of the horizontal links on its left side. The state of the vertical link is copied to all of the attached horizontal links on its right. Three basic elements that are used within the ladder diagram to express the implemented logic and calculations are: Contact—Imparts the state of the horizontal link on its right side that is equal to the Boolean AND of

© 2006 by Béla Lipták

state

S11

S9

S7

+

state

Right power rail

Negated coil

FIG. 4.12f The component element symbols used in a ladder diagram include the left and right power rail and the contact and coil symbols.

the state of the horizontal link at its left side with the associated Boolean input, output, or variable. Four basic types of contacts are defined: normally open, normally closed, transition-sensing, and negative transition. Coil—Copies the state of the link on its left to the link on its right without modification and stores an appropriate function of the state or transition of the left link into the associated Boolean variable. In addition to the basic coil and negated coil, various types of latched, retentive, and transition-sensing coils may also be used in the ladder diagram. Function Block—At least one Boolean input and one Boolean output must be shown to allow for power flow through the block. Examples of the graphical representation of a power rail, contact, and coil are illustrated in Figure 4.12f. Within the ladder diagram, the network is evaluated in a top-to-bottom order. Figure 4.12g provides an example of how these basic elements may be combined to serve a motor control application. Even though logic applications can be implemented by using ladder logic, many applications require too many elements to fully address the control and interface requirements of the system. For example, a motor control that includes features such as capturing first-out trip indication and includes

Stop

Start +

Trip

Run

+

+

Run + Stop_cmnd +

Stop +

FIG. 4.12g This motor control application illustrates how the component elements of a ladder diagram can be combined to serve a particular logic sequence.

4.12 DCS: Modern Control Graphics

Enterprise

A logical grouping of equipment that includes the equipment required for production of one or more batches.

Moreover, it defines the coordination controls, which keep all the other pieces of the system properly sorted. Overall, the S88 Standard has provided an efficient means for collecting data in an understandable way from a process that, by its nature, is in a constantly changing state. S88 was adopted as an ANSII standard and has become an international standard (IEC61512-01). The basic structure of the S88 standard is illustrated in Figure 4.12h.

A collection of associated control modules and equipment modules in which one or more of the processing activities can be conducted.

SAFETY LOGIC

An organization that coordinates the operation of one or more sites.

Site

A component of a batch manufacturing enterprise, or logical segmentation within the enterprise.

Area

A process site is divided into 1 or more physical, geographical, or logical segmentations called plant areas.

Process cell

Unit

Equipment module

A plant area can contain 0 or more equipment modules. An equipment module can contain other equipment modules, control modules, and function blocks. The control for a EM is described in terms of SFCs and function blocks.

Control module

A control module may be contained by a plant area, a equipment module, or by another control module. A control module may contain other control modules or function blocks.

FIG. 4.12h ISA Standard S88 provides a basic structure for the hierarchical definition of batch controls.

permissive as well as interlocks in the control logic may require 50 or more elements and many rungs of logic. This complicates the implementation and troubleshooting of logic interlocks in the field. Since a single function block can be designed to perform the same function in a standardized manner, many control system manufacturers provide a set of function blocks designed to address discrete applications in lieu of supporting the ladder diagram language.

BATCH S88 The ISA SP88 developed the S88 Standard to define batch control as a way to standardize recipe handling, equipment control, and the configuration of batch control systems so they fit together. The S88 Standard has served as the basis for almost all of the newer batch-oriented control systems on the market. The S88 standard defined a hierarchy of modular control that supports reusable control components. The standard also provides for flexibility by allowing a recipe to determine the product-related characteristics of a process, while equipment control functions are embedded in the reusable modules. Further, it defined and gave names to the modules that are in continuous and discrete control—referred to as “basic control” in the S88 standard. The standard also defines a layer of procedural controls that allows sequences of control actions to step a process through a recipe-defined procedure.

© 2006 by Béla Lipták

725

Safety systems and safety interlocks must be integrated into the overall process controls of the plant. Safety interlocks serve the protection and safety of operators, equipment, and the environment. Two major types of interlocks are used: Failure interlocks— which are continuously active and usually serve to initiate equipment shutdowns Permissive interlocks— which evaluate conditions in order to allow the starting or the continuation of actions Several control languages have been used to implement safety instrumented control strategies. The most often used languages used are ladder logic, SFCs, and function blocks. More recently there has been a move to embed safety features inside the DCS. Doing so leverages the configuration, diagnostics, alarming, history collection, and control capabilities of the DCS.

CONCLUSIONS The IEC 61131-3 and IEC 61804-2 are graphical control language standards used in many modern control systems. The function block-type graphic language defined by IEC 61804-2 can be used in many measurement, calculation, control, and discrete logic applications. For logic and interlock applications, the SFC-type control language defined by IEC 61131-3 may be effectively utilized. The ladder diagrams graphic language defined by IEC 61131-3 is supported by many PLC manufacturers for the graphic definition of their discrete logic. However, because it requires a large number of rungs for such applications as motor control, it can complicate the troubleshooting of the system. As a result, many control systems provide function blocks, which are designed to fully address such applications. S88 has been widely adopted by the batch processing industries and is now part of most modern DCS systems. Similarly, the SIS safety control strategies are also embedded into some of the DCS systems.

726

Control Room Equipment

Bibliography Bruccoleri, M., La Diega, S. N., and Perrone, G., “An Object-Oriented Approach for Flexible Manufacturing Control Systems Analysis and Design Using the Unified Modeling Language,” International Journal of Flexible Manufacturing Systems, Vol. 15(3), pp. 195–216, 2003. Diedrich, C., Russo, F., Winkel, L., and Blevins, T., “Function Block Applications in Control Systems Based on IEC 61804,” ISA Conference, September 10–13, Houston, TX, 2001. IEC 61131-3 — Programmable Controller Languages, 1993. IEC 61804-2 — Function Blocks for Process Control, 2004.

© 2006 by Béla Lipták

John, K-H., and Tiegelkamp, M., IEC 61131-3: Programming Industrial Automation Systems, New York, Springer-Verlag. Lewis, R., “Design of Distributed Control Systems in the Next Millennium,” Computing & Control Engineering Journal, Vol. 8(4), p. 148, 1997. Lewis, R. W., Programming Industrial Control Systems Using IEC 1131-3, IEE Publishing, October 1998. Mello, R. W., “Flexible System Control and Special-Purpose Languages,” Dr. Dobb’s Journal, Vol. 23(2), p. 68, 1998. Vogel-Heuser, B., and Biermann, C., “Requirements of Process Control Description Language for Distributed Control Systems (DCS) in Process Industry,” Iecon, Vol. 3, pp. 2272–2277, 2002.