40
ProModel 소개 시뮬레이션 소프트웨어 한남대학교 산업경영공학과 임동순 [email protected]

ProModel 소개 - HNUmip.hnu.kr/courses/simulation/promodel/ProModel.pdf · 2008-02-11 · Model Elements 예제 1.1 ... Simulation>Options 를 선택하여 실행시간을 8 시간으로

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

ProModel 소개

시뮬레이션 소프트웨어

한남대학교 산업경영공학과

임동순

[email protected]

i

목차 Model Elements

예제 1.1.................................................................................................... 1

Location

Location Edit Table................................................................................ 6

Location Graphics ................................................................................. 7

Location Rule ......................................................................................... 7

Location 에 들어오는 entity 의 선택 규칙...................................................8

출력을 위한 대기 규칙 ...................................................................................8

Unit 의 선택 ....................................................................................................9

예제 2.1.................................................................................................... 9

Delay Time 정의

Process time........................................................................................... 11

Move Time .............................................................................................. 11

Inter-arrival Time.................................................................................... 11

확률 분포.................................................................................................. 11

예제 3.1.................................................................................................... 12

예제 3.2.................................................................................................... 12

예제 3.3.................................................................................................... 12

Routing

Routing Table ......................................................................................... 14

Routing rule............................................................................................ 15

Alternate (ALT)..............................................................................................15

Backup.............................................................................................................15

First available (First) .....................................................................................15

Continue (CONT) ..........................................................................................16

Dependent ......................................................................................................16

Empty ..............................................................................................................16

Most Available ...............................................................................................17

Join 17

Longest Unoccupied .....................................................................................17

Probability ......................................................................................................17

Random...........................................................................................................18

Send .................................................................................................................18

ii

Load ................................................................................................................ 18

Entity 의 조작 ...........................................................................................19

GROUP/UNGROUP.................................................................................... 19

COMBINE ...................................................................................................... 19

Cutting............................................................................................................ 20

ACCUM.......................................................................................................... 20

예제 4.1 ....................................................................................................20

Variables, Attributes, Array

Global Variables .....................................................................................21

Global Variables 사용방법 ........................................................................... 21

Attributes ................................................................................................21

Attributes 사용방법 ...................................................................................... 21

Array........................................................................................................22

Array 사용방법 .............................................................................................. 22

Processing Logic

Local variable 의 정의 .............................................................................23

조정 문장 ..................................................................................................23

IF THEN ELSE............................................................................................... 23

DO WHILE..................................................................................................... 23

WHILE DO..................................................................................................... 23

DO UNTIL ..................................................................................................... 23

엔터티 조작 명령.......................................................................................24

JOIN ................................................................................................................ 24

LOAD.............................................................................................................. 24

SEND .............................................................................................................. 24

기타 명령문...............................................................................................25

Macros.....................................................................................................25

사용방법 ......................................................................................................... 25

Subroutine ..............................................................................................26

사용방법 ......................................................................................................... 26

External files ...........................................................................................26

사용방법 ......................................................................................................... 26

예제 6.1 ....................................................................................................26

예제 6.2 ....................................................................................................27

Resource

Resource.................................................................................................29

iii

사용방법 ..........................................................................................................29

Path Network.......................................................................................... 29

사용방법 ..........................................................................................................29

예제 7.1.................................................................................................... 30

Conveyor

단순 라인 콘베이어................................................................................... 33

Merging 콘베이어.................................................................................... 34

Diverging 콘베이어 ................................................................................. 34

1

Model Elements ProModel 은 생산시스템의 설계와 분석을 위한 전용 시뮬레이션 소프트웨어로서 이산사건 모델링을 대상으로 한다. 프로세스 중심의 모델링 관점을 지원하며, 다음의 기본 구성요소들을 이용하여 모델을 작성한다.

Location

Entity

Arrival

Processing

Resource

Location 으로 entity 들의 처리, 저장 또는 의사결정을 위한 고정된 공간(물리적 또는 논리적 공간)을 표현하고, Entity 로 시스템에서 처리되어야 하는 객체를 표현한다. Processing 으로 entity 들이 어느 순서에 의해 어떤 처리가 수행되어야 하는지를 표현하고, Arrivals 로 entity 들이 시스템에 유입되는 행태를 표현한다. Resource 는 시스템내의 자원을 의미하며 주로 동적으로 이동하는 객체를 대상으로 한다. 이 중 resource 를 제외한 나머지 4 구성요소는 어떠한 모델에서도 필히 있어야 하는 가장 기본적인 모델 구성요소에 해당한다.

프로세스 중심의 모델링 관점은 시스템에서 처리되는 엔터티의 흐름을 파악하도록 한다. 다음의 예제를 통하여 이러한 모델링 방법을 알아보자.

예제 1.1 고객들이 오전 9 시부터 오후 5 시까지 10 분 간격으로 LOC1 에 도착하여 LOC2 와 LOC3 를 통과하는 프로세스를 거쳐 시스템을 빠져나간다. LOC1, LOC2, LOC3 에서는 각각 0 분, 3 분, 5 분의 처리시간이 소요되고, 한번에 한 고객 만 처리될 수 있다.

프로세스 중심의 모델링 관점에서는 엔터티인 고객의 흐름이 중요하다. 아래 그림은 고객에 대한 프로세스를 나타낸 그림이다.

LOC1LOC1 LOC2LOC2 LOC3LOC3 EXIT

이러한 프로세스 중심의 모델링 관점을 ProModel 에서 구현해 보자.

1. ProModel 시작

2

ProModel 프로그램을 실행하여 File>New 를 선택하면 General Information 창이 뜬다. 이 창에서 Title, Time units, Distance units 항목에 아래 그림과 같이 입력하고, Graphic Library File 은 ProMod4.GLB 로 한다.

2. Location 모델링

a) Build>Locations 를 선택하면 Locations, Graphics, Layout 의 세 창이 뜬다. Graphics 창에서 원하는 아이콘을 선택하여 Layout 창의 원하는 위치에 클릭한다. (LOC1, LOC2, LOC3 의 세 location 을 차례대로 모델링한다)

b) Locations edit table 에서 name, units, capacity 들을 아래 그림과 같이 입력한다. Graphics 성분의 크기는 마우스를 이용하여 조정할 수 있다. 각 location 의 capacity 와 units 는 1 로 한다.

3. Entity 모델링

a) Build>Entities 를 선택하면 Entities 창이 뜬다. Entity graphics tool box 에서 원하는 아이콘을 선택한다.

