Vous êtes sur la page 1sur 90

A Schema for Flexible Equipment

Control in Manufacturing
Systems
Prof. M.K.Tiwari
Introduction :

What is Flexibility?

Why we require flexibility in manufacturing system?

How we provide flexibility in manufacturing system?

What is F.M.S?

What is the problem in using F.M.S?

What is AND/OR graph?

What is STEP?


Introduction :

What is Process Planning Module?

What is Resource Model?

How we get Problem Reduction Technique?

How we generate Process Plan Graph?

How we made Planning Module?

How we generate NC Program?

What should be the algorithms of NC Program?

Numerical problem.

Flexibility is required due to:
Uncertain product demand.

Uneven distribution of shop load.

Unavailability of machine or cutting tool.
FMS
FMS are composed of CNC machine tools and
material storage systems interconnected by
material transfer and handling equipment.

Objective : Manufacture low to medium-sized batches
of different parts with almost no downtime between
orders.

Problems in using F.M.S:
FMS control system software is usually hard-
coded into the FMS


Making it difficult to cater for changes in the
FMS environment, such as the inclusion of a
new machine, or a modication of the layout.
Flexibility of the systems

Downtimes

Throughput


We should develop a methodologies for the
implementation of reusable control software
for FMS.

To provide a higher exibility for FMS
control software :

Concerning Parts:
IGES (Initial Graphics Exchange Specication) :
Transfer part information between different CAD
systems.
STEP (Standard for Exchange of Product Model Data) :
Representing and exchanging product information during
its life cycle across the enterprise.

Concerning processes:
QTC (Quick Turnaround Cell)
ALPS (A Language for Process Specication)
PSL (Process Specication Language)
have contributed towards the use of standards for process
representation.
There are different ways to represent
process plans with alternatives:
Petri-nets

AND/OR graphs

Tree structures

Directed graphs
The Part AND/OR Graph
AND/OR graphs are used in represent both parts and
process plans.

These graphs are composed of nodes connected by arcs

In the case of parts

Nodes Manufacturing feature (e.g.
hole) .

Arcs AND/OR precedence, or a simple
sequential precedence.
Description of the symbols present in a part
AND/OR graph:
An example of a part and its AND/OR
graph representation:
Fig. 1: A prismatic part & its representation through an AND/OR graph.
Contd
All features in the part may be machined in any
order, except for hole5.

Hole 5 has to be machined after pocket1.

The required information for each of these features,
which includes their geometry and tolerances, is
shown in next slide.
Feature attributes necessary for process
planning.
The AND/OR graphs are stored in ASCII les,
and the part information in these les is represented
as (From Fig.1:)
The semantics associated with each postx
symbol are as follows
(S&): The ampersand (i.e. &) implies AND
relationship.

(S!): The symbol ! implies OR relationship.

(S*): The symbol * implies that the elements of S
are sequentially ordered. For example, if N is
represented by (N1 N2 N3 *), then N1 precedes N2,
and N2 precedes N3
The Process Plan AND/OR Graph
The process plan AND/OR graph contains alternative
operations that may be performed on the work piece.

The same kind of representation presented for parts is
used, but process information is stored instead of
features.

Node represent the tasks of part processing, material
transport, material handling, or material storage.

Each node contains detailed operation parameters, such
as the cutting conditions and tool type for a machining
operation.
The symbols that are found in process plan
AND/OR graphs are similar to those in part
AND/OR graphs, and they are shown in
Table.3
Table 3. Symbols present in a process plan
AND/OR graph.
The Process Planning Module:
Process planning has been identied as a
critical link between product design and
production control.

Process planning Data flow:
The Resource Model:
Manufacturing assets = R
={E T F I}
E Equipment set
T Tool set
F Fixture set
I Instruction set
Subclasses of class E include the classes
MP, MH, MT, and BS

MP Material processors in the facility,

MH Material handling

MT Material transporters

