Sei sulla pagina 1di 24

INTRODUZIONE AD ARENA

IMPIANTI INDUSTRIALI
A.A. 2020/2021
IL SOFTWARE ARENA

Arena Simulation è uno dei più diffusi e potenti strumenti per la simulazione di sistemi di natura discreta; esso è
distribuito dalla Rockwell Software in differenti versioni in grado di soddisfare ogni esigenza.

Percentuali di mercato dei prodotti di


simulazione ad eventi discreti (DES) nel
2006. Arena Simulation è leader nel
mercato degli applicativi per la
simulazione event-driven
La maggior parte dei modelli realizzati con questo software è di
tipo discreto, anche se è prevista la possibilità di effettuare
simulazioni di sistemi continui. Arena è inoltre in grado di
lavorare sia con modelli deterministici che stocastici; in
particolare, per facilitare lo studio dei dati in ingresso e in
uscita, il software è corredato di diversi programmi.

Arena include nello stesso ambiente di lavoro strumenti di


animazione dinamica del modello. Tale animazione si divide in
due macro tipologie:
• grafici che consentono di vedere la variazione delle
grandezze d’interesse durante la simulazione (funzioni: plot,
histogram, level, variable, date, clock);
• rappresentazioni reali del sistema che si sta modellando.
Arena combina la facilità d’uso dei simulatori di alto livello (high-level simulators) con la flessibilità dei linguaggi
di simulazione (simulation languages) e general-purpose, come Visual Basic e C/C++. Ciò è possibile grazie
all’uso simultaneo di templates dedicati al graphical simulation modeling e di moduli di analisi, che si possono
combinare per costruire un’ampia gamma di modelli. Per una maggiore chiarezza espositiva e organizzativa, i
moduli sono raggruppati in pannelli (panels) che compongono un template. Passando da un pannello all’altro si
può accedere a differenti tipologie di costrutti, ognuno dei quali è caratterizzato da differenti capacità e
funzionalità.

L’elevata flessibilità del programma è una conseguenza diretta della struttura gerarchica di tale strumento.
L’utente può accedere ai moduli di basso livello dai pannelli Blocks ed Elements per sfruttare la flessibilità del
simulation-language, ottenendo così un mix tra costrutti SIMAN e moduli di alto livello.
BASI DEL LINGUAGGIO SIMAN / ARENA

– ENTITA’: oggetti che fluiscono attraverso il sistema, come


clienti, pezzi, parti, veicoli, etc. oppure informazioni, elementi
logici, etc.
– CODE: aree di attesa dove il movimento delle entità è
temporaneamente sospeso.
– RISORSE: componenti del sistema che devono essere allocate
alle entità, come macchine, operatori, centralini, etc.
– ATTRIBUTI: rappresentano dei valori associati alle singole
entità, come il tipo di lavorazione, il tempo di arrivo, etc.
– VARIABILI: rappresentano valori che descrivono lo stato del
sistema o del processo, come il numero di macchine disponibili,
il numero di setup, etc.
COME SI PRESENTA
Le Toolbars contengono diverse operazioni con le quali l’utente può lavorare sul modello; alcune di queste sono
eseguibili anche dal Menu Bar, mentre le altre sono accessibili esclusivamente da queste barre.

Nella Status Bar vengono visualizzate le coordinate (x,y) del cursore, tempo e numero di replicazioni durante la
simulazione.

Nella Project Bar si trovano vari pannelli, alcuni dei quali contengono i moduli per la realizzazione del modello,
altri sono invece di ausilio per altre operazioni. I principali panels sono:
• Basic Process, contiene i moduli più semplici ed i più utilizzati;
• Advanced Process, contiene moduli da utilizzare in modelli più complessi;
• Advanced Transfer, contiene i moduli per la simulazione delle movimentazioni;
• Navigate, consente di navigare attraverso diverse viste e nei vari submodels;
• Reports, contiene tutte le categorie dei risultati della simulazione.
La Model Window (finestra modello) è separata in due parti:
• Flowchart view, dove vengono inseriti i moduli che formano il modello e le varie componenti dell’animazione;
• Spreadsheet view, dove vengono visualizzati i dati del modello.