b) Entity edit table 에서 name 항목에 Customer 를 입력한다.

3

4. Process 모델링

a) Build>Processing 을 선택하면 process 와 routing 의 두 창이 뜬다. 왼쪽의 process 창에서는 엔터티가 현재 location 에서 하여야 하는 일을 정의하고, 오른쪽의 routing 창에서는 현재 location 에서 프로세스를 끝낸 엔터티가 이동하여야 하는 다음 location 인 destination 을 정의한다.

b) Process 창에서 entity bar 를 눌러 Customer 를 선택하고, location bar 를 클릭하여 현재 location 을 선택한다. Operation 에 현재 location 에서 수행되어야 할 entity 들에 대한 처리를 입력한다(처리 시간 등).

c) Routing 창에서 output 을 클릭하여 Customer 를 선택하고, destination 을 눌러 다음 location 을 선택한다(다음 location 이 시스템을 빠져 나가는 것을 의미하는 경우에는 Exit 를 선택한다).

Entity Location Operation Blk Output Destination Rule Move logic

Customer LOC1 1 Customer LOC2 First 1

Customer LOC2 Wait 3 MIN 1 Customer LOC3 First 1

Customer LOC3 Wait 5 MIN 1 Customer EXIT First 1

5. Arrivals 모델링

a) Build>Arrivals 를 선택하면 arrivals 창이 뜬다. Entity bar 를 눌러 원하는 entity 인 Customer 를 선택한다.

4

b) Location 을 눌러 entity 가 생성되는 location 인 LOC1 을 선택한다. c) Qty each arrive, First Time, Occurrence, Frequency 를 입력한다. Qty

each arrival 에는 한번에 한명의 고객이 도착하므로 1 을 입력하고, First time 에는 첫번째 고객이 오는 시간을 0 으로 한다. Occurrence 에는 무한대의 고객이 오는 것으로 가정하여 INF(infinite)를 입력한다. Frequency 에는 고객 간 도착 시간간격으로 10 분을 입력한다.

Entity Location Qty/Arrival First time Occurrence Frequency Logic Disable

Customer Loc1 1 0 INF 10 MIN

6. 시뮬레이션 실행

a) Simulation>Options 를 선택하여 실행시간을 8 시간으로 하기 위해 Run hours 에 8 을 입력한다.

b) Simulation>Save & Run 을 수행한다.

7. 시뮬레이션 출력

시뮬레이션이 실행된 후 시뮬레이션 출력을 분석한다. -------------------------------------------------------------------------------- General Report Output from C:₩Course₩Simulation₩Intro₩Exercise01.mod [EXERCISE01] Date: Feb/15/2000 Time: 02:21:41 PM -------------------------------------------------------------------------------- Scenario : Normal Run Replication : 1 of 1 Simulation Time : 8 hr -------------------------------------------------------------------------------- LOCATIONS Average Location Scheduled Total Minutes Average Maximum Current Name Hours Capacity Entries Per Entry Contents Contents Contents % Util -------- --------- -------- ------- --------- -------- -------- -------- ------ Loc1 8 1 49 0.000000 0 1 0 0.00 Loc2 8 1 49 2.938776 0.3 1 1 30.00 Loc3 8 1 48 5.000000 0.5 1 0 50.00

5

LOCATION STATES BY PERCENTAGE (Single Capacity/Tanks) Location Scheduled % % % % % % Name Hours Operation Setup Idle Waiting Blocked Down -------- --------- --------- ----- ------ ------- ------- ---- Loc1 8 0.00 0.00 100.00 0.00 0.00 0.00 Loc2 8 30.00 0.00 70.00 0.00 0.00 0.00 Loc3 8 50.00 0.00 50.00 0.00 0.00 0.00 FAILED ARRIVALS Entity Location Total Name Name Failed -------- -------- ------ Customer Loc1 0 ENTITY ACTIVITY Average Average Average Average Average Current Minutes Minutes Minutes Minutes Minutes Entity Total Quantity In In Move Wait For In Name Exits In System System Logic Res, etc. Operation Blocked -------- ----- --------- -------- -------- --------- --------- -------- Customer 48 1 8.000000 0.000000 0.000000 8.000000 0.000000 ENTITY STATES BY PERCENTAGE % % Entity In Move Wait For % % Name Logic Res, etc. In Operation Blocked -------- ------- --------- ------------ ------- Customer 0.00 0.00 100.00 0.00

6

Location Location 은 시스템내의 흐름 객체인 entity 를 처리, 저장하는 고정된 공간으로 간주될 수 있다. 그러나, 물리적으로 정의된 공간뿐 만 아니라 논리적인 공간, 즉, 의사결정 이나 조정 등을 수행하는 행위를 모델링할 수도 있다.

Location Edit Table Icon: 화면에 location 을 나타내는 icon

Name: Location 의 이름

Cap (Capacity): Location 에 있을 수 있거나, 동시에 처리될 수 있는 entity 의 최대 개수 또는 용량

Units: 한 location 에 포함되는 동일한 성격의 하부 location 수 (한 종류의 작업을 하는 작업장을 하나의 location 으로 표현하고, 작업장에 동일한 일을 할 수 있는 작업자 3 명이 있을 때 unit 를 3 으로 할 수 있다. 물론 이 경우 각 작업자를 location 으로 표현하여 총 3 개 location 으로 할 수도 있다)

DTs: Down time(고장 시간)을 입력한다. Clock-based, Entry-based, Usage-based, Setup 등을 선택할 수 있다.

Clock-based: Frequency 에 정의된 시간 간격 마다 고장이 발생하여 Logic 에 정의된 일(수리작업 등)을 한다.

Entry-based: Frequency 에 정의된 도착 엔터티 수 마다 고장이 발생하여 Logic 에 정의된 일을 한다.

Usage-based: Frequency 에 정의된 사용 시간 간격 마다 고장이 발생하여 Logic 에 정의된 작업을 한다.

7

Setup: Prior Entity 다음에 Entity 항목에 정의된 엔터티가 들어오면 Logic 에 정의된 준비작업이 수행된다.

Stats: 통계치 수집 옵션을 None, Basic, Time Series 중에서 선택한다. Basic 의 경우 location 의 utilization 과 평균 시간(average residence time/entity)을 수집하고, Time series 의 경우 location 에 있는 entity 의 수를 시간대별로 수집한다.

Rules: 다음에 설명될 Location Rule 을 참조하라.