BS Buffer storage devices.
Contd
The material processors are the pieces of equipment
that add value to a product by adding features to a
raw material part.

Material removal machines (machine tools) represent
instances of this class.

Different types of material processors are classified
into subclasses of the MP class. For instance,
Milling machines represent one of these sub-classes,
While turning centers represent another sub-class.
Contd
The material handlers are equipment that load/unload
products to/from equipment for processing, storage,
or transportation.


Material handlers have the kinematic flexibility to
change the orientation and position of the part to
insert the part properly into equipment fixturing.


Contd
Material handlers are typically industrial
robots.

The placement of the material handlers are in
the shop floor layout determines which
buffers, machines and ports they may access.
Contd
The material transporters move products
between stations.

Examples of material transporters are
automated guided vehicles (AGVs) and
conveyors.
Contd
Buffer Storage Devices class either passively
hold parts with a possible mechanical
inversion or actively store the parts in an
automated storage and retrieval system
(AS/RS).
Layout of the computer Integrated
manufacturing Laboratory:
Home, loadable and unloadable ports corresponding to
each of the MH devices in the manufacturing system
illustrated in previous slide figure
The Problem Reduction Technique:
The problem reduction algorithmic solve problems
automatically by reducing them to sub-problems that
are easier to solve.

In general, a problem description consists of:
{S,F,G},
where S = the current state,
F = set of operators, and
G = the goal state
However, this search process becomes simpler by
decomposing the problem into sub problems. The
sub-problems in turn become decomposed into sub-
sub-problems until they are solved by one operation.

Decomposition of a problem given by {S,F,G}
List of operators= F, f1, and f2
S= Current state
F= Set of operators, f1,f2F
G= Goal state
f1= Operator applied to G-S




f2= Operator applicable to G-S

f1(S) = Resultant state after applying f1 to S

f2(S) = Resultant state after applying f2 to S

S
f1
=precondition state for f1.


S
f2
=precondition state for f2

{S, F, S
f1
}

{f1(S), F, G}
{S, F, S
f2
} {f2(S), F, G}
{S, F, G}
!
& &
Fig. 6 Illustration of search graph generation.
f1
f2
Part state S consist of following set:
S = {M, FEAT, P,O}
M Geometric model
FEAT = {Feat1, Feat2,}
P Port
O Orientation
The basic steps towards generating the
process plan AND/OR graph:
The planning algorithm expands each unexplored problem
node in the graph {S,F,G} by checking for features in G that
are not found in S.

For each feature not present in S, the algorithm determines
how many different ways each MP resource in the facility
may create that feature.

Each MP resource queries methods in the T entities (tools)
that are dened to be usable by the MP resource through
the ownership relationship.
Search graph generation for a reaming
operation:
S= {M,{},1,O}

F= Set of operators, ream F
G= {M, {1.0 DIA hole},1,O
1
}
O
1
= Orientation of the part to machine feature 1.
ream = operator applicable to G-S =1.0 DIA hole

ream(S) = resultant state (after applying ream to
S)={M,{1.0 DIA hole},9, O
1
}

S
ream
= precondition state for ream={M, {0.94 DIA
hole}, 9, O
1
}




{S, F, G}
{ream(S), F, G}
{S, F, S
ream
}
&
ream
From material handling resource entity
with home port#12, and having port#1 is
in its loadable port list.
Search graph generation for Material Handling
load from home port operator:
S= {M,{1.0 DIA hole},9,O
1
}
F= Set of operators, load F
G= {M, {1.0 DIA hole},1,O}
load
12,1
= operator applicable to G-S=port#1

load
12,1
= resultant state (after applying load
12,1
to
S)={M,{1.0 DIA hole},1, O }

S
load12,1
= precondition state for load
12,1
={M,
{1.0 DIA hole}, 12, O }


{S, F, G}
{load
12,1
(S), F, G}
{S, F, S
load12,1
}
&
load
12,1
Search graph generation for a Material Transport move operator:

