ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione...

24
Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta. Nel nostro caso porremo questo valore pari a 1; b. First Creation: è l’istante di tempo nel quale viene generato il primo pezzo; c. Interval: è l’intervallo di tempo tra la crezione di un pezzo e la creazione del successivo. Può essere un valore deterministico o stocastico. Nel nostro caso utilizzeremo, quale media del tempo di interarrivo, il valore 1/λ, dove λ è il valore risultante dal modello schematizzato quale rete di Jackson. d. Maximum Batches: è il numero massimo di pezzi che devono essere creati. Possiamo mettere un qualsiasi numero sufficientemente elevato (ad esempio 100). 2. Blocco ASSIGN a. Variables: è il campo nel quale vengono dichiarati dei valori relativi al pezzo (attributi) o al sistema nella sua globalità (variabili). In questa prima parte dell’esercitazione è sufficiente inserire solo una voce: la tipologia del pezzo (chiamata tipo). 3. Blocco ROUTE a. Duration: è il tempo che simula il trasporto. Naturalmente non sono presi in considerazione problemi di congestione, deadlock o altro. Inserendo un valore pari a 0 nel campo si considera l’ingresso del pezzo nel sistema nel momento stesso della sua creazione; b. Destination: ci viene chiesto dove deve essere inviato il pezzo. Per il momento, nel campo non inseriamo nulla. La sequenza di questi blocchi deve essere ripetuta per ogni tipologia di pezzi che il sistema produttivo in analisi deve produrre. Modellizzazione Stazione di Lavorazione 1. Blocco STATION. In questo blocco deve essere dichiarato l’identificatore della stazione in questione. Se si tratta di stazioni non indicizzate è necessario mettere nei due campi lo stesso numero identificatore. 2. Blocco QUEUE. È il blocco che modellizza la coda che si forma davanti ad una stazione di lavorazione. In esso possiamo indicare: a. L’identificatore della coda (coda); Ing. Pierluigi Argoneto 1

Transcript of ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione...

Page 1: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

ARENA

Modellizzazione Creazione Pezzi

1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta. Nel nostro caso porremo questo

valore pari a 1; b. First Creation: è l’istante di tempo nel quale viene generato il primo pezzo; c. Interval: è l’intervallo di tempo tra la crezione di un pezzo e la creazione del successivo.

Può essere un valore deterministico o stocastico. Nel nostro caso utilizzeremo, quale media del tempo di interarrivo, il valore 1/λ, dove λ è il valore risultante dal modello schematizzato quale rete di Jackson.

d. Maximum Batches: è il numero massimo di pezzi che devono essere creati. Possiamo mettere un qualsiasi numero sufficientemente elevato (ad esempio 100).

2. Blocco ASSIGN

a. Variables: è il campo nel quale vengono dichiarati dei valori relativi al pezzo (attributi) o al sistema nella sua globalità (variabili). In questa prima parte dell’esercitazione è sufficiente inserire solo una voce: la tipologia del pezzo (chiamata tipo).

3. Blocco ROUTE

a. Duration: è il tempo che simula il trasporto. Naturalmente non sono presi in considerazione problemi di congestione, deadlock o altro. Inserendo un valore pari a 0 nel campo si considera l’ingresso del pezzo nel sistema nel momento stesso della sua creazione;

b. Destination: ci viene chiesto dove deve essere inviato il pezzo. Per il momento, nel campo non inseriamo nulla.

La sequenza di questi blocchi deve essere ripetuta per ogni tipologia di pezzi che il sistema produttivo in analisi deve produrre.

Modellizzazione Stazione di Lavorazione

1. Blocco STATION. In questo blocco deve essere dichiarato l’identificatore della stazione in questione. Se si tratta di stazioni non indicizzate è necessario mettere nei due campi lo stesso numero identificatore.

2. Blocco QUEUE. È il blocco che modellizza la coda che si forma davanti ad una stazione di lavorazione. In esso possiamo indicare:

a. L’identificatore della coda (coda);

Ing. Pierluigi Argoneto 1

Page 2: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

b. Il numero massimo di elementi che possono essere accolti (non inserendo nulla la coda ha capacità infinita).

3. Blocco SEIZE. È un blocco nel quale viene dichiarato il tipo di risorse alle quali si vuole accedere. Se la risorsa è libera il pezzo viene accettato, altrimenti viene lasciato in coda.

a. Resources: in questo campo è possibile inserire l’identificatore della nostra Work Station (WS).

4. Blocco DELAY. È il blocco che simula la lavorazione.

a. Duration: si inserisce il tempo di lavorazione precedentemente calcolato.

5. Blocco RELEASE. Questo blocco ci permette di liberare la risorsa dopo che è stata effettuata la lavorazione.

6. Blocco ROUTE. Al pezzo viene indicata la stazione da visitare successivamente.

La schematizzazione di una generica Stazione di Lavoro, pertanto, è data da:

È opportuno sottolineare che, con questo primo rudimentale approccio, è necessario creare una sequenza di blocchi, come quella appena vista, per ogni tipologia di Stazione di Lavoro presente nel sistema produttivo in esame.

Ing. Pierluigi Argoneto 2

Page 3: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

ESEMPIO APPLICATIVO Si supponga di dover simulare tramite il software ARENA il sistema produttivo già schematizzato tramite le Reti di Jackson:

λ1

MISURA E

LAVAGGIO (4)

FRESATURA

(1)

TORNITURA

(3)

λ2

λ3 λ4 λ5

FORATURA (2)

FORATURA