Location Graphics Location 그래픽에는 기본적인 location 아이콘과 그래픽 파일(.GLB)에서 정의된 아이콘들이 있다. GLB 파일에 새로운 그래픽 아이콘을 추가하거나, 기존 아이콘을 삭제하기 위하여 Tool>Graphic Editor 를 실행할 수 있다. 다음과 같은 location 들이 기본적으로 제공된다.

Counter: 계수기(location 에 있는 현재 entity 수를 나타낼 수 있다)

Gauge: 현재 entity 수를 gauge 로 표현한다

Conveyor/Queue: 콘베이어 또는 엔터티들이 줄을 서서 대기하는 장소인 대기열을 나타낸다.

Label: Text 문자를 나타낸다.

Status Light: location 의 상태를 색으로 나타낸다.

Entity Spot: Entity 들이 location 에 있을 때 entity 들을 나타낼 수 있다.

Region: Location 의 둘레를 나타낸다.

Location Rule Location 의 rule 항목에는 다음의 세가지 규칙을 정의할 수 있다.

8

Location 에 들어오는 entity 의 선택 규칙

한 location 이 entity 의 유입을 허용하는 상태일 때 유입 가능한 entity 를 포함하는 입력 location 이 여러 개 있으면 이 중 하나를 선택하여야 한다. 아래 그림에서 LOC3 에 하나의 엔터티가 유입될 수 있고, LOC3 에 올 수 있는 엔터티들이 LOC1 과 LOC2 에 있다. 이 두 location 에 있는 엔터티 중 하나를 선택하여 이를 LOC3 에 보내는 규칙이 필요하다.

LOC1LOC1

LOC2LOC2LOC3LOC3

Oldest by priority: 가장 높은 routing 우선순위를 가진 엔터티 중 가장 오래 기다린 것이 있는 location 을 선택

Random: 임의의 location 을 선택

Least available capacity: 여유 용량이 가장 적은 location 을 선택

Least Selected location: 가장 적게 선택된 location 을 선택

Highest attribute value: 지정된 attribute 값이 가장 큰 location 을 선택

Lowest attribute value: 지정된 attribute 값이 가장 적은 location 을 선택

출력을 위한 대기 규칙

한 location 에 여러 entity 가 있을 때 어느 entity 를 우선적으로 다음 location 으로 보낼지를 결정한다. 아래 그림에서 LOC1 에 두 개의 엔터티가 있다. 이 중 하나를 선택하여 LOC2 에 보내야 한다. 이를 위해 LOC1 에 엔터티들이 들어올 때 주어진 규칙에 따라 줄을 서도록 한다. LOC1 의 capacity 는 1 보다 커야 한다.

LOC2LOC2

LOC1

Ent1

Ent2

No queuing: 대기 규칙이 필요 없을 때 사용

FIFO(First-in First-out)

LIFO(Last-in First-out)

By type: 다음 location 이 서로 다른 각 entity 형태들은 고유의 FIFO 를 유지한다.

Highest attribute value: 정의된 특성치 값이 가장 높은 엔터티가 우선

Lowest attribute value: 정의된 특성치 값이 가장 적은 엔터티가 우선

9

Unit 의 선택

Entity 가 다수의 unit 를 가진 location 에 들어갈 때 어느 unit 를 선택할 것인가를 결정한다. 아래 그림에서 LOC1 에 있는 엔터티가 LOC2 로 이동된다. LOC2 는 2 의 unit 를 가져 동일한 성능을 갖는 서버가 두 개 있다. 이 둘 중 어느 서버를 선택할 지를 결정하여야 한다.

LOC1LOC1

LOC2

UNIT1

UNIT2

First available: 가장 먼저 가용 상태로 된 unit 선택

By turn: 교대로 선택

Most available capacity: 가장 많은 여유 용량의 unit 선택

Fewest entries: 가장 적은 entity 들을 처리한 unit 선택

Random: 임의로 선택

Longest empty: 가장 오랫동안 entity 가 없었던 unit 선택

예제 2.1 예제 1.1 의 시나리오에서 LOC1 에 고객이 도착했을 때 LOC2 에 다른 고객이 서비스를 받고 있다면 줄을 선다. 줄을 서는 고객의 최대 수는 20 이다. LOC3 에는 동일한 일을 하는 자원이 두 대 있다. LOC2 에 있는 고객은 LOC3 에 있는 두 대의 자원 중 가장 오랫동안 쉬고 있는 자원(Longest Empty)를 선택한다.

a) LOC2 앞에 대기를 나타내는 location 인 QUEUE1 을 digital 계수기로 하여 LOC1 과 LOC2 사이에 위치하도록 하고 capacity 를 20 으로 한다. Queuing for output 규칙에 FIFO 를 선택한다.

b) LOC3 의 Location units 에 2 를 입력한다. Location Rules 에서 unit 선택 rule 을 Longest empty 로 한다.

c) 고객의 흐름 순서를 LOC1, QUEUE1, LOC2, LOC3 로 수정한다.

d) 8 시간 동안을 실행하여 LOC2 와 LOC3 의 평균 이용률과 QUEUE1 에서 대기하는 평균 고객 수를 구한다.

10

11

Delay Time 정의 이산 사건 시뮬레이션에서 시간 지연은 매우 중요하다. 시간 지연에 따라 미래사건 리스트가 구축되고, 이에 의해 시뮬레이션 시각이 진전되어 사건이 발생되도록 하는 것이 시뮬레이션 엔진의 중요 부분이기 때문이다.

Process time 어느 location 에서 엔터티가 처리되는 시간을 정의한다. 이를 위해 processing 모델링의 operation 항목에서 WAIT 명령문을 사용하여 시간 지연을 준다(예: WAIT 3 min).

Move Time Location 간을 이동할 때 걸리는 시간을 정의한다. 이를 위해 Processing 모델링의 Routing table 에 있는 Move logic 항목에서 MOVE FOR 명령문을 이용하여 시간 지연을 준다 (예: MOVE FOR 3 min).

Inter-arrival Time 엔터티들이 외부에서 시스템 내로 유입되는 시간 간격을 정의한다. 이를 위해 Arrivals 모델링의 Frequency 항목에 도착 간 시간 간격을 정의한다.

확률 분포 ProModel 에서 제공하고 있는 확률 분포를 이용할 수 있고, 그 외에 사용자가 원하는 확률 분포를 만들 수 도 있다. 사용자 정의 확률 분포를 생성하기 위하여 Build>More Elements>User Distributions 을 클릭한다.