Move operator decomposes the sub-problem corresponding to a material
transport resource with a reachability list composed of ports #3 and #7

S= {M,{1.0 DIA hole},9,O
1
}

F= Set of operators, move
7,3
F

G= {M, {1.0 DIA hole},3,O}

move
7,3
= operator applicable to G-S=part#3

Move
7,3
(S)= resultant state (after applying move
7,3
to S)={M,{1.0 DIA
hole},3, O }

S
move7,3
= precondition state for load
12,1
={M, {1.0 DIA hole}, 12, O }

{S, F, G}
{move
7,3
(S), F, G}
{S, F, S
move7,3
}
&
move
7,3
Search graph generation for changing
orientation of the part in a machine:
Two features located on different surfaces.

Let the two features are A and B, and the correct
orientations for creating these features on the vertical
milling machine with port #9 are O
A
and O
B

respectively.


{{, 1, O}, {{A,B}, 1, O}
{{, 1, O}, {, 9, O
A
}}
{{{A}, 9, O
A
}, {{A, B}, 1, O}
{{{A}, 9, O
A
}, {{A,}, 1, O
B
} {{{A}, 9, O
B
}, {{A, B}, 1, O}
{{{A}, 9, O
B
}, {{A,}, 9, O
B
} {{{A}, 9, O
A
}, {{A,}, 13, O
B
}
{{{A}, 13, O
B
}, {{A,}, 13, O
B
}
{{{A}, 9, O
A
}, {{A,}, 9, O
A
}
&
&
&
&
Solution to
problem of
port#1
#9
Solution to
problem of
port#9
#1
drill
A
drill
B
load
13,9
Unload
9,13
The Planning Module:
T
n

=t
tsu
+ t
m
+t
tc




manufacturing time for node n


set-up time for each cutting tool specied in the node,


total machining time with the selected cutting tool


automatic tool change time

For each OR node in the graph {
Minimum Partial Manufacturing Time =
large number
For each alternative M stemming from the
OR node {
Determine the Partial Manufacturing Time
for alternative M
If Partial Manufacturing Time < Minimum
Partial Manufacturing Time then {
Minimum Partial Manufacturing Time =
Partial Manufacturing Time
Alternative = M
}
}
Mark selected alternative
}
Total Manufacturing Time = all Partial
Manufacturing Times for each OR node
The NC program Generation
Structure
Task 1: Rapid to feature

Task 2: Tool change (if necessary)

Task 3: Machine feature

Task 4: Rapid to clearance plane

Task 5: Go to task 1 (if necessary)
NC Program Generation Algorithms
1. The spindle rapid travels along the clearance plane until it is
directly above the hole.
2. Once the motion is completed, a tool change occurs, if
necessary.
3. The pre-dened tool offsets are prescribed.
4. The tool rapid travels to the feature that is set as 0.10 inches
(2.5 mm) above the hole.
5. The hole is drilled at a specic feed, speed, and depth with the
coolant on.
6. The tool retracts to the feature plane. After the motion is
completed, the spindle and coolant are turned off.
7. The tool then moves to the clearance plane where it is in
position to rapid travel to the next feature.
The NC code created by the NC program generation
module for this feature would be the following
Example
A part has two features, and they have one identical hole. A
human worker has been considered to move the part from/ to
the AS/RS to/from the buffer storage. The machine tools are
assumed initially without tools in the carrousel. Generate the
process plan graph for the part shown below:
Corresponding operations of the part
!b
1 2
3
!e
5 4
!b
!b
9
14
6
8
7
!b
15 16
17
!e
!b
!e
!e
Process plan AND/OR graph
10
13
11
19
18
12
20
21
22 23
24
26
25
!b
!b
!b
!e
!e
!e
!e
!b
!e
Generated process plan
(((1 2*)3!)4 5 ((((6(7 8!)*)9 !)10((11 12*)13!)*)(14((15
16*)17!)((18(19 20!)*)21!)*)!)22 23 ((24 25 *)26!)*)
Example
Suppose three matrix A, B and C whose cost
is:
A= 3x4
B= 4x10
C= 10x1

A(BC)
A
BC
AB C
(AB)C
(0)
(4x10x1=40)
(3x4x10=120) (0)
[3x4] [4x1]
[3x10] [10x1]
(3x4x1+0+40=52)
(3x10x1+0+120=150)
ABC
Ans = 52
AND
OR
OR
AND
2
1
2
1
0
1
0
0
9
7
h=7
h=3
h=4
h=2
h=3
h=10
h=5
Example
AND
OR
OR
h=7
h=3
2
1
h=4
10
Heuristic Value for terminal leaf=0
Non terminal leaf = Infinity
Heuristic Value
0
9
7
0
AND
OR
OR
h=7
h=3
2
1
h=4
10
7
14
0
h=5
h=2
9
7
0
AND
OR
OR
h=7
h=3
2
1
h=4
10
7
14
AND
1
2
9
7
0
AND
OR
OR
h=7
h=3
2
1
h=4
10
7
14
AND
1
2
h=5
h=10
h=3
1
0
h=2
14
16
6
16
ANSWER
DEADLOCK
Definition : A set of processes is deadlocked if each process in the set
is waiting for an event that only another process in the set can cause
Necessary conditions for deadlock :
Mutual Exclusion : each resource is either currently assigned to one
process or is available to be assigned
Hold and wait : processes currently holding resources granted earlier
can request new resources
Non-Pre-emption : resources previously granted cannot arbitrarily be
taken away from a process; they must be explicitly released by the
process
Circular wait : there must be a circular chain of two or more
processes, each of which is waiting for a resource held by the next
member of the chain

Definition 1: Wait Relationships Among Resources
If the job J
i
request M/c resource M
j
while holding resource
M
k
(k j ), it is said that resource Mk is waiting for resource
M
j
in job J
i
.
J
i
M
k
M
j
Note:- Machine resource M
j
may or may not be released until M
k
is
available.
Definition 2: Propagation of wait relationship (Blocking)
J
2
and J
2
two jobs in simultaneous way.
J
1
J
2
M
j
M
k
& M
k
M
l
it is said that machine resource M
j
is waiting for resource M
k

via resource M
l
.Then it can be shown as:
J
1
J
2
M
j
M
k


M
l
Definition 3: Direct- Address Material Handling (DAMH)
The material handling system specifically serves a single machine
resource one at a certain time is DAMH.
A Robot and automated guide vehicle are Direct Address system.

Definition 4: System Deadlock (Direct- Address system)
When a job requests a machine a machine resource, The request
for a machine resource cant be accepted unless the requesting job
release the machine resource that it currently holds and all queue
resources are occupied.
Characteristics of system Deadlock
Case A. Linear wait relation- blocking
Case B. Circular wait relation- deadlocking
A wait relationship can indicated by graph with nodes
indicating the machines and arc shows process flow.
Case A & B shows wait relationship.
When represented by series of wait relationship, a
blocking situation appears to be linear, whereas a wait
relationship associated with deadlocking system forms
circuit.
Sufficient conditions for system deadlock
The following assumptions are used
1. Each job has unique identifier.
2. Each job occupies only one resource at any given time.
3. Each machine can process only one job at a
time.
Theorem 1
Graph G=(V,A) condition for system deadlock.
1. Exist at least only one circuit C=(V
c
,A
c
) in G
2. N
c
=A
c
(No. of jobs contributing arc in circuit)(A
c
=arc)
3. M
c
=A
c
(No. of machines in circuit).

Wait Relation
Graph
J
q
J
p
a
12
a
21
a
32
a
13
a
21
a
32
a
13
a
21
J
q
J
q
J
p
J
p
J
f
V
1
=A
V
1
=A
V
1
=A
V
2
=B
V
2
=B
V
2
=B
V
3
=C
V
3
=C
A B
J
q
B A
J
p
A C

C B

B A
J
q
J
p
J
p
A C

C B

B A
J
q
J
p
J
f
According to the II
nd
condition

=> Deadlock
According to the II
nd
condition

=> No Deadlock
According to the III
rd
condition

=> Deadlock
Proof
1. If there is no circuit in the graph, there is no circular waiting
and condition of deadlock follow.
2. N
c
< A
c
.It means one job contribute more than one arc and
more one operation in one job cant occur simultaneous.
Hence , circuit c cant be created deadlock.
N
c
< A
c
means arc is greater than job. it cant be form
circuit. Hence, N
c
=A
c
for circuit C to be deadlock.
3. If M
c
> A
c .
Machine is capable to process one or more
activity simultaneously and if M
c
< A
c
.It means arc is not
connected with machine.(C is not circuit)
.
Hence M
c
= A
c
for
c

to be system deadlock.
Detection of system Deadlock
Identification of Circuit
The search procedure introduced a string multiplication algorithm
to identify all circuit in a graph .Initially, symbol matrix is defined
from graph. The definition of symbol matrix is
,
0,
ij
ij
S

=

If a wait relation exist between machine i and j


otherwise
Where i ,j = 1,,M
Let a(uv) and b(vw) be two strings of symbols that end and
start with v.
Let* denote string multiplication symbol.Then
a(uv)*0=0*a(uv)=0
a(uv)*b(vw) is formed by combining two string into one
a(uvw).This is extended to sums of strings by defining
( ) * ( ) ( ) * ( )
i j i j
i j i j
a uv b vw a uv b vw =

( )*( ) ubv abc vwx vyx + + =
( * * * * ) ubv vwx ubv vyx abv vwx abv vyx + + +
For Example
The Product of Power S is then defined as
1 1
* *
n n n
ij ik kj
k
S S S S S

= =

S is symbol matrix and circuit is composed of n arc. i.e two


arc circuit are in S
2
and three arc circuit are in S
3
and so on.

Detection of System Deadlock
Example.
P 1
P 3
P 2
1
Machine
Parts (P)
Fig. A typical manufacturing
directed Graph
According to the graph
(activity) , symbolic matrix is
derived as.
0 12 0 14
21 0 0 24
31 32 0 0
0 0 43 0
S
(
(
(
=
(
(

2
3
4
Direction of Process
Symbol Matrix S of Size M M (M is Machine),
Matrix S
n
is obtained as follows:
1 1
* *
n n n
ij ik kj
k
S S S S S

= =

Where i , j, k = 1, 2.M and n = arc


If k > I, then the numerical value of first character of a
string will always be less than that of rest of characters.
Therefore , only the circuits starting with smallest number
will remain, and rest of duplication excluded.
Where i ,j= 1, 2M; k = i + 1
For matrix, all the values omitted (due to k=1 and k=i=1,
which is not greater than i.
1
S
Equation 1
2
0 12 0 14 0 12 0 14
21 0 0 24 21 0 0 24
*
31 32 0 0 31 32 0 0
0 0 43 0 0 0 43 0
S
( (
( (
( (
=
( (
( (

2
121 000 143 124
000 0 243 0
321 312 000 314
431 432 0 0.
S
(
(
(
=
(
(

Now, we have to evaluate Matrix ( for n=1,2,3 4,5).
For n=2 (arc or activity) .Evaluating the matrix.

n
S
2
S
2
S S S =
[(0-0)+(12-21)+(0-31)+(14-0)]
For S2 matrix element,
2 1 1 1
11 12 21 13 31 14 41
( ) S S S S S S S = + +
= 12 21 + 0 + 0 = 121
2 1 1 1
12 12 22 13 32 14 42
( ) S S S S S S S = + +
= 0 + 0 + 0 = 0
1
*
n n
ij ik kj
k
S S S

From equation ---1


2 1 1 1
13 12 23 13 33 14 43
( ) S S S S S S S = + +
= 0 + 0 + 14 43 = 143
2 1 1 1
14 12 24 13 34 14 44
( ) S S S S S S S = + +
= 12 24 + 0 + 0 = 124
2 1 1
21 23 31 24 41
( ) S S S S S = +
2 1 1
22 23 32 24 42
( ) S S S S S = +
2 1
23 24 43
( ) S S S =
= 0 + 0 = 0
= 0 + 0 = 0
= 243
2 1 1
24 23 34 24 44
( ) S S S S S = +
2 1
31 34 41
( ) S S S =
= 0 + 0 = 0
= 0
2 1
32 34 42
( ) S S S =
= 0
2 1
33 34 43
( ) S S S =
= 0
2 1
34 34 44
( ) S S S =
= 0
So , Matrix
2
S
becomes
2
121 0 143 124
000 0 243 000
000 0 000 000
...... .. ..... ......
S
(
(
(
=
(
(

So, we are not showing the redundant values of the matrix
For n=3; .Evaluating the matrix.
3
S
3 2
S S S =
3 2
121 0 143 124 0 12 0 14
0 0 243 214 21 0 0 24
321 312 0 314 31 32 0 0
431 432 0 0 0 0 43 0
S S S
( (
( (
( (
= =
( (
( (

3
1431 1212 1432 1243 1214
2431 2432 2143 0
3121 3212 3143 3214 3124
4321 4312 0 4314 4324
S
+
(
(
(
=
(
+
(
+

From equation ---1
Similarly, we are calculating Symbolic matrix for 3
rd
arc
3
( ) S
3 2 2 2
11 12 21 13 31 14 41
( ) S S S S S S S = + +
= 0 + 143 31 +0 = 1431
3 2 2 2
12 22 22 13 32 14 42
( ) S S S S S S S = + +
Element of Matrix are as:
3
( ) S
= 0 + 143 32 + 0 = 1432
3 2 2 2
13 12 23 13 33 14 43
( ) S S S S S S S = + +
= 0 + 0 +124 43 = 1243
3 2 2 2
14 12 24 13 34 14 44
( ) S S S S S S S = + +
= 0 + 0 + 0 = 0
3 2 2
21 23 31 24 41
( ) S S S S S = +
= 243 31 + 0 = 2431
3 2 2
22 23 32 24 42
( ) S S S S S = +
= 243 32 + 0 = 2432
3 2 2
23 23 33 24 43
( ) S S S S S = +
= 0 + 0 = 0
3 2 2
24 23 34 24 44
( ) S S S S S = +
= 0 + 0 = 0
So, the symbolic matrix
of 3
rd
arc become.
3
1431 1432 1243 0
2431 2432 000 0
....... ....... ..... ...
...... ...... ..... ....
S
(
(
(
=
(
(

3
( ) S
For n=4; .Evaluating the matrix.
4
S
4 3
S S S =
4 3
1431 1212 1432 1243 1214 0 12 0 14
2431 2432 2143 0 21 0 0 24
3121 3212 3143 3214 3124 31 32 0 0
4321 4312 0 4314 4324 0 0 43 0
S S S
+
( (
( (
( (
= =
( (
+
( (
+

12121 14321 12431 14312 12432 12143 14314 12124 14324
24321 21431 24312 2142 0 24314 24324
32121 31431 31212 31432 32143 31243 31214 43124
43121 43212 43143 43243 43214 431214
+ + + + +
+ + +
=
+ + + +
+ +
(
(
(
(
(

Similarly for matrix
5
S
5
143121 124321 121431 ..... ..... ......
........................ ...... ..... .....
....................... ...... ..... .....
....................... ...... ..... .....
S
+ +
(
(
(
=
(
(

The value of string 124321 in S5 is actually composed of two
closed circuit , that is 121 and 2432 , and two small closed circuits
may have appeared already in S2 and S3.The Large circuit 124321 ,
in which node 2 distributes two arcs to node 1 and 4, cannot possibly
become a system deadlock.

Vous aimerez peut-être aussi