ESI 6529 DIGITAL SIMULATION TECHNIQUES - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

ESI 6529 DIGITAL SIMULATION TECHNIQUES

Description:

Each robot picks up a part, then moves to the bench staging position. ... Release the bench, then repeat the procedure for the next part (next station) ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 25
Provided by: hectorda
Category:

less

Transcript and Presenter's Notes

Title: ESI 6529 DIGITAL SIMULATION TECHNIQUES


1
ESI 6529 DIGITAL SIMULATION TECHNIQUES
  • Lecture 7

2
TRANSPOTERS Movable devices that may be
allocated to entities. Group of similar
transporters are called sets. Individual
transporters within a set are called units. Each
unit has a specific station location in the
system and requires time to travel from one
station to the next. Examples are fork trucks,
carts, personnel, cranes, etc
3
EXAMPLE 8 THE JOBSHOP REVISIT Modify the jobshop
problem in Example 7 to include the transport of
material. Assume that all parts are transported
to, from and within the shop by two workers with
the aid of hydraulic trucks. The workers move the
hand trucks at the rate of 150 feet per minute
empty and 100 feet per minute loaded. The aisle
layout and distances are shown in the following.
All distances are in feet.
4
THE EXPERIMENT FILE Transp.EXP
  • BEGIN
  • PROJECT, Transp, CIS 441
  • ATTRIBUTES ProcessTime ArrTime
  • QUEUES 5
  • STATIONS StaA StaB StaC StaD Last
    First
  • RESOURCES REPEAT(Machine, 4)
  • SETS MachineSet, Machine1..Machine4
  • StationSet, StaA, StaB, StaC, StaD
  • SEQUENCES 1, , StaA, ProcessTimeTR(1,2)
    StaB, ProcessTimeTR(2,2)
  • StaC, ProcessTimeTR(3,2) StaD,
    ProcessTimeTR(4,2) Last
  • 2, , StaA, ProcessTimeTR(5,2)
    StaC, ProcessTimeTR(6,2)
  • StaB, ProcessTimeTR(7,2) Last
  • 3, , StaB, ProcessTimeTR(8,2)
    StaD, ProcessTimeTR(9,2)
  • StaC, ProcessTimeTR(10,2) Last
  • PARAMETERS 1, 5, 7, 9 2, 2, 4, 5 3, 2,
    5, 7 4, 6, 9, 10 5, 5, 6, 7
  • 6, 4, 6, 7 7, 3, 6, 8 8, 5, 9, 11 9, 11,
    12, 14 10, 6, 8, 10
  • 11, .4, 1, .75, 2, 1.0, 3 12, 8
  • TRANSPORTERS Handler, 2, DISTANCE(1), 150,
    Last-A, First-A

5
to station --gt StaB StaC
StaD Last First DISTANCES 1, 1-6,
180, 100, 250, 280, 130/
180, 130, 220, 230/
150, 180, 230/
90, 360/
410 TALLIES
Type 1 FlowTime Type 2 FlowTime Type 3
FlowTime Overall FlowTime DSTATS NQ(1), 1
Queue Length NQ(2), 2 Queue Length NQ(3),
3 Queue Length NQ(4), 4 Queue
Length NR(1), Machine 1 Util NR(2), Machine
2 Util NR(2), Machine 3 Util NR(4), Machine
4 Util NT(Handler)/MT(Handler), Handler
Util REPLICATE, 1, 0, 5280,,,480 END
6
THE MODEL FILE Transp.MOD
  • BEGIN
  • CREATE EX(12,1) MARK(ArrTime)
  • ASSIGN NSDP(11,3) MFirst
  • NextSta QUEUE, 5
  • REQUEST Handler(SDS)
  • TRANSPORT Handler, SEQ,
    0.667VT(Handler)
  • STATION, StationSet
  • FREE Handler
  • QUEUE, M
  • SEIZE MachineSet(M)
  • DELAY ProcessTime
  • RELEASE MachineSet(M) NEXT(NextSta)
  • STATION, Last
  • FREE Handler
  • TALLY NS, INT(ArrTime)
  • TALLY Overall Flowtime, INT(ArrTime)
  • DISPOSE

