Sviluppo di un esecutore per reti di Petri con ingresso e uscita e sue applicazioni didattiche e industriali

Lino Todeschini
Matr. 649564

Lo scopo di questo elaborato è la descrizione di una struttura software che consenta la compilazione e l’esecuzione di reti di Petri. Il cuore della realizzazione è una classe sviluppata con il linguaggio di programmazione Delphi, una sorta di Visual Pascal ad oggetti. Esistono comunque diverse possibilità di rendere disponibile la classe stessa ad altri ambienti di sviluppo.

Lo sviluppo della classe, di seguito denominata RdPNet, è motivato dalla possibilità di progettare un sistema di controllo modellizzandolo con una rete di Petri, di trasferire facilmente la rete stessa al sistema di controllo, ed eseguire il controllore così realizzato con funzioni di ingresso ed uscita che ne controllino l’evoluzione. La classe RdPNet e gli oggetti con essa realizzati presentano al programmatore diversi metodi per la compilazione della struttura della rete, per la gestione delle funzioni di ingresso ed uscita, e per l’esecuzione automatica o controllata.

Gli obiettivi finali sono la realizzazione di software applicativo di controllo per automazione industriale e, non di secondaria importanza, la realizzazione di un simulatore visuale di reti di Petri per scopo didattico.

Il software per simulazione RdPRun è stato sviluppato utilizzando la classe RdPNet; esso consente la compilazione e la simulazione interattiva di una rete di Petri. E’ stato concepito per visualizzare graficamente l’evoluzione di una rete di Petri ed osservarne i comportamenti in base a diverse sequenze di attivazione.

Viene inoltre presentato sinteticamente un progetto pratico di una realizzazione hardware e software di un controllore di cassa automatica per parcheggio che utilizza come motore di evoluzione la stessa classe RdPNet. Data la sequenzialità intrinseca del processo di pagamento, la tipica gestione asincrona degli ingressi e delle uscite e la classica struttura facilmente modellizzabile come un automa a stati finiti, lo sviluppo del software applicativo per controllare un simile processo risulta estremamente semplificata dall’utilizzo della classe RdPNet. Il software prodotto utilizzando la classe RdPNet risulta facilmente modificabile, rapidamente testabile ed auto-documentato.

RdPRun: esempio di visualizzazione grafica

RdPRun: esempio di visualizzazione matriciale