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