7
Conveyors Linked cells that move in unison along
a fixed path.Each cell represents a conveyor
space that can be occupied or empty. An entity
can occupy one or more cells of the conveyor.
Access and exit points are located at
stations. Examples are belts, chains, buckets,
powered rollers, overhead conveyors,
etc. Non-Accumulating Conveyors Entire conveyor
will disengage (cease movement) when loading or
unloading an item. Spacing of individual
entities does not change while the entities are
on the conveyor.
8
Example 9 The Jobshop Problem with
Non-Accumulating Conveyors
  • Modify the jobshop problem described in Example
    5 by replacing the transporters with
    non-accumulating conveyors. The conveyor layout
    is shown on the following pages. Assume that each
    job leaves the conveyor and enters an infinite
    buffer (waiting area) at each machine station.
  • The entering and exiting conveyors move at a
    speed of 40 feet per minute, and the loop
    conveyor moves at 50 feet per minute. Parts 1, 2,
    and 3 require two feet, one foot and four feet
    of conveyor space, respectively.
  • The interior loop conveyor periodically
    experiences random breakdowns. The time between
    breakdowns is exponentially distributed, with a
    mean of 45 minutes. Repair times are
    exponentially distributed with a mean of 5
    minutes. Assume that the input and output
    conveyor do not break down.
  • Simulate the system as before. Collect
    statistics on the fraction of space that is
    occupied on each conveyor, in addition to the
    statistics on queue length and machine
    utilization.

9
First
A
B
D
C
Last
10
Modeling Strategy
  • Define 3 non-accumulating conveyors, called In,
    Loop and Out. Use an indexed submodel to
    represent the four machine centers. Define the
    following four stations
  • Sta. No. Sta. Name Description
  • 1 STAA MACHINE A
  • 2 STAB MACHINE B
  • 3 STAC MACHINE C
  • 4 STAD MACHINE D
  • 5 LEAVELOOP TRANSFER POINT, CONVEYOR
    LOOP TO CONVEYOR OUT
  • 6 FIRST SYSTEM ENTRY POINT
  • 7 ENTERLOOP TRANSFER POINT, CONVEYOR IN
    TO CONVEYOR LOOP
  • 8 LAST SYSTEM EXIT

11
Modeling Strategy (Cont.)
  • Use the CONVEYORS Element to define the name,
    segment set and velocity of each conveyor.
  • Use the SEGMENTS Element to specify the segment
    lengths along each conveyor path.
  • Use the ACCESS Block to access the empty cells
    on the conveyors.
  • Use the EXIT Block to remove the entities from
    the conveyors and to free the occupied cells.
  • Add a submodel to control the Loop conveyor
    breakdowns.
  • Create a logical entity that cycles through the
    submodel, creating breakdowns at random
    intervals.
  • Use the STOP Block to stop the Loop conveyor
    when a breakdown occurs.
  • Use the START Block to restart the Loop conveyor
    after it has been repaired.

12
Engaging / Disengaging a Non-accumulating
Conveyor
  • Block Action
  • ACCESS Conveyor is disengaged when the required
    number of cells line up with the entitys
    station. Conveyor remains disengaged until
    instructions are given to resume movement.
  • CONVEY Conveyor is engaged (if active). Entity
    begins movement immediately.
  • EXIT Conveyor is disengaged when entity reaches
    its destination. Conveyor is reengaged when
    entity is removed.
  • STOP Stops (deactivates) the conveyor.
  • START Restarts the conveyor, or a conveyor that
    is initially inactive. (Does not reengage a
    conveyor that has been disengaged).

13
Conveyor Variables
  • User - assignable
  • VC(CnvID) Velocity of the conveyor CnvID
  • Status
  • NEC(CnvID) Number of entities currently being
    conveyed on the conveyor CnvID LEC(CnvID) Tota
    l length of entities currently being conveyed
    on conveyor CnvID
  • MLC(CnvID) Length of conveyor CnvID
  • ICS(CnvID) Status of conveyor CnvID (0 idle,
    1 moving,
  • 2 blocked, 3 inactive)
  • nonaccumulating conveyors only
  • NEA(CnvID) Number of accumulated entities on
    conveyor CnvID
  • CLA(CnvID) Total length of accumulated entities
    on conveyor CnvID