ProModel 에서 제공되는 확률 변수의 분포에는 다음과 같은 것들이 있다.

분포 함수 파라미터 예

Uniform U(a,b) a: 범위내의 중앙 값

b: 범위의 반

U(10, 2): 8 부터 12 사이의 균등분포

Normal N(a, b) a: 평균, b: 표준편차 N(10, 1)

Exponential EXP(a) a: 평균

Triangular T(a,b,c) a: 최소, B: 최빈, C: 최대

Beta B(a,b,c,d) a: shape1 b: shape2, c: 하한 d: 상한

12

Gamma G(a,b) a: shape b:scale

Weibull W(a,b) a: shape, b: scale

Erlang ER(a,b) a: exponential mean b: parameter

Lognormal L(a,b) a: mean of normal, b: SD of normal

Inverse Gaussian

IG(a,b) a: shape, b: scale

Binomial BI(a,b) a: batch size, b: pr of success

Geometric Geo(a) A: pr of success

Poisson P(a) A: 평균

예제 3.1 예제 2.1 의 시나리오에서 엔터티인 customer 의 도착 간 시간 간격은 평균 4 분의 지수분포에 따른다. 또한, 각 location 에서의 처리시간은 평균 0 분, 3 분, 5 분인 지수분포이다.

a) LOC2 와 LOC3 의 operation 에 지수분포에 따르는 서비스 시간을 정의한다(WAIT E(3) min, WAIT E(5) min).

b) Arrivals 에서 Customer 의 Inter-arrival time 을 E(4)min 으로 한다.

예제 3.2 2 명의 점원이 주문을 받는 롯데리아에 고객은 E(4)분 마다 한 명씩 도착한다. 고객은 2 명의 점원 중 1 명에게 주문을 한다. 주문에 필요한 시간은 E(6)이다. 고객은 한 줄로 서는 것이 좋은가 아니면 두 줄로 서는 것이 좋은가? 두 줄로 설 때 고객은 가장 적은 사람이 있는 줄을 선택한다고 가정한다.

예제 3.3 원자재(RawStock)가 Input Buffer 에서 시스템으로 들어와 Splitter 로 이동된다. Splitter 에서 처리가 끝난 piece 는 lathe, mill, heat Treat 과정을 차례대로 통과한다. Heat Treat 에서 처리가 끝난 batch 는 out Buffer 로 간다. Out Buffer 에서 처리가 끝난 product 은 시스템을 빠져 나간다. 8 시간 동안의 시뮬레이션 결과를 분석해 보자. 기타 모델링에 필요한 사항은 다음과 같다.

13

각 location 의 capacity 는 1 이다.

두 인접한 location 간의 엔터티 이동시간은 0.1 분이다.

Operation time 은 방문 순서에 따라 각각 0, 4, 3, 2, 10, 0 분 이다.

RawStock 은 0 분부터 시작하여 10 분마다 하나씩 도착한다.

INPUTBUFFER

SPLITTER(4min)

LATHE(3min)

MILL(2min)

HEATTREAT(10min)

OUTBUFFER

rawStock piece

piece

piecebatchproduct

결과

설비 operation setup idle waiting blocked down utilization

Splitter 40% 0 60% 0 0 0 40%

Lathe 30% 0 70% 0 0 0 30%

Mill 20% 0 57.33% 0 22.67% 0 42.67%

HeatTreat 97.08% 0 2.92% 0 0 0 97.08%

14

Routing Processing 모델링을 위해 Process table 과 Routing table 이 제공된다. Process table 에는 location 에 있는 entity 에 대해 어떤 처리가 수행되어야 하는지를 모델링하고, Routing table 에는 다음 처리를 위해 이동될 location 에 대한 routing 자료를 입력한다.

Routing Table Routing table 에는 Blk, Output, Destination, Rule, Move logic 항목들을 포함한다.

Blk: Block number

Output: 출력 entity

Destination: 목적지 location

Rule: Routing rule

Move logic: destination 으로 이동할 때의 logic

Blk 는 block number 를 의미하며, 한 block 은 하나 또는 여러 개의 alternative routing 을 포함하여 엔터티의 목적 location 으로 block 내에 한 location 을 선택하도록 한다. 두 개 이상의 blk 가 있는 경우는 하나의 entity 가 blk 수에 따라 분리되는 것을 의미한다. 다음 예는 E_A 라는 entity 가 E_B 와 E_C 로 분리되어 각각 L_LOC2 와 L_LOC3 로 이동하는 예를 보여준다. 이 경우, L_LOC2 와 L_LOC3 모두 여분의 용량이 남아 있는 가용상태이어야 한다. 두 location 모두 가용상태이면 E_B 와 E_C 는 동시에 각 location 으로 이동한다. 만약, 어느 한 location 이라도 가용상태가 아니라면 E_A 는 L_LOC1 에서 두 location 이 가용상태로 될 때까지 대기하게 된다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_B L_LOC2 FIRST 1

2 E_C L_LOC3 FIRST 1

다른 blk 들의 동시 수행에 예외적인 경우는 다음의 ROUTE 명령을 사용할 때이다.

Entity Location Operation Blk Output Destination Rule Move Logic

1 E_B L_LOC2 FIRST 1 E_A L_LOC1 WAIT 3 min

IF A_color=1 THEN ROUTE 1

ELSE ROUTE 2

2 E_C L_LOC3 FIRST 1

만약, E_A 의 attribute 인 A_color 의 값이 1 이면 blk 1 만을 수행하고, 아니면, blk 2 만을 수행한다. 만약, A_color 값이 1 이나, L_LOC2 가 현재 가용상태가 아니라면 어떻게 될까? E_A 는 L_LOC2 가 가용상태로 바뀔 때까지 L_LOC1 에서 대기하게 된다.

다음 예는 E_A 라는 entity 가 L_LOC2 , L_LOC3 또는 L_LOC4 로 갈 수 있는 alternative routing 을 포함하고 있고, 다음 location 을 선택하는 규칙은 순차적임을 나타낸다. 즉, L_LOC2 로의 이동을 먼저 시도하고, 그 다음에 L_LOC3, L_LOC4 를 차례대로 시도한다. 물론, L_LOC2, L_LOC3, LOC4 모두 현재 가용상태가 아니라면 E_A 는 L_LOC1 에서 대기하게 된다.

15

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_A L_LOC2 FIRST 1

E_A L_LOC3 FIRST

E_A L_LOC4 FIRST