I valori dei parametri λ e, quindi, dei tempi di interarrivo dei pezzi al sistema, sono riportati nella seguente tabella:

λ1 =0,050 1/λ1 =20 min

λ2 =0,100 1/λ2 =10 min

λ3 =0,067 1/λ3 =15 min

λ4 =0,037 1/λ4 =27 min

λ5 =0,055 1/λ5 =18 min

A) Modello Pallet

L’utilizzo dei blocchi necessari alla creazione dei pezzi nel modello sono stati già illustrati: è necessario solo modificare la media dei tempi di interarrivo. Il primo problema che è necessario risolvere è quello dell’inserimento, nel blocco ROUTE, delle istruzioni necessarie affinché ogni pezzo segua il proprio percorso di lavorazione nell’ordine corretto. Per farlo in modo corretto è possibile utilizzare direttamente la matrice di Routing dei pezzi:

Ing. Pierluigi Argoneto 3

Page 4: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

Pallet

(1)

Fresatura

(2)

Tornitura

(3)

Foratura

(4)

ML

(5)

Depallet

(6)

Pezzo 1 1 1 0 1 1 1

Pezzo 2 1 1 0 1 1 1

Pezzo 3 1 0 1 1 1 1

Pezzo 4 1 0 1 0 1 1

Pezzo 5 1 0 1 0 1 1

Come si vede chiaramente tutti i pezzi, per accedere al sistema, devono essere pallettizzati e, prima di uscirne, devono essere depallettizzati. Questo significa che, nella schematizzazione a blocchi, anche per altri motivi legati alla struttura del modello, queste due operazioni necessitano di una sequenza di blocchi dedicata, mentre le altre stazioni possono essere indicizzate. Per inserire la matrice di routing è necessario inserire il blocco degli Elements SEQUENCES:

Nell’ordine è sufficiente inserire prima l’identificatore della sequenza (seq) e poi le macchine che devono essere visitate. Nell’esempio, per la sequenza 1 (seq1) avremo: 1,2,4,5,6. Si ottiene:

A questo punto è sufficiente inserire, nel ROUTE immediatamente a valle dei blocchi necessari alla creazione dei pezzi, la parola chiave SEQ:

In questo modo ci siamo assicurati che i pezzi seguano esattamente il percorso necessario alle loro lavorazioni? La risposta è negativa! Al modello è stato comunicato che esistono delle sequenze differenti di lavorazione, ma non abbiamo assegnato tali sequenze ai relativi pezzi! Per farlo è sufficiente inserire, nel blocco ASSIGN di ogni tipologia di pezzo, la parola chiave NS (Number of Sequence) e il numero relativo alla sequenza da seguire. Per il pezzo 1, ad esempio, si avrà:

Ing. Pierluigi Argoneto 4

Page 5: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

In questo modo ci siamo assicurati che il pezzo segua la prima sequenza di lavorazioni. A questo punto è necessario creare le stazioni di lavorazione. Cominciamo dalla stazione di pallettizzazione. La sequenza “tipo” per una generica stazione è già stata mostrata. Si procederà pertanto ad illustrare solamente i blocchi aggiuntivi necessari. Innanzitutto è necessario aggiungere un blocco che ci permetta di prendere in considerazione il numero di pezzi che circolano nel sistema, senza distinzione di tipologia (questo significa che è una variabile). Porremo pertanto un blocco ASSIGN con la variabile WIP immediatamente a valle del blocco SEIZE: ciò significa che incrementeremo la variabile WIP solo una volta che il pezzo si è aggiudicato la risorsa PALLET. Si ottiene:

Il passo successivo è la schematizzazione delle stazioni di lavorazione indicizzate. Lo schema rimane praticamente intatto, ma prima di passare ad analizzarlo è necessario creare il vettore delle Work Station e delle code ad esse relative. Per farlo si ricorre al blocco SETS:

1. Blocco STATION. In questo blocco deve essere dichiarato l’identificatore della stazione in questione: essendo indicizzate dobbiamo inserire 2-5:

Ing. Pierluigi Argoneto 5

Page 6: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

2. Blocco QUEUE.

a. L’identificatore della coda sarà coda(m-1);

3. Blocco SEIZE. a. Resources: in questo campo è possibile inserire l’identificatore della nostra Work Station

ws(m-1):

4. Blocco DELAY. È il blocco che simula il tempo di lavorazione. a. Duration: si dovrebbe inserire il tempo di lavorazione relativo ad ogni pezzo e ad ogni

macchina. Per farlo in modo comodo è possibile utilizzare una variabile, ad esempio denominata “tlav”, che faccia riferimento direttamente alla matrice dei tempi di lavorazione. Per questo nel campo nel del blocco inseriamo:

b. Inseriamo, nel blocco SEQUENCIES, relativamente ad ogni sequenza, i tempi di servizio ricavati dalla seguente matrice:

Tempi di

Lavorazione

Pallet

(1)

min

Fresatura

(2)

min

Tornitura

(3)

min

Foratura

(4)

min

ML

(5)

min

Depallet

(6)

min

Pezzo 1 3 23 0 6 12 3

Pezzo 2 3 7 0 14 8 3

Pezzo 3 3 0 5 4 3 3

Pezzo 4 3 0 8 0 2 3

Pezzo 5 3 0 22 0 10 3

Ing. Pierluigi Argoneto 6

Page 7: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

5. Blocco RELEASE. Questo blocco ci permette di liberare la risorsa dopo che è stata effettuata la

lavorazione:

6. Blocco ROUTE. Al pezzo viene indicata la stazione da visitare successivamente con la variabile