Entrambe le visualizzazioni sono parti attive nella realizzazione del modello in termini di compilazione e modifica dei
moduli. Le due viste sono suddivise da una barra orizzontale regolabile a seconda delle esigenze; in alcuni casi può essere
utile mantenere solo una delle due model window attraverso il comando Split Screen nel menu View.
I MODULI

I moduli sono dei blocchi basilari per la costruzione di un modello di simulazione.


Due sono le tipologie:
• Flowchart modules , descrivono il sistema dinamicamente e rappresentano
nodi e stadi attraverso cui le entità fluiscono. Per aggiungere un modulo
flowchart occorre trascinarlo dalla Project Bar nella finestra modello.
• Data modules , descrivono la parte statica del sistema, settando valori e
condizioni per l’intero modello (non sono interessati da flussi di entità nè da
connessioni). Per selezionare un modulo data occorre cliccare sulla Project Bar e
modificare il modulo nella vista spreadsheet della finestra modello.
I vari moduli flowchart e data sono relazionati dai nomi degli oggetti, quali code,
risorse, tipologie di entità, variabili, etc.; ne deriva che tutti i nomi dei moduli e
degli oggetti nel modello devono essere univoci.
BASIC PROCESS: CREATE
È il modulo da cui vengono generate le entità; se in un modello sono presenti più di un modulo Create, essi devono
avere nomi differenti.

• Name: nome del modulo che deve essere univoco;


• Entity Type: tipo di entità che si vuole generare;
• Time Between Arrivals area: specifica la natura dei tempi che
separano due arrivi successivi, necessita la compilazione del
campo Type, Value e Units;
• Entities per Arrival: specifica il numero di entità generate in ogni
arrivo, che può essere costante o variabile in funzione di una
espressione;
• Max Arrivals: blocca la creazione di entità dopo aver raggiunto
tale quantitativo;
• First Creation: istante di tempo della prima creazione.
BASIC PROCESS: DISPOSE

Rappresenta il punto di uscita delle entità dal sistema.


• Name: nome univoco del modulo;
• Record Entity Statistics: se selezionato colleziona
automaticamente il tempo medio e massimo nel sistema,
delle entità che escono dal modulo.
BASIC PROCESS: DECIDE
Questo modulo consente l’instradamento logico di
un’entità; la decisione è basata su una probabilità o una
condizione.
• Name: identificativo del modulo;
• Type: la tipologia di decisione che può essere una
probabilità o una condizione; in quest’ultimo caso essa
è basata sul valore di un attributo, di una variabile, di
una espressione o sul tipo di entità.
BASIC PROCESS: BATCH
Il Batch module raggruppa più entità generandone una
nuova.
• Name: identificativo del modulo;
• Type: il tipo di raggruppamento che può essere
temporaneo o permanente;
• Batch Size: dimensione del lotto da raggruppare;
• Save Criterion: criterio per assegnare il valore
all’attributo rappresentante la nuova entità (First, Last,
Sum, Product);
• Rule: definisce la regola di batching (raggruppamento),
che può essere any entity o by Attribute.
BASIC PROCESS: SEPARATE
Il Batch module raggruppa più entità generandone una
nuova.
• Name: identificativo univoco del modulo;
• Type: definisce il tipo di separazione, che può essere
Duplicate Original o Split Existing Batch.
Nel caso di duplicazione di una entità, i successivi campi
da compilare sono:
• Percent Cost to Duplicates: allocazione dei tempi e
costi dell’entità entrante nei duplicati uscenti;
• # of Duplicates: definisce il numero di duplicati.
BASIC PROCESS: ASSIGN
Questo modulo consente di assegnare nuovi valori a variabili,
attributi, variabili di sistema, etc.
• Name: identificativo univoco del modulo;
• Assignments: specifica l’assegnamento da effettuare ogni
volta che un’entità attraversa il modulo, che può essere:
• Variable, bisogna specificare il nome della variabile e il
nuovo valore;
• Attribute, specificare il nome dell’attributo e il valore
dell’assegnazione;
• Entity Type, inserire il nome della nuova tipologia di entità;
• Entity Picture, inserire l’identificativo della nuova picture;
• Other, utilizzato per modificare le variabili di sistema.
QUEUE MODULE