Routing rule 에는 다음과 같은 것들이 있다.

Routing rule

Alternate (ALT) 같은 block 의 상위에서 정의된 route 들이 주어진 조건을 만족하지 않으면 대안으로서 ALT location 을 고려한다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_A L_LOC2 SEND 1

E_A L_LOC3 SEND

E_A L_LOC4 ALT

E_A 는 L_LOC2 로 이동하라는 SEND 명령이 있으면 L_LOC2 로 이동하고, 그렇지 않고 L_LOC3 로 이동하라는 SEND 명령이 있으면 L_LOC3 로 이동하고, 그렇지 않고 L_LOC4 가 가용 상태이면 L_LOC4 로 이동하고, 그렇지 않으면 다음 상태 변화 때까지 L_LOC1 에서 대기 한다.

Backup 같은 block 의 상위에서 정의된 route 들이 고장 또는 shift(작업 교대)의 이유로 인하여 가용상태가 아니면 Backup location 을 고려한다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_A L_LOC2 First 1

E_A L_LOC3 ALT

E_A L_LOC4 Backup

E_A 는 L_LOC1 에서 처리가 끝나면 L_LOC2 로 이동을 시도한다. 만약 이동이 불가능하면 L_LOC3 로의 이동을 시도한다. 만약 L_LOC2 와 L_LOC3 가 고장 또는 shift 의 이유로 정지해 있다면 L_LOC4 로의 이동을 시도한다. L_LOC4 로의 이동이 불가능하면 다음 상태 변화 때까지 L_LOC1 에서 대기 한다.

First available (First) 같은 blk 내의 location 순서에 의해 가장 먼저 가용한 용량이 있는 location 으로 이동한다.

16

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_A L_LOC2 FIRST 1

E_A L_LOC3 FIRST

E_A L_LOC4 FIRST

E_A 는 L_LOC2 가 가용 상태 이면 L_LOC2 로 이동하고, 그렇지 않고 L_LOC3 가 가용상태 이면 L_LOC3 로 이동하고, 그렇지 않고 L_LOC4 가 가용 상태이면 L_LOC4 로 이동하고, 그렇지 않으면 다음 상태 변화 때까지 L_LOC1 에서 대기 한다.

Continue (CONT) 연속적으로 동일한 entity 를 생성하는 효과를 낼 때 사용한다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_B L_LOC2 FIRST 1

2 E_A L_LOC1 CONT 1

L_LOC2 가 가용상태이면 E_B 라는 엔터티를 생성하여 L_LOC2 로 보내고, E_A 는 L_LOC1 에 계속 남아 있는다. L_LOC2 가 가용상태가 아니면 E_A 는 L_LOC1 에서 대기한다.

Dependent 같은 blk 의 위에 정의된 route 가 실행되면 동시에 dependent route 가 실행된다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_B L_LOC2 FIRST 1

E_C L_LOC3 DEP

L_LOC2 가 가용상태이면 E_B 를 생성하여 L_LOC2 로 보내고 동시에 E_C 를 생성하여 L_LOC3 로 보낸다. L_LOC2 가 가용상태가 아니면 E_A 는 다음 상태 변화 때까지 대기한다. L_LOC3 는 항상 가용상태로 있어야 한다.

Empty Location 이 비어 있을 때 이를 다음 location 으로 채택한다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_A L_LOC2 EMPTY 1

E_A L_LOC3 EMPTY

E_A 는 L_LOC2 가 비어 있으면 L_LOC2 로 간다. 그렇지 않고, L_LOC3 가 비어 있으면 L_LOC3 로 간다.

17

Most Available 가장 많은 가용 용량을 갖는 location 을 선택한다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_A L_LOC2 MOST 1

E_A L_LOC3 MOST

E_A 는 L_LOC2 가 L_LOC3 보다 더 많은 여유 용량이 있으면 L_LOC2 로 간다. 그렇지 않고, L_LOC3 가 비어 있으면 L_LOC3 로 간다. 만약 두 location 모두 동일한 여유 용량을 가지면 L_LOC2 로 이동하고, 두 location 모두 여유 용량이 없으면 L_LOC1 에서 대기한다.

Join JOIN 요청을 낸 location 을 선택한다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_A L_LOC2 JOIN 1

E_A L_LOCc3 JOIN

Longest Unoccupied 가장 오랫동안 entity 를 가지고 있지 않았던 location 을 선택한다.

Probability 확률적으로 location 을 선택한다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_A L_LOC2 0.8 1

E_A L_LOC2A ALT

E_A L_LOC2B BACKUP

E_A L_LOC3 0.15

E_A L_LOC3A ALT

E_A L_LOC4 0.05

E_A 는 L_LOC1 에서 3 분의 처리가 끝난 후 80%는 L_LOC2, 15%는 L_LOC3, 5%는 L_LOC4 로 간다. 만약, L_LOC2 가 선택되었을 때 더 이상의 여유 용량이 없다면 대안으로 L_LOC2A 를 선택한다. 만약, L_LOC2 와 L_LOC2A 모두 선택될 수 없다면(고장 상태) L_LOC2B 를 선택한다. 만약, 확률에 의해 L_LOC3 가 선택되었으나 더 이상의 여유 용량이 없다면 L_LOC3A 를 선택한다. L_LOC4 가 선택되었으나, 여유 용량이 없다면 L_LOC4 에 유휴 용량이 생길 때까지 L_LOC1 에서 대기한다.

18

Random Random 으로 다음 location 을 결정한다.

Send 목적 destination 으로의 SEND 명령이 있을 때 이동할 수 있다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_A L_LOC2 SEND 1

E_A L_LOC3 SEND

E_A L_LOC4 SEND

Load 목적 destination 으로의 LOAD 명령이 수행될 때 이동할 수 있다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min 1 E_A L_LOC2 LOAD 1

E_A L_LOC3 LOAD

E_A L_Loc4 LOAD

19

Entity 의 조작 여러 개의 entity 가 하나로 합해지거나(batching) 또는 하나의 entity 가 여러 개로 나누어 지는 상황(un-batching)을 표현할 수 있다. Batching 에는 임시적인 것과 그렇지 않은 형태가 존재한다.

형태 설명 명령문

임시적 batching 여러 개의 엔터티가 임시적으로 합해져 원래의 엔터티들로 분리될 수 있다.

GROUP

확정 batching 여러 개의 엔터티가 합쳐져 새로운 하나의 엔터티로 변한다.

COMBINE

