You are on page 1of 13

Int J Adv Manuf Technol (1998) 14:716-728 The Intemational Journal of

© 1998 Springer-Verlag London Limited


Rdvanced
manufacturing
Technologu
Discrete Event Control System Design Using Automation Petri
Nets and their Ladder Diagram Implementation
M. Uzam* and A. H. Jones:~
*Nigde klniversitesi, Mtihendislik-Mimarlik Faktiltesi, Elektrik-Elektronik Mtihendisligi B61timti, Nigde, Turkey; and ;Intelligent
Machinery Division, Teltbrd Research Institute, Research and Graduate College, University of Salford, Salford, UK

As automated manufacturing systems become more complex, known to be very difficult to debug. This is particularly true,
the need f o r an effective design tool to produce both high- when developing complex control systems involving multipro-
level discrete event control systems (DECS) and low-level ducts and parallel tasks which interact periodically. The ladder
implementations becomes more important. Petri nets represent logic programming language offers little in the way of struc-
the most effective method f o r both the design and implemen- tural constructs to deal with the problem. However, this prob-
tation of DECSs. In this paper, automation Petri nets (APN) lem has been recognised, and Grafcet, a structured approach
are introduced to provide a new method f o r the design and to the design of sequential control systems, which makes use
implementation of DECSs. The APN is particularly well suited of interpreted Petri nets, has emerged [1]. Grafcet is a graphical
to multiproduct systems and provides a more effective solution programming language, which is growing in popularity. The
than Grafcet in this context. Since ordinary Petri nets do not technique facilitates the design of concurrent interacting tasks
deal with sensors and actuators of DECSs, the Petri net and has become an international standard. Simple systems in
concepts are extended, by including actions and sensor read- which only one token can exist at a step can be described by
ings as formal structures within the APN. Moreover, enabling using Grafcet. Therefore, Grafcet techniques are powerful, but
and inhibitor arcs, which can enable or disable transitions they do not contain all the power and flexibility of the originat-
through the use of leading-edge, falling-edge and level o f ing Petri nets. Moreover, many industrial users of PLCs still
markings, are also introduced. In this paper, the methodology prefer to program PLCs in ladder diagrams using heuristic
is explained by considering a fundamental APN structure. The approaches [2].
conversion o f APNs into the I E C t t 3 1 - 3 ladder diagrams (LD) For simple systems, it is easy to write down PLC programs
f o r implementation on a PLC is also explained by using the by heuristic methods. However, as systems become more com-
token passing logic (TPL) concept. Finall); an illustrative plex it becomes very difficult to handle the problem effectively.
example of how APNs can be applied to a discrete manufactur- The difficult)' is compounded when multiproduct systems are
ing problem is described in detail. considered. In fact, it is almost impossible to write down ladder
logic programs for multiproduct systems (coloured systems) by
Keywords: Automated manufacturing systems; Discrete event using heuristic approaches. The complexity problem of heuristic
control systems; IEC1131-3 standard; Petri nets; Programmable ladder logic has long been recognised [3]. The most successful
logic controllers; Real-time implementation solutions to the problem have involved the use of Petri nets
for the conceptual design. Because of the success of Petri net
designs there have been some attempts to produce methods to
convert Petri nets into ladder logic [4-9]. However, none of
1. Introduction these methods have produced a technique that is general, in
the sense that it can deal with timers, counters, coloured Petri
In today's automated modern factories, programmable logic nets and timed Petri nets. This has resulted in the exclusion
controllers (PLCs) have emerged as the mainstay in the of Petri net design methods from industrial practice.
execution of automation tasks. Their selection for discrete event As manufacturing systems become more complex, the need
control tasks is due to their low cost, ruggedness and ease of for an effective automation tool to produce high-level discrete
programming. Indeed, the majority of PLCs can be programmed event control systems (DECS) becomes increasingly more
in a graphical symbolic language called ladder logic, which is important. Petri nets have appeared as the most promising tool
to facilitate such design work. In this paper, automation Petri
Correspondence and offprint requests to: Dr M. Uzam, Nigde Univer- nets (APN) are proposed as a new method for the design and
sitesi, Mtihendislik-Mimarlik Faktiltesi, Elektrik-Elektronik Miihendisligi implementation of DECSs. Since ordinary Petri nets do not
B61iimii, 51100 Nigde, Turkey. E-mail: murat-uzam@hotmail.com deal with sensors and actuators, the Petri net concepts are
Discrete Event Control System Design 717

extended, by including actions and sensor readings as formal the addition of sensor readings as firing conditions at tran-
structures within the APN. These extensions involve extending sitions, and both the impulse and level control of actuators. In
the Petri nets to accommodate impulse and level actions at addition, it is also explained how to implement the resulting
places, and leading-edge, falling-edge, and level signals of controller in the IEC1131-3 ladder diagram (LD) code. Finally,
sensors at transitions. Moreover, enabling and inhibitor arcs, an illustrative example is used to show how APNs can be
which can enable and disable transitions through the use of applied for the control of DESs, by considering a discrete
leading-edge, falling-edge and level-off markings, are also event manufacturing system.
introduced. For real-time implementation of the APNs the
recently introduced token passing logic (TPL) concept [10] is
used. The TPL methodology bridges the gap between APNs
and their real-time implementations. The technique is powerful 2. Automation Petri Nets
and yet simple to both understand and implement. Moreover,
the technique has also been extended to deal with P-timed A typical discrete event control system (DECS) is shown in
Petri nets [10,11], T-timed Petri nets [12], and coloured Petri Figure l(a). It consists of a discrete event system (DES), to
nets [13-15]. The TPL methodology has also been developed be controlled and a discrete event controller (DEC). Sensor
to embrace statement lists [16,17]. An attempt to introduce a readings are regarded as inputs from the DES to the DEC,
Petri net based formal controller is made in [18]. This is and control actions are considered as outputs from the DEC
followed by [19], in which the IECl131-3 standard is con- to the DES. The main function of the DEC is to supervise the
sidered for possible implementations of APNs using instruction desired DES operation and to avoid forbidden operations. To
list (IL) code. do this, the DEC processes the sensor readings, and then it
In this paper, the TPL methodology is extended to embrace forces the DES to conform to the desired specifications through
the I E C l l 3 1 - 3 ladder diagram (LD) standard. The program- control actions. Nowadays, PLCs are the most popular
ming standard is part 3 of the IEC Standard 1131 for Pro- implementation tools for this type of DECs. Petri nets can be
grammable Controllers [20]. It reached the status of an Inter- used to design such DECs. However, ordinary Petfi nets do
national Standard in August 1992 [21]. The textual and not deal with actuators or sensors. Because of this, it is
graphical languages defined in the standard are a strong basis necessary to define a Petri net-based controller (automation
for powerful PLC programming environments. In order to make Petri net, APN) which can embrace both actuators and sensors
the standard suitable for a wide range of applications, five within an extended Petri net framework. An APN is shown in
languages have been defined in total. IEC 1131-3 describes Fig. l(b). In the APN, sensor readings can be used as firing
the following programming languages [22]. conditions at transitions. The presence or absence of sensor
readings can be used in conjunction with the extended Petri
Graphical Languages net preconditions to fire transitions. In the APN, two types of
1. Sequential function chart (SFC). actuation can be considered, namely impulse actions and level
2. Ladder diagram (LD). actions. Actions are associated with places. With these
additional features, it is possible to design discrete event control
3. Function block diagram (FBD).
systems. Figure l(c) shows how an APN can be used as a
Textual languages DEC in a DECS. Formally, an APN can be defined as follows:
1. Instruction list (IL). APN = (P, T, Pre, Post, In, En, X, Q, Mo) (1)
2. Structured text (ST).
Where,
Because ordinary Petri nets have not been proposed for the
design and implementation of DECSs, the purpose of this P = {P~, Pz, ..., Pn} is a finite, non-empty set of places.
paper is to establish a set of additional features for ordinary T = {tl, t2, ..., tin} is a finite, non-empty set of transitions,
Petri nets which facilitate their application to DECS through P U T ~ O a n d P f) T = O .