Tale modulo specifica ogni caratteristica delle code presenti nel modello; se non
viene inserito un nome in altri moduli, la coda assume l’identificativo di default
Queue 1.

 Name: nome univoco della coda;


 Type: disciplina di attesa, che può essere:
 First In First Out;
 Last In First Out;
 Lowest Attribute Value;
 Highest Attribute Value.
 Attribute Name: se la disciplina d’attesa è del tipo Lowest Attribue Value o
Highest Attribute Value, l’ordinamento viene fatto rispetto a questo attributo;
 Shared: indica se la coda è condivisa da più risorse.
HOLD MODULE
L’Hold module ha una funzionalità molto simile al blocco precedente, con la differenza che l’entità trattenuta in
coda verrà rilasciata a seguito di determinate condizioni e non dopo un tempo prefissato dall’utente.

 Name: nome del modulo;


 Type: tipologia di condizione che determina l’uscita dell’entità dalla coda:
 Wait for Signal, l’uscita è dettata da un segnale che viene inviato da un altro
modulo (Signal). In questo caso bisogna definire il valore del segnale (Wait for
Value) e il numero di entità liberate alla ricezione (Limit); se quest’ultimo campo
non viene compilato, per default vengono liberate tutte le entità presenti in coda;
 Scan for Condition, l’entità esce dal modulo qualora sia verificata una condizione
inserita nel campo Condition;
 Infinite Hold, le entità vengono trattenute all’infinito, a meno che non venga inserito
un modulo Remove, che consente di liberarle.
 Queue Name: nome della coda.
 Queue Type: definisce la tipologia di coda in cui vengono accumulate le entità; ci
sono diverse alternative (Queue, Set, Attribute ed Expression), ma la più utilizzata
e funzionale è Queue.
VARIABLE MODULE

È utilizzato per definire le variabili del modello e il loro valore iniziale; esse sono
generalmente utilizzate in altri moduli (come il Decide) o in delle espressioni e
possono essere resettate all’interno del modello stesso tramite un Assign.

 Name: nome univoco della variabile;


 Rows e Columns: numero di righe e colonne, qualora la variabile sia un
vettore o una matrice;
 Clear Option: le variabili sono inizializzate ogni volta che:
 lo sono le statistiche (Statistics);
 lo è il sistema (System);
 mai (None).
 Initial Values: valori iniziali.
DELAY MODULE
Questo modulo trattiene l’entità al suo ingresso per un tempo imposto dall’utente; il suo utilizzo è
necessario quando si vuole modellare un qualsiasi tipo di ritardo legato ad un trasferimento o all’attesa
di una risorsa.

 Name: nome univoco del modulo;


 Allocation: indica in quale categoria saranno allocati i tempi e costi di tale “ritardo”;
 Delay Time: il tempo di permanenza dell’entità nel modulo;
 Units: l’unità di misura del tempo sopra definito.
STATION MODULE

Rappresenta una stazione, ovvero un luogo sia fisico che logico dove vengono effettuate delle operazioni; è
necessario come punto di partenza e di arrivo nella definizione di un trasferimento.

 Name: nome univoco della stazione;


 Station Type: tipologia di stazione, che può essere singola
(Station) o un insieme (Set). Nel primo caso è sufficiente
aggiungere il nome della stazione (Station Name), mentre nel
secondo si deve compilare:
 Set Name: il nome dell’insieme di stazione;
 Save Attribute, specifica l’attributo dell’entità usato
come indice per accedere alla giusta stazione;
 Station Set Memebers: l’elenco delle varie stazioni
appartenenti all’insieme.
UN ESEMPIO: UNA LINEA DI ASSEMBLAGGIO
IL MODELLO LOGICO
IDENTIFICATIVO DELLA STAZIONE
PER L’ANIMAZIONE

IDENTIFICATIVO DELLA STAZIONE


NEL MODELLO LOGICO