/
A SEQUENTIAL
FUNCTION /
CHART {SFC) /
LANGUAGE FOR ___/
BATCH CONTROL
Hiro Sugiyama
Yasuhiro Umehara
Ernest Smir~
In rerent years, the applications of DCS [Disu~l~ plied to both batch and continuous processing. There is a
uted Control Systems) have broadened to cover demand for easier-to-engineer, easier-to-operate batch con-
not only continuous processes but also batch trol systems, as well for advanced batch control functions
processes, and there are increasing demands for such as Multi-Purpose Plant (MPP) control functions.
batch control systems which are both sephisr~ This paper describes a batch control sequence language
cated and easy to use [easy to operate and easy that enables easy and accurate description of batch control
to engineer), for murr~purpose plants. sequences and the selection and execution of sequences--
including conditional branching (sequences executed in p~-
The paper describes a new sequence language ailel)--using Sequential Function Charts (SFC).
which covers a wide range of process control The sequence language can work together with various
applications, re uses SIC [Sequential Function continuous control functions, and the operator can interac-
Charts) to allow unit sequences to be executed in tively change batch sizes and scheduling, for example, ~ the
parallel. method has wide applicability.
This sequence language is useful for batch s ~
quencse because it can communicate with feed- SEQUENTIAL FUNCTION CHARTS
back process control functions, and its interactive The sequential function chart (SFC) is a graphical se-
user interface makes it easy for the operator to quence language chart now in the process of standardization
select execution sequences or modify production by the IEC. It can describe the flow of control simply and
quant~ies. clearly. We have developed a sequence language that
enables sequences to be described according to a sequential
function chart that conforms to the IEC Draft Standard 0EC
INTRODUCTION SC65A/WG6).
DCSs (Distributed Control Systems) are now being ap- Our SFC is a superset of the standard in that it supports
ISSN 00194~$/90/02/0063/07/$2.50 © ISA 1990 IS/, Transactions • Vol. 29, Nor 2 63
macro functions--to r=duce the work involved in writing
complex sequences. The program statements of this se-
quence language not only correspond to the SIC b , t also
resemble English text, making it easy to understand. E
m
action I [
Basic Elements action 3 J
The SIC consists of basic elements such as steps, transi- ~.~
tions, and links. Each step contains actions, and each
transition stub contains conditions for proceeding to the next (a) Our SFC
step. Links are used to indicate the possibility of transition
between steps connected by the link. The transition (via the
link) occurs if the corresponding transition conditions are step 10
satisfied. action 1
select
when (transition condition)
Correspondence between SFC Rules and step 11
Sequence LanguageProgram Statements action 2
The rule~ for starting .an SFC are best understood by condition (transition condition)
looking at an SFC graph. An SFC is described by text and when (transition condition)
sequence language program statements. step 12
action 3
Serial Sequence. For a serial sequence, steps and condition (transition condition)
transitions occur in series (Fig. l(a)). For our SFC, end select
each step has a step number label (the number in the (b) Statement
box). The first sequence step, which is entered into
a special double-wall box, is called the "initial Figure 2. Selection Sequence
step". A transition is shown by a short horizontal line
between the current step and the next one; the transi-
tion number is written at its right. A link is a vertical vice versa. When written in text form, a serial
or horizontal line connecting a step to a transition, or sequence is represented by a "step...condition" state-
ment pair (Fig. l(b)).
Selection Sequence (Branching). A selection se-
quence is represented by two or more transitions
below a horizontal line connected to the previous
step (Fig. 2(a)). After the actions in a step are started,
the corresponding transition conditions are tested.
action
The transition that corresponds to the first transition
condition satisfied is performed. When written in
text form, this is expressed by "step...select" state-
ments (Fig.2Co)).
(a) Our SFC
Parallel Sequence. In a parallel sequence, processes
step 10 that can be executed in parallel are described be-
action tween two double horizontal lines (Figs. 3(a) and
4(a)). When all of the last stages of the steps being
condition ( t r a n s i t i o n c o n d i t i o n )
executed in parallel become active, and the transition
conditions are satisfied, all the parallel processing is
(b) Statement
terminated, and the actions in the next step are
performed. When written in text form, this is ex-
pressed by "parallel...parallel condition" statements
Figure 1. Serial Sequence
(Fig. 30))). When sequence selection is pcrfonned
64 ISA Transactions • Vol. 29, No.2
after ~ e parallel sequence, "Parallel...parallel se- . AdditionaiFaac6oas. Our S I C has additional func-
lect" statements are used (Fig. 4Co)). tions called "macro-steps'" and s.b-SFCs," which
enable hiermchical sequences to be described. Each
macro-step is represented by a box with double lines
at lop and bottom (Fig. 5). A macro-step is like astep
within a step; when the macro-step becomes active,
the transitions coneslmnding to the macro-step are
enabled. Sub-SFCs, on the other hand, are repre-
sented as shown in Fig. 6. They differ from macro-
steps in that they contain only conditions and actions,
(a) Our SFC not transitions; the sub-SFC can be replaced by the
conditions and actions it contains.
parallel
section
step 13 ElffGIItlEERIItlB
action 1 Programs are created in the engineering work station,
section
executed in the batch control station, and can be operated and
step 1~1
action 2 monitored from the operator station O~ig. 7)
parallel condition (transition condition)
Programming
(b) Statement Programs are us~Aly created as graphic flowcharts, using
our SFC editor-but they can also be written in text format,
Figure 3. Parallel Sequence using the text editor. Program flowcharts created by our SFC
editor are stored internally in tokenized format and compiled
to text language before execution. Figure 8 shows an
example of an application written using our SFC editor.
Debugging
ncUon1 I .,orion2 l Programs downloaded to batch control stations are de-
,,
bugged remotely from the engineering work station. Debug-
ging is performed while displaying the program in SFC or
text format on the engineering work station.
oct,o,,31 ,c ioo4
m
OperationMon'~.oring
When a progrmn created by our SFC editor is executed,
(a) Our SFC
the equivalent SFC can be displayed on the operator station.
Since steps that are active--and transitions that are enabled
parallel --are highlighted, it is easy to visually monitor the sequence
section
step 15 execution status.
action 1
section
Figure 8 shows an application written using our SFC
step 16 editor, and Fig. 9 shows the monitoring display panel during
action 2
parallel select program execution.
when Itransitiun condition)
step 17
action 3
condition (transition condition)
when (transition condition)
step 18 ~?/ER FUNCT/ONS
action 4
condition (transition cuqdiLioq)
Data types and control statements used in familiar pro-
end select gramming languages such as FORTRAN or C can be used in
(b) Statement this sequence language. As well as integers and real num-
bers, character strings and arrays can also be used. Condi-
tional control statements (if), recurslon (while, for, repea0,
Figure 4. Selection After Parallel Sequence
and selection (case statements) are supported,enabling struc-
ISA Transactions " VoL 29, No. 2 65
commeo I I
÷
(a) Macro-step Call (b) Macro Development
Figure 5. Macro-Step (Step 11 : Macro-Step)
action [ ~ action I
comment ! action I
~~l~ acti°n I ~ ~ acti°n I
(a) Sub-SFCCall up (b) Sub-SFCDevelopment
Figure 6. Sub-SFC (Step 22 : Sub SFC)
tured programming. This language also has sequence con- Example 2: Set the set points of controller FIC1, FIC2,
trol functions, ~.omeof which are described below. and FIC3 to 50, 75, and 75, respectively.
Control instrumen¢ Operab'on [FICI.SV, FIC2.SV, FIC3.SV = 50, 75, 75]
Control instrument data can be used in assignment state-
ments and expressions in the same way as normal variables. Interaction with the Operator
Control instrument data can be read, compared, and set or The dialogue statement can be used to request input from
changed. the operator at the keyboard of the operator station. Both
"wait for confirmation" and "data entry" dialogue state-
Example 1: if the mode of controller FIC001 is AUT, set the ments are available. The "wait for confirmation" dialogue
set value to 50. statement specifies a message to be displayed on the operator
station, along with a variable for storing the operator re-
if (FIC001.LS = = "AUT") then sponse (input). The "data entry" dialogue specifies a
FIC001.SV = 50 message and variables for storing the operator response.
end if Simply by using dialogue statements, the person who
66 ISA Transactions o Ve!. 29, No.2
Engineering Work Station O p e r a t o r Station
• Program creation • Operation execution
• Debugging * Operation m o n i t o r i n g
I I
I
Batch C o n t r o l Station
BUS
• Sequence p r o g r a m
execution
• Field c o n t r o l
Figure 7. Role of Stations
iii
* Recipe b u i l d e r / p a r t e d i t i n g * Part No. 1 11! Recipe : ER101
System constant
÷ ÷ ÷ ÷ ÷
Im
Model name : REACTA
Unit
+ + + 4- + $ Operation list 111
- - T1 ÷ + + + + l:init-1 21: Operation
E -!- + + + + IS
i_
2:init-2
3:charge
4:add-1
5:add-2
22:
23:
24:
25:
Recipe
Utility
6:add-3 26:
~--T2 + [~]_÷add_2 i ++ ++ ++
+ + + T 7:mix 27:
8:mix-3 28: Batch builder end
9:heat 29: ,,
T~ + T + + + + 10:endproc 30:
+ -!- 4- + + ÷ 11: 31:
------- ----- + + + + + + + 12: 32:
1 13:
14: 33:
34:
4- + + + + + + 15: 35:
÷ + + + + + ÷ 16: 36:
m 17: 37:
÷ + + 4- + + + 18: 38:
÷ + + + -I- + 4- 19: 39:
20: 40: YSFCediting
÷ + 4- + + + ÷
+ + + + + + + Tra, isition
Batch data
Graph drawing Copying
4- -F f Comment entry
Delete Renumber
~-I~J + L :1- < Operationchange Stepdevelopment
Layout Grid
1" '
Select d e s i r e d o p e r a t i o n
Recipe list Headerediting Next part Previous part Write
,
Figure 8. Our $FC Editor
IS?, Tran,~actions • Voi. 29, No. 2 67
, 01 88.12.13 09:07
SFCDISPLAY
UNIT : R102 STATUS : RUN MODE : MAN
DIALOGUE :
I uN'T II
Figure 9. Operator Station Monitoiring Display Panel
01 88.12.15 18:07
SFC DISPLAY
UNIT : R102 ST~.TUS • RUN MODE : MAN
E• i
TANK LEVEL?
1. Hign
2. Low
>>
I UN'T Ii II IF- ] [CONDITIONI Gr'G~!]E"
~ ICONTRO~ I
Figure 10. Dialog Window
68 ISA Transactions • Vol. 29, No.2
I Process 1 I Process 2 I
I I I
I I
Start
!
!
: ,KiiJ
!
I
! Hold I ~ Restart ', .o,./t....o :':o01ft-i
!
I
I
I
I
" i/I,
I
"@
I
I
I
!
L._ . . . . .
Reset
O 'statu -) : Signal ~ : Signal to be translated regardless of status
Meaning of status Meaning of signal
IDLE : Standby Start : Start command
RUN : Under execution Scomp : Step complete
HOLD : Undertemporarystop Hold : Temporary stop command
EMST : Under emergency stop Restart : Restartcommand
END : End Step : Stepping command
Term : End command
Reset : Resetcommand
Ernst : Emergency ~op command
Figure 11. State Transition Diagram
Example 3: The following dialogue prompts the op~ator to quences, for example. Such shutdown / r-vstartsequence
select either high or low tank water level, and transitions can be represented using a normal stale transition
displa~,,s ">>". The data that the operator "d~ram (Fig. l ]). Our SFC sequence ka~suage supports a
enters is stored in the variable LEVEL. Figure special state ~ansition matrix ~ is equiva]~t to n sm.,~
10 shows the operator station dialogue window. transition diagram; this makes it easy for the us~ to conuol
the state wansifions of programs run under the unit
dialogue "TANK LEVEL? I n l.High/n
2.Low~n";">>", LEVEL CONCLU61ON6
This paper dc.,~'ibed a sequence language that uses Se-
quential Function Charts (SFC). SFCs enable the flow of
Stare Tranr,i~ion Matrix control in a process sequence to be expressed simply and
During the operation of a sequence, it is frequently graphically, and the use of SFC is expected to result in
necessary to switch mode (e.g., from AUT to M A N ) or in:provements in progr~nming productivity and to enhance
perform emergency shutdown (and subsequent re~tart) se- operation monitoring capability.
I S A Transactions • Vol.29, No. 2 69