Professional Documents
Culture Documents
net/publication/3420664
Design of industrial automated systems via relay ladder logic programming and
Petri nets
Article in IEEE Transactions on Systems Man and Cybernetics Part C (Applications and Reviews) · March 1998
DOI: 10.1109/5326.661096 · Source: IEEE Xplore
CITATIONS READS
94 1,832
2 authors, including:
Mengchu Zhou
New Jersey Institute of Technology
1,071 PUBLICATIONS 38,070 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Mengchu Zhou on 07 January 2014.
Abstract—For the past decades, programmable logic controllers rent events that drive the process to be controlled. It is difficult
(PLC’s) using relay ladder logic (RLL) programming have been to determine the original design specification/sequence of
the workhorse for controlling event-driven industrial automated operation from an RLL program. For this reason, control
systems. RLL proved flexible compared to the hardwired RLL
control implementation, due to its feature of software imple- software in RLL is difficult to understand and verify for its
mentation. As automated systems become more complex, they correctness and lacks the high degree of flexibility required
also become more difficult to understand and maintain. It takes for agile automation.
tremendous effort to accommodate specification changes, which Petri net (PN) theory was developed in 1962 by C. A.
become frequent, to meet today’s flexible and agile automation Petri. PN’s are a graph theoretic and a visually graphical tool
needs. Several methods emerge to overcome the shortcomings
of RLL. Petri nets (PN’s), initially proposed as a modeling designed for modeling, analysis, performance evaluation, and
tool, have been developed as such a method. This paper adopts control of discrete event systems (DES’s) [4], [22]. PN’s are
an industrial scale system to compare RLL and PN design capable of modeling sequential, asynchronous, and concurrent
methods so that the advantages of PN-like approaches are fully events that drive an industrial process. Since they are a
recognized. The criteria are the understandability that relates proven tool for modeling these systems, they should prove
to the ability to evaluate the programmed logic, to verify its
correctness, and to maintain the control system as well as the to be a valuable tool for controlling these processes [4],
flexibility that relates to the easy modification of logic when the [18]. Several PN-based control design methods and laboratory
specification changes. To the authors’ knowledge, this is the first demonstrations are reported in [1], [2], [6], [15], and [17].
work that takes an existing industrial system, conducts discrete The related CAD tools and industrial applications of PN-
event control designs by using both RLL programming and PN based control methods are reported in [7], [11], and [12].
methods, and performs a comparative study on them. Together
with the previous comparison results through small-scale systems, Other related methods, including state-transition diagrams,
the results of this study support that PN-like advanced discrete state charts, rule-based methods, and GRAFCET or sequential
event control design methods are better than RLL, in terms of function charts (SFC’s), are discussed in [5], [8], [10], and
the understandability and flexibility of a resulting control design. [21].
Index Terms—Design method, discrete event systems, industrial We can develop a control strategy by using a PN model
automation, Petri net, relay ladder logic. that captures the discrete event dynamics of the process being
controlled. This should result in a control design that is easier
to understand, troubleshoot, modify, and evaluate. Some previ-
I. INTRODUCTION
ous studies have illustrated certain strengths of PN’s over RLL
TABLE I
METHODS FOR DEVELOPING RLL PROGRAMS
concerned. These devices, relays, electromechanical timers, B. Methods for Developing RLL
counters, and sequencers were being used by the thousands to Several methods exist for developing RLL programs. How-
control many sequential industrial processes and stand-alone ever, no method has been universally accepted by industry.
machines. Installed in control cabinets, they used hundreds of Table I is a comparison of different methods for developing
wires and their interconnection to effect a control solution [3]. RLL programs. For the detailed comparison on them see [21].
These control systems were able to sequence and synchronize
the events required to manufacture a single product. However,
if a change was made to the product, or a new product III. REAL-TIME PN (RTPN) CONTROL METHOD
was introduced, the control solution had to be changed by
physically rewiring the panel. This required downtime to make
the needed wiring changes. If the amount of wiring changes A. Basic PN’s
was excessive, it was not uncommon to discard the entire panel PN’s have proven to be a useful tool for modeling, control,
in favor of a new one. and performance evaluation of manufacturing systems. Their
In the late 1960’s, the Hydromatic division of General fundamental knowledge can be seen in [5], [9], and [22] and
Motors Corp. wrote a specification for a new type of pro- applications in manufacturing automation in [4] and [16]. A
grammable controllers [3]. These controllers would eventually marked PN is a five tuple PN ) where
be programmed using RLL. The RLL programming language 1) is a finite set of places pictured by circles;
was developed to smooth the transition from relay control 2) is a finite set of transitions pictured by bars or boxes,
systems to PLC’s. The initial intent of RLL was to allow plant with ;
maintenance personnel to troubleshoot, maintain, and make 3) is an input function that specifies arcs
minor modifications to the system. PLC’s greatly improved directed from places to transitions, where is the set
the flexibility of industrial control systems and reduced the of all natural numbers;
downtime required to make modifications. However, the larger 4) are output function that specifies arcs
the control system, the more difficult it is to determine the directed from transitions to places;
initial design specifications (how the system operates) by 5) is an initial marking whose th component
examining the control logic. This makes troubleshooting these represents the number of tokens pictured by dots in the
systems difficult. th place.
Short RLL programs (less than 100 rungs) are not difficult Places are used to represent conditions (true/false), resource
to evaluate. However, as a system becomes more complex, the availability, or process status, e.g., a machine is processing
RLL program can easily grow to 1000 rungs or more. Adverse a part. Transitions are used for events, the start and end of
results of large RLL programs are as follows. activities. Places, transitions, input, and output functions that
1) Complexity to validate and evaluate the ladder logic define arcs from places to transitions or transitions to places
grows exponentially (in general). constitute the structure of a PN. Its state is defined by its
2) It becomes more difficult to make program modifications marking. A marking is a -dimensional vector whose th
to reflect changes in the system functional specification. element represents the number of tokens in the th place.
3) It becomes more difficult to troubleshoot and maintain Tokens travel from place to place along directed arcs. The
the program. flow of tokens is determined by the “firing” of transitions. In
ZHOU AND TWISS: DESIGN OF INDUSTRIAL AUTOMATED SYSTEMS 139
order to simulate the dynamic behavior of a system, a marking a) Immediate—Represented as solid bars, these
in a PN is changed according to defined “firing” rules. These would always have a firing attribute of one and
firing rules are also referred to as the token player game [9]. zero time delay.
They are defined as follows. b) Input—Represented by hollow bars, these transi-
1) Transition is said to be enabled if each input place of tions would fire when all input places are marked,
is marked with at least tokens, where is the firing condition is true, and the time delay
the weight of the arc from to . Mathematically, has expired. Transition can have the form:
is enabled if . # or a Boolean expression, e.g.,
2) Enabled transition may or may not fire (depending on and s or min, # is an input address
whether the event takes place). often represented by a tag name, and is a preset
3) Firing of an enabled transition removes tokens time delay.
from each input place of and adds tokens to
and together are the firing attribute of .
each output place of , where is the weight of
3) Vector sends commands to the digital output interface.
the arc from to . Mathematically, fires at marking ,
When is marked by a token, some output function
yielding the new marking
occurs (e.g., start motor). Place would only be allowed
. Marking is said to be reachable
to write to a single element of vector , thus, would
from .
only be allowed to set or reset a single output.
The reachability set is the set of all markings reachable It should be noted that in [15], input signal functions are
from by a sequence of transition firings, denoted by associated with places and output signals with transitions. Our
. A place is k-bounded if practice of PN modeling of industrial systems suggests that
. A PN is k-bounded if each place is k- it is easier to associate input signal functions with transitions
bounded. It is safe if it is one-bounded. It is live if a and output signals with places. This latter approach was also
fireable sequence whose firing results in a marking that enables adopted in [11] and [17]. Other approaches and CAD tools
and . The significance of the PN properties in to design logic controllers by using PN are presented in [6],
manufacturing is discussed in [18]. Briefly, boundedness and [7], and [12].
liveness guarantee the stability and freedom from deadlock of An emergency stop situation normally requires the process
a DES, respectively. to be halted (all outputs reset) and for the system to return
Deterministic time delays are often associated with transi- to an initial or last state upon the alarm condition being
tions and/or places in PN’s that model industrial automated manually or automatically reset. To handle different emergency
systems. Random time variables can also be associated to a stop schemes and simplify modeling, special e-stop places are
PN. These models can be used to evaluate system performance, used. These places have an additional attribute that disables
such as throughput and resource utilization [4], [9], [19]. all designated outputs when the e-stop place is marked. Once
the e-stop place is marked, all tokens are removed from other
places. When it loses its token, either the last or initial marking
B. RTPN-Based Controller
is restored, based on the type of restart required. This place can
An RTPN-based controller can be developed by assigning also be used to execute a fault routine, i.e., a safe shutdown
physical output functions to places and assigning phys- or alarm annunciation routine.
ical input and timing variables to transitions of the PN
model. Formally, the RTPN could be defined as follows
C. RTPN Model of Conveyor Start/Stop
[15]: an RTPN is eight tuple and defined as RTPN
, where Following is an example of how an RTPN can be used to
• is as defined before; model a conveyor system. When parts are detected by photo
• is a firing time-delay function, where switch (PS1) in the conveyor receiving area, the conveyor
is the set of nonnegative real numbers; motor is commanded to start. When the delivery area PS2
• is an input signal function, where is the set detects a part, the conveyor is commanded to stop. This DES
of Boolean expressions of input addresses; can be broken down into the following events.
• is a physical output signal function. 1) Parts are detected by the receiving area PS.
1) Timing vector assigns time delays to transitions. It 2) The motor is commanded to start.
models the delays and synchronization of activities in 3) Parts are detected by the delivery area PS.
the system. 4) The motor is commanded to stop.
2) Vector is used as an enable signal and determines This system can be modeled using two places and two transi-
when a transition is fired. It can be mapped to a single tions. A place is required for each system state, i.e., conveyor
input address or Boolean expressions of input addresses. running/conveyor stopped.
When the function associated with is true and all • sets the motor run output, i.e., .
input places are marked, the firing rule is executed. is • resets the motor run output, i.e., .
the firing conditions of all transitions in an RTPN. Two • has a firing attribute of PS1 and delay , i.e.,
basic types of transitions are as follows. PS1, and .
140 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C: APPLICATIONS AND REVIEWS, VOL. 28, NO. 1, FEBRUARY 1998
conditions and lights to indicate output signals. After the mode is no longer selected. This instruction is used to remem-
first program file was completely tested, it was copied and ber the system being initiated in timer mode and to automat-
stored in a library file. The addresses I/O and internal status ically restart skimming after a high-to-low wet-well transition
bits of the library were then searched and replaced with the on rung #5. Rung #5 (auto-start timer) is a “one shot” output
addresses for skimmers 8–1. When search and replace were instruction. It only enables the post-conditions for one program
completed, the files were inserted into the RLL program scan while the preconditions are set. This bit is set by either the
with the logic for skimmer #9. To index from one skimmer minute counter done bit “or” a high-to-low wet-well transition
subroutine to another, a sequential function chart (SFC) when the system is in timer mode. The logic for the high-wet-
similar to PN was used [5], [8]. SFC’s consist of steps well level latch and low-wet-well reset bit is not shown.
(similar to PN places) and transitions. An SFC repeatedly Continuous Mode: Rung #6 (auto-start continuous) is also a
scans a step (program file subroutine) until its output “one shot.” This bit is initially set when the resume push button
transition(s) become true. Once the transition(s) become true, is depressed. It is then repeatedly set by the previous cycle
all output conditions in the step are reset and the next enabled complete bit. It is also set on high-to-low wet-well transitions,
step (program file subroutine) is scanned. After the SFC was while continuous mode is selected. The logic in dotted boxes
entered, the system was again tested by using the test stand. will be explained later.
The logic for the scum valves and spray water valves was Step to Next Skimmer: Rung #7 enables the next skimmer
entered, and a final test was then performed. A portion of the when
ladder logic as shown in Fig. 4(a)–(d) is described as follows. 1) skimmer fault occurs and the “resume” push button is
6–24-h Timer: It is defined by Rungs #1–3. The minute hit;
timer on rung #1 is a 1-min self-resetting timer, whose done- 2) skimmer is in rest mode and the rest limit switch is
bit pulses and increments the minute counter on rung #2. The activated;
counter has a maximum preset value of 32 767 min. It resets 3) remote mode is not selected and the skimmer is in any
when rung #3 is executed. cycle.
Timer Mode: Rung #4 output instruction latches when the Auto Start: Rung #8 (auto start) is a “one shot” instruction.
minute counter done bit is set. The auto-start timer latch bit The bit is set when either the timer or continuous auto-start
remains set until skimmer #1 completes its skim cycle or timer bits are set and remote mode is selected.
142 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C: APPLICATIONS AND REVIEWS, VOL. 28, NO. 1, FEBRUARY 1998
(a)
(b)
(c) (d)
Fig. 4. (a)–(d) Typical skimmer RLL’s.
ZHOU AND TWISS: DESIGN OF INDUSTRIAL AUTOMATED SYSTEMS 143
C. RTPN Design valve is enabled. At the completion of the scum flushing valve
1) Top-Level Design: A top-down approach is used in the operation, the cycle repeats until the continuous mode is no
RTPN design, whose process is briefly described. The theory longer selected. When timer mode is selected, fires once
and simple examples on top-down PN synthesis are discussed every 6–12 h after completion of the scum valve operation
in [13], [14], and [18], and a laboratory example can be seen in until it is no longer selected. timer mode:
[19]. The first level of this design is shown in Fig. 5, which is a 6–12 h.
cross between a PN and a flow chart. It models the sequencing 2) Second-Level Design: In the second-level design
of major elements of the system, each of which is represented (Fig. 6), the model for skimmer #9 is expanded and details
by a block. They are models of continuous and timer mode of continuous and timer models are shown. All places and
of operation, nine skimmers, and a scum valve. The model transitions are summarized in the Appendix.
of a skimmer is further broken down into four submodels, Skimmer #9 Model Expansion: The model for skimmer
skimmer cycle, spray water valve, high-wet-well e-stop, and #9 is expanded to show the relationship among its four
loss of remote. different components. Three of them (skimmer sequence/high-
The system can be initiated in either continuous or timer wet-well/spray water valve) are synchronized by (initiate
mode. When the former is selected, transition fires and skim cycle) and (step to next skimmer). When (Skimmer
enables the continuous mode model. of the continuous mode #9 start request) is marked by either continuous or timer mode
model enables skimmers #9–1 in a decreasing numerical order. of operation, immediate transition fires, passing tokens to
has a firing attribute ( continuous: ) and the models of skimmer sequence, high-wet-well e-stop, and
is an immediate one, which fires once all the conditions spray water valve. If the remote input from a skimmer in
are met. Once skimmer #1 completes its operation, the scum cycle is lost, the skimmer stops and the next available skimmer
144 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C: APPLICATIONS AND REVIEWS, VOL. 28, NO. 1, FEBRUARY 1998
(skimmer with remote selected) is enabled. Thus, the loss of #9) and (continuous mode bypass skimmer #9) are enabled.
remote model is shown with connections to the box of reverse, When skimmer #9 remote mode is selected:
shallow, and deep skims. skimmer #9 “not” in remote and . If
Continuous Mode Modeling: When the continuous mode skimmer #9 is selected for remote operation, fires and
is selected, (initiate continuous operation) fires. When passes a token to . Otherwise, skimmer #9 is bypassed and
skimmer #9 continuous mode is selected: the skimming sequence starts at skimmer #8 through ’s
. Its firing removes a token from (enable skimmer #9) and firing. When skimmer #9 has completed its cycle, skimmer #8
deposits one to (continuous mode start request), where is enabled by marking (enable skimmer #8). If selected for
is initially marked. Then (continuous mode enable skimmer remote operation, skimmer #8 starts its sequence. Otherwise,
ZHOU AND TWISS: DESIGN OF INDUSTRIAL AUTOMATED SYSTEMS 145
(continuous mode bypass skimmer #8) fires to bypass it. [skimmer #9 in shallow (deep) skim mode], thus setting
Once skimmers #8–1 and the scum valve have completed their [ ], i.e., shallow (deep) skim indicator. Similar to the
sequences, or have been bypassed, (enable skimmer #9) reverse skim mode, if the skimmer does not reach the desired
is again marked. The cycle repeats until the continuous mode position within a preset delay of or , or fires and
is no longer selected. The dotted portion in the upper corner is marked. When or is marked, the system stays in the
of Fig. 6 is for design modifications and will be explained deep or shallow skim mode until the delay associated with
later. (shallow skim duration, , and s.) or
Timer Mode Modeling: When the timer mode is selected, (deep skim duration and s.) expires.
(initiate timer operation) fires. Its firing removes a to- Two paths (shallow and deep) converge at (skimming
ken from and deposits one into (timer mode se- complete). Transition (end skimming) is an immediate one
lected check). Then (initiate timer mode delay) and and fires to mark (skimmer to rest) once is marked.
(end timer mode) are enabled. When Thus, the output address that drives the skimmer to the rest
and skimmer #9 timer mode are “not” selected: position is set, i.e., skimmer to rest. Both (enter
. Thus, if is marked for 6–12 h, fires and rest mode) and (enter skimmer to rest fault mode) are
passes a token to (timer mode start request). If timer enabled. Firing removes a token from and deposits one
mode is deselected while is marked, fires and to (skimmer #9 cycle complete). If the skimmer does not
is remarked. When is marked, (timer mode enable reach the desired position within a preset delay of ,
skimmer #9) and (timer mode bypass skimmer #9) are fires and is marked. Hence, if any actuator fault occurs
enabled. Therefore, if skimmer #9 is selected for remote during the above skim cycle, is marked. To reset the
operation, fires and passes a token to of skimmer #9. fault and continue skimming at the next skimmer, an operator
Otherwise, it is bypassed and the skimming sequence starts at must hit the resume push button. In the RTPN, (resume
skimmer #8. The remaining is similar to the continuous mode normal operation) fires when the resume push button is hit,
of operation. thereby removing a token from and depositing one to
3) RTPN Model of Skimmer: The RTPN model of a skim- .
mer is composed of four components: the skimmer sequence, Spray Water Valve Modeling: When (enable spray wa-
the high-wet-well e-stop, spray water valve, and loss of remote. ter valve) is marked, (enter spray water valve open status)
is used to initialize the first three subnets, and to and (enter spray water valve loss of remote status) are
synchronize them at the end of the cycle. In Fig. 7, receives enabled. Note that (spray water valve closed) is initially
a token after the continuous or timer mode is selected, as marked. If the valve is not selected for remote operation, then
shown in Fig. 6, and then is enabled. Firing marks fires to mark (spray water valve loss of remote).
(moving to reverse position), (enable spray water valve), Otherwise, fires and (spray water valve open) is
and (enable high-wet-well e-stop). marked, which sets the spray water valve open output. Both
PN of Skimmer Sequence: Marking sets the output ad- (close spray water valve) and (enter spray water valve
dress that drives the skimmer to the reverse position, i.e., loss of remote status) are then enabled. Immediate transition
skimmer to reverse. Both (enter reverse skim mode) fires when is also marked. When fires, a token
and (enter skimmer-to-reverse fault mode) are enabled. is removed and redeposited into by the bidirectional arc,
the reverse limit switch, and ; and removed from , and deposited to , respectively. Marking
“not” reverse skim limit switch, and s. If fires, sets the spray water valve close output. If the remote mode
a token is removed from and deposited into (skimmer of operation is deselected, then fires, removing a token
#9 in reverse skim mode), resetting . If the reverse limit from and depositing one into and , respectively.
switch is not actuated before ’s time delay expires, This allows an operator to take local control of the valve while
fires and marks (skimmer #9 fault). This fault loop is the automatic skimming cycle continues.
typical for deep, shallow, and rest actuator faults. Marking Modeling of High-Wet-Well E-Stop: When (high-wet-
sets the output for the reverse skim indicator [ well level e-stop place) is marked, due to the firing of
reverse skim indicator]. Then (reverse skim duration 1) and (initiate high-wet-well e-stop), skimmer operation is disabled
(reverse skim duration 2) are enabled. by removing all tokens from all places. fires when a par-
s, and s. Depending on ticular skimmer is in any cycle and a high-wet-well condition
the mode selected (shallow or deep), the skimmer stays in occurs. Places and represent high- and low-wet-well
reverse until the delay associated with or expires. It levels, respectively. The condition is automatically reset on a
then enters shallow or deep skim mode. When (skimmer low-wet-well level. (low-wet-well level switch debounce)
#9 moving to shallow position) or (skimmer #9 moving and (high-wet-well level switch debounce) are used to
to deep position) is marked, its corresponding output address debounce the high- and low-level switches. low-
that drives the skimmer to the deep or shallow position is set, wet-well level switch, high-wet-well level switch,
i.e., skimmer to shallow or skimmer to deep. and s. When the high-wet-well condition
Then (enter shallow skim mode) and (enter skimmer is reset, (reset high-wet-well e-stop) fires and the token
to shallow fault mode) or (enter deep skim mode) and is removed from the e-stop place . When it loses its
(enter skimmer to deep fault mode) are enabled. When token, then the initial marking is returned to the particular
fires, a token is removed from ( ) and deposited into skimmer where the high-wet-well condition occurred. The
146 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C: APPLICATIONS AND REVIEWS, VOL. 28, NO. 1, FEBRUARY 1998
initial marking for skimmer #9 marks , , and each limit switch is actuated, fires, thus marking (scum
with one token. The skimming cycle is then reinitialized and valve open). Place indicates that the scum valve is open.
continues from this point. It remains marked until the delay associated with (scum
Modeling of Loss of Remote: If the skimmer is in a cycle valve open duration) expires. and
(reverse/shallow/deep) and whenever the remote input is lost, s. Firing marks (close scum valve), which sets the
(skimmer #9 cycle complete) is marked by firing one of output that closes the scum valve. When the scum valve closes,
, and . (enter scum valve closed status) fires and passes a token
4) Scum Valve Model: The RTPN model of the scum valve to . Scum valve actuator fault is initiated when the valve is
is shown in Fig. 8. When skimmer #1 completes its skim cycle, commanded to open or close and does not reach its full open
(open scum valve) receives a token and sets the output that or closed position within a predetermined time or one of
opens the scum valve, i.e., open scum valve. Both (enter scum valve open fault mode) and (enter scum valve
(enter scum valve open status) and (enter scum valve close fault mode) fires. To reset the fault condition, the resume
open fault mode) are enabled. When the scum valve open push button must be depressed, and fires.
ZHOU AND TWISS: DESIGN OF INDUSTRIAL AUTOMATED SYSTEMS 147
B. Flexibility
V. DESIGN COMPARISON To determine the flexibility of each algorithm, the following
changes are made to the original design specifications for the
A. Understandability and Correctness Verification wastewater treatment system described below.
The RLL program listing produces approximately 450 rungs • Time delay is to be inserted before a skimmer begins the
of code, or 90 pages [21], while the RTPN program produces reverse skim operation.
four PN designs (Figs. 5–8) plus a table to interpret the • Continuous mode is to be modified to allow a maximum
meaning of places and transitions. RTPN’s make it easier of five complete skimming cycles. A resume push button
to implement a hierarchical structure. This results in a more has to be pressed before another run starts.
compact design algorithm. We could argue that the ladder • Typical skimmer sequence is to be modified to eliminate
logic program consists of nine subroutines. The only dif- the choice structure of going to deep or shallow skim
ference between these subroutines is the addresses and tag after reverse skim. The new cycle shall be: rest to reverse,
numbers. Therefore, once one subroutine is understood, all reverse to shallow, shallow to deep, deep to rest, all with
are understood. Each RLL subroutine is approximately 30 adjustable time delays as before.
rungs, or seven pages, roughly equivalent to the RTPN in Time Delay: The insertion of a time delay before the re-
Fig. 7. As mentioned earlier, the RLL program was written verse skim operation begins has no effect on the structure
with the assistance of a supervisory SFC. The SFC simplifies of the RTPN. Transition in Fig. 7 is changed from an
the sequencing of each RLL subroutine. However, when immediate to a timed one. The insertion of a time delay in
many subroutines are used in a pure RLL file, it becomes the RLL program requires an additional rung to include the
difficult to determine how and in what order they are executed. timer function, an additional rung to output instruction, and
This is because RLL is similar to a line-number-oriented modification to existing rungs of ladder logic. The original
programming language. Every rung is scanned in sequential output instruction is replaced by the new output instruction.
order whether the conditions for the rung output instruction are NO contact of the new output instruction is used to enable the
true or false (jump to subroutine is considered a rung output new timer. The done bit of the timer is then used to set the
instruction). In an RTPN, only sections of logic, which are original output instruction that starts the reverse skim mode
enabled, are executed. The order of execution is determined by operation. The RLL modifications are shown in Fig. 4(b).
the structure of the RTPN itself. A simple way to implement Maximum Cycle Counter: The insertion of a counter re-
RTPN is to select an enabled transition to fire at one time. quires modification to the basic structures of both designs.
148 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C: APPLICATIONS AND REVIEWS, VOL. 28, NO. 1, FEBRUARY 1998
The RTPN requires two additional places (counter) and resource constraints. Future work includes benchmark studies
(limit place with five tokens initially), one additional transition among sequential function charts, PN, structured text, state
with [ resume push button: ], and machine, and state chart methods. Comparison and evaluation
related dashed arcs, as shown in Fig. 6. The “counter place” of the existing CAD tools for discrete event control designs
has an output arc of weight 5 to the new transition and a single are also interesting.
input arc from . When the system is in continuous mode
and each time fires, is loaded with a token and APPENDIX
loses one. After fires five times, has no token, is
disabled, has five tokens, and is enabled if the resume A summary of places and transitions in Figs. 6–8.
push button is hit. Its firing removes five tokens from ,
deposits five to , and one to . The cycle is reinitiated.
The insertion of a cycle counter in the RLL program requires Place Description Attributes
modifications to existing rungs and the addition of two new Skimmer #9 start status only
rungs. One rung to include the counter function and another request
to reset the counter. The modifications and additions in the
Skimmer #9 ( skimmer to
dotted box in Fig. 4(a) are as follows.
moving to reverse reverse)
• NO contact of the original rung output instruction to start position
the system in continuous mode is used on a new rung to
Skimmer #9 in ( reverse skim
increment the counter each time a new cycle starts.
reverse skim mode indicator)
• Reset the counter; the resume push-button input is added.
• Prevent more than five cycles from occurring at once; the Skimmer #9 ( skimmer to
“not” (NC contact) of the counter done bit is placed in moving to shallow shallow)
series with the original output instruction that starts the position
system when continuous mode is selected. Skimmer #9 in ( shallow skim
shallow skim mode indicator)
Sequence Modification: Modification of the sequence to
eliminate the choice structure of the system requires modi- Skimmer #9 ( skimmer to deep)
fications to the structures of both algorithms. The elimination moving to deep
of the choice structure simplifies the RTPN structure by elim- position
inating one of the two parallel paths after . The elimination Skimmer #9 in ( deep skim
of the choice structure in the RLL program does not simplify deep skim mode indicator)
this algorithm. See [20] for a comparison of the old and new Skimming complete status only
RTPN’s and RLL. Skimmer #9 ( skimmer to rest)
In summary, RTPN exhibits better robustness responding to moving to rest
the specification changes than RLL. It requires fewer changes position
than its RLL program does. Therefore, PN’s are a preferred Skimmer #9 fault status only
approach to designing a controller whose specification requires Skimmer #9 cycle status only
frequent change to meet flexible and agile automation needs. complete
Enable spray water status only
VI. CONCLUDING REMARKS valve
PN’s hold a promise as a solution to modern industrial Spwater valve open spray water valve
control problems. They display greater flexibility and un- open)
derstandability of the process than today’s standard RLL Spray water valve spray water valve
programming techniques. To speed up their applications to closed closed)
industrial discrete event control problems, more standard soft- Spray water valve status only
ware tools have to be developed [7], [12]. A number of loss of remote
companies, e.g., Hitachi, Kobe Steel, and Microsoft, have Enable status only
invested in this area and achieved a significant savings in high-wet-well
system development time compared to traditional RLL and e-stop
general-purpose programming approaches [9], [20]. They have High-wet-well Disables all outputs when
also developed their PN-based computer programming tools e-stop marked/resets RTPN by
for their system development, as shown in [10]–[12]. A bench- placing a single token in
mark study on a variety of methodologies should be helpful in when fires.
convincing engineers to accept new approaches, such as PN’s.
High-wet-well level status only
This paper presents for the first time a convincing comparison
between PN and RLL for an industrial automated system. Low-wet-well level status only
The detailed PN design process is illustrated. Unfortunately, Continuous mode status only
its real-time implementation was not performed, due to the start request
ZHOU AND TWISS: DESIGN OF INDUSTRIAL AUTOMATED SYSTEMS 149