SEQ:

Si ottiene:

È possibile ora schematizzare l’ultima stazione, quella di depallettizzazione:

L’unico blocco che non è stato ancora illustrato è il blocco DISPOSE che simula l’uscita del pezzo dal sistema. Prima di passare alla stima di alcune performance del modello è necessario, per il suo corretto funzionamento, effettuare le dichiarazioni attraverso i blocchi degli ELEMENTS.

1. Si comincia con il blocco DISCRETE che ci richiede, oltre al numero massimo di elementi del sistema, alcune informazioni necessarie all’allocazione di memoria. È sufficiente indicare 150 quale numero massimo di entità nel sistema (peraltro limite imposto dalla versione utilizzata)e un numero fittizio per gli altri campi (ad esempio 10):

2. ATTRIBUTES: è il blocco nel quale vanno dichiarati tutti gli attributi. Nel nostro caso gli

attributi utilizzati sono “tipo” e “tlav”:

3. VARIABLES: è il blocco nel quale vanno dichiarati tutte le variabili. Nel nostro caso l’unica

variabile utilizzata è “wip”:

Ing. Pierluigi Argoneto 7

Page 8: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

4. RESOURCES: è il blocco nel quale vanno dichiarate tutte le risorse con le capacità ottenute dal modello di ottimizzazione precedentemente utilizzato:

5. QUEUES: è il blocco nel quale vanno dichiarate tutte le code:

Il modello fin qui costruito ci permette di simulare il sistema produttivo, ma non ci da la possibilità di valutare nulla in termini di performances in quanto non è stato specificato quali valori esso deve stimare e comunicarci. A tal fine dobbiamo modificare alcune cose affinché l’evoluzione nel tempo del modello ci risulti più chiara e comprensibile. Tempo di attraversamento dei pezzi Si supponga di voler calcolare, quale prima performance, il tempo di attraversamento dei pezzi. Per farlo è necessario considerare un attributo (tin) che segni il tempo di ingresso del pezzo nel sistema (da inserire all’interno del blocco CREATE). Essendo dipendente dalla tipologia esso sarà da considerarsi un attributo del pezzo stesso e, quindi andrà dichiarato nel blocco ATTRIBUTES. Dobbiamo però anche modificare la sequenza di blocchi della depallettizzazione! Infatti una volta depallettizzato il pezzo esce dal sistema, quindi alla fine di questa sequenza di blocchi va calcolato il tempo di attraversamento. Lo si fa attraverso il blocco TALLY nel quale va indicato il pezzo del quale vogliamo calcolarci il tempo di attraversamento. Essendo i pezzi indicizzati basterà inserire l’attributo tipo e la parola chiave int(). All’interno delle parentesi va inserito l’attributo che segna il tempo di attraversamento del pezzo, nel nostro caso tin :

Ing. Pierluigi Argoneto 8

Page 9: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

Per calcolarci, invece, il tempo di attraversamento medio dei pezzi è necessario inserire un altro blocco TALLY, questa volta, però, non indicizzato:

I due nuovi blocchi vanno inseriti tra l’ASSIGN e il RELEASE:

Vanno ora effettuate le dichiarazioni. Per farlo si ricorre al blocco TALLIES degli Elements:

Utilizzazione code e risorse Supponiamo di volere stimare anche le utilizzazioni delle code e delle risorse del sistema in esame. Per farlo è sufficiente utilizzare, all’interno del blocco DSTATS, le parole chiave di ARENA nq per le code e nr per le risorse. Inserendo la variabile wip avremo una stima statistica anche di questa variabile:

Ing. Pierluigi Argoneto 9

Page 10: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

Dopo aver effettuato una stima statistica delle performances di interesse è necessario visualizzarle in un’apposita schermata. Lo si può fare inserendo tutte gli elementi del DSTATS (attraverso la parola chiave davg(…) ) e del TALLIES (attraverso la parola chiave tavg(…) ) nel blocco OUTPUTS:

Per indicare al modello costruito quante volte deve effettuare la simulazione è sufficiente inserire il numero desiderato nel blocco REPLICATE:

Per definire il numero di volte che deve essere effettuata una simulazione dobbiamo fare alcune considerazioni di tipo statistico. Infatti, ogni simulazione fornisce come output il valor medio della variabile calcolata durante la simulazione accompagnata dalla semi-ampiezza dell’intervallo di confidenza con cui la variabile è stata stimata. Ogni intervallo di confidenza è accompagnato dal relativo livello di significatività che rappresenta una misura del rischio di cadere in errore nello stimare il valore di una statistica. Il range di valori compresi tra il limite inferiore e quello superiore (dell’intervallo) dipende dal livello di probabilità selezionato e dalla numerosità del campione. Quindi,

Ing. Pierluigi Argoneto 10

Page 11: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione se è vero che non possiamo dire se il vero valore della variabile è contenuto all’interno dell’intervallo di confidenza che abbiamo stimato è vero però che intervalli di confidenza stretti indicano che la stima ottenuta con il campione è una stima precisa della variabile. Tutte le decisioni progettuali che devono essere prese devono essere assunte in base a risultati statisticamente significativi, ovvero ottenuti aumentando il numero di repliche al fine di ottenere un intervallo di confidenza accettabile con un livello di significatività del 95% , fornito di default da ARENA. Pertanto, indicando con n0 un numero minimo di replicazioni (pari almeno a 10) si avrà:

n = n0 (h0/h)2