14
Experiment Listing
  • BEGIN
  • PROJECT, CONVEYOR JOBSHOP, CIS 441
  • ATTRIBUTES PROCESSTIME ARRTIME NUMCELLS
  • VARIABLES PARTSIZE(3), 2, 1, 4
  • QUEUES MACHAQ MACHBQ MACHCQ MACHDQ
  • LEAVELOOPQ FIRSTQ ENTERLOOPQ
  • ABELTQ BBELTQ CBELTQ DBELTQ
  • STATIONS STAA STAB STAC STAD LEAVELOOP
  • FIRST ENTERLOOP LAST
  • RESOURCES MACHINE1 MACHINE2 MACHINE3
    MACHINE4
  • SETS StationSet, StaA..StaD
    MachineSet,Machine1..Machine4
  • QueueSet, ABELTQ BBELTQ CBELTQ DBELTQ
  • CONVEYORS IN, 1,40,1,A,4 LOOP, 2,50,1,A,4
    OUT, 3,40,1,A,4
  • SEGMENTS 1,FIRST,ENTERLOOP-90
  • 2,ENTERLOOP, STAA-40, STAC-100,
  • LEAVELOOP-120, STAD-30, STAB-130,
  • ENTERLOOP-140
  • 3,LEAVELOOP,LAST-60

15
Experiment Listing
  • SEQUENCES 1,,STAA, PROCESSTIMETR(1,2) STAB,
    PROCESSTIMETR(2,2)
  • STAC, PROCESSTIMETR(3,2) STAD,
    PROCESSTIMETR(4,2)
  • LEAVELOOP
  • 2,,STAA, PROCESSTIMETR(5,2) STAC,
    PROCESSTIMETR(6,2)
  • STAB, PROCESSTIMETR(7,2) LEAVELOOP
  • 3,,STAB, PROCESSTIMETR(8,2) STAD,
    PROCESSTIMETR(9,2)
  • STAC, PROCESSTIMETR(10,2) LEAVELOOP
  • PARAMETERS 1, 5, 7, 9 2, 2, 4, 5 3, 2, 5,
    7 4, 6, 9, 10 5, 5, 6, 7 6, 4, 6, 7
  • 7, 3, 6, 8 8, 5, 9, 11 9, 11, 12, 14 10,
    6, 8, 10
  • 11, .4, 1, .75, 2, 1.0, 3 12, 8 13, 45 14,
    5
  • TALLIES TYPE 1 FT TYPE 2 FTTYPE 3 FTOVERALL
    FLOWTIME
  • DSTATS LEC(IN)/MLC(IN), IN CONV. UTIL.
  • LEC(LOOP)/MLC(LOOP),LOOP CONV. UTIL.
  • LEC(OUT)/MLC(OUT), OUT CONV. UTIL
  • REPLICATE, 1,0,5280,,,480
  • END

16
Model Listing
  • BEGIN
  • CREATE, 1 EX(12,1) MARK(ARRTIME)
  • ASSIGN NSDP(11,3) ! job type
  • NUMCELLSPARTSIZE(NS) ! of cells
  • MFIRST entrance station
  • QUEUE, FIRSTQ wait for conveyor
  • ACCESS IN,NUMCELLS access In conveyor
  • CONVEY IN,ENTERLOOP convey to loop
  • STATION, ENTERLOOP loop entrance
  • QUEUE, ENTERLOOP wait for space
  • ACCESS LOOP,NUMCELLS access loop space
  • EXIT IN,NUMCELLS exit the In conveyor
  • main CONVEY LOOP, SEQ convey to machine

17
Model Listing (Cont.)
  • MACHINE SUBMODEL
  • STATION, StationSet
  • EXIT LOOP, NUMCELLS
  • QUEUE, M
  • SEIZE MachineSet(M)
  • DELAY PROCESSTIME
  • RELEASE MachineSet(M)
  • QUEUE, QueueSet(M)
  • ACCESS LOOP, NUMCELLS NEXT(main)
  • LEAVE LOOP
  • STATION, LEAVELOOP loop exit
  • QUEUE, LEAVELOOP wait for space
  • ACCESS OUT,NUMCELLS access Out conveyor
  • EXIT LOOP,NUMCELLS exit Loop conveyor
  • CONVEY OUT,LAST convey to Exit

18
Model Listing (Cont.)