또한, un-batching 에는 cutting 과 ungroup 이 있다.

GROUP/UNGROUP 동일한 이름의 20 개 entity 를 모아서 임시적인 하나의 entity 로 만들기 위하여 PROCESS 의 operation 에 GROUP 20 를 입력한다. Grouping 된 entity 를 각 entity 로 분리하기 위하여 UNGROUP 을 입력한다.

Entity Location Operation Blk Output Destination Rule Move Logic

E_A L_LOC1 WAIT 3 min

GROUP 20

1 E_B L_LOC2 First 1

E_B L_LOC2 UNGROUP

E_A L_LOC2 WAIT 2 min 1 E_A L_LOC3 First 1

L_LOC1 에서 3 분의 처리 시간을 끝낸 엔터티 E_A 20 개가 한 묶음으로 되어 E_B 라는 임시적인 엔터티로 된다. E_B 는 L_LOC2 로 이동한 후 다시 20 개의 E_A 로 분리된다. 분리된 E_A 는 2 분의 처리시간을 끝낸 후 L_LOC3 로 이동한다.

L_LOC1 과 L_LOC2 의 용량은 20 보다 크거나 같아야 한다.

COMBINE 동일한 이름의 entity 들을 묶어 새로운 하나의 entity 로 생성할 때 사용한다. 만약, 5 개의 entity 를 묶어 하나의 entity 로 만들려면 Process 의 operation 에 COMBINE 5 를 입력한다. COMBINE 이 이루어 지는 location 의 capacity 는 5 보다 크거나 같아야 한다.

20

Cutting 하나의 entity 가 동일한 성격의 여러 entity 로 분리되는 것을 의미한다. 만약, Part 란 entity 를 5 개의 Component 라는 entity 로 분리하고자 하면 routing 의 rule 을 click 한다. Routing rule dialog box 에서 Output 을 Component 로 하고, Rule 에서 First Available 을 check 하고, Quantity 를 5 로 한다.

ACCUM 20 개의 동일한 엔터티가 쌓여져 하나의 pallet 에 담겨 한꺼번에 다음 location 으로 이동된다면 ACCUM 20 을 operation 에 입력한다. ACCUM 되는 location 과 이동되는 location 의 capacity 는 20 보다 커야 한다.

예제 4.1 예제 3.1 과 같은 상황이나, splitter 에서 하나의 rawStock 이 2 개의 piece 로 분리된다. HeatTreat 에서는 10 개의 piece 가 한꺼번에(동시에) 10 분의 처리를 끝내고, 하나의 batch 로 출력된다. OutBuffer 에서는 20 개의 batch 가 합쳐져 하나의 product 으로 된다.

설비 operation setup idle waiting blocked down utilization

Splitter 40% 0 29% 0 31% 0 71%

Lathe 59.94% 0 35.93% 0 4.13% 0 64.06%

Mill 39.58% 0 54.42% 0 6% 0 45.58%

HeatTreat 18.75% 0 2.15%% 79.1% 0 0 %

21

Variables, Attributes, Array

Global Variables Global variables 는 모델 모두에서 사용될 수 있는 변수로 정수형과

실수형이 있다.

Counter, System statistics, 수치 계산을 위하여 사용된다.

화면에 통계적 수치를 나타내기 위하여 사용된다.

INC, DEC 등과 같은 증가, 감소 연산자를 사용할 수 있다.

변수 이름을 만드는 규칙은 일반적인 프로그래밍 언어에서의 변수명을 정의하는 방법에 따른다.

Global Variables 사용방법

Build>Variables 에서 Icon, 변수의 이름, 자료형태, 초기값, 통계형태를 정의한다. Icon 을 Yes 로 할 경우, counter 모양의 Icon 을 화면에 나타낼 수 있다. 해당 변수 레코드를 선택한 후 layout window 의 원하는 위치에 클릭한다.

Attributes 특정의 Location 이나 Entity 에 포함되는 특성치이다.

정수형 또는 실수형을 가질 수 있다.

Attributes 사용방법

Build>Attributes 에서 정의된다. Processing 의 Operation logic 등에서 명령문을 사용하여 이용한다. 예를 들어, 한 entity 의 attribute 로 정수형 데이터 A_type 을 선언하고, entity 의 생성시 A_type 을 1 또는 2 로 준다(operation logic 에서). 한 기계의 operation 에서 A_type 이 1 이면 10 분의 작업시간을 갖고, 2 이면 20 분의 작업시간을 가질 때 그 기계의 operation logic 에서 다음과 같이 명령문을 추가한다.

IF A_type=1 THEN WAIT 10 min ELSE WAIT 20 min

22

Array 다차원 배열을 사용할 수 있고, 배열 자료형에는 정수형과 실수형이 지원된다.

Array 사용방법

1. Build>Arrays 에서 배열을 정의한다. 배열 명(ID), 배열크기(Dimension), 자료형태(Type)등을 입력한다.

2. 1 차원 배열 // A[10] INT I I=0 WHILE I<10 { INC I A[I] = I } 3. 2 차원 배열 // B[10, 20] INT I INT J I=0 J=0 WHILE I<10 {

INC I WHILE J<20 {

INC J B[I, J] = I * J

} }

23

Processing Logic Processing logic 은 현재 location 에서 entity 에 대해 어떤 일을 하는지를 모델링할 수 있도록 한다.

Local variable 의 정의 두 가지 자료 형태인 정수형 과 실수형을 해당 operation 에서 만 사용할 수 있는 local 변수로 정의할 수 있다.

INT nPallet REAL flowTime

조정 문장

IF THEN ELSE IF type = 1 THEN { WAIT 3 } ELSE {

WAIT 10 } // { 와 } 대신에 BEGIN 과 END 를 사용할 수 도 있다. // comment 를 사용할 수 있다.

DO WHILE DO {

INC nCompleted } WHILE nCompleted > 10

WHILE DO WHILE nCompleted < 10 DO { INC nCompleted }

DO UNTIL DO {

INC nCompleted } UNTIL nCompleted > 10

24

엔터티 조작 명령

JOIN 주 엔터티에 다른 엔터티를 합치는 경우에 사용하는 명령이다. 합쳐지는 엔터티는 지신의 identity 를 잃게 된다. 예를 들어, 자동차 조립에서 메인 바디에 의자 하나를 장착한다고 하자. Processing 에서 메인 바디라는 엔터티에 의자 라는 엔터티가 Join 되도록 한다. 이때 의자 엔터티는 없어지고, 메인 바디 엔터티 만 남는다.