dove h0 è la metà dell’intervallo di confidenza corrispondente al numero di replicazioni n0 (Halfwidth/Average) e h è 0,025. Nel nostro esempio, effettuando 10 replicazioni, si ottiene:

Supponiamo ci interessi ottenere una stima statistica solo su: WIP, Throughput, Tempo di attraversamento medio. Si calcola: nWIP = n0 (h0/h)2= 10 ((1.7385/12.606)/0.025)2=305 replicazioni nThroughput = n0 (h0/h)2= 10 ((0.78062/11.404))/0.025)2=79 replicazioni nTmedio = n0 (h0/h)2= 10 ((18.302/530.01)/0.025)2=20 replicazioni In definitiva dobbiamo effettuare 305 replicazioni per essere sicuri di avere delle stime significative per tutti e tre i parametri.

Ing. Pierluigi Argoneto 11

Page 12: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

B) Modello Pallet + Buffer

Lo scopo di questo modello è quello di calcolare il numero di buffers necessari per il sistema produttivo e posizionarli lì dove ce ne sia più bisogno. Il calcolo del numero di buffer massimo può essere dato, in prima approssimazione, dalla differenza tra il numero di pallet ottimale, precedentemente calcolato, e il numero di risorse utilizzate:

noBuffers= noPallet - noRisorse

il loro posizionamento viene effettuato proporzionalmente all’utilizzo delle code delle stazioni. Si può anche supporre che la stazione di pallettizzazione non abbia bisogno di Buffer in quanto è possibile utilizzare il deposito di grezzi come un virtuale magazzino buffer. Si comincia dal posizionamento dei blocchi che modellizzano la coda del Buffer (QUEUE) e la sua disponibilità (SEIZE). A rigor di logia un pezzo non può essere rilasciato dall’operatore pallet se non vi è disponibilità di essere accolti nella coda buffer della stazione di lavoro da visitare. Per questo motivo, i due blocchi prima esposti, sono da posizionare come segue:

Allo stesso modo, nella sequenza di blocchi della stazione indicizzata, vanno inseriti:

1. Un blocco RELEASE che lasci il Buffer libero in quanto il pezzo è entrato nella Work Station:

2. Un blocco BRUNCH che liberi la risorsa se la stazione successiva è quella di depallettizzazione

oppure lo invii nella coda buffer della stazione seguente:

3. Due blocchi QUEUE e SEIZE che modellizzano la coda e la disponibilità delle stazioni successive.

Prima di poter inserire gli opportuni indici nei campi dei due blocchi appena inseriti dobbiamo fare alcune considerazioni. Avendo stazioni indicizzate, infatti, dobbiamo creare dei vettori anche per i Buffer e le loro Code. Pertanto, nel blocco SETS dobbiamo inserire due vettori:

Ing. Pierluigi Argoneto 12

Page 13: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

Questi valori vanno dichiarati anche nei blocchi: QUEUES, RESOURCES, DSTATS,OUTPUTS:

Per indicizzare le code dei Buffer e i Buffer stessi si utilizza la parola chiave: MSQ(..,..). Il primo valore tra parentesi è l’indice NS, il secondo è l’indice IS. Questo significa che la scritta MSQ(NS,IS) indica la stazione nella quale il pezzo si trova attualmente. Pertanto è possibile indicizzare i blocchi (ricordando l’ordine degli elementi dei vettori!) come:

Ing. Pierluigi Argoneto 13

Page 14: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

C) Modello Pallet + Buffer + Navette

L’ultimo stadio evolutivo della progettazione di dettaglio è rappresentato dalla modifica del modello precedente con l’introduzione del sistema di movimentazione che è rappresentato dalle navette. I vincoli da rispettare sono:

1. utilizzazione al massimo pari a 0.8, ossia se si introducono più navette ognuna di esse deve avere un coefficiente di utilizzazione inferiore all’80%;

2. la velocità delle navette a carico e a vuoto si assume costante e, rispettivamente, pari a 60 m/min e 30 m/min.

In analogia con quanto fin qui visto per la richiesta di una risorsa (si utilizzavano i blocchi QUEUE e SEIZE) vengono utilizzati due blocchi specifici per i trasporti: QUEUE e REQUESTE.

Nel primo blocco si schematizza la coda per la navetta, nel secondo si effettua la richiesta, specificando anche la velocità (a vuoto) della stessa:

Per quanto riguarda la destinazione della navetta è sufficiente sostituire il blocco ROUTE con il blocco TRANSPORT:

Nel quale va inserita anche la velocità (a pieno) della navetta. Da un punto di vista logico la navetta va richiesta quando è libero il buffer, quindi va posizionata come segue:

Ing. Pierluigi Argoneto 14

Page 15: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

Arrivato nella generica stazione la navetta deve essere liberata tramite il blocco FREE e in uscita da essa va effettuata la richiesta della navetta per la stazione successiva:

La stazione di depallettizzazione rimane invariata nella struttura (bisogna però liberare la navetta!). A questo punto è necessario inserire le code utilizzate nel blocco di dichiarazione QUEUES:

Analogamente a prima dobbiamo, poi, prima di inserire le variabili nel blocco DSTATS e OUTPUTS, dichiarare la navetta nell’apposito blocco TRANSPORTERS:

Ing. Pierluigi Argoneto 15

Page 16: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

Come si vede chiaramente, ci viene richiesta la tipologia di percorso che la navetta deve seguire. Inserendo Distance è necessario dichiarare le distanze esistenti tra le stazioni nel blocco DISTANCES. Supponiamo, a tal proposito, di disporre le Work Station in linea e ad una distanza di 5 m lineari l’una dall’altra:

