In this section, we focus on modelling manufacturing systems with P/T nets. In particular, in the first subsection, we present a series of elementary structures that occur in most production systems.
In Section 1.3.2, we present an application example that shows how the presented modules can be easily combined to describe more complex behaviours. Finally, in Section 1.3.3, we provide a survey of the literature on P/T nets in manufacturing.
1.3.1 BASICMODELS INMANUFACTURING
Different physical meanings may be associated with tokens. They may represent either the enabling condition of a given operation or the availability of a physical resource.
In the first case, elementary structures may easily be defined to model constraints on the order in which certain operations should be performed.
As a first example, consider a robot that performs several operations, for example, cleaning painting and polishing. Assume that such operations should be executed exactly according to the previous order. This can be easily modelled by the P/T net in Figure 1.4a. A token in p1 means that the robot is ready to execute the first operation, namely, cleaning, modelled by transition t1.
∗A strongly connected component of a graph is said to be ergodic if there is no output arc from any node of the component to any node outside the component. If the graph is the reachability graph of a marked PN, this means that, once an ergodic component is reached, the only markings that can be reached are those in the component and the only transitions that may fire are those corresponding to the labels in the arcs of the component itself.
p1 t1 p2 t2 p3 t3 p4 (a)
p1 t1
p2 t2
p1 t1
t2
p3 p1
t1
p2 t2
t3
(d) (c)
(b)
FIGURE 1.4 Basic P/T net structures: (a) sequentiality, (b) parallelism, (c) synchronization and (d) choice.
Transition t2models painting and t3polishing. The structure of the net imposes that painting cannot occur before cleaning has finished and polishing cannot be performed before painting is executed.
Such a structure, which can obviously be generalized to an arbitrary number of transitions, is called sequentiality.
Figure 1.4b models parallelism. Assume that the marking of p1and p2denotes the availability of robot R1 and R2, respectively, to perform a given operation, for example, painting. Therefore, if p1
(p2) is marked, R1(R2) is ready to paint. Clearly such operations can be performed in parallel, since they are completely independent.
On the contrary, it may occur that several independent operations should be completed before a given operation may be executed, that is, such operations need synchronization. An example in this respect is given by the net in Figure 1.4c. Here, t1and t2model the processing of some parts that are executed independently. Assume that processed parts should be identical and such a comparison is performed by a machine whose operation is modelled by transition t3. Obviously, the comparison may only be executed when both parts have been processed, or equivalently when places p1 and p2
are both marked.
Moreover, the P/T net in Figure 1.4d models a choice. Consider two robots whose activity is represented by transitions t1 and t2, respectively. Assume that the two robots should process parts taken from a common buffer (p1). In particular, they execute the same operation on parts, so each part is processed either by the first robot or by the second one. If the buffer only contains one part, this means that only one robot may start to work. In PN terms, this means that place p1only contains one token so either t1or t2may fire.
Other elementary P/T net structures can be introduced assuming that tokens represent available resources. These three are the main ones: assembly, disassembly and mutual exclusion.
An assembly example is shown in Figure 1.5a. Tokens in p1model legs of a table, tokens in p2
shelves and tokens in p3 tables. To get a table, we need to assemble four legs and one shelf. The inverse operation, namely, disassembly, is represented in Figure 1.5b showing that by disassembling a table, we get four legs and one shelf. In Figure 1.5c, an example of mutual exclusion is presented.
p1 p2
t3 p3 (a) 4
p1
p2 p3 (b)
4
t1 p1
(c)
p2 p3
t1
t2
t3
t4
FIGURE 1.5 Basic P/T net structures: (a) assembly, (b) disassembly and (c) mutual exclusion.
Here, a token in p1 represents the availability of a machine to perform a given operation, that is, painting. Such a machine should paint parts of different types, A and B, that are taken from infinite capacity buffers, or equivalently, they are available in an arbitrary number. In particular, the firing of t1means that a part of type A is taken to be painted. Since the input buffer has an infinite capacity, the only condition that should be satisfied is that the machine is available, that is, it has not been reserved to paint parts of type B. In P/T net terms, this means that p1 should be marked. The firing of transition t2means that the painting operation is finished and the machine is ready to start a new operation, either paint a new part of type A or paint a part of type B. The same occurs if t3fires first.
In such a case, the machine is again available when the operation on a part of type B is complete, for example, t4has fired. In simple words, a new operation may only start when the previous operation has been completed. Obviously, the previous model can be generalized to an arbitrary number of entities sharing a common resource.
Note that the example in Figure 1.1 uses some of the previous basic P/T net structures and may represent a production system that can be described as follows. Place p1models a buffer that initially contains one part of a given type, for example, type A. Transition t1models a disassembly operation.
By disassembling a part of type A, three parts of type B and one part of type C are obtained, which are put in appropriate buffers modelled by places p2 and p3, respectively. Parts of type B may be simultaneously processed by a machine modelled by transition t4. Such an operation may be executed an arbitrary number of times. Then, parts are assembled again and this corresponds to the firing of t2. After the assembly operation, parts are put in a buffer modelled by place p4. Transition t3models the output of a part from such a buffer and the simultaneous input of a new part to be processed in the buffer modelled by p1. Note that this structure is quite common when modelling cyclic operations, particularly when a timing structure is associated with transitions as discussed in Section 1.4 and the timed model is used for performance analysis.
We conclude this subsection with some remarks and generalizations on the model of a buffer that is typically present in most manufacturing systems. In the example in Figure 1.1, buffers have been modelled as places with one input and one output transition. When the marking of the place modelling a buffer may grow indefinitely, we talk about infinite capacity buffer. See, for example, the net in Figure 1.6a. On the contrary, a finite capacity buffer is a buffer whose content cannot exceed a given threshold. An example in this respect is shown in Figure 1.6b where C denotes the capacity of the buffer. Tokens in p1 represent the number of parts in the buffer, while p2is a complementary place that represents the number of parts that can still enter the buffer. When a new part enters, the marking of p1increases and the marking of p2 decreases. The opposite happens when a part exists the buffer. Finally, Figure 1.6c is a generalization of the finite capacity buffer that contains parts of two different types. Assume that t1 models the input of parts of type A and t3 the input of parts of type B. Moreover, assume that parts of type B are larger than parts of type A. In particular, the space occupied by one part of type B is equal to k times the space occupied by one part of type A. This, in terms of residual space, means that k tokens should be removed from the complementary place p3
when one part of type B enters the buffer, while only one token should be removed when one part of
t1 p1 t2
t1
t2
p1
t3
t4
p2
p3
C k
t1 p1 t2 k C p2
(a) (b) (c)
FIGURE 1.6 P/T net models of buffers: (a) infinite capacity buffer, (b) finite capacity buffer and (c) finite capacity multi-class buffer.
type A enters. The sum of the number of tokens in p1and p2denotes the total number of parts in the buffer, of both types A and B.
1.3.2 MORECOMPLEXEXAMPLE OF AMANUFACTURINGSYSTEM
We now present a quite classical example that, with slight variations, has been extensively used in the literature [20,40].
Consider a manufacturing system consisting of five machines (M1–M5); four robots (R1–R4);
a bufferBwith finite capacity C; two inputs of raw parts (I1andI2) of type A and B, respectively;
two AGVs, AGV1and AGV2; and two outputs (O1andO2) for the processed parts. The plant produces two different types of products from the two types of raw materials. An unlimited source of raw parts is assumed. Finally, it is supposed that there are 20 pallets for each type of product.
The layout of the system is sketched in Figure 1.7. In more detail, parts of type A are initially processed by either machineM1orM2, while parts of type B are initially processed by machineM4. RobotR1moves parts of types A and B from their initial positions to the input buffers of machines M1,M2 andM4, respectively. Note thatR1is a shared resource among the three machines since it is able to serve only one machine at a time. Parts of type A, processed by either machine M1
or M2, are moved by robotR3 to bufferB. Similarly, parts of type B are moved by robotR4 to bufferB, after being processed by machineM4. RobotR3moves parts of type A fromBto machine M3, while robotR4 moves parts of type B to machineM5. After being processed by machines M3 and M5, parts of type A and B, respectively, are moved by robot R2 to AGV1 and AGV2, respectively. Note thatR2 is again a shared resource. The AGV moves parts outside the system.
Finally, as already discussed in the case of Figure 1.1, it is assumed that the output of a processed part corresponds to the simultaneous input of a raw part. This allows to model the cyclicity of the process.
The corresponding PN model is shown in Figure 1.8 where places p1and p22are capacity places representing the pallets of input parts of type A and B, respectively. Here, we can observe some of the elementary structures introduced in the previous section. For instance, robotR1is modelled by place p19, three transitions (t2, t3 and t15) modelling the input of parts in the machines and three output transitions (t4, t5and t16) modelling the output of parts from the machines. When place p19is marked, the robot is ready to work. The firing of transition t2(t3) corresponds to one part of type A
I2 I1
M1
M3
AGV1 AGV2
AGV2 AGV1
M2 R1 M4
M5
M3 M1 M2
I1 I2 M4
B B
M5
R2
O1 O2
R3 R4
B
(a) (b)
FIGURE 1.7 (a) Layout of the automated manufacturing system and (b) its parts processing.
20
C p1
p2
t1
t2
t4
t6
t8 t9
t7 t5 t3 p4
p19 R1
M1
R3
R4
R2 B
M3 M5
M4
M2
p23 p22
p24
p26
p27 p28 p25
20
p31
p32 p7 p8
t10
t11
t12
t13
t14 p14
p17 p18
p16
p21 p15
p13 p12
p10
p20 p29
p30
p33 p34AGV2 AGV1
t21 t20
t19 t18 t17
t16 t15
t22
t23 p11
p3
p6 p5
p9
FIGURE 1.8 PN model of the manufacturing system in Figure 1.7.
moved to the input buffer of machineM1(M2). Similarly, the firing of t15corresponds to one part of type B moved to the input buffer of machineM4. Note all machines are single server so they can only perform one operation at a time. This explains why the number of tokens in their places in the PN model cannot be larger than one. Analogous considerations can be repeated to explain the PN models of the other robots.
Machines are modelled by one place, one input and one output transition. When the place is marked, it means that the machine is ready to perform its operation. Consider, for example, machine M1. The firing of t4corresponds to the beginning of its operation. On the contrary, when transition t6fires, it means that the operation is finished and the machine is again available to perform a new operation. Similar considerations apply to the other machines and the two AGVs.
Finally, placeB¯is the complementary place of bufferB, that is, its content is equal to the number of parts that can still enter the buffer. In Figure 1.8, since the capacity of the buffer is assumed to be equal to C, this means that the buffer is empty. BufferBmay contain parts of both types. The number of parts of type A is equal to the number of tokens in p12, while the number of parts of type B is equal to the number of tokens in p27.
1.3.3 RELATEDLITERATURE
Among the numerous PN techniques, P/T nets are the simplest logic framework that can be employed to model manufacturing systems. As a matter of fact, classical P/T nets theory has been extensively used to model complex systems such as manufacturing systems, with applications dating back to the 1970s [35]. Indeed, P/T nets are able to model the material, information and control flow within the manufacturing system in an event-driven dynamic environment while effectively representing concurrency or parallelism (two machines working independently), resource sharing and mutual exclusion (a robot handles parts for two machines but cannot serve both at the same time) and synchronization (a machine is free and a part is ready to be processed by it). Moreover, the graphical representation leads to a simple and legible model, and the corresponding mathematical notation allows to straightforwardly represent and simulate the manufacturing system in any engineering computation software. The reader is referred to [35] for a comprehensive discussion on the motivation for modelling manufacturing systems by PNs, illustrated by several examples.
In the sequel we discuss the main field of application of P/T nets in the context of manufacturing systems modelling. The application of PN to manufacturing systems has been extensively surveyed in [12]. In particular, P/T nets have been successfully applied to the specification, verification and real-time control of manufacturing systems. The first and most important application of the P/T nets formalism to manufacturing systems lies in the specification of such complex systems. Since the P/T net model of a manufacturing system typically suffers from the state explosion problem, two approaches have been proposed to cope with this problem:
1. Reduction techniques, allowing to simplify the computational effort of analysing large and complex P/T nets
2. Synthesis methods, which construct nets systematically such that the desired properties are guaranteed without analysis in the final nets
Reduction methods may roughly be classified into (1) place transformations, (2) fusion of transitions and (3) addition of nets. The reader is referred to [24] and [22] for a critical review on reduction techniques.
P/T net synthesis techniques address the computational complexity problem arising from the state space explosion by a modular approach, in which the manufacturing system parts or subsystems are specified separately. The numerous systematic synthesis techniques for modelling by P/T nets DES and particularly manufacturing systems may be divided into three classes [6,22,41]: (1) top- down decomposition or refinement methods, using subnet abstractions to reduce the PN while preserving the logical property of interest; (2) bottom-up or composition techniques, which are systematic methods for the synthesis of models starting from partial views of the manufacturing system; (3) hybrid methods. The first class of methodologies have the advantage to offer a global view of the system, whereas the second type of techniques are useful for specifying systems while describing resource sharing, although these techniques do not always guarantee that the synthesized net preserves important properties of the initial subnets. Hybrid methods are combinations of the two. The reader is referred to [12,22,41] for a review on the three subclasses of P/T net synthesis techniques.
A second significant application of the P/T net framework to manufacturing systems consists in their capacity of being analysed to check if the constructed model verifies some specification properties [35]. Among these, synchronic properties and activity properties can be studied: the first are, in temporal logic terminology, safety properties, while the second group are liveness properties.
More specifically, P/T nets have been widely applied for the verification of the following prop- erties of manufacturing systems: reachability, boundedness, safeness, conservativeness, liveness, reversibility and invariance. Numerous analysis techniques are provided in the related literature, and the reader is referred to [12] and [41] for some comprehensive overviews on such methods.
Third, a significant application area of P/T nets in the field of manufacturing systems is real- time control, that is, (1) sequencing the operations in the system and (2) preventing the system from being in some undesired states. The exploitation of the structural properties of PN models in order to obtain computationally efficient algorithms for computing controls is nowadays one of the main goals of PN research. The reader is referred to [21] for an overview of the literature on the application of untimed PN models and methods to problems in the logical control of manufacturing systems. Moreover, the supervised control approach is a general theory for controlling DES given a specification describing its allowed and desired behaviour. The resulting controller (supervisor) restricts the behaviour of the manufacturing system so as to fulfill the specifications. Numerous PN-based approaches to supervisory control design have been proposed (see, for instance, [28] and [19] and the references therein). In addition, a comprehensive review of deadlock prevention policies for manufacturing systems is available in [26] while an overview of deadlock avoidance strategies for manufacturing systems including PN-based strategies may be found in [18].
We complete this section by referring the reader to a number of basic references where some significant examples on manufacturing systems may be found: Desrochers and Al-Jaar [12] report a number of simple manufacturing systems modelled by PNs, and in such a framework, they provide several performance analysis with deadlock detection policies. Numerous more complex examples may be found in [41] with detailed analysis. In addition, further examples developed in detail may be found in [30,33–35].