Entity Location Operation Blk Output Destination Rule Move Logic

MBody MC2 JOIN 1 CHAIR 1 Car Painting FIRST 1 MOVE FOR 5

CHAIR MC1 WAIT 10 1 CHAIR MC2 JOIN 1 MOVE FOR 5

LOAD 주 엔터티에 다른 엔터티를 싣는 경우에 사용하는 명령이다. 로드된 엔터티는 자신의 identity 를 유지하고, UNLOAD 명령에 의해 분리될 수 있다. 예를 들어, 자동차가 사람 둘을 태운다고 하자. 사람이라는 엔터티 두 개가 자동차라는 엔터티에 LOAD 된다.

Entity Location Operation Blk Output Destination

Rule Move Logic

Car LOC2 LOAD 2 Person 1 Car LOC3 FIRST 1 MOVE FOR 5

Person LOC1 WAIT 10 1 Person LOC2 LOAD 2 MOVE FOR 5

Car LOC3 UNLOAD 1 Car LOC4 FIRST 1

Person LOC3 1 Person LOC5 FIRST 1

SEND 특정의 엔터티를 목적지에 보내는 명령을 하달할 때 사용한다. 보내지는 엔터티들은 SEND 라우팅 규칙에 의해 대기하고 있어야 하고, SEND 명령을 보낸 엔터티는 곧 바로 다음 프로세스를 수행한다.

SEND 명령을 보냈으나, 대기 하고 있는 엔터티가 없을 경우 그 명령은 실행될 때까지 계속 유효하다.

Entity Location Operation Blk Output Destination Rule Move Logic

EntA LOCA1 Wait U(3, 0.5)

Send Attr2 EntB TO LocB2

1 EntA LOCA2 FIRST 1

EntB LocB2 Send 1

EntB LocB3 Send

EntB LOCB1 WAIT 10 1

EntB LocB4 Send

25

기타 명령문 ACCUM: 다수의 entity 를 누적시킨다.

ACTIVATE: 독립적인 부함수(subroutine)를 실행시킨다.

ANIMATE: 에니메이션 속도를 설정한다(0 – 100).

BREAK: 조정 문장의 반복을 빠져 나간다.

CAP(): location 의 용량을 리턴한다.

CHAR(): 수를 문자열로 변환한다.

CLOCK(): 현재 시각을 리턴한다.

CLOSE: 파일을 닫는다.

COMBINE: n 개의 entity 를 합쳐 새로운 entity 로 만든다.

CONTENTS(): location 의 entity 수를 리턴한다.

CREATE: 새로운 entity 를 생성한다.

DISPLAY: 다이얼 로그 박스를 화면에 출력한다.

ENTITY(): entity 의 이름을 리턴한다.

GET: resource 를 잡는다.

FREE: 잡았던 resource 를 놓는다.

USE: resource 를 사용한다. GET 과 FREE 를 포함한다.

WAIT UNTIL: 정의된 조건이 만족될 때까지 대기한다.

WRITE: 파일에 출력한다.

Macros 반복되어 사용되는 간단한 processing logic 을 정의한다. Macro 이름은 실행 시 정의된 문장 또는 수식으로 대치된다.

사용방법

1. Build>Macros 를 선택한다.

2. Macro 창에서 Macro ID(이름)과 Text(문장, 수식)를 입력한다.

26

Subroutine 부함수를 정의한다. 반복되어 사용하는 함수를 정의하여 macro 와 비슷하나, 리턴 값을 줄 수 있고, 입력 argument 를 받아들일 수 있다. 변수, 배열들을 이용하여 복잡한 로직을 모델링 할 수 있는 장점을 제공한다. 일반적인 프로그래밍 언어에서의 부함수, 함수, subprogram 등과 동일한 효과를 낼 수 있는 유용한 모델링 성분이다.

사용방법

1. Build>Subroutines 를 선택한다.

2. Subroutine 창에서 ID(함수 이름)과 return type, parameters, 그리고, logic 을 입력한다.

External files 입출력 파일을 정의하여 사용할 수 있다. 모델의 입력 자료를 파일로 처리할 수 있고, 자세한 출력을 파일로 생성할 수 있다.

사용방법

1. Build>More elements>External files 를 선택한다.

2. External files 창에서 ID(모델 logic 에서 사용되는 파일 이름)과 type, 그리고, File Name(실제 파일 이름)을 입력한다.

예제 6.1 차고에 있는 Bus 는 10 분 간격으로 LOC1 으로 이동하여 승객을 싣는다. 승객을 실은 버스는 LOC2 로 이동하여 승객을 내린다. 승객을 내린 버스는 다시 차고로 들어간다.

총 20 명을 태울 수 있는 Bus 4 대가 차고에 있다.

차고에서 LOC1 로의 버스 이동시간은 1 분, LOC1 에서 LOC2 로의 이동시간은 10 분, LOC2 에서 차고로의 이동시간은 9 분이다.

승객 도착 간 시간 간격은 평균 1 분의 지수분포이다.

승객의 버스 승하차 시간은 0 분 이다.

LOC1 에 도착한 버스는 최대 5 분을 기다린다. 물론, 5 분 이내에 20 면 정원을 태우면 바로 출발한다.

24 시간 동안을 시뮬레이션하여 고객의 평균 이동시간을 구하라.

27

Location

Entity

Arrivals

Processing

예제 6.2 예제 6.1 에 부가하여 다음의 상황을 시뮬레이션하라.

28

승객 당 승차 시간은 5 초이고, 하차 시간은 2 초이다.

7 일 동안을 시뮬레이션하여 고객의 평균 이동시간을 구하라.

29

Resource Resource 는 사람, 장비 등과 같이 entity 들에 대해 일을 하는 자원을 의미한다. Location 도 같은 의미로 쓰일 수 있지만, 여러 기계를 담당하는 작업자, 작업물을 운반하는 트럭 등의 동적으로 이동하는 자원을 모델링할 때 주로 사용한다. Resource 는 Static 과 Dynamic resource 로 구분되어, 이동하는 자원은 dynamic resource 에 속한다.

Resource

사용방법

1. Build>Resource 에서 resource 를 정의한다.

2. Resource table 에서 다음 항목들을 입력한다.

• Icon: resource 를 나타내는 icon

• Name: resource 의 이름

• Units: 동일한 일을 하는 자원의 수

• DTs: Downtime 계산방법 (Clock-based, Usage-based)

