Reti
di Petri: Controllo Supervisivo basato su P-Invarianti
Elaborato di Laurea di
Relatore:
prof.
Correlatore: ing.
Il controllo logico delle reti di Petri,
formalismo sviluppato qualche decennio fa per lo studio e la rappresentazione
di sistemi ad eventi discreti, è l’obiettivo dello studio di questo
elaborato.
La tecnica del controllo supervisivo basato su
P-Invarianti permette di determinare un posto di controllo partendo da un
vincolo che costituisce la specifica del comportamento desiderato per un
sistema ad anello chiuso.
I vincoli formali possono essere di 2 tipi:
·
sulle marcature, se
prendono in considerazione solo lo stato dei posti della rete.
·
vincoli misti, se oltre
alle marcature dei posti vengono coinvolti anche gli scatti delle transizioni.
Il principale obiettivo del lavoro è di
estendere ed analizzare casi particolari in cui è possibile applicare il
Controllo Supervisivo delle Reti di Petri basato sul metodo dei
P-Invarianti. Partendo dai vincoli misti si è proceduto ad
estenderne il significato attribuendo loro un significato di vincolo a
soglia. Quest’ultimo sotto forma di vincolo comportamentale, esprime la
necessità di disabilitare una transizione se il valore di determinate marcature
della rete è sopra o sotto un valore di riferimento k’.
I vincoli
comportamentali esaminati sono i seguenti:
·
vincoli a soglia
di disabilitazione con mx > k’, che
permette la disabilitazione di una transizione se la marcatura mx
supera il valore k’.
·
vincoli a soglia
di disabilitazione con mx <= k’ , che
permette la disabilitazione di una transizione se la marcatura mx è
minore o uguale del valore k’.
·
vincoli a finestra con
disabilitazione all’esterno di un intervallo kinf e ksup, che permette la disabilitazione di una
transizione se la marcatura mx è maggiore di ksup
e minore o uguale di kinf.
·
vincoli a finestra con
disabilitazione all’interno di un intervallo kinf e ksup, che permette la disabilitazione di una
transizione se la marcatura mx è compresa fra il valore kinf
e ksup.
Una trattazione a parte merita il capitolo
dedicato alla realizzazione di un controllo basato su
vincoli in OR, per i quali si è dovuto procedere ad elaborare un algoritmo di
replicazione di determinate transizioni della rete per soddisfare la logica
disgiuntiva. Dopo questa operazione è stato possibile
determinare il sistema di vincoli misti che permette la realizzazione del
controllo.
Il vincolo comportamentale a soglia
di disabilitazione con mx > k’ è il seguente:
·
Marcatura
posto mx > k’ à transizione ty disabilitata
·
Marcatura
posto mx ≤ k’ à transizione ty non disabilitata dal controllo
Questo vincolo introduce anche la necessità di
limitare px di un valore k’’ in quanto il
controllore inserisce un posto che contiene un numero di gettoni complementare
alla marcatura controllata.
Ricaviamo
il vincolo formale risultante nella forma classica dei vincoli misti:
·
mx +(k’’-k’)sy ≤ k’’
In figura è mostrata una rete e il risultato dopo
aver applicato il controllore a soglia mx > k’.
Il vincolo comportamentale a soglia
di disabilitazione con mx <= k’ è il seguente:
·
Marcatura
posto mx ≤ k’ à transizione ty disabilitata
·
Marcatura
posto mx > k’ à transizione ty non disabilitata dal controllo
Questo vincolo non introduce la
necessità di limitare il posto sotto controllo.
Ricaviamo il vincolo formale
risultante nella forma classica dei vincoli misti:
·
-mx
+(k’+1)sy ≤
0
In figura è mostrata la rete precedente e il
risultato dopo aver applicato il controllo a soglia mx <= k’ .
I vincoli a soglia
di disabilitazione mx > k’, ed mx <= k’ sono la base
per poter trovare la soluzione dei vincoli a finestra.
I vincoli a finestra di disabilitazione
all’esterno di un intervallo permettono di disabilitare una transizione se il
numero di gettoni presenti in una marcatura è minore di un valore soglia kinf
e superiore ad un valore soglia ksup. Il
risultato è ottenuto mediante la generazione di due posti di controllo che
agiscono sulla stessa transizione ovvero ponendoli in congiunzione logica AND. I due vincoli sono riconducibili ai vincoli
comportamentali trattati nei 2 casi precedenti.
Il problema dei vincoli a finestra di
disabilitazione all’interno di un intervallo potrebbe
essere risolto in modo analogo, ma sorge un problema rilevante dovuto al fatto
che i 2 vincoli per poter operare correttamente dovrebbero agire in logica OR e
non in AND. Questo ci ha portato a progettare un algoritmo di duplicazione
delle transizioni controllate in modo da rispettare la logica disgiuntiva.
Particolarmente significativi i vincoli legati fra loro dall’operatore
logico OR che si presentano nella forma:
mi ≤(≥) a OR mj ≤(≥) b OR …
Il rispetto del vincolo è
possibile agendo sulla disabilitazione delle transizioni che si trovano nel
preset o nel postset delle marcature interessate.
Nel caso in cui il vincolo è nella forma mi
≤ a le transizioni da controllare stanno nel
preset del posto pi. Nel caso in cui mj
≥ b le transizioni da controllare sono quelle
nel postset di pj.
Ma è anche possibile che una marcatura controllata
possa “trasgredire” la restrizione impostagli purché almeno
un’altra marcatura coinvolta nel vincolo OR rispetti il proprio vincolo.
Per poter far ciò è stato progettato un algoritmo
di replicazione delle transizioni interessate dal controllo mantenendo
inalterate le caratteristiche della rete. Il controllo della rete dopo la
replicazione opportuna è affidato ad una serie di vincoli a soglia espressi in
modo formale con vincoli misti.
I risultati ottenuti
possono essere riassunti in queste due formulazioni:
·
estensione dei
vincoli comportamentali a soglia, tradotti in vincoli formali e imposti ad una
rete di Petri;
·
interpretazione
di un vincolo misto nella forma lMp + fs ≤ b in modo da attribuire un comportamento
esprimibile da un vincolo comportamentale a soglia di disabilitazione.
Tra gli sviluppi futuri più impegnativi
proponiamo:
·
risoluzione del vincolo a
finestra all’interno di un intervallo senza duplicazione della transizione
controllata, che potrebbe portare anche sviluppi più diretti per la risoluzione
dei vincoli OR.
·
di particolare interesse
pare anche la trattazione di vincoli misti che tengono conto del numero di
scatti di una transizione invece che del vettore da noi trattato che stabilisce
l’abilitazione.
___________________________________________________________________