EXIT STATION STATION, LAST exit
station EXIT OUT,NUMCELLS exit Out
conveyor TALLY NS, INT(ARRTIME) by
jobtype TALLY OVERALL FLOWTIME, INT(ARRTIME)
overall flowtime DISPOSE LOOP CONVEYOR
BREAKDOWN SUBMODEL CREATE breakdown
entity BREAK DELAY EX(13,1) uptime STOP
LOOP breakdown DELAY EX(14,1) downtim
e START LOOP NEXT(BREAK) restart the
conveyor END
19
Example A Robot Cell
  • An assembly requires five parts. Three are placed
    in the assembly by one robot, and the other two
    by another robot. Assume that there is always a
    sufficient stock of all parts.
  • The robots move at a rate of 60 ft/sec. The cell
    layout is given on the following page (distances
    in feet). Each robot picks up a part, then moves
    to the bench staging position. After it gains
    access to the bench area, it moves to the
    assembly at 20 of its normal velocity. It
    positions the part, moves back to the staging
    position (at full velocity), relinquishes control
    of the bench area, and proceeds to pick up the
    next part. When an assembly is complete, the
    robot moves to the input position of the first
    part, and begins another cycle. All pick-up times
    are triangularly distributed (2,5,8 seconds). The
    time to place a part onto the assembly is also
    triangularly distributed (4,8,15).
  • Execute the simulation for one 8-hour shift and
    collect statistics on the time each robot is
    waiting for access to the bench area, and the
    percentage of time a robot is performing assembly
    at the bench.

20
2
7
1
1
3
6

8
4
21
Modeling Strategy
  • Model each robot as a separate transporter unit.
  • Create one logical entity to control robot 1, and
    a second logical entity to control robot 2.
  • Each logical entity will cycle through a station
    submodel that represents the processing of one
    part.
  • For each pass through the submodel, the robot
    will
  • Begin at the bench staging position (station 1 or
    station 6).
  • Move to the part station when the robot becomes
    available.
  • Pick up the part and move it to the bench staging
    position.
  • Move to the assembly position when the bench
    becomes free.
  • Position the part, then move the empty robot back
    to the bench staging position.
  • Release the bench, then repeat the procedure for
    the next part (next station).
  • Represent the bench assembly position as a single
    capacity resource.

22
Experiment Listing
  • BEGIN
  • PROJECT, ROBOT, ISE
  • ATTRIBUTES ROBOTNOBENCHNO
  • VARIABLES SIDECOUNT
  • RESOURCES BENCH
  • QUEUES 4
  • STATIONS 8
  • EXPRESSIONS 1,TRIA(2,5,8,1)
    2,TRIA(4,8,15,2)
  • TRANSPORTERS ROBOT,2,1,60,2-A,7-A
  • DISTANCES 1, 1-8, 8, 14, 8, 2, 4, 14, 14 / !
    FROM STA 1
  • 8,14,10,12, 22, 22 / ! FROM STA
    2
  • 8,16,18, 28, 28 / ! FROM STA 3
  • 10,12, 22, 22 / ! FROM STA 4
  • 2, 12, 12 / ! FROM STA 5

  • 10, 10 / ! FROM STA 6

  • 10 FROM STA 7
  • REPLICATE, 1,0,28800
  • END

23
Model Listing
  • BEGIN
  • CREATE
  • NxtAssy BRANCH,2 ALWAYS, GETR1 ALWAYS, GETR2
  • robot 1 logic
  • GetR1 ASSIGN ROBOTNO1 BENCHNO1
  • ROUTE 0,2 start at station 2
  • robot 2 logic
  • GetR2 ASSIGN ROBOTNO2 BENCHNO6
  • ROUTE 0,7 start at station 7
  • station submodel
  • GetRobot STATION,1-8
  • QUEUE, ROBOTNO wait for robot
  • ALLOCATE ROBOT(ROBOTNO)
  • Loop MOVE ROBOT(ROBOTNO), M move to part
    station
  • DELAY ED(1) pick up the part
  • MOVE ROBOT(ROBOTNO), BENCHNO staging station
  • QUEUE, ROBOTNO2 wait for turn on bench
  • SEIZE, ROBOTNO BENCH
  • MOVE ROBOT(ROBOTNO),5,0.2vt(1)

24
Model Listing
  • ASSIGN MM1 increment to the next part
  • BRANCH,1 IF, ROBOTNO.EQ.1.AND. M.GT.4, Done1
  • IF,ROBOTNO.EQ.2.AND.M.GT.8, Done2 ELSE,
    Loop
  • Done1 ASSIGN M2 SIDECOUNTSIDECOUNT1
  • NEXT(RETURN) side 1 finished
  • Done2 ASSIGN M7 SIDECOUNTSIDECOUNT1 side 2
    finished
  • Return MOVE ROBOT(ROBOTNO), M move robot to
    first part
  • FREE ROBOT(ROBOTNO)
  • BRANCH,1 IF,SIDECOUNT.EQ.2, Partout this
    assembly finished
  • Partout ASSIGN SIDECOUNT0 restart counter
  • TALLY EXIT INTERVAL, BETWEEN
  • NEXT(NxtAssy) start over
  • END
Write a Comment
User Comments (0)
About PowerShow.com