Hierarchical Petri Net Structures for Operation Sequence Control Logic in Automatic Machining Systems Euisu Park,yDawn M. Tilbury,zand Pramod P. Khargonekarx NSF Engineering Research Center for Recon gurable Machining Systems 2250 GG Brown, 2350 Hayward St. University of Michigan Ann Arbor, Michigan 48109-2125 email: feuisu, tilbury,
[email protected] Submitted as a regular paper to the ICARCV 2000
Abstract
One of main functions of logic controllers for automatic machining systems is the sequence control of operations. Due to nature of machining sytems, faults can happen in every operation. Therefore, the sequence control logic must include the fault diagnosis and fault recovery control logic in it. Hierarchical structures for the sequence control logic are developed by using Petri net formalism. By connecting the hierarchical structure, the control logic can be represented in a simple form and the logic can be easily programmed.
y z x
This work was supported by NSF ERC under Grant No. EEC9529125. Dept. of Electrical Engineering and Computer Science. Dept. of Mechanical Engineering and Applied Mechanics. Dept. of Electrical Engineering and Computer Science.
1 Introduction Automatic machining systems are designed to produce a machined part automatically in every repetitive cycle; a number of machines are linked together to provide complete processing of a part. The logic controller controls the sequencing of various processes to ensure that the desired operations are carried out. In addition to this automation control logic, the logic controller of a machining system must have control logic for exception handling such as fault stop/fault diagnosis and fault recovery because faults can happen in any operation for various reasons. In fact, around 90% of the overall control logic is used for exception handling. Because a logic controller is a discrete event supervisory system, the control logic of a logic controller can be designed and veri ed using Petri net formalism. Frequently, the complexity of a real-world system leads to a large Petri net having many places and transitions; analyzing such a net system is nearly impossible. To overcome this complexity, a Petri net is built by using top-down or bottom-up approaches. The top-down approach is based on a step-by-step re nement and the bottom-up approach relies on the aggregation of subnets sharing common places or transitions; a simple and eective synthesis method is applied for manufacturing systems in [1, 2, 3]. However, it seems that this approach is not yet much utilized in the machining industry. This is due in part to the facts that the methodology focuses on the normal sequence control logic; it does not represent exception handling in a uni ed representation. In this paper, hierarchical Petri net structures which can represent the sequence control logic with fault diagnosis and fault recovery for machining systems are proposed.
2 Automatic Machining Systems The automatic machining systems considered in this paper are high-volume transfer lines. They are typically used in automotive industry for machining 1
parts such as engine blocks, cylinder heads, or transmission housings. In this section, the mechanical components and their controls will be introduced brie y.
2.1 Mechanical Components A high-volume transfer line consists of a transfer bar mechanism, a number of machining stations, locating mechanisms, and xturing mechanisms. Each machining station is simply called a station. Each station performs a particular process such as milling or drilling necessary to the overall production of the part using simple and fast motions. The schematic diagram of a high volume transfer line is shown in Figure 1. This system is composed of four machining stations, a transfer bar mechanism, three xturing mechanisms (Mill 1 and Mill 2 have a common xturing mechanism), one rotating table, and one cradle mechanism; the rotating table and the cradle mechanism locates the parts properly for the machining stations. Each component associates with a sequence of operations (see gure 2). The numbered squares represent the number of engine blocks in the machining system. The transfer bar mechanism moves each engine block to the next numbered location in each cycle motion. Each machining station starts to work after the engine block is clamped properly by its corresponding xturing mechanism.
2.2 Controls in Automatic Machining Systems The operations in automatic machining systems are achieved by hydraulic actuators and servo motors. The operations done by servo motors need servo feedback motion control for precise feed rate, positioning, and torque. This motion control in automatic machining systems can be accomplished by a network of computerized motion controllers (CMC's) [4]. Another distinct type of control in automatic machining systems is the sequence control: control for automation. Because faults can occur in any operation 2
Position Slide
11 00 00 11 00 11 00 11
Position Slide
Mill 1
Mill 3 Main Slide
Main Slide
111 000 000 111
Clamp Mechanism Cradle Mechanism Rotating Table
1
00 11111 000 00 11 00 00011 111 00 11 2
3
4
5
6
7
11 00 00 11 8 00 11 00 11
9
10
11 00 00 11 11 00 11 00 11
12
13
14
15
Transfer Mechanism Main Slide
Main Slide
Mill 2
Mill 4 Position Slide
Position Slide
Figure 1: A high-volume transfer line for engine block surface milling of a machining system, the sequence control must have associated control for fault stop/fault diagnosis and fault recovery. The control logic for the sequence control becomes complicated due to fault handling of operations. In this paper, the sequence control of each station in a machining system will be considered. Generally, the sequence control of high volume transfer lines is achieved by three control modes: auto, hand, and manual [5, 6]. The auto and hand control mode is designed to operate a whole machining system; the manual control mode is designed for fault recovery of single station and ne operation control (such as jog motions). The control modes are determined by operators; various HMI's (Human-Machine Interfaces) are used for the operator input devices. In current industry practice, the normal operation cycle is speci ed by a timing bar chart. A part of the timing bar chart for the system in Figure 1 is shown in Figure 2. The dotted arrows show causal dependencies between operations in dierent stations and operations which carry over to the next cycle time are indicated by a white bar. The operations which are necessary for the normal operation cycle are called normal operations. The control logic is implemented in PLC's (Programming Logic 3
Controllers) by using some PLC programming languages [7].
3 Problem Statements In most cases, the control logic is implemented in PLC's (Programming Logic Controllers) by using some PLC programming languages [7]. Currently, several PLC manufacturers such as Allen Bradley, Modicon, and Siemens produce their own PLC's. Even though each PLC has a dierent capabilities and functions, the basic structure of a PLC consists of a process, I/O (input and output) modules, and communication modules. A certain size of memory is located in the process for the control logic program. The I/O and communication modules connect sensors, actuators, and HMI's in a machining system. The PLC manufacturers provide program editors for their own PLC's such as RSLogix (Allen Bradley), pl7 (Modicon), and STEP 7 (Siemens). The control logic program is generated by using these program editors and it is downloaded into the process. Therefore, the actual control logic program strongly depends on the type of PLC, the communication protocol, and HMI's in a machining system. Additionally, there are no formal speci cations concerning the control logic for exception handling such as fault recovery (as mentioned above, a timing bar chart is the speci cation of the normal operation cycle). Thus, most of the control logic is programmed without any formal structures; the logic program strongly depends on the experience and knowledge of a programmer. Especially in north America, logic control programmers draw on their experience to program exception handling in ladder diagram; this experience does not exist for other PLC languages. In this paper, we will address a methodology for generating the sequence control logic program in a high-volume transfer line using formal models of the control system which can be used in various PLC con gurations. 4
Total; Cycle Time = 22.2 second OPERATION
Transfer Bar Station
19.6
0.7
Raise Transfer (2nd Lift)
15.4
0.3
Raise Transfer (3rd Lift)
22.2 63.1
0.3 0.3
Raise Transfer (4th Lift) Advance Transfer
50.0
0.5
Lower Transfer (2nd Lower)
29.6
Lower Transfer (3rd Lower)
20.5
0.3 0.3
Advance Cradle (Machining Position) * Return Cradle (Transfer Position)
Advance Clamp
Rapid Advance Positionong Slide Mill 1 Station
Rotating Table Station
2.9
1.0
3.8
1.0
4.9
1.5 0.5
6.5
1.5
2.1
0.6
3
Servo
9.7
1.3
0.6
* Reset Main Slide
Servo
9.0
Lower Rotate
6.3
2.8
Advance Grippers
2.2
1.0
Raise Rotate
4.7
2.85
* Return Rails
8.3
0.5
Advance Rotate 270 Deg.
1.7
2.0
Return Grippers
3.9
1.0
Return Rotate 270 Deg.
1.0
2.0
Advance Rails
2.3
2.0
4
5
6
7
8
1111 0000 0000 1111 0 1 0000 1111 0 1 0 1 01 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
9
10 11 12 13 14 15 16 17 18 19 20 21 22
1111 0000 0000 1111 1111 0000
11 00 00 11 00 11
11 00 00 11 00 11 00 11
11 00 00 11 00 11 0 1 11 00 0 1 0 1 0 1
11 00 00 11 00 11
1 0 0 1 011 1 00 00 11 000000000000 111111111111 00 11 000000000000 111111111111 000000000000 111111111111 111111111111 0000000000001 0 0 1 0111 1 000 000 111 000 111
0.9
Decel Feed Main Slide Rapid Return Positioning Slide
2
36.5 0.5 Servo 2.5
Read Part Seated Air Checks * Return Clamp
1
Servo 2.5
Lower Transfer (1st Lower)
Lower Transfer (4th Lower)
Clamp 1 Station
SEC
Raise Transfer (1st Lift)
* Return Transfer Cradle Station
GPM
1 0 0 1 0 1
1111 0000 0000 1111 0000 1111 00 11 0000 1111 00 11 00 11 11 00 0000 1111 0000 1111 1111 0000
1111 0000 0000 1111 0000 1111 0000 1111
111 000 000 111 000 111 000 111 111 000 000 111 000 111
0000 1111 0000 1111 1111 0000 11 00 00 11 11 00
Figure 2: A section of the timing bar chart for the high-volume transfer line in Figure 1.
5
4 Petri Net Model for Sequence Control Programmable logic controllers are event driven systems, and Petri nets are well known as a concise and rigorous formalism to model and analyze such systems. Moreover, the asynchronous and concurrent control behavior characteristics of logic controllers for machining systems can be easily represented by the Petri net formalism; the correctness of control logic can be also veri ed using Petri net properties. Some basic ideas of Petri net models for logic controllers are explained in [8]. Petri nets have four graphical components: places (circles), transitions (bars), arcs (arrows), and tokens. The dynamic behavior of Petri nets can be achieved by tokens and the token ring rule. More information on Petri nets can be found in [9, 10, 11].
4.1 Basic Concept for Operation Control In machining systems, an operation has the following characteristics: an operation can only be initiated by the logic controller. faults can occur during the execution of an operation. an operation can be stopped in either a completed or incomplete state. An internal variable is assigned to each operation to keep track of its proper completion. The control actions necessary for an operation are activate/deactivate the corresponding actuator, fault diagnosis, and internal variable manipulation. Any controlled operation in a machining system can be represented by three states: operating, completed stop, and incomplete stop. In Petri nets, each state can be modeled by a place. Therefore, each operation can be represented by three places in the Petri net model for a logic controller, i.e.,
P (O) = fpOO ; pOIC ; pOC g
(1)
where P (O) is the set of places for the operation O and the subscripts O, IC, and C represent the operating, incomplete stop, and completed stop states 6
Events
IC
O
Events
C
Operation States Control Actions O (operating) activate the corresponding actuator C (completed) deactivate the corresponding actuator IC (incomplete) deactivate the corresponding actuator Figure 3: A Petri net block for an operation with the corresponding control actions : O, C, and IC represent operating, completed, and incomplete state of an operation respectively. respectively. By assigning the appropriate control actions to each state (place), and linking the states using transitions and arrows, an operation can be formally represented by a Petri net. A basic model for an operation with the corresponding control actions is shown in Figure 3.
4.2 Operation Modules A fault stop in an operation can be recovered by one of three methods. 1. re-start the operation from the fault stop position directly. 2. return the mechanism to the initial position of the operation then re-start the operation. 3. return the mechanism to the home position of the station then resume the normal operation cycle of the station. 7
t2
t1
11 00 00 11 00 11
ON O
IC
t5
t3
C t 10
t4
t7
t6 IC
OF O t8
C t9
Figure 4: The Petri net representation of the R-module Two types of operation modules can be considered for the operations in machining systems: reversible operation modules and irreversible operation modules. A normal operation whose faults can be recovered by method 1 or method 2 is de ned as a reversible operation; a normal operation whose faults can be recovered by method is 1 or method 3 de ned as an irreversible operation. The operations used for fault recovery of normal operations are called fault recovery operations. Because the normal operations in each station constitute a cyclic behavior, fault recovery operations are typically the same as normal operations. However, we consider the fault recovery operations to be dierent operations because they are frequently executed with dierent feed rates than their corresponding normal operations. Figure 4 shows the representation of an R-module; the initial marking represents the fault stop state of the operation O. The superscript N and F represent the normal operation block and the fault recovery operation block of the operation O respectively. The Petri net 8
t2
11 00 00 11 00 11
ON
t1 O
IC
t3 home position C
Figure 5: The Petri net representation of the I-module structure is symmetric because faults can happen even in the fault recovery operation. The structure of an R-module can represent the control logic for fault recovery, jog motion, and operation repeat in manual control mode. The I-module is shown in Figure 5; the initial marking represents the fault stop state of an irreversible operation ON .
4.3 Superposition A logic controller must handle all three control modes for an automatic machining system. Although each mode oers dierent functionality, they control the same set of operations. Thus the Petri net for each control mode is constructed by connecting the same set of places using transitions and arrows in such a manner that the speci cations for that mode are met. The transitions may be dierent in each mode, or a common transition may have dierent conditions in dierent modes. The complete control logic can be obtained by combining the Petri nets for dierent control modes using superposition. Because the places are the same, they are superposed directly. The superposition method is illustrated in Figure 6; Ct1 , Ct2 , and Ct3 represent conditions in auto, hand, and manual control mode for a common transition respectively. By superposition, a logic controller can be simply represented by Petri nets using the same set of places which can realize the control logic of three control modes. This transition superposition is a well-known reduction rule: fusion of parallel transitions [9]; 9
p1
t1
t1
p2
Auto
p1
t2
p2
p1
t2
p2
p1
t
p2
Hand
p1
t3
p2
t3
Manual
Figure 6: The superposition design methodology: Ct = (auto ^Ct1 ) _ (hand ^ Ct2 ) _ (manual ^ Ct3 )
5 Hierarchical Representation The operation modules can be represented as a single place with a hierarchical structure. This hierarchical place is denoted by a double circle; the hierarchical structure for an R-module and an I-module are illustrated in Figure 7. Each R-module is connected to other operation modules from the completed places of its operation blocks (pOC and pOC ) as described by the operation sequence speci cations, and each I-module is connected from its completed place (pOC ) and incomplete place (pOIC ). A dashed arrow is used in the R-module because the reverse sequence and fault recovery sequence in R-modules are not needed for every operation. Therefore, the sequence control logic of a machining system can be represented by three hierarchical structures: R-module with two input arrows and two output arrows, Rmodule with one input arrow and one output arrow, and I-module with one input arrow and two output arrows. In other words, the sequence control logic of a station can be modeled by a simple Petri net. The hierarchical Petri net representation for the sequence control logic will be shown by using an illustrative example. As an illustrative example, consider the Mill 1 module from Figure 1. The schematic cyclic behavior and the Petri net model for its normal opN i;j
N i;j
F i;j
N i;j
10
IC
O
next normal operation block
C
for normal sequence
R IC
for reverse sequence or fault recovery sequence
O
C next fault recovery operation block or normal operation block of the home operation
(a) R-module
IC
for normal sequence
O I
next fault recovery operation block
next normal operation block
for fault recovery sequence
C
(b) I-module Figure 7: The hierarchical representations for the operation modules 11
W
Synchronized Transition
Mill Head
Rapid Advance
Reset Main Slide
20mm
20mm Rapid Advance 10mm Decel.
Wait to Start
553mm Feed
30mm Rapid Return
Decel. 10mm Feed
E/G Block
553mm Rapid Return 30mm Reset Main Slide 553mm
Figure 8: The schematic cyclic behavior of Mill 1 module and its Petri net model for the normal operation cycle control logic eration cycle is shown in Figure 8. The place with a token represents the initial place and the place with \W" represents a waiting place. It represents that the \rapid advance" operation cannot start until it receives event input(s) from other station(s) (the dotted lines in Figure 2 indicate the causal relationships). The operator input for the hand mode of this machine is shown in Figure 5. The normal operation cycle for Mill 1 is completed by pushing the \push button 8" in the hand mode. Therefore, the sequence control in hand mode is same as its auto mode. First, assign an operation module for each operation in the station to represent the sequence control logic with fault handling. Because the operations except the \feed main slide" operation are reversible operations, 12
Hand Mode PB : Push Button PB1
PB2
PB3
Unclamp All Stations
Raise Transfer
Advance Transfer
PB8
PB7
PB6
Cycle Return All Machining Transfer Stations
Cycle Rotating Table Station
PB4 Lower Transfer PB5 Clamp All Stations
Figure 9: The input device for hand mode we need four R-modules and one I-module. By connecting the operation modules with respect to the normal operation cycle speci cation and fault recovery sequence for irreversible operation, the Petri net model for the sequence control logic can be obtained. The bolded lines in Figure 10(a) and Figure 10(b) shows the normal operation cycle and the fault recovery sequence of the \feed main slide" operation (\rapid return positioning slide" and \reset main slide") respectively. Figure 10(c) shows the hierarchical representation of the sequence control logic. Actually, this Petri net is live, safe, and reversible due to its modular structure; the rigorous proof can be found in [5]. Moreover, the dimensional complexity of Petri net model can be overcome by using hierarchical representation.
6 Conclusion Hierarchical Petri net structures which can represent the sequence control logic for machining systems are developed. The sequence control logic with fault diagnosis and fault recovery can be simply represented by connecting the hierarchical places. Because the resulted Petri net is live, safe, and reversible, it can be converted directly into SFC (Sequential Function Chart). In other words, this hierarchical structure can be used in current PLC's 13
Rapid Advance
Reset IC
O
IC
Home Position C
IC
O
Decel IC
C
O
IC
C
Feed
O
IC
C
O
IC
Rapid Return
O
IC
C
C
O
C
O
IC
C
O
C
(a) The normal operation cycle control logic Rapid Advance
Reset IC
O
IC
Home Position C
IC
O
O
Decel IC
C
IC
C
O
Feed
O
IC
C
IC
Rapid Return
O
IC
C
C
O
C
O
IC
C
O
C
(b) The fault recovery control logic for the \Feed" operation
Rapid Advance
Reset
R
R
Decel
R
Feed
I
Rapid Return
R
(c) Hierarchical representation for the sequence control logic Figure 10: The sequence control logic for Mill 1 14
which can handle SFC. Moreover, the hierarchical structures are modularized by operation types in machining systems. Therefore, control logic for each operation can be repeatedly generated by replacing the I/O's for the corresponding sensors, actuators, and operator commands.
References [1] M. C. Zhou, F. DiCesare, and D. L. Rudolph, \Design and Implementation of a Petri Net Based Supervisor for a Flexible Manufacturing System," Automatica, vol. 28, no. 6, pp. 1199{1208, 1992. [2] M. Zhou, F. DiCesare, and A. A. Desrochers, \A Hybrid Methodology for Synthesis of Petri Net Models for Manufacturing Systems," IEEE Transactions on Robotics and Automation, vol. 8, no. 3, pp. 350{361, June 1992. [3] L. Ferrarini, \Hierarchical Multi-layer CAD System for Systematic Design of Complex Logic Controllers," Robotics & Computer-Integrated Manufacturing, vol. 12, no. 2, pp. 173{184, 1996. [4] T. P. McDunn, \The Simple Approach to Transfer Line Control," in IPC '92: Enabling Flexibility, pp. 297{306, 1992. [5] E. Park, D. M. Tilbury, and P. P. Khargonekar, \A Modeling and Analysis Methodology for Modular Logic Controllers of Machining Systems using Petri Net Formalism," submitted to IEEE Transactions on Robotics and Automation. [6] E. Park, D. M. Tilbury, and P. P. Khargonekar, \A Modeling Methodology for Modular Logic Controllers of Machining Systems using Petri Net Formalism," in To appear 2000 American Control Conference, Chicago, USA, June 2000. 15
[7] R. W. Lewis, Programming Industrial Control Systems using IEC 11313, The Institution of Electrical Engineers, London, United Kingdom, 1995. [8] K.-P. Brand and J. Kopainsky, \Principles and Engineering of Process Control with Petri Nets," IEEE Transactions on Automatic Control, vol. 33, no. 2, pp. 138{149, February 1988. [9] T. Murata, \Petri Nets: Properties, Analysis and Applications," Proceedings of the IEEE, vol. 77, no. 5, pp. 541{580, April 1989. [10] R. David and H. Alla, \Petri Nets for Modeling of Dynamic Systems A Survey," Automatica, vol. 30, no. 2, pp. 175{202, 1994. [11] W. Reisig, Petri Nets, Springer-Verlag, Berlin, 1982.
16