Reti di Petri:
Reti di Petri:
sviluppo di un toolbox di sviluppo di un toolbox di simulazione, controllo ed simulazione, controllo ed
analisi a macromoduli analisi a macromoduli
Reti di Petri:
Reti di Petri:
sviluppo di un toolbox di sviluppo di un toolbox di simulazione, controllo ed simulazione, controllo ed
analisi a macromoduli analisi a macromoduli
Candidato Candidato : :
Giuseppe Circhetta Giuseppe Circhetta Relatori
Relatori : :
Chiar.mo Prof. Aldo BalestrinoChiar.mo Prof. Aldo Balestrino Chiar.mo Prof. Andrea Caiti Chiar.mo Prof. Andrea Caiti
Le reti di Petri sono un potente strumento per formalizzare la
descrizione di sistemi. I punti di forza sono dati dalle caratteristiche di astrazione e generalità che permettono la modellistica di molti
problemi quali:
• protocolli di comunicazione
• sistemi fault-tolerant
• architetture multiprocessori
• data flow
• sistemi di controllo
• catene di montaggio
• macchine a stati
• altre attività nelle industrie
A cosa servono A cosa servono
Una rete di Petri è un grafo orientato bipartito, l’insieme dei suoi nodi può essere diviso in due sottoinsiemi e gli archi sono sempre diretti dai nodi di un sottoinsieme ai nodi dell’altro.
I nodi possono essere di due tipi:
Posti o tappe (“places”)
Transizioni (“transitions”)
Gli archi uniscono posti a transizioni o transizioni a posti:
In questo caso il posto è detto di ingresso
dato che è in
entrata alla transizione
Invece in questo caso il
posto è detto di uscita
Come sono fatte Come sono fatte
Ad ogni posto può essere associato un numero intero di marche o
“token” rappresentato da uno o più pallini.
Per fare questo viene introdotta una funzione marcatura M della rete e si dice che il “place” p è marcato con M(p) o che contiene M(p) “token”.
Al place può essere associata una capacità indicante il numero di “token”
che può contenere. Inoltre ad un arco può essere associato un peso che stabilisce il numero di token che devono essere prelevati per attivare la transizione. Ad esempio:
2
Solo se ci sono almeno due token viene
attivata questa strada Solo se c’è almeno un
token viene attivata questa strada
(un peso unitario non viene indicato)
Regola di scatto Regola di scatto
•P è l’insieme degli m posti
•T è l’insieme delle n transizioni
•Pre è la funzione di pre-incidenza
•Post è funzione di post-incidenza
Una rete può essere rappresentata da due insiemi e da due funzioni:
N = (P, T, Pre, Post) dove:
Definizione formale Definizione formale
Matrice di incidenza
p p p
1, , ,
2 t t t
1, ,
32 P x T
3 p
mt
n
C
Post
Pre
Una transizione t è abilitata dalla marcatura M se e solo se:
Abilitazione Abilitazione
Insieme dei posti in ingresso alla
transizione
2
M p Pre p t ( ) ( , ), p t
Effetti dello scatto Effetti dello scatto
2
3
Per ogni transizione
abilitata Nuova
marcatura [0 0 3]’
Marcatura iniziale [1 2 0]’
0 0 3
1 2 0
1 ( ) 0 ( ) ( , ) ( , ),
M p M p Post p t Pre p t p t
Esiste la possibilità di inibire una transizione dall’esterno:
Arco inibitore
la transizione non scatta se il posto a monte dell’arco inibitore ha un token (o quanti ne indica il peso dell’arco ). Si parla in questo caso di reti di Petri estese.
E’ stato dimostrato che le reti di Petri estese hanno capacità espressiva pari alla macchina di Turing.
Archi inibitori Archi inibitori
Per descrivere tutte le possibili marcature che possono essere ottenute mediante una sequenza di scatti, a partire da una marcatura iniziale, bisogna definire l’insieme di raggiungibilità e l’albero di raggiungibilità.
Prima di definire l’insieme di raggiungibilità è opportuno dare il concetto di raggiungibilità in un passo: data una rete marcata e due
marcature M e M’, si dice che M’ è raggiungibile in passo da M, se esiste una transizione t che scattando da come risultato la marcatura M’.
Insieme di raggiungibilità
L’insieme di raggiungibiltà Rn(M) di una rete marcata è il più piccolo insieme di marcature tale che se M’ è raggiungibile in un passo da M e se M’’ è raggiungibile in un passo da M’ , allora anche M’’ appartiene a tale insieme.
Raggiungibilità Raggiungibilità
Proprietà analitiche Proprietà analitiche
Le proprietà analitiche sono di due tipi:
1. Comportamentali;
2. Strutturali;
Dipendono dalla marcatura iniziale Dipendono solo dalla
struttura della rete
Entrambi i tipi sono importanti per lo studio ed il progetto di un sistema modellato con una rete di Petri ma richiedono un certo sforzo computazionale.
Un esempio di Un esempio di
modellazione con RP modellazione con RP
Un esempio di Un esempio di modellazione : AGV modellazione : AGV
Un esempio di Un esempio di
modellazione : linea modellazione : linea
di produzione 1 di produzione 1
Un esempio di Un esempio di
modellazione : linea modellazione : linea
di produzione 2 di produzione 2
Un esempio di Un esempio di modellazione : modellazione : modello completo modello completo
Cella 1 AGV Cella 2
Schema generale di Schema generale di controllo ed analisi controllo ed analisi
proposto proposto
Vantaggi della Vantaggi della
suddivisione in blocchi suddivisione in blocchi
•Alleggerimento computazionale;
•Facilità di assemblaggio;
•Comprensione della funzione di un singolo modulo;
•Caratterizzazione di una RP secondo la Teoria dei Sistemi classica.
Pntool:
Pntool:
un simulatore a macromoduli un simulatore a macromoduli
Pntool:
Pntool:
principali caratteristiche principali caratteristiche
•Portabilità;
•Supporto delle reti di Petri estese;
•Assemblaggio della rete a moduli predefiniti tipo Simulink;
•Analisi modulare;
•Possibilità di simulazioni Monte Carlo(supporto per temporizzazioni stocastiche);
•Supporto per la creazione di librerie;
•Analisi statistica;
•Strumenti di controllo integrati;
Pntool:
Pntool:
principali comandi principali comandi
Risultati delle simulazioni Risultati delle simulazioni
•L’uso del simulatore nell’assemblaggio di sistemi complessi si è dimostrato essere più semplice ed immediato rispetto ai molti altri
simulatori presenti(freeware e commerciali )
•La presenza di una libreria preassemblata permette un uso immediato con la possibilità di assemblare moduli complessi a
partire da moduli semplici
•Il parallelismo con Simulink® ne aiuta l’integrazione con Matlab®
Pntool:
Pntool:
Futuri possibili sviluppi Futuri possibili sviluppi
•Supporto per reti di Petri continue
•Ampliamento della libreria
•Analisi prestazionale(calcolo del tempo di attraversamento)
•Automatizzazione della sintesi del le strutture di controllo
•Simulazione distribuita su più calcolatori