• Stats resource 에 대한 통계치 계산 종류

• Specs: Path network, speed, pickup time, deposit time 을 입력

• Search: Work search, Park search 를 입력

• Logic: Path network 에서 각 노드의 입,출력시 logic 정의

• Pts: Path network 상에서 한 노드에 다수의 resource 들이 있을 수 있는 지점 정의

Path Network Dynamic resource 들이 지나가는 길을 정의한다. Passing, Nonpassing, Crane 의 3 종류가 있다. Network 는 두 인접한 노드 사이의 segment 로 구성되고, 한 segment 는 인접한 노드들 사이의 선으로 표현된다.

사용방법

1. Build>Path Network 에서 정의

30

2. Path 정의: 화면에서 선(segment)을 긋는다. 선은 두 노드를 연결한다.

3. Interface 정의: Pickup, deposit 을 위한 location 을 입력한다. 즉, path network 상의 노드와 location 을 대응시킨다.

예제 7.1 AGV(Automated-Guided Vehicle)의 path 는 circular 형태로 load station, mlling machine, turning machine, unload station 과 연결되어 있다. 작업물은 Load station 에서 생성되어 milling machine 으로 이동된다. Milling machine 에서 가공이 끝난 작업물은 turning machine 으로 이동된다. Turning machine 에서 가공이 끝난 작업물은 unload station 으로 이동되어 시스템을 떠난다. 모든 작업물의 이동은 하나의 AGV 가 담당하고 있다.

아래 그림에서 AGV path network 는 한변의 길이가 20m 인 정사각형이고, 한변의 중심에 위치한 노드들은 각 작업장 또는 기계와 인터페이스 되어 있다. AGV 는 시계 반대 방향으로 이동하고, 속도는 물건을 실었을 때나 안 실었을 때나 똑같이 20 m/min 이다. 물건을 내릴 때와 실을 때 각각 0.5 분의 시간이 요구된다. 초기에 AGV 는 노드 N1 에 위치하고 있고, 작업물의 이동을 끝내면 현재 위치에서 대기한다. AGV 가 쉬고 있는 상태에서 동시에 두개 이상의 이동 작업이 존재하면 가장 오랫동안 기다린 작업을 우선적으로 수행한다.

작업물은 10 분 간격으로 Load station 에 도착한다. Load station 에는 무한개의 작업물이 있을 수 있고, 작업물 로딩시간은 1 분이다. 밀링과 터닝 작업에 각각 3 분과 5 분이 소요된다. Unloading 작업에는 1 분이 소요된다.

TURN

MILLUnload station N1

N2

N3

AGV

LOAD station

1. Location 모델링: 4 개 location 을 모델링한다.

31

2. Path network 모델링: 4 개 segment 로 구성된 path network 를 모델링한다. Segment 는 노드와 노드를 잇는 선이다.

3. Path network 의 노드 인터페이스: 4 개 노드와 연결되어 있는 location 을 정의한다.

32

4. Resource 모델링: AGV 를 모델링한다.

5. 8 시간 동안을 실행한 결과

AGV 이용률 = 90.83%

작업물 흐름시간 = 57 분

33

Conveyor 콘베이어 모델링에 필요한 파라미터는 다음과 같다.

콘베이어 형태: Accumulating/Non accumulating

콘베이어 길이

콘베이어 속도

작업물 크기

작업물 이동 방향: Lengthwise/widthwise

Conveyor 형태는 accumulating 과 non-accumulating 으로 나뉜다. Accumulating 의 경우 맨 앞의 entity 뒤에 다른 entity 들이 줄을 서는 형태로 맨 앞의 엔터티가 다음 location 으로 이동되지 못하여 block 되면 뒤의 엔터티들이 누적된다. Non-accumulating 의 경우, 맨 앞의 entity 가 block 되면 conveyor 위의 모든 entity 들은 동시에 정지한다.

콘베이어의 최대 용량은 콘베이어 길이와 작업물 크기에 의해 계산된다. 예를 들어, 콘베이어가 10m 이고, 작업물의 길이(spacing 포함)가 1m 이면 총 10 개의 용량을 갖는다. Spacing 을 고려한 작업물의 길이는 entity 모델링의 entity graphic 창에 있는 conveyor only 항목에서 입력할 수 있다.

작업물이 콘베이어에 들어오기 위해서는 용량을 초과하지 않아야 함은 물론, 콘베이어 입력 부분에 작업물이 들어갈 공간이 확보되어야 한다. 공간이 확보되면 작업물이 일순간에 들어오고, 콘베이어 마지막에 다다르면 일순간에 다른 location 으로 이동될 수 있다. 따라서, 작업물이 콘베이어 상에서 이동하는 실제거리는 (콘베이어 길이 – 작업물 차지 길이)이다.

w

l − w

w

단순 라인 콘베이어 Accumulation 형태의 Conveyor 길이는 50m 이고, 속도는 1 분에 10m 를 움직인다. Conveyor 위를 움직이는 pallet 의 크기는 정사각형에 한 변의 길이가 1m 이다. 준비된 pallet 100 개가 모두 이동 종료되는 시점은?

50 m

10 mpm

34

Pallet 이 실제 이동한 거리는 49m 이다. 따라서, 4.9 분에 처음으로 pallet 이 콘베이어를 빠져나가고, 14.8 분에 마지막 pallet 이 콘베이어를 빠져나간다.

Merging 콘베이어 Accumulation 형태의 4 conveyor segment 가 그림과 같이 연결되어 있다. segment 1 에서 한 pallet 이 0.5 분 당 하나씩 모두 100 개 들어오고, segment 2 에서 또 다른 pallet 이 0.7 분당 하나씩 모두 100 개 들어온다. Conveyor 의 속도, pallet 의 크기는 위의 예와 같다.

30 m

30 m

10 m

Diverging 콘베이어 Accumulation 형태의 7 conveyor segment 가 그림과 같이 구성되어 있다. L_Loc1 에서 E_PalletA 가 1 분에 하나씩 생성되어 25%의 확률로 각각 E_PalletA, E_PalletB, E_PalletC, E_PaletD 로 변한다. 이들 엔터티들은 각각 L_Conv1 L_Conv2 L_Conv3 L_Conv4, L_Conv1 L_Conv5, L_Conv1 L_Conv2 L_Conv6, L_Conv1 L_Conv2 L_Conv3 L_Conv7 로 이동한다.

20 m 20 m 20 m 20 m

20 m 20 m 20 m