5 m 5 m WS2 WS3 WS4 5 m WS5 WS6 WS1 5 m 5 m

Nei blocchi DSTATS e OUTPUT avremo:

Ing. Pierluigi Argoneto 16

Page 17: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

- APPENDICE -

Listato SIMAN del MODEL (Pallet) 0$ CREATE, 1:expo(20),100:MARK(tin); 1$ ASSIGN: ns=1: tipo=1; 2$ ROUTE: 0.0,seq; 3$ CREATE, 1:expo(10),100:MARK(tin); 7$ ASSIGN: ns=2: tipo=2:NEXT(2$); 4$ CREATE, 1:expo(15),100:MARK(tin); 8$ ASSIGN: ns=3: tipo=3:NEXT(2$); 5$ CREATE, 1,tin:expo(27),100; 9$ ASSIGN: ns=4: tipo=4:NEXT(2$); 6$ CREATE, 1,tin:expo(18),100; 10$ ASSIGN: ns=5: tipo=5:NEXT(2$); 11$ STATION, 1-1; 12$ QUEUE, codapal; 13$ SEIZE, 1: pallet,1; 31$ QUEUE, codawspallet; 32$ SEIZE, 1: wspallet,1; 15$ ASSIGN: wip=wip+1; 14$ DELAY: 3; 33$ QUEUE, codabuffer(msq(ns,is+1)-1); 34$ SEIZE, 1: buffer(msq(ns,is+1)-1),1; 40$ QUEUE, codanavetta1; 41$ REQUEST, 1:navetta(sds),60; 30$ RELEASE: wspallet,1; 42$ TRANSPORT: navetta,seq,30; 16$ STATION, 2-5; 43$ FREE: navetta; 17$ QUEUE, coda(m-1); 18$ SEIZE, 1: ws(m-1),1; 35$ RELEASE: buffer(msq(ns,is)-1),1; 19$ DELAY: tlav; 36$ BRANCH, 1: If,msq(ns,is+1)==6,45$,Yes: Else,37$,Yes; 45$ QUEUE, codanavetta2; 46$ REQUEST, 1:navetta(sds),60; 20$ RELEASE: ws(m-1),1; 44$ TRANSPORT: navetta,seq,30; 37$ QUEUE, codabuffer(msq(ns,is+1)-1); 38$ SEIZE, 1: buffer(msq(ns,is+1)-1),1:NEXT(45$); 21$ STATION, 6-6; 22$ QUEUE, codadep; 23$ SEIZE, 1: depa,1; 47$ FREE: navetta; 24$ DELAY: 3; 25$ RELEASE: depa,1; 26$ ASSIGN: wip=wip-1; 28$ TALLY: tipo,int(tin),1; 29$ TALLY: 6,int(tin),1; 39$ RELEASE: pallet,1; 27$ DISPOSE;

Ing. Pierluigi Argoneto 17

Page 18: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

Listato SIMAN dell’EXPERIMENT (Pallet) DISCRETE, 150,10,10,10,10; ATTRIBUTES: 1,tipo: 2,tlav: 3,tin; VARIABLES: 1,wip; QUEUES: 1,codawspallet,FirstInFirstOut: 2,codapal,FirstInFirstOut: 3,codafres,FirstInFirstOut: 4,codator,FirstInFirstOut: 5,codafora,FirstInFirstOut: 6,codamel,FirstInFirstOut: 7,codadep,FirstInFirstOut; RESOURCES: 1,pallet,Capacity(30,),-,Stationary: 2,wspallet,Capacity(1,),-,Stationary: 3,fresatrice,Capacity(2,),-,Stationary: 4,tornio,Capacity(3,),-,Stationary: 5,foratrice,Capacity(2,),-,Stationary: 6,mel,Capacity(2,),-,Stationary: 7,depa,Capacity(1,),-,Stationary; SEQUENCES: 1,seq1,1&2,tlav=23&4,tlav=6&5,tlav=12&6: 2,seq2,1&2,tlav=7&4,tlav=14&5,tlav=8&6: 3,seq3,1&3,tlav=5&4,tlav=4&5,tlav=3&6: 4,seq4,1&3,tlav=8&5,tlav=2&6: 5,seq5,1&3,tlav=22&5,tlav=10&6; TALLIES: 1,tattr_pezzo1: 2,tattr_pezzo2: 3,tattr_pezzo3: 4,tattr_pezzo4: 5,tattr_pezzo5: 6,tattr_medio; DSTATS: 1,nr(1),ut_pallet: 2,nr(2),ut_wspallet: 3,nr(3),ut_fresatrice:

4,nr(4),ut_tornio: 5,nr(5),ut_foratrice: 6,nr(6),ut_mel: 7,nr(7),ut_depa: 8,nq(1),ut_codawspallet: 9,nq(2),ut_codapal: 10,nq(3),ut_codafres: 11,nq(4),ut_codator: 12,nq(5),ut_codafora: 13,nq(6),ut_codamel: 14,nq(7),ut_codadep: 15,wip,Work In Process; OUTPUTS: 1,davg(1),,ut_pallet: 2,davg(2),,ut_wspallet: 3,davg(3),,ut_fresatrice: 4,davg(4),,ut_tornio: 5,davg(5),,ut_foratrice: 6,davg(6),,ut_mel: 7,davg(7),,ut_depa: 8,davg(8),,ut_codawspallet: 9,davg(9),,ut_codapal: 10,davg(10),,ut_codafres: 11,davg(11),,ut_codator: 12,davg(12),,ut_codafora: 13,davg(13),,ut_codamel: 14,davg(14),,ut_codadep: 15,davg(15),,WIP: 16,tavg(1),,temp_pz1: 17,tavg(2),,temp_pz2: 18,tavg(3),,temp_pz3: 19,tavg(4),,temp_pz4: 20,tavg(5),,temp_pz5: 21,tavg(6),,temp_medio: 22,(tnum(6)/tnow)*60,,throughput; REPLICATE, 10,0.0,,Yes,Yes,0.0; SETS: 1,ws,fresatrice,tornio,foratrice,mel: 2,coda,codafres,codator,codafora,codamel;

