Introduzione alle reti di Petri

Transcript

Introduzione alle reti di Petri
Controllo dei Processi Industriali - LS
Modellistica e analisi di processi
industriali mediante Reti di Petri
Ing. Andrea Paoli
DEIS - Università di Bologna
Tel. 051-2093874
E-mail: [email protected]
http://www-lar.deis.unibo.it/people/apaoli
Revisionato il 20/11/2004
Revisionato il 20/11/2004
Introduzione alle reti di Petri
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 2
Introduzione ai DES
Molti sistemi fisici non vengono ben descritti da variabili
temporali in .
Î
Î
Î
Î
Sistemi manifatturieri
Sistemi di trasmissione di informazione
Sistemi di controllo del traffico
Etc.
Tali sistemi vengono adeguatamente modellati dai Sistemi ad
eventi discreti (DES=Discrete Event Systems):
1.Variabili di stato che assumono valori simbolici..
2...che cambiano valore in modo asincrono..
3...in corrispondenza di opportuni eventi.
In apparenza sembrano sistemi facili da studiare ma…
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 3
Introduzione ai DES
…lo studio dei DES è complicato da:
1.Dimensioni:
Il numero di stati e transizioni di stato è elevato
anche per la modellazione di sistemi semplici.
2.Rappresentazione: Nessuna convergenza su standard di
rappresentazione e manipolazione dei DES.
3.Impostazione del problema di controllo: A differenza dei sistemi
temporali non esiste un concetto di riferimento da inseguire e di
indice di performances.
4.Implementazione: Non è banale come sembra tradurre un DES
rappresentante un controllore in un programma per PLC.
5.Tecniche di progetto: Mancanza di tecniche ad hoc (non
empiriche) in ambito industriale.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 4
Introduzione ai DES
Processi industriali:
1.Processi
continui: processi in cui avviene una trasformazione
continua di materia e/o energia (es. impianti per produzione di
energia).
2.Processi batch: processi caratterizzati dal fatto che i prodotti
vengono realizzatio in quantità (lotti) variabili da impianti ad
impianti (es. processi chimici).
3.Processi discreti: processi caratterizzati da cicli o sequenze di
lavorazioni che coinvolgono unità di prodotto numerabili con cicli
di lavoro su singoli pezzi (es. sistemi manifatturieri).
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 5
Introduzione ai DES
Esempio 1: Centro di lavorazione meccanica
Tipicamente modello ad eventi:
•
•
•
•
•
•
Arrivo del pezzo meccanico
Posizionamento
Bloccaggio
Lavorazione
Rilascio
Espulsione
Altra
Altradescrizione
descrizionepossibile:
possibile:ililpezzo
pezzomeccanico
meccanicoèèdescritto
descrittocome
comeun
uncorpo
corpo
rigido
a
6
g.d.l.
soggetto
a
forza
di
gravità
ed
altre
forze
in
presenza
rigido a 6 g.d.l. soggetto a forza di gravità ed altre forze in presenzadidivincoli
vincoli
fissi
e
mobili
fissi e mobili
DESCRIZIONE INUTILE
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 6
Introduzione ai DES
Esempio 2: Impianto chimico
Ricetta di lotto materiale C:
B
A
•
T
•
C
tank di reazione
filtro
•
•
•
Prendere x di A e y di B a
temperatura T
Convogliare nel serbatoio di
reazione
Attendere t
Convogliare il prodotto nel filtro
Convogliare il prodotto nel silos e
gli scarti al depuratore
silos
Altra
Altradescrizione
descrizionepossibile:
possibile:dinamica
dinamicadei
deifluidi,
fluidi,dinamiche
dinamichedidiriscaldamento,
riscaldamento,
dinamiche
di
reazione,
dinamiche
dei
componenti
elettrici,
pneumatici,
dinamiche di reazione, dinamiche dei componenti elettrici, pneumatici,
meccanici.
meccanici.
DESCRIZIONE INUTILE
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 7
Introduzione ai DES
L’evoluzione di un DES è determinata da una particolare
sequenza di occorenza di eventi a partire da un dato stato
iniziale.
Anche nei DES le variabili di stato riassumono quanto basta
dell’evoluzione passata per poterne descrivere l’evoluzione
futura: SISTEMI DINAMICI.
evoluzione
evento
Stato futuro
Stato iniziale
Stato attuale
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 8
Introduzione ai DES
Esempio: sistema manifatturiero
R1
Buffer
S1
Macchina
M1
Buffer
S3
R3
R2
Macchina
M2
Buffer
S2
Buffer
S4
Manipolatore R1 (R2) carica M1 (M2) prendendo i pezzi da S1(S2). Quando le
macchine hanno finito R3 prende i pezzi da M1 (M2) e li deposita in S3 (S4).
Stati: M1 e M2 idle o busy; R1, R2 e R3 waiting o busy; pezzi in S1, S2, S3 e S4.
Eventi: comando di start, comando di acquisizione di R3, termine lavorazioni e
trasporti.
Asincronismo: gli eventi sono scorrelati.
Concorrenza: c’è condivisione di risorse Æ R3.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 9
Introduzione ai DES
Modelli di sistemi ad eventi discreti:
Servono dei formalismi per descrivere la dinamica di un DES.
Un modo sintetico consiste nella rappresentazione della
sequenza temporale degli accadimenti degli eventi noto che sia lo
stato iniziale.
stato
α
β
γ
δ
ε
e4
e1
e2
t1
t2
e3
t3
t4
tempo
Se gli istanti temporali in cui si verificano gli eventi non sono
importanti, allora ci si può fermare alla pura sequenza degli
eventi:
e1 e3 e3 e4
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 10
Introduzione ai DES
Gli eventi vengono descritti con simboli di un certo alfabeto.
Quindi una sequenza di eventi è rappresentabile come una
stringa di simboli, cioè una parola.
La totalità di tutti i possibili ordinamenti di eventi che possono
verificarsi nell’evoluzione di un DES è un linguaggio.
Se gli istanti temporali in cui si verificano gli eventi sono
importanti, allora si usa la sequenza di coppie:
(t1,e1) (t2,e2) (t3,e3) (t4,e4)
In questo caso il linguaggio generato è un linguaggio
temporizzato.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 11
Introduzione ai DES
Modelli di DES:
1. Modelli logici: modelli nei quali solo l’ordine degli eventi è
rilevante.
2. Modelli temporizzati: modelli nei quali non solo l’ordine degli
eventi è rilevante, ma anche l’istante temporale.
Tipicamente i modelli logici vengono utilizzati per risolvere
problemi di ordinamento e sequenziamento.
I modelli temporizzati possono essere utilizzati per la valutazione
di prestazioni.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 12
Introduzione ai DES
Modelli di DES: AUTOMI
Un automa è una qudrupla
(U,X,f(•,•), x0)
Dove:
„ U={u1,u2,u3,….} è l’insieme degli eventi
„ X={x1,x2,x3,…..} è l’insieme degli stati
„ f: X×UÆX è la funzione di transizione che per ogni coppia
stato, evento (ammissibile) caratterizza il prossimo stato
dell’automa.
„ x0 è lo stato iniziale.
Con semplice estensione è possibile introdurre il concetto di
ingresso e uscita. Se uscita legata allo stato e all’evento: Automi
di Mealy; Se uscita legata allo stato: Automi di Moore.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 13
Introduzione ai DES
Modelli di DES: ESEMPIO
t1
R2
R1
A1
t2
A2
Macchina
M1
A3
A4
t4
M1
R1
R2
commento
Idle
Idle
Idle
M1 in attesa
A2 Busy Busy
Idle
R1 carica M1
A3 Busy
Idle
Idle
M1 lavora
A4 Busy
Idle
Busy
R2 scarica M1
A1
t3
Attenzione all’esplosione del numero degli
stati.
Provare a dettagliare lo stato busy del
manipolatore (trasporto - ritorno)
Ingresso
Uscita
t1
Start
Comando a R1 per caricare M1
t2
R1 termina di caricare M1
Inizio lavorazione per M1
t3
Fine lavorazione di M1
Comando a R2 per scaricare M1
t4 R2 termina lo scaricamento di M1 Incrementa numero pezzi prodotti
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 14
Le Reti di Petri
Le reti di Petri rappresentano un formalismo utile alla
modellistica ed analisi del comportamento dinamico di sistemi ad
eventi discreti.
Sono state introdotte nel 1962 da Adam Petri nella sua
dissertazione di dottorato.
Utili perché rappresentano in modo compatto:
„ la sincronizzazione tra processi
„ il succedersi asincrono di eventi
„ operazioni concorrenti
„ conflitti e condivisione di risorse.
Gli automi non riescono a rappresentare sistemi ad infiniti stati
con un numero finito di nodi, mentre le reti di Petri possono.
In una rete di Petri lo stato di un sistema e la transizione sono
concetti distribuiti.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 15
Le Reti di Petri
Rete non marcata:
E’ una tripla N=(P,T,F), dove
„ P è l’insieme dei posti
„ T è l’insieme delle transizioni
„ F è la relazione di flusso
Gli insiemi P e T sono finiti e
1. P∪T= ∅
2. P∩T≠ ∅
3. F ⊆ P × T ∪ T × P
Una rete può essere rappresentata graficamente tramite un grafo
bipartito.
posto
flusso
transizione
I posti contengono informazioni relative allo
stato della rete.
Le transizioni sono associate agli eventi che
modificano lo stato della rete.
L’ordinamento parziale dei nodi della rete è
dato dalla relazione di flusso.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 16
Le Reti di Petri
Preset e Postset:
Sia X=P ∪ T, si definisce preset di un elemento α ∈ X l’insieme
•α=Pre(α)={δ ∈ X | (δ,α) ∈ F}
si definisce postset di un elemento α ∈ X l’insieme
α•=Post(α)={δ ∈ X | (α,δ) ∈ F}
p1
p2
t1
•t1={p1,p2}
t1• ={p3}
p1• = •t1 = {t1}
p3
N.B. Le definizioni date finora sono relative solo agli aspetti topologici
della rete ora dobbiamo introdurre la dinamica!!
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 17
Le Reti di Petri
Rete posti-transizioni:
E’ una quintupla PT=(P,T,F,W,M0), dove
„ P è l’insieme dei posti
„ T è l’insieme delle transizioni
„ F è la relazione di flusso
„ W:FÆN\{0} detta funzione peso associa ad ogni elemento della
relazione di flusso un numero intero positivo (peso)
„ M0: PÆN è detta funzione marcatura iniziale della rete ed associa ad
ogni posto un numero intero non negativo
La marcatura iniziale definisce l’insieme degli stati parziali (stato
globale) in cui la rete si trova all’inizio della sua evoluzione.
La funzione peso viene indicata con etichette sugli archi (se è 1 si
omette).
La funzione marcatura si rappresenta con dei gettoni all’interno dei
posti.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 18
Le Reti di Petri
Rete posti-transizioni:
La marcatura iniziale definisce l’insieme degli stati parziali (stato
globale) in cui la rete si trova all’inizio della sua evoluzione.
La funzione peso viene indicata con etichette sugli archi (se è 1 si
omette).
La funzione marcatura si rappresenta con dei gettoni all’interno dei
posti.
Le reti con tutti archi di peso unitario sono dette ordinarie.
Posto con 3 gettoni
2
Arco con peso 1
Arco con peso 2
transizione
transizione
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 19
Le Reti di Petri
Evoluzione dinamica di una rete di Petri:
L’evoluzione è determinata dal verificarsi di eventi. Un evento è
modellato dalla possibilità che accada (abilitazione di una transizione)
e dall’effetto che esso ha sul sistema.
Abilitazione di una transizione:
Una transizione t si dice abilitata allo scatto nella marcatura M se
∀ p ∈ •t, M(p) ≥ W(p,t) (Notazione compatta: M[t>)
Ovvero se tutti i posti a monte hanno almeno un numero di gettoni pari
al peso dell’arco che li collega alla transizione
Scatto di una transizione:
Data la marcatura M, lo scatto di una transizione t abilitata in M
produce una marcatura M0 tale che:
∀ p ∈ •t \ t•
∀ p ∈ t• \ •t
∀ p ∈ t• ∩ •t
altrove
M0 (p)= M(p)-W(p,t)
M0 (p)= M(p)+W(t,p)
M0 (p)= M(p)-W(p,t)+W(t,p)
M0 (p)= M(p)
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 20
Le Reti di Petri
Scatto di una transizione:
Data la marcatura M, lo scatto di una transizione t abilitata in M
produce una marcatura M0 tale che:
M0 (p)= M(p)-W(p,t)
M0 (p)= M(p)+W(t,p)
M0 (p)= M(p)-W(p,t)+W(t,p)
M0 (p)= M(p)
∀ p ∈ •t \ t•
∀ p ∈ t• \ •t
∀ p ∈ t• ∩ •t
altrove
Lo scatto della transizione t provoca la rimozione da ogni posto a
monte e l’aggiunta ad ogni posto a valle di t di un numero di
gettoni pari al peso degli archi collegati. La marcatura di tutti gli
altri posti resta inalterata.
p1
p2
t1
2
p1
p3
t2
2
2
2
Scatto di t1
t1 abilitata t2 non abilitata
p2
t1
p3
t2
2
2
t1 non abilitata t2 abilitata
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 21
Le Reti di Petri
Scatto di una transizione: non determinismo
Può accadere che in una configurazione più di transizione
sia abilitata: solamente una a caso scatterà (criterio di nondeterminismo).
p1
p2
t1
2
p3
t2
2
t1 abilitata e t2 abilitata
Scatta t1
p1
p2
t1
2
Scatta t2
t2
p3
p1
2
t1 non abilitata e t2 abilitata
Ing. Andrea Paoli – Controllo dei Processi Industriali
p2
t1
2
t2
p3
2
t1 abilitata e t2 non abilitata
Reti di Petri 22
Le Reti di Petri
Dinamica delle reti di Petri: esempio
Il sistema produttori/consumatori
I produttori sono 2 e sono modellati mediante due posti (p1,p2) e due gettoni
in p1.
I consumatori sono 3 e sono raggruppati in due gruppi: il primo (C1) è
rappresentato da p3 e p4, il secondo (C2) da p5 e p6. I consumatori in C1
sono 2, in C2 c’è un solo consumatore.
Il posto p7 rappresenta un buffer: un gettone in p7 rappresenta un prodotto
finito pronto ad essere consumato.
L’attività di produzione è data dalla transizione t2. Il posto p1 indica la
possibilità di produrre. Il posto p2 indica l’avvenuta produzione e l’attesa di
nuove materie prime.
L’assegnazione di nuove materie prime è data dalla transizione t1. Con le
transizioni t3 e t5 si modellano le attività di assegnazione dei prodotti ai
consumatori.
Con riferimento al gruppo C1 il posto p4 indica l’operazione di consumo del
prodotto e la transizione t4 la fine dell’operazione di consumo e la
predisposizione per il nuovo acquisto.
Gli archi a peso non unitario indicano la possibilità di trattare più prodotti
contemporaneamente.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 23
Le Reti di Petri
Dinamica delle reti di Petri: esempio
t3
p1
p7
t1
p3
t4
2
p4
t2
2
p2
p5
2
t5
t6
4
L’unica transizione abilitata è t2 (produzione)
4
p6
Scatta t2
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 24
Le Reti di Petri
Dinamica delle reti di Petri: esempio
t3
p1
p7
t1
p3
t4
2
p4
t2
2
p5
2
p2
t5
Transizioni abilitate: t1(attesa materie prime), t2
(produzione), t3 (acquisto di due prodotti da
parte di C1) e t5 (acquisto di due prodotti da
parte di C2)
t6
4
4
p6
Scatta t3
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 25
Le Reti di Petri
Dinamica delle reti di Petri: esempio
t3
p1
p7
t1
p3
t4
2
p4
t2
2
p2
p5
2
t5
Se voglio aumentare i produttori da due a tre
basta aggiungere un gettone in p1 nella
marcatura iniziale
Ing. Andrea Paoli – Controllo dei Processi Industriali
t6
4
4
p6
Reti di Petri 26
Le Reti di Petri
Strutture modellistiche fondamentali:
Transizioni in sequenza:
Le transizioni t1 e t2 si dicono in sequenza e t1 precede t2 in una data
marcatura quando, con t1 abilitata e t2 non abilitata, lo scatto di t1
abilita t2.
p1
p2
t1
p3
t2
Transizioni in conflitto:
Due transizioni t1 e t2 sono in conflitto strutturale se e solo se hanno
almeno un posto di ingresso in comune. Si dicono in conflitto effettivo
nella marcatura M se sono in conflitto strutturale e sono entrambe
abilitate.
p1
p2
t1
t2
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 27
Le Reti di Petri
Transizioni in concorrenza:
Le transizioni t1 e t2 si dicono in concorrenza strutturale quando non
condividono alcun posto d’ingresso. Si dicono in concorrenza effettiva
nella marcatura M se sono in concorrenza e sono entrambe abilitate
p1
t1
p3
p2
t2
p4
Altre strutture:
t1
p1
p2
t1
Transizione di sincronizzazione
(più posti a monte)
p1
p2
Transizione di inizio concorrenza
(più posti a valle)
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 28
Proprietà delle Reti di Petri
Raggiungibilità (M ∈ [M0>):
Una marcatura M1 si dice raggiungibile a partire da una
marcatura M se esiste almeno una sequenza di transizioni
tali che facendole scattare da M si raggiunge M1 (M1 ∈ [M>).
Rete reversibile:
Una rete di Petri con marcatura iniziale M0 è detta essere
reversibile se per ogni marcatura M ∈ [M0>, M0 è
raggiungibile da M (M0 ∈ [M>).
Home state:
Uno stato della rete di Petri M1 è detto essere un home state
se per ogni marcatura M ∈ [M0>, M1 è raggiungibile da M.
Posto k-limitato:
Un posto di una rete si dice k-limitato se in tutte le
marcature raggiungibili della rete il numero di gettoni
presenti nel posto non supera mai un valore prefissato k.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 29
Proprietà delle Reti di Petri
Rete k-limitata e limitata:
Una rete si dice k-limitata se tutti i posti sono k-limitati. Una
rete si dice limitata se è k-limitata per qualche valore finito
di k.
Una rete limitata è equivalente ad un automa a stati finiti
Es. di rete non limitata: PERCHE’??
t2
p2
p3
p4
La sequenza t1,t2,t3 può avvenire
infinite volte ed ad ogni scatto di t1
si accumulano gettoni in p4: il
posto p4 può avere un numero
arbitrariamente grande di gettoni.
t1
t3
Reti limitate per k=1 si dicono binarie.
p1
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 30
Proprietà delle Reti di Petri
VIVEZZA: La definizione di vivezza rappresenta la possibilità che la rete
possa continuare ad evolversi in qualunque situazione (nessuna parte
si blocchi mai).
Transizione viva:
Una transizione t si dice viva se e solo se ∀ M ∈ [M0>, ∃ M* ∈ [M> tale
che t è abilitata in M* (da qualunque marcatura raggiungibile è
possibile raggiungerne un’altra in cui t è abilitata).
Rete viva
Una rete di Petri si dice viva se e solo se tutte le sue transizioni sono
vive.
Marcatura viva:
Una marcatura M si dice viva se e solo se ∀ t ∈ T, ∃ M* ∈ [M> tale che t è
abilitata in M* (a partire da un marcatura viva è possibile far scattare
una qualunque transizione).
Una rete è viva se e solo se tutte le marcature raggiungibili dalla
marcatura iniziale sono vive.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 31
Proprietà delle Reti di Petri
Esempi: limitatezza, vivezza, reversibilità?
•Limitata
•Viva
•Non Reversibile
(a)
•Limitata
•Non Viva
•Non Reversibile
(c)
(b)
Ing. Andrea Paoli – Controllo dei Processi Industriali
•Limitata
•Non Viva
•Reversibile
Reti di Petri 32
Rappresentazione matriciale delle Reti di Petri
Matrici di ingresso, uscita ed incidenza:
Vengono definite due matrici dette di ingresso (I) e di uscita
(O) che riassumono la topologia della rete, cioè riportano il
peso degli archi che collegano i posti di ingresso o in uscita
alle transizioni.
Sia P={p1,….,p|P|} e T ={t1,….,t|T|}, definiamo:
I|P|,|T|:
I(k,j)=W(pk,tj), ∀ (pk,tj) ∈ F
I(k,j)=0, ∀ (pk,tj) œ F
O|P|,|T|:
O(j,k)=W(tj,pk), ∀ (tj,pk)∈ F
O(j,k)=0, ∀ (tj,pk) œ F
Sono rettangolari con
dimensione |P| × |T| in cui una
riga rappresenta informazioni
legate ad un posto ed una
colonna informazioni legate ad
una transizione.
I:
O:
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 33
Rappresentazione matriciale delle Reti di Petri
Matrici di ingresso, uscita ed incidenza: esempio
p1
1
t1
2
t1
t2
4
3
t2
⎡ 0 2⎤
I= ⎢
⎥
⎣ 4 0⎦
t1
p1
p2
t2
⎡ 1 0⎤
O=⎢
⎥
⎣0 3 ⎦
p1
p2
p2
Si definisce matrice di incidenza la matrice
C=O-I
dove O e I sono le matrici di ingresso e uscita di una rete.
N.B. Si perdono delle informazioni!! t1
t2
⎡ 1 0 ⎤ ⎡ 0 2 ⎤ ⎡ 1 −2 ⎤
C = O−I = ⎢
−⎢
=⎢
⎥
⎥
⎥
⎣ 0 3 ⎦ ⎣ 4 0 ⎦ ⎣ −4 3 ⎦
Ing. Andrea Paoli – Controllo dei Processi Industriali
p1
p2
Reti di Petri 34
Rappresentazione matriciale delle Reti di Petri
Vettore marcatura:
La marcatura M di una rete si può rappresentare come un
vettor colonna m di dimensione |P| le cui componenti sono
valori interi non negativi che rappresentano il numero di
gettoni di ogni posto della rete.
m=[m1 m2 … m|P|]0 con mi = M(p1) ∀ i=1,2, … , |P|
Possiamo ora riformulare i concetti di abilitazione e scatto
di una transizione (sia Xi l’ i-esima colonna della matrice X):
„ condizione di abilitazione dell’i-esima transizione:
M ≥ Ii
„ scatto della transizione ti a partire dalla marcatura M:
M * = M + Oi – I i = M + C i
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 35
Rappresentazione matriciale delle Reti di Petri
Sequenza di scatti:
Una sequenza s di scatti abilitata in una marcatura M0 è una
sequenza di transizioni
ti, 1 · i · n, n ∈  \ ∅
tali che t1 è abilitata in M0 e lo scatto di ti porta in una
marcatura in cui ti+1 è abilitata.
Notazione: M1 [t1>M2 and M2 [t2>M3 ⇒ M1 [s>M3 con s=t1t2
N.B. Una qualunque sequenza di transizioni non è in
generale una sequenza di scatti. Bisogna stare attenti
all’abilitazione delle transizioni in una data marcatura!!!
Partendo dalla matrice di incidenza, dalla marcatura iniziale
e da una sequenza di scatti è possibile calcolare la
marcatura finale.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 36
Rappresentazione matriciale delle Reti di Petri
La variazione di marcatura della rete dovuta allo scatto di
una transizione ti (sequenza) non dipende da una particolare
marcatura della rete. L’effetto è sempre lo stesso qulunque
azione sia avvenuta in precedenza:
∆ M = M* - M 0 = C i
Tale variazione dipende solo dalla topologia della rete e non
dalla storia passata. Tuttavia la marcatura raggiunta dipende
dallo stato iniziale:
M * = M 0 + ∆ M = M0 + C i
COSA CI RICORDA ??
Se si pensa alla marcatura come allo stato del
sistema la somiglianza con i sistemi lineari
invarianti è immediata!!
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 37
Rappresentazione matriciale delle Reti di Petri
Vettore delle occorrenze:
Il vettore delle occorrenze s, associato ad una sequenza di
scatti S, è un vettore di dimensioni |T|, la cui generica
componente si è pari al numero delle occorrenze della
transizione ti nellq sequenza S.
Equazione di stato:
L’evoluzione di una rete di Petri può essere descritta in
maniera molto compatta in termini del tutto simili a quella di
un sistema dinamico.
Sia M0 la marcatura corrente di una rete con matrice di
incidenza C. Si supponga di applicare una sequenza
ammissibile di scatti S. Sia M0 [S> M1 allora:
M1=M0 + C·s
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 38
Rappresentazione matriciale delle Reti di Petri
Equazione di stato: esempio
p1
1
2
t1
t2
4
3
p1
1
2
t1
3
p2
⎡ 1 0 ⎤ ⎡ 0 2 ⎤ ⎡ 1 −2 ⎤
C = O−I = ⎢
−⎢
=⎢
⎥
⎥
⎥
⎣ 0 3 ⎦ ⎣ 4 0 ⎦ ⎣ −4 3 ⎦
p1
⎡1⎤
s = ⎢ ⎥
⎣1⎦
t1
⎡3 ⎤
M0 = ⎢ ⎥
⎣ 1⎦
p1
S=t1,t2 (ammissibile)
p2
1
t2
t2
4
t2
p2
t2
⎡3 ⎤ ⎡ 1 −2⎤ ⎡1⎤ ⎡ 2⎤
M* = M0 + Cs = ⎢ ⎥ + ⎢
=⎢ ⎥
⎥
⎢
⎥
1
−4 3 ⎦ ⎣1⎦ ⎣0 ⎦
p1 ⎣ ⎦ ⎣
p2
t1
t1
2
t1
t2
4
3
p2
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 39
Analisi mediante reti di Petri
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 40
Analisi di reti di Petri
Insieme di raggiungibilità
Si definisce insieme di raggiungibilità R(N,M0) di una rete N con
marcatura iniziale M0 il più piccolo insieme di marcature tale che:
M0 ∈ R(N,M0) e
M* ∈ R(N,M0) e ∃ t ∈ T | M* [t>M** ⇒ M** ∈ R(N,M0)
Quindi tutte le marcature raggiungibili da marcature dell’insieme di
raggiungibilità appartengono a questo insieme.
Grafo di raggiungibilità
Il grafo di raggiungibilità di una rete N con marcatura iniziale M0 è il
grafo i cui nodi sono associati agli elementi di R(N,M0) e i cui archi
sono associati alle transizioni che portano da una marcatura
all’altra di R(N,M0).
E’ un automa non deterministico.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 41
Analisi di reti di Petri
Grafo di raggiungibilità
p2
p1
t1
p3
t3
t2
p4
t1
t2
[0 0 2 0]
[0 1 1 1]
t3
t1
t2
[0 2 0 2]
[1 1 1 0]
t3
[1 2 0 1]
t3
[2 2 0 0]
t2
t1
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 42
Analisi di reti di Petri
Grafo di raggiungibilità
Il grafo di raggiungibilità in generale non ha un numero finito di
stati (qualche posto della rete può contenere infiniti gettoni).
Si introduce un simbolo particolare (ω) per indicare un numero
intero illimitato e ottenere un grafo con un numero limitato di posti
(grafo di copertura).
Consideriamo una sequenza di scatto s che porta da M0 a M0 0 con
M0 0 > M0. M0 0 avrà tutti gli stessi gettoni di M0 più qualche gettone
extra qua e là.
I gettoni extra non hanno influenza sullo scatto delle transizioni,
quindi s potrà essere applicata anche da M0 0 portando a nuovi
gettoni extra. Tali posti quindi possono acquisire un numero
illimitato di gettoni grazie a s e la loro marcatura sarà
caratterizzata da ω.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 43
Analisi di reti di Petri
Grafo di copertura
t1 (arrivo)
p1
(Coda)
p2
(Libero)
t2
(servizio)
p3
(Occupato)
t3
(completato)
Single server queue
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 44
Analisi di reti di Petri
Grafo di copertura
t1
t1
p1
p2
p1
t2
t1
p2
p1
t2
p3
arrivo
p1
p2
t2
p3
t3
t1
t2
p3
servizio
t3
p2
p3
fine
t3
t3
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 45
Analisi di reti di Petri
Grafo di copertura
[0 1 0]
t1
t1 (arrivo)
p1
(Coda)
[1 1 0]
p2
(Libero)
t1
t2
(servizio)
p3
(Occupato)
t3
(completato)
Single server queue
Ing. Andrea Paoli – Controllo dei Processi Industriali
[2 1 0]
[ω 1 0]
t2
t1
[ω 1 0]
[ω 0 1]
t1
[ω 0 1]
t3
[ω 1 0]
Reti di Petri 46
Analisi di reti di Petri
Grafo di raggiungibilità e copertura
Permettono di rispondere alle seguenti domande:
1. La rete è viva?
E’ viva se nel grafo di raggiungibilità ogni nodo ha almeno un
arco in uscita.
E’ viva se nel grafo di copertura ogni nodo che non contiene il
simbolo ω ha almeno un arco in uscita.
2. La rete è reversibile?
Non è reversibile se nel grafo di copertura esistono nodi a
partire dai quali non si torna al nodo iniziale.
3. La rete è limitata?
Non è limitata se una sequenza di scatto s porta da M0 a M0 0 con
M0 0 > M0. E quindi se devo inserire il simbolo ω.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 47
Analisi matriciale
P-Invarianti
Corrispondono a insiemi di posti tali per cui la somma pesata dei
gettoni che contengono rimane costante per tutte le marcature
della rete.
P-Invariante: è un vettore colonna x di dimensione |P| tale che ∀ M
∈ R(N,M0):
xT M = xT M0
Considerando l’equazione di stato M=M0+Cs:
xTM=xT M0 +xT Cs
dalla definizione quindi:
xT Cs=0 ∀ s ≠ 0
Quindi un P-invariante soddisfa
CT x=0
Æ Trovato x P-invariante, kx è P-invariante.
Æ Se x1 e x2 sono P-invarianti anche x1+x2 è P-invariante.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 48
Analisi matriciale
P-Invarianti
Supporto di un P-Invariante x è l’insieme (kxk), dei posti
corrispondenti ad elementi non nulli di x.
Se il supporto di un P-invariante non contiene quello di nessun
altro P-invariante della rete, allora il P-invariante è detto a supporto
minimo.
Se il massimo comun divisore dei suoi elementi non nulli è pari a 1
allora il P-invariante è detto canonico.
Un P-invariante non negativo (x(p)>0 ∀ p) identifica un gruppo di
posti in cui si conserva una combinazione lineare di gettoni
(componenti conservative della rete).
Una rete si dice coperta da P-invarianti se ogni posto della rete
appartiene al supporto di almeno un P-invariante.
Una rete si dice conservativa se è coperta da P-invarianti non
negativi. Una rete conservativa è limitata.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 49
Analisi matriciale
P-Invarianti (esempio)
t1 (arrivo)
p1
(Coda)
p2
(Libero)
t2
(servizio)
p3
(Occupato)
t3
(completato)
Single server queue
t1
t2
t3
⎡0 1 0 ⎤ ⎡ 1 0 0⎤ ⎡ −1 1 0 ⎤ p1
C = ⎢0 1 0 ⎥ − ⎢0 0 1⎥ = ⎢ 0 1 −1⎥ p2
⎢
⎥ ⎢
⎥ ⎢
⎥
⎢⎣0 0 1⎥⎦ ⎢⎣0 1 0⎥⎦ ⎢⎣ 0 −1 1 ⎥⎦ p3
⎡ −1 0 0 ⎤ ⎡ γ 1 ⎤
⎢ 1 1 −1⎥ ⎢ γ ⎥ = 0
⎢
⎥ ⎢ 2⎥
⎢⎣ 0 −1 1 ⎥⎦ ⎢⎣ γ 3 ⎥⎦
−γ1 = 0
⎧
⎧ γ1 = 0
⎪
γ
+
γ
−
γ
=
0
⇒
⎨ 1 2
⎨
3
⎩γ2 = γ3
⎪ −γ + γ = 0
2
3
⎩
[0
γ
⎡ m1⎤
γ ] ⎢m2⎥ = [0 γ
⎢ ⎥
⎢⎣m3 ⎥⎦
Ing. Andrea Paoli – Controllo dei Processi Industriali
⎡0 ⎤
γ ] ⎢ 1⎥ ⇒ m2 + m3 = 1
⎢ ⎥
⎢⎣0⎥⎦
Reti di Petri 50
Analisi matriciale
Reti conservative
Una rete è conservativa se esiste un vettore w di dimensione |P|
tale per cui
wT · M =const.
Single server queue
[ w1
w2
⎡ m1 ⎤
w 3 ] ⎢m 2 ⎥ = c
⎢ ⎥
⎢⎣m3 ⎥⎦
⎧
⎪
⎪[ w1 w 2
⎪⎪
⎨
⎪
⎪[ w1 w 2
⎪
⎩⎪
⎡ ω⎤
w3 ] ⎢ 1⎥ = c
⎢ ⎥
⎧ w1 = 0
⎣⎢ 0 ⎦⎥
⇒⎨
⎡ ω⎤
⎩ w 2 = w3 = c
w3 ] ⎢ 0 ⎥ = c
⎢ ⎥
⎢⎣ 1 ⎥⎦
Conservazione dei gettoni del server: libero-occupato.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 51
Analisi matriciale
T-Invarianti
Gli invarianti di transizione rappresentano possibili sequenze di
scatti che riportano la rete nella marcatura iniziale.
T-Invariante di una rete N è un vettore colonna y di dimensione |T|
tale che
Cy = 0
Infatti considerando l’equazione di stato M=M0+Cs:
M=M0+Cy=M0.
La presenza di un T-invariante non implica che sia davvero
possibile ritornare alla marcatura iniziale perché y potrebbe
rappresentare una sequenza di scatti non ammissibile.
⎧ −τ1 + τ 2 = 0
⎡ −1 1 0 ⎤ ⎡ τ1 ⎤
⎢ 0 1 −1⎥ ⎢ τ ⎥ = 0 ⇒ ⎪ τ − τ = 0
⎨ 2
Single server queue ⎢
3
⎥ ⎢ 2⎥
⎪τ −τ =0
⎢⎣ 0 −1 1 ⎥⎦ ⎢⎣ τ3 ⎥⎦
3
⎩ 2
Ing. Andrea Paoli – Controllo dei Processi Industriali
⇒ τ1 = τ2 = τ3
Reti di Petri 52
Esercizi
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 53
Esercizio 1
Data le rete di Petri in figura:
1. Calcolare le matrici I, O, C che rappresentano la topologia della rete.
2. Verificare se la sequenza s=t1,t2,t2,t3,t2 è ammissibile. Se è ammissibile dire
in quale marcatura si porta la rete.
3. Trovare, se esiste, una sequenza ammissibile di transizioni che a partire dalla
marcatura iniziale riporti in essa la rete di Petri.
p4
t3
p3
2
t5
t4
t2
3
p1
t1
Ing. Andrea Paoli – Controllo dei Processi Industriali
p2
Reti di Petri 54
Esercizio 1
Data le rete di Petri in figura:
1. Calcolare le matrici I, O, C che rappresentano la topologia della rete.
t3
p4
p3
2
t1 t2 t3 t4 t5
⎡1
⎢0
I= ⎢
⎢0
⎢
⎣0
t5
t4
t2
3
p1
t1
p2
t1 t2
t1 t2 t3 t4 t5
⎡0
⎢3
O=⎢
⎢0
⎢
⎣0
0 0 0 0 ⎤ p1
1 0 0 0 ⎥ p2
⎥
0 2 0 0 ⎥ p3
⎥
0 0 1 1⎦ p4
t3
t4
t5
⎡ −1 0 0 1 0 ⎤ p1
⎢ 3 −1 0 0 1 ⎥ p2
⎥
C=⎢
⎢ 0 1 −2 0 0 ⎥ p3
⎢
⎥ p4
⎣ 0 0 1 −1 −1⎦
0 0 1 0 ⎤ p1
0 0 0 1⎥ p2
⎥
1 0 0 0 ⎥ p3
⎥
0 1 0 0 ⎦ p4
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 55
Esercizio 1
2. Verificare se la sequenza s=t1,t2,t2,t3,t2 è ammissibile. Se è ammissibile dire
in quale marcatura si porta la rete.
p4
p3
t3
p4
2
t5
t2
p1
p4
p2
p3
t1
t3
t2
p1
p4
p1
p4
2
t2
2
t5
t4
t2
3
t4
t2
3
p2
p3
t3
t5
t2
p2
t1
t3
t5
t1
3
p2
p3
t1
t3
t2
p1
t2
3
2
t4
2
t5
t4
t2
t4
t1
3
p3
t3
2
t5
t4
p4
p3
t3
p1
t1
Ing. Andrea Paoli – Controllo dei Processi Industriali
3
p2
p1
t1
p2
Reti di Petri 56
Esercizio 1
2. Verificare se la sequenza s=t1,t2,t2,t3,t2 è ammissibile. Se è ammissibile dire
in quale marcatura si porta la rete.
⎡ 1⎤ ⎡ −1 0 0 1 0 ⎤ ⎡ 1⎤ ⎡0⎤
⎢ 0 ⎥ ⎢ 3 −1 0 0 1 ⎥ ⎢ 3 ⎥ ⎢ 0 ⎥
⎥⋅⎢ ⎥ = ⎢ ⎥
M = M0 + C ⋅ q = ⎢ ⎥ + ⎢
⎢0 ⎥ ⎢ 0 1 −2 0 0 ⎥ ⎢ 1⎥ ⎢ 1⎥
⎢ ⎥ ⎢
⎥ ⎢ ⎥ ⎢ ⎥
⎣0 ⎦ ⎣ 0 0 1 −1 −1⎦ ⎣0⎦ ⎣ 1⎦
3. Trovare, se esiste, una sequenza ammissibile di transizioni che a partire dalla
marcatura iniziale riporti in essa la rete di Petri.
⎡ q1 ⎤
−
1
0
0
1
0
⎡
⎤ ⎢ ⎥
⎢ 3 −1 0 0 1 ⎥ ⎢ q2 ⎥
⎥ ⋅ ⎢ q3 ⎥ = 0
C⋅q = 0 ⇒ ⎢
⎢ 0 1 −2 0 0 ⎥ ⎢ ⎥
⎢
⎥ ⎢ q4 ⎥
⎣ 0 0 1 −1 −1⎦ ⎢ ⎥
⎣ q5 ⎦
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 57
Esercizio 1
3. Trovare, se esiste, una sequenza ammissibile di transizioni che a partire dalla
marcatura iniziale riporti in essa la rete di Petri.
⎧ −q1 + q4 = 0
⎪3q − q + q = 0
⎪ 1
2
5
⎨
⎪ q2 − 2q3 = 0
⎪⎩ q3 − q4 − q5 = 0
⇒
⎧q2 = 4q1
⎪ q = 2q
⎪ 3
1
⎨
⎪ q4 = q1
⎪⎩ q5 = q1
⇒
⎡ 1⎤
⎢ 4⎥
⎢ ⎥
q = ⎢ 2⎥
⎢ ⎥
⎢ 1⎥
⎢⎣ 1⎥⎦
Ad esempio t1,t2,t2,t3,t5,t2,t3,t4
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 58
Esercizio 2
Data le rete di Petri in figura:
1. Si costruisca il grafo di raggiungibilità associato.
2. Si dica se la rete è limitata, viva, reversibile.
p1
t1
t2
p4
p2
p3
t4
t3
p5
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 59
Esercizio 2
Per costruire il grafo di raggiungibilità:
1. Disegnare un nodo M0 corrispondente alla marcatura iniziale. Questo diventa
è il nodo corrente.
2. Se non ci sono più transizioni attivabili a partire dal nodo corrente e non
considerate in precedenza allora:
• Se il nodo corrente non è M0 definire nodo corrente il nodo
contrassegnato con l’etichetta inferiore di 1 rispetto a quella del nodo
corrente
• Se il nodo è M0 allora l’algoritmo termina
3. Seguire la prima transizione che può scattare a partire dalla marcatura
associata al nodo corrente e disegnare un arco con etichetta pari alla
transizione verso la nuova marcatura.
4. Se non esiste un nodo associato alla nuova marcatura crearlo (M1, M2,…).
5. Ripartire dal punto (2)
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 60
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t1
[11010] M1
[20010] M0
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 61
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t1
t1
[20010] M0
[11010] M1
[02010] M2
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 62
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
[02010] M2
[11010] M1
[20010] M0
t3
t1
t1
[11001] M3
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 63
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
[20010] M0
t3
t1
t1
[11010] M1
[02010] M2
[11001] M3
t1
[02001] M4
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 64
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
[02010] M2
[11010] M1
[20010] M0
t3
t1
t1
[11001] M3
t1
[02001] M4
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 65
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
[20010] M0
t3
t1
t1
[11010] M1
[02010] M2
t2
[11001] M3
[01101] M5
t1
[02001] M4
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 66
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
[02010] M2
[11010] M1
[20010] M0
t3
t1
t1
t2
[01101] M5
[11001] M3
t1
[02001] M4
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 67
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
[20010] M0
t3
t1
t1
[11010] M1
[02010] M2
t2
[01110] M6
Ing. Andrea Paoli – Controllo dei Processi Industriali
t2
[11001] M3
[01101] M5
t1
[02001] M4
Reti di Petri 68
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
t3
t1
t1
[02010] M2
[11010] M1
[20010] M0
t2
[01101] M5
[11001] M3
t1
t2
[02001] M4
[01110] M6
t3
[01110] M7
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 69
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
[11010] M1
[20010] M0
t3
t1
t1
[02010] M2
t2
[01110] M6
t2
[00201] M8
t2
[11001] M3
[01101] M5
t1
[02001] M4
t3
[01110] M7
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 70
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
t3
t1
t1
[02010] M2
[11010] M1
[20010] M0
[01101] M5
[11001] M3
t1
t2
[10110] M9
t4
t2
[02001] M4
[01110] M6
t3
t2
[00201] M8
[01110] M7
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 71
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
[11010] M1
[20010] M0
[02010] M2
t2
t2
[00210] M10
t3
t1
t1
[10110] M9
t4
[00201] M8
[01110] M6
t2
t2
[11001] M3
[01101] M5
t1
[02001] M4
t3
[01110] M7
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 72
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
[02010] M2
[11010] M1
[20010] M0
t2
[10110] M9
t4
[01101] M5
[11001] M3
t1
t2
t2
[00210] M10
t3
t1
t1
[02001] M4
[01110] M6
t3
t2
[00201] M8
[01110] M7
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 73
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
[11010] M1
[20010] M0
[02010] M2
t2
[11001] M3
[10110] M9
t4
[00201] M8
[01110] M6
t2
[01101] M5
t1
t2
t2
[00210] M10
t3
t1
t1
[02001] M4
t3
[01110] M7
Ing. Andrea Paoli – Controllo dei Processi Industriali
t1
Reti di Petri 74
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
[02010] M2
[11010] M1
[20010] M0
t2
[10110] M9
t4
[01101] M5
[11001] M3
t1
t2
t2
[00210] M10
t3
t1
t1
[02001] M4
[01110] M6
t3
t2
[00201] M8
[01110] M7
t4
t1
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 75
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
[11010] M1
[20010] M0
t2
t2
[00210] M10
[10110] M9
t4
[00201] M8
[01110] M6
t2
t3
t1
t1
[02010] M2
t2
[11001] M3
t3
[20001] M11
[01101] M5
t1
[02001] M4
t3
[01110] M7
t4
Ing. Andrea Paoli – Controllo dei Processi Industriali
t1
Reti di Petri 76
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
[02010] M2
[11010] M1
[20010] M0
t3
t2
t2
[10110] M9
t4
[00210] M10
t3
t1
t1
[01110] M6
t2
[01101] M5
[11001] M3
t1
t1
[02001] M4
[20001] M11
t3
t2
[00201] M8
[01110] M7
t4
t1
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 77
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
[11010] M1
[20010] M0
t2
t2
[00210] M10
[10110] M9
t4
[00201] M8
[01110] M6
t2
t3
t1
t1
[02010] M2
t3
[01110] M7
t4
Ing. Andrea Paoli – Controllo dei Processi Industriali
[11001] M3
t1
[20001] M11
t3
t2
[01101] M5
t1
[02001] M4
t2
t1
Reti di Petri 78
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
t2
[10110] M9
t4
[00210] M10
[02010] M2
[11010] M1
[20010] M0
t2
t3
t1
t1
t3
t2
[01110] M6
[00201] M8
[01101] M5
[11001] M3
t1
t1
[02001] M4
[20001] M11
t3
t2
t2
t2
[01110] M7
t4
t1
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 79
Esercizio 2
p1
t1
t2
p4
p3
p2
t4
t3
p5
t4
[11010] M1
[20010] M0
t2
[00210] M10
t2
[10110] M9
t4
[00201] M8
t2
[01110] M6
t2
t3
t1
t1
[02010] M2
t3
[01110] M7
t4
Ing. Andrea Paoli – Controllo dei Processi Industriali
[11001] M3
t1
[20001] M11
t3
t2
[01101] M5
t1
[02001] M4
t2
t1
Reti di Petri 80
Esercizio 2
t4
[11010] M1
[20010] M0
t2
[00210] M10
t2
t2
[01110] M6
[10110] M9
t4
t3
t1
t1
[02010] M2
t3
[00201] M8
[11001] M3
t1
[20001] M11
t3
t2
t2
[01101] M5
t1
[02001] M4
t2
[01110] M7
t4
t1
ÆVisto
ÆVistoche
chetutte
tuttelelemarcature
marcatureraggiungibili
raggiungibilihanno
hannoun
unnumero
numerolimitato
limitatodidigettoni
gettoninei
nei
posti
(non
c’è
il
simbolo
ω)
allora
la
rete
è
limitata.
posti (non c’è il simbolo ω) allora la rete è limitata.
ÆM4
ÆM4eeM10
M10sono
sonotransizioni
transizionimorte,
morte,quindi
quindilalarete
retenon
nonèèviva.
viva.
ÆEsistono
stati
a
partire
dai
quali
non
si
torna
in
M0,
quindi
ÆEsistono stati a partire dai quali non si torna in M0, quindilalarete
retenon
nonèè
reversibile.
reversibile.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 81
Esercizio 3
Data le rete di Petri in figura:
1. Si calcolino i P-invarianti e i T-invarianti minimi.
2. Si dica se la rete è coperta da P-invarianti e se è conservativa.
p1
p2
t1
t3
t4
p3
t2
p4
Ing. Andrea Paoli – Controllo dei Processi Industriali
p5
Reti di Petri 82
Esercizio 3
Data le rete di Petri in figura:
1. Si calcolino i P-invarianti e i T-invarianti minimi.
2. Si dica se la rete è coperta da P-invarianti e se è conservativa.
p1
p2
t1
t3
t4
p3
⎡1
⎢1
⎢
I = ⎢0
⎢
⎢0
⎢⎣0
0 0 0⎤
0 0 0⎥
⎥
1 0 0⎥
⎥
0 1 0⎥
0 0 1⎥⎦
⎡ −1 0
⎢ −1 0
⎢
C = ⎢ 1 −1
⎢
⎢0 1
⎢⎣ 0 1
t2
p5
p4
⎡0
⎢0
⎢
O = ⎢1
⎢
⎢0
⎢⎣0
0 1 0⎤
0 0 1⎥
⎥
0 0 0⎥
⎥
1 0 0⎥
1 0 0 ⎥⎦
0⎤
0 1⎥
⎥
0 0⎥
⎥
−1 0 ⎥
0 −1⎥⎦
1
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 83
Esercizio 3
Data le rete di Petri in figura:
1. Si calcolino i P-invarianti e i T-invarianti minimi.
p1
⎡ −1 0
⎢ −1 0
⎢
C = ⎢ 1 −1
⎢
⎢0 1
⎢⎣ 0 1
p2
t1
t3
t4
p3
t2
p4
p5
1
0
0
−1
0
0⎤
1⎥
⎥
0⎥
⎥
0⎥
−1⎥⎦
x TC = 0
⎧ − x1 − x 2 + x 3 = 0
⎪ − x + x + x = 0 ⎧ x1 = x 4
⎪ 3
⎪
4
5
⇒
⎨
⎨ x2 = x5
x
−
x
=
0
1
4
⎪
⎪x = x + x
1
2
⎩ 3
⎪⎩ x 2 − x 5 = 0
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 84
Esercizio 3
Data le rete di Petri in figura:
1. Si calcolino i P-invarianti e i T-invarianti minimi.
x TC = 0
p1
⎧ − x1 − x 2 + x 3 = 0
⎪ − x + x + x = 0 ⎧ x1 = x 4
⎪ 3
⎪
4
5
⇒ ⎨ x2 = x5
⎨
⎪ x1 − x 4 = 0
⎪x = x + x
1
2
⎩ 3
⎪⎩ x 2 − x 5 = 0
p2
t1
t3
t4
p3
⎡ 1⎤
⎡0 ⎤
⎢0 ⎥
⎢ 1⎥
⎢ ⎥
⎢ ⎥
⎧ m + m3 + m4 = 1
PI1 = ⎢ 1⎥ , PI2 = ⎢ 1⎥ ⇒ ⎨ 1
⎢ ⎥
⎢ ⎥
⎩m2 + m3 + m5 = 1
1
0
⎢ ⎥
⎢ ⎥
⎢⎣0⎥⎦
⎢⎣ 1⎥⎦
t2
p5
p4
Ponendo x1=1, x2 =0 e x1=0, x2=1 si
ottengono i due P-invarianti minimi.
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 85
Esercizio 3
Data le rete di Petri in figura:
1. Si calcolino i P-invarianti e i T-invarianti minimi.
Cy = 0
p1
p2
t1
t3
t4
p3
Ponendo x1=1 si ottiene l’unico T-invariante
minimo.
t2
p4
⎧ − x1 + x 3 = 0
⎪−x + x = 0
4
⎪⎪ 1
⎨ x1 − x 2 = 0 ⇒ x1 = x 2 = x 3 = x 4 = x 5
⎪ x −x =0
5
⎪ 2
⎪⎩ x 2 − x 4 = 0
p5
⎡1⎤
⎢1⎥
⎧ t1,t2,t3,t4
TI = ⎢ ⎥ ⇒ ⎨
⎢1⎥
⎩ t1,t2,t4,t3
⎢ ⎥
⎣1⎦
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 86
Esercizio 3
Data le rete di Petri in figura:
2. Si dica se la rete è coperta da P-invarianti e se è conservativa.
p1
⎡ 1⎤
⎡0 ⎤
⎡ 1⎤
⎢0 ⎥
⎢ 1⎥
⎢ 1⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
PI1 = ⎢ 1⎥ , PI2 = ⎢ 1⎥ , PI3 = PI1 + PI2 = ⎢ 2⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
1
0
⎢ ⎥
⎢ ⎥
⎢ 1⎥
⎢⎣0⎥⎦
⎢⎣ 1⎥⎦
⎢⎣ 1⎥⎦
p2
t1
t3
t4
p3
t2
p4
p5
PI3 è un P-invariante non minimo con
supporto l’intera rete. Quindi la rete è
coperta da P-invarianti.
Visto che PI3 è positivo la rete è
conservativa.
5
∑wm
i
i
i=1
=2
⇒
w = [1 1 2 1 1]
Ing. Andrea Paoli – Controllo dei Processi Industriali
T
Reti di Petri 87
Esercizio 4
Si consideri il sistema di produzione costituito da due macchine M1 e M2, un robot
R ed un buffer B di capacità limitata pari a 2.
I pezzi da lavoare entrano nel buffer in modo automatico. Quindi R, se libero,
carica M1 e M2 che accettano un solo pezzo per volta. Al termine della
lavorazione i pezz vengono scaricati automaticamente.
1. Si costruisca la rete di Petri che modella il sistema.
R
Macchina
M1
Buffer
B
Macchina
M2
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 88
Esercizio 4
Operazioni da effettuare:
Inizio t1
p1 (carico buffer)
Fine t2
p2 (pezzo in B)
t7 Inizio
Inizio t3
p3
(carico di M1)
Fine t4
p6
(carico di M2)
t8 Fine
p6
(pezzo in M2)
p4
(pezzo in M1)
Inizio t5
p5
(lavorazione M1)
t9 Inizio
p7
(lavorazione M2)
t10 Fine
Fine t6
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 89
Esercizio 4
Introduciamo le risorse fisiche: B, R, M1 e M2
Inizio t1
p1 (carico buffer)
Fine t2
p2 (pezzo in B)
Inizio t3
p3
(carico di M1)
Fine t4
t7 Inizio
p9
(posto in B)
p4
(pezzo in M1)
Inizio t5
p5
(lavorazione M1)
Fine t6
Ing. Andrea Paoli – Controllo dei Processi Industriali
p6
(carico di M2)
t8 Fine
p6
(pezzo in M2)
t9 Inizio
p7
(lavorazione M2)
t10 Fine
Reti di Petri 90
Esercizio 4
Introduciamo le risorse fisiche: B, R, M1 e M2
Inizio t1
p1 (carico buffer)
Fine t2
p2 (pezzo in B)
Inizio t3
p3
(carico di M1)
Fine t4
t7 Inizio
p9
(posto in B)
p4
(pezzo in M1)
Inizio t5
p5
(lavorazione M1)
p10
(R libero)
Fine t6
p6
(carico di M2)
t8 Fine
p6
(pezzo in M2)
t9 Inizio
p7
(lavorazione M2)
t10 Fine
Ing. Andrea Paoli – Controllo dei Processi Industriali
Reti di Petri 91
Esercizio 4
Introduciamo le risorse fisiche: B, R, M1 e M2
Inizio t1
p1 (carico buffer)
Fine t2
p2 (pezzo in B)
p11
(M1 libera)
Inizio t3
p3
(carico di M1)
Fine t4
p4
(pezzo in M1)
Inizio t5
p5
(lavorazione M1)
t7 Inizio
p9
(posto in B)
p10
(R libero)
Fine t6
Ing. Andrea Paoli – Controllo dei Processi Industriali
p6
(carico di M2)
t8 Fine
p6
(pezzo in M2)
p12
(M2 libera)
t9 Inizio
p7
(lavorazione M2)
t10 Fine
Reti di Petri 92
Esercizio 4
Marcatura iniziale: B vuoto, R, M1 e M2 libere Æ m9=2, m10=m11=m12=1
Inizio t1
p1 (carico buffer)
Fine t2
p2 (pezzo in B)
p11
(M1 libera)
Inizio t3
p3
(carico di M1)
Fine t4
p4
(pezzo in M1)
Inizio t5
p5
(lavorazione M1)
t7 Inizio
p9
(posto in B)
p10
(R libero)
Fine t6
Ing. Andrea Paoli – Controllo dei Processi Industriali
p6
(carico di M2)
t8 Fine
p6
(pezzo in M2)
p12
(M2 libera)
t9 Inizio
p7
(lavorazione M2)
t10 Fine
Reti di Petri 93