.f "©:"Q1
P 3 P3 P6 ~,,...~ A(yp~ml

I " 1
8Ctior~ ' ' P6 ~,,, actions ~[ System (DES)
I
(a) (b) (c)
Fig. 1. (a) A typical discrete event control system. (b) Automation Petri net (APN). (c) APN as a controller in a DECS.
718 M. Uzam and A. H. Jones

Pre: ( P x 7) ---, N is an input function that defines connecting p to t. This is shown in Fig. 2(b), where
directed ordinary arcs from places to transitions, where transition h is enabled if there are two or more tokens in
N is a set of non-negative integers. place Pl- Therefore, transition tl is enabled as the input
Post: (T× P) ~ N is an output function that defines place Pl contains three tokens and En(p~,t0 = 2.
directed ordinary arcs from transitions to places. 3. If the input place p of a transition t is connected to the
In: (P x T) ---, N is an inhibitor input function that defines transition with a leading-edge (LE) enabling arc, then tran-
inhibitor arcs from places to transitions. sition t is said to be enabled at the instant (T) when the
number of tokens at the place becomes at least equal to
En: (P x 7) --~ N is an enabling input function that
the weight of the arc, provided that place p previously had
defines enabling arcs from places to transitions.
fewer tokens than the weight of the arc. This is shown in
× = {x~, x2, ..., xm} is a finite, non-empty set of firing Fig. 2(c), where, at the beginning, transition tl is not
conditions associated with the transitions. enabled; despite the fact that M(pl) = 3 and En(p~,fi) = ~2.
Q = (q~, q2, -..... , %} is a finite set of actions that Therefore, in order for the transition tl to be enabled, first
might be assigned to the places. the number of tokens at place p~ must be less than 2 (M(P0
Mo: P --' N is the initial marking. < 2). Then, transition t~ is enabled at the instant (]) when
the number of tokens at the place p~ becomes at least equal
The APN consists of two types of nodes called places, rep-
to2.
resented by circles ((3), and transitions, represented by bars
4. If the input place of a transition t is connected to the
( ). There are three types of arcs used in the APN, namely,
transition with an inhibitor arc, then transition t is said to
ordinary arcs, represented by a directed arrow ( 4 ) , inhibitor
be enabled when the input place p contains fewer tokens
arcs, represented by an arrow, whose end is a circle (--e),
than the weight of the inhibitor arc connecting p to t. This
and finally enabling arcs, represented by a directed arrow,
is shown in Fig. 2(d), where transition h is enabled if there
whose end is empty ( - - ~ ) . Weighted and directed ordinary
are fewer than 3 tokens in place p~. Therefore, transition t~
arcs connect places to transitions and vice versa, whereas
is enabled as the input place p~ contains 2 tokens and
weighted enabling arcs and inhibitor arcs connect only places
In(pt,t0 = 3.
to transitions. Places represent the status of the system and
transitions represent events. Each transition has a set of input 5. If the input place p of a transition t is connected to the
and output places, which represent the precondition and post- transition with a falling-edge (FE) inhibitor arc, then tran-
condition of the transition. The actions (Q), assigned to the sition t is said to be enabled at the instant (1) when the
places, can be either impulse actions or level actions. Impulse number of tokens at the place becomes less than the weight
actions are enabled at the instant when a token is deposited of the arc, provided that place p previously had tokens at
into the place, and level actions are enabled when there is a least equal to the weight of the arc. This is shown in Fig.
token(s) at the place. More than one action may be assigned 2(e), where, at the beginning, transition t~ is not enabled,
to a place. Firing conditions in the APN are recognised as despite the fact that M(P0 = 2 and Pre(p~,h) = 13. Therefore,
external events such as sensor readings. A firing condition, X, in order for the transition t~ to be enabled, first the number
associated with a transition t, is a Boolean variable that can of tokens at place pj must be equal to or more than 3
be 0, in which case related transition t is not allowed to fire, (M(p0 ~> 3). Then transition t~ is enabled at the instant (1)
or it can be 1, in which case related transition t is allowed to when the number of tokens at the place p~ becomes less
fire if it is enabled. The marking of the APN is represented than 3.
by the number of tokens in each place. Tokens are represented
In the case where a transition may have the mixture of
by black dots (*). Movement of tokens between places
these input arcs, the enabling rule for the transition must be
describes the evolution of the APN and is accomplished by
analysed accordingly.
the firing of the enabled transitions. The following rules are
used to govern the flow of tokens: Firing Rules: In the APN, an enabled transition t can or cannot
fire depending on the external firing condition X of t. These
Enabling Rules: In the APN, there are five main rules which
firing conditions can be leading edge ('[), falling edge (1),
define whether a transition is enabled to fire.
positive level or zero level, of a sensor reading. Broadly
1. If the input place of a transition t is connected to the speaking, a firing condition × may include more than one
transition with a directed ordinary arc, then transition t is sensor reading with "AND", "OR" and "NOT" logical oper-
said to be enabled when the input place p contains at least ators. When dealing with more than one sensor reading as
the number of tokens equal to the weight of the directed firing conditions, the notions given in [23], related to conditions
ordinary arc connecting p to t. This is shown in Fig. 2(a), and events, can be applied, to deal with the logical operators
where transition tl is enabled if there are two or more of firing conditions. In the special case, where X = 1, transition
tokens in place p~. Therefore, transition t~ is enabled as the t is always allowed to fire when it is enabled. When an enabled
input place p~ contains three tokens and Pre(p~,h) = 2. transition t fires, it removes from each input place p the
2. If the input place of a transition t is connected to the number of tokens equal to the weight of the directed ordinary
transition with an enabling arc, then transition t is said to arc connecting p to t. It deposits, at the same time, in each
be enabled when the input place p contains at least the output place p, the number of tokens equal to the weight of
number of tokens equal to the weight of the enabling arc the directed arc connecting t to p. It should be noted that, the
Discrete Event Control System Design 719

(a) (b) (e) p,


Pl

2 3 °43
tl tl ~ 21 tl ~1 tl

) ,2()
Fig. 2. Illustration of enabling rules in the APN.

firing of an enabled transition t does not change the marking Petri net-like transition associated with that place becomes
of the input places, which are connected to the transition t true, then the memory word at the input place is decreased,
only by enabling or inhibitor arcs. and the memory word at the output place is increased. Note
APNs have a simpler way of dealing with timing require- that it is also possible to use counters instead of memory
ments than the conventional P-timed and T-timed ordinary words. In the case of single capacity places, the memory words
Petri net extensions. This is because the concept of token can be replaced by memory bits. The assignment of a memory
unavailability is not used within the APN paradigm. bit to an APN place is also shown in Fig. 3(b). The memory
bits and words are used to make the enhanced TPL method-
ology compatible with the IEC 1131-3. In addition to counters
3. Token Passing Logic and memory words, memory bits are used in the enhanced
TPL methodology instead of flags. Moreover, enabling and
In order to facilitate the conversion of an APN into an LD inhibitor arcs, which can enable or disable transitions through
program, conforming to IECl131-3, the token passing logic the use of leading-edge (LE), falling-edge (FE) and level-off
(TPL) concept can be used. The prime feature of the TPL markings, are also introduced. An on delay timer can be readily
technique is that it facilitates the direct conversion of an APN used to model timed APNs.
into a generic form of control logic, which may be implemented In essence, the APN places are represented by places in
with low-level languages such as ST, IL or LD, or with high- TPL, and the APN tokens are represented by the numbers in
level languages such as C or C++ [24]. This is achieved by separate memory words (or counters) at each logic place.
adopting the Petri net concept of using tokens as the main Moreover, the flow of Petri net tokens is simulated by decreas-
mechanism for controlling the flow of the control logic. Hence, ing and increasing the memory words or similarly by setting
each place within the APN corresponds to a place within the and resetting the appropriate memory bits at the appropriate
TPL. The simulated movement of tokens is achieved by places. In APNs, actions are assigned to places, called action
deploying memory words (16 bits) at each place in the TPL, places. Transition firing conditions in APNs are logical func-
whose capacity is equal to or greater than 1. The numbers tions of sensor states.
stored at these memory words represent the number of tokens In theory, the TPL methodology can cope with any number
that might be at the place. These memory words are then of tokens at an APN place. TPL provides a visual description
increased and decreased to simulate token flow. Thus, each of the control program. Furthermore, coloured automation Petri
place within the APN has at least an associated memory word nets (CAPNs) can also be converted into generic control logic
in TPL. The assignment of a memory word to an APN place using this methodology, simply by assigning more than one
is shown in Fig. 3(a). Finally, to complete the Petri net memory word or memory bit to each place. It is believed that
synergy, if the value stored in a memory word, associated with this technique provides a tool which is a simple, but sophisti-
a place in the TPL, is non-zero and the firing condition of a cated way of developing complex discrete event control sys-
tems.
(a) APN TPL

P1 () memory word1
4. Conversion of APNS to Ladder
"v" (or counter1) Diagrams via TPL
Place in APN
place in TPL
with a capacity>= l with a capacity>= 1 In this section, an example of how APNs can be converted to
LD for real-time implementation, is explained. The implemen-

PI ~ )
)., memory bitl
tation is carried out by using a SIEMENS $7-200 PLC, which
complies with IECl131-3. In this case, it is helpful to note
Pl
that a memory word is represented by VW (variable memory
T
place in TPL word, read/write), a counter is represented by C, and a memory
Placein APN
w~h a capacity= 1 bit is represented by M (internal memory bit, read/write) [25].
witha capacity= 1
To illustrate how APNs can be coded on a SIEMENS $7-200
Fig. 3. APN places and equivalent TPL places. PLC a "standard transition with an enabling arc" is considered.
720 M. Uzam and A. H. Jones

A standard transition (tt) with an enabling arc in APN is one token into place P3 and when t3 fires, with a falling edge
shown in Fig. 4(a), where transition t, has two input places, (1) of the sensor reading 7 it removes one token from place P3-
Pl with M(p,) = 3 and Pre(p,,t,) = 1, and P3 with M(p3) -- 3 The TPL, given in Fig. 4(b), is obtained by applying the
and En(p3,h) = 2 and has one output place, P2 with M(p2) = TPL methodology to the APN. In this case, counters C49, C50
0 and Post(h,p2) = 2. The firing condition of transition tl is and C51 are assigned to places Pl, P2 and P3, respectively, to
X~ = ec This means that initially transition t, is enabled as represent the tokens at the places. Sensor reading ~ is realised
M(p0 > 1 and M(p3) /> 2 and when the firing condition X~ by input register I0.0, [3 is realised by I0.1 and -/ is realised
is satisfied, transition t. fires by removing one token from by I0.2. In order to convert the TPL into LD code for
place p~ and by depositing two tokens in place P2. Transition implementation, a direct mapping is used from TPL to LD
t2 has an output place, P3 with M(p3) = 3 and Post(t2,P3) = 1 code by maintaining the enabling and firing rules. The resulting
and transition t3 has an input place, P3 with Pre(p3,t3) = 1. LD code, which complies with IECl131-3, is shown in Fig.
The firing condition of transition t2 is X2 = Y[3 and the firing 4(c). In rung 1, the initial marking of p,, M(p0=3, is deposited
condition of transition t3 is X3 = 1~. Because t2 has no input in C49 and M(p2)=3, is deposited in C51. Rung 2 represents
place, it is considered to be already enabled. When t2 fires, the enabling and firing rules of transition fi, i.e. when M(p0
with a leading edge (1") of the sensor reading [3, it deposits /> and M(p3) >-~ 2 and firing condition X~ = c~ is satisfied for
fi, the count value of C49 is decreased by one and the value
of 2 is added in counter C50. Rung 3 represents the enabling
and firing rules of transition t2, when the firing condition X:
is satisfied for t2, the count value of C51 is increased by one.
Similarly, rung 4 represents the enabling and firing rules of
transition t3, i.e. when the firing condition X3 is satisfied for
t3, the count value of C51 is decreased by one.
pz
k_J 'coO
5. APN Control of a Discrete
(c)
init. . . . . ]/[
_t ovw / Manufacturing System

To illustrate how APNs can be used for the design and


K3-tiN OUT ~C49 implementation of a DEC for a DES in ladder diagrams, a
discrete event manufacturing system is considered. In this case,

t.OVWl the industrial control trainer (ICT), produced by Bytronics


Associates, has been used. To achieve these goals the following
steps are undertaken:
K3 IN o rl-OSl The discrete manufacturing system is described together with
M0.0 K1 the specifications.
~--( S ) An APN model is designed for the manufacturing system, so
that the specifications are met.
2 I0.0 C49 K1 C51 K2 / DEC w l
The APN model is converted into a token passing logic (TPL).
- - ] [---1 > = I I---I > = I I - - f 4 ~ 9 EN - The IEC1131-3 ladder diagram (LD) for implementation on a
IN OUT C49 PLC is obtained by using a direct mapping from the TPL
into LD.

5.1 Discrete Manufacturing System


ra t-IN1 /
c501IN2 oUTt- c,0 The discrete manufacturing system, shown in Fig. 5 represents
a component sorting, assembly and inspection processes that
3,0.1
- - ] [ .... I P I
[ ENINC-W / can be controlled by virtually any PLC. The upper conveyor
and the lower conveyor are driven by the upper conveyor
c51-~ IN o u T [ - c 5 1 motor (actuator 1) and the lower conveyor motor (actuator 2),

410
---] [---I N I
/
E~Ec-
respectively. A random selection of metallic pegs and plastic
rings are placed on the upper conveyor. The rings and pegs
need to be identified and separated. This is done by two
sensors, a proximity sensor (sensor 1) and an infra-red reflective
C51-t IN OUT ~- C51 sensor (sensor 2). By using these two sensors a distinction can
be made between the peg and the ring. By means of the sort
Fig. 4. (a) Standard transition with enabling arc in APN. (b) Its TPL solenoid (actuato r 3), plastic rings can be ejected down the
equivalent. (c) IEC 1131-3 LD for the TPL. assembly chute, which can accommodate five rings at most.
Discrete Event Control System Design 721

" Bytronie Associates


Industrial Control Trainer
OCT)

Siemens PLC ( S7-200 )

Personal Computer
Fig. 5. Discrete manufacturing system,

Metallic pegs, meanwhile, continue on the upper conveyor are given in Tables 1 and 2. The specifications are listed
and are deflected down the feeder chute. The feeder chute as follows:
automatically feeds pegs onto the lower conveyor. An infra-
Spec. 1. If the system is switched on, then run the upper con-
red emitter/detector (sensor 3) is used to determine whether or
veyor.
not the assembly area is empty. If it is empty, the assembly
solenoid (actuator 4) is used to dispense a ring from the Spec. 2. If there is capacity in the assembly chute, then put
assembly chute into the assembly area. The assembly area is rings into the assembly chute.
positioned just above the lower conveyor and, when a metallic
peg passes, the peg engages with the hole in the ring and the
two components are assembled. The lower conveyor is used Table 1.
to carry pegs and assembled components into the inspection
area. At the beginning of the inspection area there are two PLC Inputs Sensor number Definition
sensors, sensor 4 and sensor 5, which are used to distinguish
IO.O 1 Detects a ring or a peg at sort
between the pegs and assembled components. At the end of area
the inspection area, sensor 6 detects the presence of any IO,1 2 Detects a peg at sort area
component (peg or assembled component), and there is a reject I0.2 3 Detects a ring in assembly area
solenoid (actuator 4) which is used to eject the pegs into the I0.5 4 Detects an assembly in inspection
scrap bin for pegs. Meanwhile, assembled components are area
I0.6 5 Detects a ring or an assembly in
carried into the collection tray by the lower conveyor belt. A inspection area
Siemens PLC ($7 - 200) is used to control the process, and I0.7 6 Detects a ring or an assembly in
a PC-based package is used to program the PLC in LD code, front of reject solenoid
which conforms to IEC 1131-3 [25]. PLC input~s and outputs
722 M. Uzam and A. H. Jones

Table 2. it may be used for the assembly operation through transition tl4
(with X~4 = J~I0.2). The assembly operation takes 1.5 s to
PLC outputs Actuatornumber Definition complete. When this time has elapsed, the peg and the ring
are assembled (tls). If the presence of a peg is detected at the
Q0.0 1 Upper conveyor motor sort area through transition fi6 (with X~6 = TIO.O and I0.1), it
Q0.1 2 Lower conveyor motor
Q0.2 3 Sort solenoid takes 5 s for the peg to travel down the lower conveyor. After
Q0.3 4 Assembly solenoid this time has elapsed the peg is on the lower conveyor (tl7).
Q0.4 5 Reject solenoid In module 7, the places are described as follows: places P~6,
P~7 and P~i3 represent pegs, and places P~s, Pl9, P2o and Psi4
represent complete assemblies. Place P~5 denotes the nmnber
of pegs on the lower conveyor. Place Pso2 is used to represent
Spec. 3. If there is a ring(s) in the assembly chute and the the components on the lower conveyor, coming towards the
assembly area is empty, then put a ring into the inspection area. A peg at the inspection area is shown by place
assembly area. P16, while a peg in front of the reject solenoid is represented
Spec. 4. /f there is an unassembled peg on the lower conveyor, by place PI7. Psi3 is used to represent the scrap bin for pegs.
then put it into the scrap bin. An assembly at the inspection area is shown by place P~s,
Spec. 5. If" there is one or more pegs on the lower conveyor, while an assembly in front of the reject solenoid is represented
then operate the lower conveyor. by place Pig. The time taken for assemblies to be conveyed
Spec. 6. If the assembly chute is full, then let the rings on from the inspection area into the collection tray is denoted by
the upper conveyor go to scrap bin. place P2o, which has a time delay of 2 s. Finally, place P~4
represents the collection tray for assembled components. The
Spec. Z Record the number of rings and pegs in the scrap
transitions are described as follows: if the presence of a peg
bins as well as number of complete assemblies in
is detected at the beginning of the inspection area through
the collection tray.
transition t~s (with X18 = I0.5 and TI0.6), then the peg is at
the inspection area. The presence of a peg in front of the
5.2 The APN Model for the Control of the reject solenoid, detected through transition t19 (with X~9 =
Manufacturing System lI0.7), indicates the peg has moved from the inspection area
to in fi'ont of the reject solenoid. When there is a peg in front
The APN model, designed for the control of the discrete of the reject solenoid, it may be put into the scrap bin (t2o)
manufacturing system, is shown in Fig. 6. In the APN model, by the reject solenoid. If the presence of an assembly is
there are 26 places (Pso, Pso2, P~il, P~,2, Psi3, Psi4, Pl, P2, ---, detected at the beginning of the inspection area through tran-
P2o) and there are 24 transitions (tl, t2, ..., t24). The model is sition t21 (with Xz~ = I0.5 and TI0.6), then the assembly is at
split up into seven modules: module 1 - upper conveyor motor; the inspection area. The presence of an assembly in fl'ont of
module 2 - sort solenoid; module 3 - assembly solenoid; the reject solenoid is detected through transition t2~ (with Xzz
module 4 - reject solenoid; module 5 - lower conveyor motor; = TI0.7), which indicates the assembly has moved from the
module 6 - assembly process; and module 7 - inspection inspection area to in front of the reject solenoid. When there
process. Initially, the conveyor motors and the solenoids are is an assembly in front of the reject solenoid, it may be
off, and the assembly chute and the assembly area are empty. conveyed into the collection tray through transition t23 (with
At the beginning of the design process, the modules do not X23 = ~I0.7). It takes 2 s for an assembly to move into the
have any enabling or inhibitor arcs in or between modules. collection tray. After this time has elapsed, the assembly is in
These arcs are added in the design process by considering the collection tray (t24).
the specifications and converting these specifications into the With this modular structure, the design process of the APN
appropriate enabling or inhibitor arcs. model is facilitated by taking the specifications and enforcing
Modules 1 to 5 represent actuators with on/off states. In the specifications through either enabling or inhibitor arcs
module 6, the places are described as tbllows. Place p~ between appropriate modules. In the proceeding paragraphs,
represents the assembly chute, which can contain up to five each specification is considered separately, and a description
tokens, i.e. CAP(p~0 = 5. Place P~2 is used to represent the of how appropriate enabling or inhibitor arcs are added to the
assembly area and place P13 stands for a time delay of 1.5 s, APN model is described.
which is required for the assembly operation. Place P~o~ denotes
rings and pegs on the upper conveyor coming towards the sort Specification 1. To let the upper conveyor run involves energis-
area, while place p~, represents the scrap bin for the rings. ing the upper conveyor motor in module 1. Place Pl and P2
Place P~,a denotes assembled components on the lower con- represent the off and on states of the upper conveyor motor,
veyor. Place P14 represents a time delay of 5 s, which is respectively. When the manufacturing system is switched on,
required for a peg to travel from the upper conveyor to the a token is put in place P2 and so the upper conveyor (level
lower conveyor. The transitions are described as follows: if action, Q0.0) is enabled and vice versa.
there is a ring at the sort area, then it may be put either into Specification 2. To put tings into the assembly chute involves
the scrap bin (riO, or in the assembly chute (tla). If there is energising the sort solenoid in module 2, where place P3
a ring(s) in the assembly chute, then it may be put into the represents the off state and place P4 represents the on state of
assembly area (t13). If there is a ring in the assembly area then the sort solenoid. The sort solenoid is switched on through
Discrete Event Control System Design 723

Sinki Z-= ~IO.O&I-~.l Solirce, D:. . . . a . . - - i i PiS • ~t,


Ipm p,o, I on upper conveyor i ! _ / Lra \ _
/ ~ L-d__ X. ./ ~ ~ vower It" xrower
. . . . . . . coming towards i i i 2 2 ~ tl t2 - ~ F F
Ser4bin t,, 5 ~ .L the sort area : : ON ~ " /..~ - / 0 ,
/ -k: o.o
On
4,1 Upper conveyor motor
t16 , = ~ I 0 . 0 &10.1 Asseml ..................................................................
chute
i p~ /'_'k i
tl3

....
~ t4 ~ 1
Assembly &10.1

r Time delayfor area ~.~ /hi


5see. V~apeg totravd ~, 0.5 see.
On
j / f r o m upper conveyor ti4 ~,, @ 10.2
Sort solenoid
to lower conveyor Time delay ~ ~--:27:22-22222222::221
N.._ Module 3
for assembly !
operation

tit 1 tl~ ._ 1 u ~
Assembled
components
Sink2
o n l o w e r oonveyor
On
Module 7 ..................... ~ m b ! ~ _ s . o J . ~ ! . d ..............

on lower conveyor coming towards ..................................................................


the inspection
, ' aarea
rea/"~'~--- ~ .~crapom~. Sink3 P7 ..~/ ' -.' N Module 4
i / a peg at a peg "~ for p e g s / ~ i / / / ~ ,
i / inspection area in front of t20"~ - silt . ] . i / . / Off Na.s =~ I0.e

insp~ ~ i area .__ in collectiontray 2::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


Source2
~'~ ~ t2i " tz2 t23 _ .,L
bl _ ~i Module 5 !

~ 0 ~ ee.
2 ~Collectiontray i i ./ un \ i
"" anasse~ly " ]for assembled i ! tg~-I tl0~'~ 1 i
in front of /components i! [ Ni/.--~/ \ i
rejectsolenoid / ii / P ~ Qo.1 ) i

i pl5

Fig. 6. The APN model designed for the control of the discrete manufacturing system.
724 M. Uzam and A, H. Jones

transition t3, and occurs when a ring is detected at the sort from place pt~ to transition t3, {In(plm,t3) -- 5}. The sort
area, i.e. TIO.O and IO. 1 and if there is enough space in the solenoid operation, carried out with a token in place P4, is
assembly chute , i.e. M(p~O < 5. This is realised by placing realised by a timed level action (Q0.2) with a time delay of
the ring detection as a firing condition to transition t3, i.e. X3 0.5 s. Finally, switching off the sort solenoid forces a ring to
= TIO.O and IO.1 and by adding an inhibitor arc with weight 5 be put into the assembly chute in module 6. This is achieved

Module 6 pl Module 1
Sink1 Z,, = ~ lO.O&I'~.l Sourcel w ~i~'~ w

t16 ,, = .0 . ~ ..............U!~Pg.~ .on_vex'ormopr ...............

MO.2~'-~Off Module 2
tl3 ~ 1 ~ 5

M1.3

M0.3"~ Q0.2
s sec. m ~ Z,, =q/lO.2 T 3 7 : 0 , 5 sec.
On

MI.4 ( o~3 ~ T 3 8 : 1 . 5 sec. "N~..~P5 Module 3 )


• M0.4 { _ ~ i

, ~ i 0 . 2 ~

t17 1 t15

~ Sink2
On

........ Sink3 M ~ Module 4

Fig. 7, The TPL for the control of the discrete manufacturing system.
Discrete Event Control System Design 725

by a leading edge e n a b l i n g arc f r o m place P3 to transition tl2, in progress, i.e. M(p,_0 = 0. This is realised by a d d i n g an
{En(p3,t,2) = T1 }. e n a b l i n g are f r o m place p ~ to transition t> {En(,p~,ts) = 1 },
Specification 3. To p u t rings into the a s s e m b l y area i n v o l v e s an inhibitor arc f r o m place P12 to transition ts, {In(p~>ts) = 1}
e n e r g i s i n g the a s s e m b l y s o l e n o i d in m o d u l e 3, w h e r e place P5 and an i n h i b i t o r arc f r o m place P~3 to transition ts, {In(p~3,ts)
represents the o f f state a n d place p6 represents the on state o f = 1 }. T h e a s s e m b l y solenoid operation is carried out with a
the a s s e m b l y solenoid. T h e a s s e m b l y solenoid is s w i t c h e d on t o k e n in place P6, and is realised b y a level action (Q0.3).
t h r o u g h transition ts, and occurs w h e n there is a ring(s) in the T h e a s s e m b l y solenoid is s w i t c h e d o f f t h r o u g h transition t6,
a s s e m b l y chute, i.e. M ( p , 0 > 1, and if the a s s e m b l y area is and occurs w h e n the p r e s e n c e o f a ring in the a s s e m b l y area
e m p t y , i.e. M(p~2 ) = 0 a n d if there is n o a s s e m b l y o p e r a t i o n is detected, i.e. TI0.2. T h i s is realised by p l a c i n g the ring

initialisafion ~3. ~ l . t Q0,1


1 M0.0 M0.1 K1 p~0 ..... "( )
---1/[. --.--( S ) ]14 MI.1 VW203 K0 MI.1 Kl
M0.2 KI t,o [---][. . . . I = = I I' r'----( R )
-( S ) / | M1.0 K1
M0A K1 t__..( S )
.... --( S ) module6
M0.6 Kt 15 I0.0 I0A VW202 K5
S ) tll---] [---I P [---]1[. . . . I==I[-----tEN ,
M1.0 K1 1 I
-----..( s ) vw2ol]~ o~t-vw2ol
M0,0 K1
( s ) 16 M0.2
module 1

i:o 1
tt2 t [-----1 P I"
[2 M0.I QO.O
p2 [----][. . . . . . . . . . . . . . . . . . . . . . . . . . . . . -( ) VW202 - VW202
module 2
310,0 I0.1M0.2 VW202 K4 M0.2 KI 17 M0.4 VW202KI MI.3 KI
t3 . . .-ll-
. I P I---l/[-~] [. . . . . I < = I I--F---..( R ) t,3 ----][---]PI-----[ > = I [...... [--- . . . . . . . --( S )
| M0.3 K1
L------.( S )
4 M0.3 Q0.2
p4 - - I [" '~--~7 VW202L~ _ VW202

18 I0.2 M1.3 M1.3 K1


h4 ---] [---J N I - - I [- r"-'--( R )
.4 K1
5-1 I S )
5 M0.3 T37 M0.3 KI T38
h ...... ] [ - - ] [ ' - - 1"---"( R )
l M 0 .2 KI
t____--{ s )
module 3 K151PT I
6 M0.4 M1.3 M1.4 VW202 K1 M0.4 K1
t, ----] [--l/I---l/I-. I > = I I'-'-g---'-( R ) 20 MI.4 T38 M1A K1
[M0.5 K1 t. ..... ] [ - - - I [. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( R )
L---__( S) 21 I0.0 I0.1 M1.2 K1
7 M0.5 Qo.3 t,~ . . . . 1 I----IP I - - I [" ( S )
p~ ~ 1 [. ( ) T39
8 I0.2 MO,5 M0,5 KI 22 M1.2
t6 - - I l---I P t---1 [- ---(R) p14 " - - 1 1
M0,4 K1
------( S ) K50
module 4
9 M0.6 M1.6 M0.6 K1 23 MI.2 T39 M1.2 K1
t7 ----1 [. . . . 1[. -----(R) tit - - ] [ . . . . . ][ . . . . . . . . . . . . ]--~-( R )
M0.7 K1
----(S)
10 M0.7 Q0A
p~ ~ l [ - - - -
11 I0.7 M0.7
(
M0.7 K1
)
vw2o, 1
o L,,w2o3
t8 - - 1 [ - - I N I---1 [,
[ oo d
( s )
module 7
24 I0.6 10.5 M1.5 KI
module 5 tl8 ]---[[7--IP I---1/[ .( S )
12 M1.0 VW203 K1 MI.0 K1 [25 Io,/ M1.5 Mt.5 K1
t9 I - - - - l [ . . . . . . I> = I I
V~M1,1 K1
R ) .o [-1 H Pl---It................ 6 s d)
t____...( S )

f Fig. 8. Siemens $7-200 LD code obtained, which complies with IEC 1131-3,
726 M. Uzam and A. H. Jones

26 M0.6 M1.6 VW203 K1 MI.6 KI achieved by a leading edge enabling arc from place P7 to
t20 - - 1 [--1P 1--I[ - ~ 1 >= I I- . . . . . . -(R) transition t20, {En(pT,t2o) = I1}.
Specification 5. To operate the lower conveyor involves
energising the lower conveyor motor in module 5, where place
VW204 ~ VW204 P9 represents the off state and place P~o represents the on state
of the lower conveyor motor. The lower conveyor motor is
switched on through transition t9, and occurs when there is a
peg(s) on the lower conveyor, i.e. M(p~5) i> 1. This is realised
by adding an enabling arc from place P~5 to transition tg,
VW203 VW203
{En(p~5,tg) = t }. The lower conveyor operation is carried out
27 i0,6 I0.5 M1,7 K1 with a token in place P~0, and is realised by a level action
t21 ----I [--I P I---1 [ ~ s) (Q0.1). The lower conveyor motor is switched off through
28 I0,7 M1.7 M1.7 K1
t22 ---I [---I P [--] [ ------( R ) transition t~o, and occurs when there are no components on
M2.0 K1 the lower conveyor, i.e. M(p~5) = 0. This is realised by adding
-----(s) an inhibitor arc from place Pw5 to transition tio, {In(p~5,tto) = 1 }.
29 I0,7 M2.0 M2.0 K1
t23 - - 1 [---I N I--I [' Specification 6. On the upper conveyor, to let the rings go
into the scrap bin involves enabling transition t~ when the
(s)
2"40 assembly chute is full. In other words, if the assembly chute
30 M2.1 is full, i.e. M(p~) = 5, and there is a ring present at the sort
P~ - - 1 [. area, i.e. TI0.0 and I0.1, then the ring must be put into the
scrap bin. This is realised by placing the ring detection as a
firing condition to transition tl~, i.e. X~ = TI0.0 and I0.1 and
3l M2.1 T40 VW203 K1 M2A K1 by adding an enabling arc with weight 5 from place PJz to
t~4 ......] [----1 [ - - - I >=I l - - . . . . (R)
transition hi, {En(pll,tll) = 5}.
Specification 7. For the purpose of recording the number of
rings and pegs in the scrap bins as welt as the number of
VW20: ~ VW205 complete assemblies in the collection tray, places Ps,, P~3 and
Psi4 are used, respectively.'With the firing of related transitions
the number of tokens in these places is increased. As a result,
•EN - the number of tokens in these places represent the number of
VW203 2 0 b V f l VW203 rings, pegs and complete assemblies in the manufacturing
system, respectively.
~ MrrND)

5.3 Token Passing Logic for the APN Model


Fig. 8. Continued.

The TPL, given in Fig. 7, for the control of discrete manufac-


turing system, is obtained by applying the TPL concept to the
detection in the assembly area as a firing condition to transition
APN model. In this case, memory words (VWxxx) are assigned
t6, i.e. X6 = ]70.2. Finally, switching off the assembly solenoid
to the places, whose capacity is bigger than 1, and memory
forces a ring from the assembly chute into the assembly area
bits (Mx.x) are assigned to the places, whose capacity is 1.
in module 6. This is achieved by a leading edge (LE) enabling
An on delay timer is associated with timed places, to represent
arc fi'om place P5 to transition t13, {En(ps,t13) = T1 }.
the time delays. Also output bits, Q0.0, Q0. I, Q0.2, Q0,3 and
5~ecification 4. To eject unassembled pegs from the lower Q0.4, are assigned to the control places to represent actions at
conveyor into the scrap bin involves energising the reject places. Sensor readings are realised by input registers, I0.0,
solenoid in module 4, where place P7 represents the off state I0.1, I0.2, I0.5, I0.6, and I0.7.
and place P8 represents the on state of the reject solenoid. The
reject solenoid is switched on through transition t7, and occurs
when there is an unassembled peg in front of the reject 5.4 Ladder Diagram for the TPL
solenoid, i.e. M(Pl7 ) = 1. This is realised by adding an enabling
arc from place P~7 to transition tT, {En(p~7,t7) = 1 }. The reject In order to convert the TPL into LD code for implementation,
solenoid operation is carried out with a token in place Ps, and a direct mapping is used from the TPL to LD code. The
is realised by a level action (Q0.4). The reject solenoid is resulting LD code, which complies with I E C l l 3 1 - 3 , is shown
switched off through transition ts, and occurs when the absence in Fig. 8. This code is written for a Siemens $7-200 PLC.
of an unassembled peg in front of the reject solenoid is The ladder logic symbols for the Siemens $7-200 PLC are
detected, i.e. 110.7. This is realised by placing the absence of defined in Table 3.
the peg as a firing condition to transition ts, i.e. Xa = 110.7. The LD code has been structured in such a way that rung
Finally, switching off the reject solenoid forces a ring from 1 initialises the system, module 1 of the TPL is converted into
the lower conveyor into the scrap bin in module 7. This is LD at rung 2. Module 2, consisting of I3, P4 and t4 is converted
Discrete Event Control System Design 727

Table 3. SIEMENS $7-200 PLC instructions.

LAD element Symbol Description Operands


(as used in this paper)

Contact /2 Normally open contact is n (bit): I (input), Q (output), M (memory),


(normally open) ---] [--- closed (on) when n = I T (timer)
Contact n Normally closed contact is n (bit): I, Q, M, T
(normally closed) ---]/[--- closed (on) when n = 0
Contact ---[ N ]--- Negative transition None
(negative transition)
Contact ---[ P I'-- Positive transition None
(positive transition)
Contact nt n2 Compare contact n~, n~ (word): I, Q, M, T, constant
(compare) ---[ = = II--- I: Integer
nl n2
---I> = II---
n~ /22
---t < -- II---
Coil n Output coil n (bit): I, Q, M, T
---( )
Coil reset S BIT N Reset coil S BIT (bit): I, Q, M, T
---( R ) N(byte): constant (K)
Coil set ~_BIT N Set coil S BIT (bit); I, Q, M, T
---( s ) N(byte): constant (K)
Memory end ---(MEND) End of program None

DEC W DEC_._W ] Decrement word IN (word): VW


(variable memory word)
-- tfN
I OUTI-- OUT (word): VW

INC W INC W __ Increment word IN (word): VW


--- EN
OUT (word): VW
_.i IN OUT

MOV W [ MOV W Move word IN (word): VW, constant


---[EN - -
OUT (word): VW,
-- IN OUT C (counter)

ADD_._! Add integer IN1 (word): constant


--- EN IN2 (word): VW, C

OUT (word): VW,


--[IN2 C (counter)

TON Txxx ON-delay timer Txxx (word): 32-63


TON "timer timer resolution
--- IN 32 : lms
33-36: 10ms
-- PT 37-63: lOOms"
PT (word): constant

into LD at rungs 3, 4 and 5. Module 3, consisting of ts, P6 t12, t13, t14, /)13, t15, t~6, P14 and t17 is converted into LD at
and to is converted into LD at rungs 6, 7 and 8. Module 4, rungs 15, 16, 17, 18, 19, 20, 21, 22, and 23, respectively.
consisting of t7, P8 and t8 is converted into L D at rungs 9, 10 Module 7, consisting of t~8, hg, t2o, t2~, t22, t23, P2o and t24 is
and 11. Module 5, consisting of t9, Plo and tio is converted converted into L D at rungs 24, 25, 26, 27, 28, 29, 30 and 31,
into LD at rungs 12, 13 and 14. Module 6, consisting of tH, respectively. By adopting this concept, further clarity can be
728 M. Uzam and A. H. Jones

added to the system documentation and it is very easy to 9. Gary L. Burns and Bopaya Bidanda, "The use of hierarchical
understand and modify the LD code. Petri nets for the automatic generation of ladder logic programs",
Proc. of ESD IPC-'94 Conference & Exposition, Detroit, Michi-
gan, pp. 169-179, 11-14 April 1994.
10. A. H. Jones, M. Uzam, A. H. Khan, D. Karimzadgan, S. B.
6. Conclusions Kenway, "A general methodology for converting Petri nets into
ladder logic: the TPLL methodology", Proceedings, CIMAT "96,
Grenoble, France, pp. 357-362, 29-31 May 1996.
In this paper, automation Petri nets (APN) have been introduced tl. M. Uzam and A. H. Jones, "Design of a discrete event control
as a new method for the design and implementation of discrete system for a manufacturing system using token passing ladder
event control systems (DECS). The APN is particularly well logic", Proceedings of IMACS Multiconference, Symposium on
Discrete Events and Manufacturing Systems (CESA '96), Lille,
suited to multiproduct systems and provides a more effective France, pp. 513-518, 9-12 July 1996.
solution than Grafcet in this context. Since ordinary Petri nets 12. A. If. Jones, M. Uzam and N. Ajlouni, "Design of discrete event
do not deal with sensors and actuators of DECSs, the Petri control systems for programmable logic controllers using T-timed
net concepts have been extended, by including actions and Petri nets", Proceedings of IEEE International Symposium on
sensor readings as formal structures within the APN. Enabling Computer Aided Control System Design (CACSD '96), Michigan,
USA, pp. 2t2-217, 15-17 September 1996.
and inhibitor arcs, which can enable or disable transitions 13. A. H. Jones and M. Uzam, "Towards a unified methodology for
through the use of leading-edge, falling-edge and level-off converting coloured Petri net controllers into ladder logic using
markings, have also been introduced. Moreover, the method- TPLL: Part II - An application", Proceedings of the International
ology has been described in detail by considering a discrete Workshop on Discrete Event Systems (WODES '96), Edinburgh,
UK, pp. 314-319, 19-21 August 1996.
event manufacturing problem. To do this, first, an APN model 14. M. Uzam and A. H. Jones, "Design of ladder logic for an agile
has been designed for the manufacturing system, so that the manufacturing system using TPLL", Proceedings of the First
specifications were met. Then, the APN model has been con- Turkish Symposium on Intelligent Manufacturing Systems (IMS
verted into a token passing logic (TPL). Finally, the IEC1131- '96), Sakarya, Turkey, pp. 55-74, 30-31 May 1996.
3 ladder diagram (LD) for implementation on a PLC has been 15. M. Uzam and A. H. Jones, "Towards a unified methodology for
converting coloured Petri net controllers into ladder logic using
obtained by using a direct mapping from the TPL into LD. TPLL: Part I - Methodology", Proceedings of International Work-
Although this paper has explained how to convert a set of shop on Discrete Event Systems (WODES '96), Edinburgh, UK;
specifications into an APN model for a DES, it does not pp. 178-183, 19-21 August 1996.
address the issues of verification. This important issue has 16. A. H. Jones and M. Uzam, "Design of sequential control systems
in statement lists using TPL: Part I - Token passing statement
already been addressed by the authors and will be the topic list", Proceedings of the Second Portuguese Control Conference
of forthcoming publications. (Controlo 96), Porto, Portugal, pp. 341-346, 11-13 September
1996.
17. M. Uzam and A. H. Jones, "Design of sequential control systems
in statement lists using TPL: Part II - An application", Proceedings
References of the Second Portuguese Control Conference (Controlo 96), Porto,
Portugal, pp. 771-775, 11-13 September 1996.
l. R. David and H. Alla, Petri Nets and Grafcet, Tools for Modelling 18. M. Uzam and A. H. Jones, "Conversion of Petri net controllers
Discrete Event Systems. Prentice Hall, Englewood Cliffs, NJ, of manufacturing systems into ladder logic diagrams", Proceedings
USA, 1992. of the Fifth IEEE International Conference on Emerging Techno-
2. J. R. Potland, "Ladder Iogic remains the PLC language of choice", logies and Factor?, Automation (ETFA '96), Hawaii, USA, pp.
Control Engineering, pp. 77-79, April 1994. 649-655, 18-2I November 1996.
3. K. Venkatesh, M. Zhou, R. J. Cauditl, "Comparing ladder logic 19. M. Uzam and A. H. Jones, "Real-time implementation of auto-
diagrams and Petri nets for sequence controller design through a mation Petri net controllers using programmable logic controllers",
discrete manufacturing system". IEEE Transactions on Industrial Proceedings of the Fourth IFAC Workshop on Algorithms and
Electronics, 41(6), pp 611-619, December 1994. Architectures for Real-Time Control (AARTC '97), Vlaimoura,
4. M. A. Jafari and T. O. Boucher, "A rule-based system for Algarve, Portugal, pp. 421-426, 9-11 April 1997.
generating a ladder logic control program from a high level system 20. Lewis, R. W., Programming Industrial Control Systems Using IEC
model", Journal of Intelligent Manufacturing, 5 pp. 103-120, 1994. 1131-3, IEE, London, UK, 1995.
5. T. Satoh, H. Oshima, K. Nose and S. Kumagai, "Automatic 21. International Electrotechnical Commission, Programmable Control-
generation system of ladder list program by Petri net", Proceed- lers Part 1, General Information, IEC 1131-1, IEC Geneva, 1992.
ings, IEEE International Workshop on Emerging Technologies on 22. International Electrotechnical Commission, Programmable Control-
Factory Automation (ETFA '92), pp. 128-133, 1992. lers Part 3, Programming Languages, IEC 1131-3, IEC Geneva,
6. S. Rattigan, "Using Petri nets to develop programs for PLC 1993.
systems", Lecture Notes in Computer Science 616: Application 23. R. David, "Grafcet: A powerful tool for specification of logic
and Theory of Petri Nets, pp. 368-372, 1992. controllers", IEEE Transactions on Control Systems Technology,
7. A. Taholakian and W. M. M. Hales, "The design and modelling of vol. 3(3), pp. 253-268, September 1995.
PLC programs using Petri nets", Proceedings of the International 24. M. Uzam, "Petri-Net-Based Supervisory Control of Discrete Event
Conference on Planned Maintenance, Reliability and Quality Systems and their Ladder Logic Diagram Implementations", PhD
Assurance, Cambridge, UK, pp. t94-199, 6-7 April 1995. Thesis, The University of Satford, Satford,UK, March 1998.
8. J. Greene, "Petn net design methodology for sequential control", 25. Siemens, SIMATIC Software, $7-200 Statement List and Ladder
Measurement and Control, 22, pp. 288-291, December/January Logic Programming Reference Manual, Siemens AG, Germany,
1989/1990. 1996.

You might also like