Ing. Pierluigi Argoneto 18

Page 19: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

Listato SIMAN del MODEL (Pallet + Buffer) 0$ CREATE, 1:expo(20),100:MARK(tin); 1$ ASSIGN: ns=1: tipo=1; 2$ ROUTE: 0.0,seq; 3$ CREATE, 1:expo(10),100:MARK(tin); 7$ ASSIGN: ns=2: tipo=2:NEXT(2$); 4$ CREATE, 1:expo(15),100:MARK(tin); 8$ ASSIGN: ns=3: tipo=3:NEXT(2$); 5$ CREATE, 1,tin:expo(27),100; 9$ ASSIGN: ns=4: tipo=4:NEXT(2$); 6$ CREATE, 1,tin:expo(18),100; 10$ ASSIGN: ns=5: tipo=5:NEXT(2$); 11$ STATION, 1-1; 12$ QUEUE, codapal; 13$ SEIZE, 1: pallet,1; 33$ QUEUE, codawspallet; 34$ SEIZE, 1: wspallet,1; 15$ ASSIGN: wip=wip+1; 14$ DELAY: 3; 35$ QUEUE, codabuffer(msq(ns,is+1)-1); 36$ SEIZE, 1: buffer(msq(ns,is+1)-1),1; 32$ RELEASE: wspallet,1; 16$ ROUTE: 0.0,seq; 17$ STATION, 2-5; 18$ QUEUE, coda(m-1); 19$ SEIZE, 1: ws(m-1),1; 37$ RELEASE: buffer(msq(ns,is)-1),1; 20$ DELAY: tlav; 38$ BRANCH, 1: If,msq(ns,is+1)==6,21$,Yes: Else,39$,Yes; 21$ RELEASE: ws(m-1),1; 22$ ROUTE: 0.0,seq; 39$ QUEUE, codabuffer(msq(ns,is+1)-1); 40$ SEIZE, 1: buffer(msq(ns,is+1)-1),1:NEXT(21$); 23$ STATION, 6-6; 24$ QUEUE, codadep; 25$ SEIZE, 1: depa,1; 26$ DELAY: 3; 27$ RELEASE: depa,1; 28$ ASSIGN: wip=wip-1; 30$ TALLY: tipo,int(tin),1; 31$ TALLY: 6,int(tin),1; 41$ RELEASE: pallet,1; 29$ DISPOSE;

Ing. Pierluigi Argoneto 19

Page 20: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

Listato SIMAN dell’EXPERIMENT (Pallet + Buffer) DISCRETE, 150,10,10,10,10; ATTRIBUTES: 1,tipo: 2,tlav: 3,tin; VARIABLES: 1,wip; QUEUES: 1,codawspallet,FirstInFirstOut: 2,codapal,FirstInFirstOut: 3,codafres,FirstInFirstOut: 4,codator,FirstInFirstOut: 5,codafora,FirstInFirstOut: 6,codamel,FirstInFirstOut: 7,codadep,FirstInFirstOut: 8,coda_buffer_fresatrice,FirstInFirstOut: 9,coda_buffer_tornio,FirstInFirstOut: 10,coda_buffer_foratrice,FirstInFirstOut: 11,coda_buffer_mel,FirstInFirstOut; RESOURCES: 1,pallet,Capacity(30,),-,Stationary: 2,wspallet,Capacity(1,),-,Stationary: 3,fresatrice,Capacity(2,),-,Stationary: 4,tornio,Capacity(3,),-,Stationary: 5,foratrice,Capacity(2,),-,Stationary: 6,mel,Capacity(2,),-,Stationary: 7,depa,Capacity(1,),-,Stationary: 8,buffer_fresatrice,Capacity(1,),-,Stationary: 9,buffer_tornio,Capacity(1,),-,Stationary: 10,buffer_foratrice,Capacity(1,),-,Stationary: 11,buffer_mel,Capacity(1,),-,Stationary; SEQUENCES: 1,seq1,1&2,tlav=23&4,tlav=6&5,tlav=12&6: 2,seq2,1&2,tlav=7&4,tlav=14&5,tlav=8&6: 3,seq3,1&3,tlav=5&4,tlav=4&5,tlav=3&6: 4,seq4,1&3,tlav=8&5,tlav=2&6: 5,seq5,1&3,tlav=22&5,tlav=10&6; TALLIES: 1,tattr_pezzo1: 2,tattr_pezzo2: 3,tattr_pezzo3: 4,tattr_pezzo4: 5,tattr_pezzo5: 6,tattr_medio; DSTATS: 1,nr(1),ut_pallet: 2,nr(2),ut_wspallet: 3,nr(3),ut_fresatrice: 4,nr(4),ut_tornio: 5,nr(5),ut_foratrice: 6,nr(6),ut_mel: 7,nr(7),ut_depa: 8,nr(8),ut_buffer_fresatrice: 9,nr(9),ut_buffer_tornio: 10,nr(10),ut_buffer_foratrice: 11,nr(11),ut_buffer_mel: 12,nq(1),ut_codawspallet: 13,nq(2),ut_codapal: 14,nq(3),ut_codafres: 15,nq(4),ut_codator: 16,nq(5),ut_codafora: 17,nq(6),ut_codamel: 18,nq(7),ut_codadep: 19,nq(8),codabuffer_fresatrice: 20,nq(9),codabuffer_tornio: 21,nq(10),codabuffer_foratrice: 22,nq(11),codabuffer_mel:

23,wip,Work In Process; OUTPUTS: 1,davg(1),,ut_pallet: 2,davg(2),,ut_wspallet: 3,davg(3),,ut_fresatrice: 4,davg(4),,ut_tornio: 5,davg(5),,ut_foratrice: 6,davg(6),,ut_mel:

Ing. Pierluigi Argoneto 20

Page 21: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione 7,davg(7),,ut_depa: 8,davg(8),,ut_buffer_fresatrice: 9,davg(9),,ut_buffer_tornio: 10,davg(10),,ut_buffer_foratrice: 11,davg(11),,ut_buffer_mel: 12,davg(12),,ut_codawspallet: 13,davg(13),,ut_codapal: 14,davg(14),,ut_codafres: 15,davg(15),,ut_codator: 16,davg(16),,ut_codafora: 17,davg(17),,ut_codamel: 18,davg(18),,ut_codadep: 19,davg(19),,ut_coda_buffer_fresatrice: 20,davg(20),,ut_coda_buffer_tornio: 21,davg(21),,ut_coda_buffer_foratrice: 22,davg(22),,ut_coda_buffer_mel: 23,davg(23),,WIP: 24,tavg(1),,temp_pz1: 25,tavg(2),,temp_pz2: 26,tavg(3),,temp_pz3: 27,tavg(4),,temp_pz4: 28,tavg(5),,temp_pz5: 29,tavg(6),,temp_medio: 30,(tnum(6)/tnow)*60,,throughput; REPLICATE, 1,0.0,490,Yes,Yes,0.0; SETS: 1,ws,fresatrice,tornio,foratrice,mel: 2,coda,codafres,codator,codafora,codamel: 3,buffer,buffer_fresatrice,buffer_tornio,buffer_foratrice,buffer_mel: 4,codabuffer,coda_buffer_fresatrice,coda_buffer_tornio,coda_buffer_foratrice,coda_buffer_mel;

Ing. Pierluigi Argoneto 21

Page 22: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione

Listato SIMAN del MODEL (Pallet + Buffer + Navette)

0$ CREATE, 1:expo(20),100:MARK(tin); 1$ ASSIGN: ns=1: tipo=1; 2$ ROUTE: 0.0,seq; 3$ CREATE, 1:expo(10),100:MARK(tin); 7$ ASSIGN: ns=2: tipo=2:NEXT(2$); 4$ CREATE, 1:expo(15),100:MARK(tin); 8$ ASSIGN: ns=3: tipo=3:NEXT(2$); 5$ CREATE, 1,tin:expo(27),100; 9$ ASSIGN: ns=4: tipo=4:NEXT(2$); 6$ CREATE, 1,tin:expo(18),100; 10$ ASSIGN: ns=5: tipo=5:NEXT(2$); 11$ STATION, 1-1; 12$ QUEUE, codapal; 13$ SEIZE, 1: pallet,1; 31$ QUEUE, codawspallet; 32$ SEIZE, 1: wspallet,1; 15$ ASSIGN: wip=wip+1; 14$ DELAY: 3; 33$ QUEUE, codabuffer(msq(ns,is+1)-1); 34$ SEIZE, 1: buffer(msq(ns,is+1)-1),1; 40$ QUEUE, codanavetta1; 41$ REQUEST, 1:navetta(sds),60; 30$ RELEASE: wspallet,1; 42$ TRANSPORT: navetta,seq,30; 16$ STATION, 2-5; 43$ FREE: navetta; 17$ QUEUE, coda(m-1); 18$ SEIZE, 1: ws(m-1),1; 35$ RELEASE: buffer(msq(ns,is)-1),1; 19$ DELAY: tlav; 36$ BRANCH, 1: If,msq(ns,is+1)==6,45$,Yes: Else,37$,Yes; 45$ QUEUE, codanavetta2; 46$ REQUEST, 1:navetta(sds),60; 20$ RELEASE: ws(m-1),1; 44$ TRANSPORT: navetta,seq,30; 37$ QUEUE, codabuffer(msq(ns,is+1)-1); 38$ SEIZE, 1: buffer(msq(ns,is+1)-1),1:NEXT(45$); 21$ STATION, 6-6; 22$ QUEUE, codadep; 23$ SEIZE, 1: depa,1; 47$ FREE: navetta; 24$ DELAY: 3; 25$ RELEASE: depa,1; 26$ ASSIGN: wip=wip-1; 28$ TALLY: tipo,int(tin),1; 29$ TALLY: 6,int(tin),1;

Ing. Pierluigi Argoneto 22

Page 23: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione 39$ RELEASE: pallet,1; 27$ DISPOSE;

Listato SIMAN dell’EXPERIMENT (Pallet + Buffer + Navette)

