Reti di Petri: Controllo Supervisivo basato su P-Invarianti

 

Elaborato di Laurea di Brambilla Massimiliano AA 2003-2004

 

Relatore:       prof.  Luca   Ferrarini

Correlatore:    ing.  Adamo Castelnuovo

 

Introduzione

 

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.

 

Obiettivi

 

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. 

 

Principali risultati

 

Il vincolo comportamentale a soglia di disabilitazione con mx > k’ è il seguente:

·         Marcatura posto mx > k’ à transizione ty disabilitata

·         Marcatura posto mxk’ à 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’)syk’

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 mxk’ à 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 mia 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.

 

Conclusioni e sviluppi futuri

 

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.

 

___________________________________________________________________