DISCRETE, 150,10,10,10,10; ATTRIBUTES: 1,tipo: 2,tlav: 3,tin; VARIABLES: 1,wip; QUEUES: 1,codawspallet,FirstInFirstOut: 2,codapal,FirstInFirstOut: 3,codafres,FirstInFirstOut: 4,codator,FirstInFirstOut: 5,codafora,FirstInFirstOut: 6,codamel,FirstInFirstOut: 7,codadep,FirstInFirstOut: 8,coda_buffer_fresatrice,FirstInFirstOut: 9,coda_buffer_tornio,FirstInFirstOut: 10,coda_buffer_foratrice,FirstInFirstOut: 11,coda_buffer_mel,FirstInFirstOut: 12,codanavetta1,FirstInFirstOut: 13,codanavetta2,FirstInFirstOut; RESOURCES: 1,pallet,Capacity(30,),-,Stationary: 2,wspallet,Capacity(1,),-,Stationary: 3,fresatrice,Capacity(2,),-,Stationary: 4,tornio,Capacity(3,),-,Stationary: 5,foratrice,Capacity(2,),-,Stationary: 6,mel,Capacity(2,),-,Stationary: 7,depa,Capacity(1,),-,Stationary: 8,buffer_fresatrice,Capacity(1,),-,Stationary: 9,buffer_tornio,Capacity(1,),-,Stationary: 10,buffer_foratrice,Capacity(1,),-,Stationary: 11,buffer_mel,Capacity(1,),-,Stationary; DISTANCES: distanza,1-2-5,1-3-10,1-4-15,1-5-20,1-6-25,2-3-5,2-4-10,2-5-15,2-6-20,3-4-5,3-5-10,3-6-15,4-5-5,4-6-10,5-6-5; TRANSPORTERS: 1,navetta,1,Distance(distanza),60; SEQUENCES: 1,seq1,1&2,tlav=23&4,tlav=6&5,tlav=12&6: 2,seq2,1&2,tlav=7&4,tlav=14&5,tlav=8&6: 3,seq3,1&3,tlav=5&4,tlav=4&5,tlav=3&6: 4,seq4,1&3,tlav=8&5,tlav=2&6: 5,seq5,1&3,tlav=22&5,tlav=10&6; TALLIES: 1,tattr_pezzo1: 2,tattr_pezzo2: 3,tattr_pezzo3: 4,tattr_pezzo4: 5,tattr_pezzo5: 6,tattr_medio; DSTATS: 1,nr(1),ut_pallet: 2,nr(2),ut_wspallet: 3,nr(3),ut_fresatrice: 4,nr(4),ut_tornio: 5,nr(5),ut_foratrice: 6,nr(6),ut_mel: 7,nr(7),ut_depa: 8,nr(8),ut_buffer_fresatrice: 9,nr(9),ut_buffer_tornio: 10,nr(10),ut_buffer_foratrice: 11,nr(11),ut_buffer_mel: 12,nq(1),ut_codawspallet: 13,nq(2),ut_codapal: 14,nq(3),ut_codafres: 15,nq(4),ut_codator: 16,nq(5),ut_codafora: 17,nq(6),ut_codamel: 18,nq(7),ut_codadep: 19,nq(8),codabuffer_fresatrice: 20,nq(9),codabuffer_tornio:

Ing. Pierluigi Argoneto 23

Page 24: ARENA - old · Esercitazioni di Sistemi Integrati di Produzione ARENA Modellizzazione Creazione Pezzi 1. Blocco CREATE a. Batch Size: ci dice quanti pezzi entrano alla volta.

Esercitazioni di Sistemi Integrati di Produzione 21,nq(10),codabuffer_foratrice: 22,nq(11),codabuffer_mel: 23,nq(12),ut_coda_navetta1: 24,nq(13),ut_coda_navetta2: 25,nt(1),ut_navetta: 26,wip,Work In Process; OUTPUTS: 1,davg(1),,ut_pallet: 2,davg(2),,ut_wspallet: 3,davg(3),,ut_fresatrice: 4,davg(4),,ut_tornio: 5,davg(5),,ut_foratrice: 6,davg(6),,ut_mel: 7,davg(7),,ut_depa: 8,davg(8),,ut_buffer_fresatrice: 9,davg(9),,ut_buffer_tornio: 10,davg(10),,ut_buffer_foratrice: 11,davg(11),,ut_buffer_mel: 12,davg(12),,ut_codawspallet: 13,davg(13),,ut_codapal: 14,davg(14),,ut_codafres: 15,davg(15),,ut_codator: 16,davg(16),,ut_codafora: 17,davg(17),,ut_codamel: 18,davg(18),,ut_codadep: 19,davg(19),,ut_coda_buffer_fresatrice: 20,davg(20),,ut_coda_buffer_tornio: 21,davg(21),,ut_coda_buffer_foratrice: 22,davg(22),,ut_coda_buffer_mel: 23,davg(23),,ut_codanavetta1: 24,davg(24),,ut_codanavetta2: 25,davg(25),,ut_navetta: 26,davg(26),,WIP: 27,tavg(1),,temp_pz1: 28,tavg(2),,temp_pz2: 29,tavg(3),,temp_pz3: 30,tavg(4),,temp_pz4: 31,tavg(5),,temp_pz5: 32,tavg(6),,temp_medio: 33,(tnum(6)/tnow)*60,,throughput; REPLICATE, 10,0.0,,Yes,Yes,0.0; SETS: 1,ws,fresatrice,tornio,foratrice,mel: 2,coda,codafres,codator,codafora,codamel: 3,buffer,buffer_fresatrice,buffer_tornio,buffer_foratrice,buffer_mel: 4,codabuffer,coda_buffer_fresatrice,coda_buffer_tornio,coda_buffer_foratrice,coda_buffer_mel;

Ing. Pierluigi Argoneto 24