Tesi etd-06032018-181747 |
Link copiato negli appunti
Tipo di tesi
Tesi di laurea magistrale
Autore
BELLUCCI, JACOPO
URN
etd-06032018-181747
Titolo
PROGETTAZIONE DI UN ACCELERATORE HARDWARE SU TECNOLOGIA FPGA PER SISTEMI DI CONTROLLO INDUSTRIALI BASATI SU PLC
Dipartimento
INGEGNERIA DELL'INFORMAZIONE
Corso di studi
INGEGNERIA ELETTRONICA
Relatori
relatore Prof. Fanucci, Luca
Parole chiave
- fpga
- iec61131
- plc
Data inizio appello
22/06/2018
Consultabilità
Non consultabile
Data di rilascio
22/06/2088
Riassunto
Il controllore a logica programmabile o programmable logic controller (PLC) è un computer per industria specializzato che esegue un programma ed elabora i
segnali provenienti da sensori e diretti agli attuatori presenti in un impianto industriale. È un oggetto hardware componibile la cui struttura viene adattata
in base al processo da automatizzare. Durante la progettazione del sistema di controllo, vengono scelte le schede (moduli di I/O) adatte alle grandezze elettriche
in gioco.
Esse comunicano con il PLC tramite bus industriali (tipicamente EtherCAT o ModBus), perciò i tempi di risposta, che tengono conto di acquisizione ingressi,
comunicazione ed elaborazione, sono dell’ordine del millisecondo.
Esistono, però, alcuni campi applicativi in cui sono richiesti tempi di risposta nettamente minori (es. Safety).
In questa tesi, per conto di ed in collaborazione con ISAC srl, viene affrontato il problema della progettazione di un modulo di I/O con tempi di risposta molto brevi
e programmabile in modo indipendente dal PLC stesso per poter risultare più flessibile rispetto ad una scheda classica.La programmazione deve avvenire tramite
uso di uno dei linguaggi dello std.IEC 61131.
Quello della velocità di risposta è un problema molto sentito nell’Automazione Industriale moderna, infatti sono molte le ricerche a riguardo che
sono state fatte e che sono ancora in corso.
La miglior soluzione esistente oggi in commercio è la reVERSE Technology di B&R Automation, i cui moduli I/O hanno tempi di risposta pari a 1 us.
In questo elabotato verranno analizzate brevemente le soluzioni ancora in fase di studio e la soluzione di B&R per poi procedere con la descrizione
della soluzione qui proposta, che consta nello sviluppo di un Acceleratore Hardware mappato sulla FPGA già presente sul modulo I/O, nella quale è presente una FSM
che gestisce alcuni blocchi hardware che svolgono alcune delle funzioni tipiche dell'Automazione Industriale.
Viene utilizzata una FPGA Lattice ECP3 da 17K-LUTs; tali risorse dovranno essere obbligatoriamente rispettate.
Un compilatore viene sviluppato (lato PC) per poter tradurre uno dei linguaggi tipici dell'automazione (std. IEC 61131) nel linguaggio che programma la macchina.
Il codice macchina verrà allocato in una EPROM da 32k. Anche il codice ha, dunque, dei limiti sulle risorse sfruttabili.
Vengono quindi analizzati nel dettaglio il funzionamento della macchina e l'algoritmo del compilatore. Si procede illustrando il comportamento di tale dispositivo
tramite simulazioni di alcuni casi tipici. Si dimostra che alcune funzioni tipiche possono essere scritte in funzione di operazioni semplici come
addizione, sottrazione, AND logico e XOR logico.
I linguaggi dello std. IEC 61131 che sono stati scelti per questo lavoro sono LADDER DIAGRAM e INSTRUCTION LIST.
La traduzione dal primo al secondo è fatta automaticamente dal software di programmazione interno all'azienda, mentre il compilatore sviluppato opera la traduzione del
secondo in un codice macchina binario con cui è possibile programmare l'acceleratore.
Il codice macchina generato dal compilatore è costituito da stringhe di bit, ognuna delle quali ha una lunghezza pari a 30 bit per ogni operazione semplice a 2 operandi.
Le stringhe vengono eseguite dall'hardware una alla volta.
Le simulazioni mostrano tempi di risposta pari a 100ns per ogni stringa e questo costituisce un ottimo punto di partenza per futuri sviluppi.
segnali provenienti da sensori e diretti agli attuatori presenti in un impianto industriale. È un oggetto hardware componibile la cui struttura viene adattata
in base al processo da automatizzare. Durante la progettazione del sistema di controllo, vengono scelte le schede (moduli di I/O) adatte alle grandezze elettriche
in gioco.
Esse comunicano con il PLC tramite bus industriali (tipicamente EtherCAT o ModBus), perciò i tempi di risposta, che tengono conto di acquisizione ingressi,
comunicazione ed elaborazione, sono dell’ordine del millisecondo.
Esistono, però, alcuni campi applicativi in cui sono richiesti tempi di risposta nettamente minori (es. Safety).
In questa tesi, per conto di ed in collaborazione con ISAC srl, viene affrontato il problema della progettazione di un modulo di I/O con tempi di risposta molto brevi
e programmabile in modo indipendente dal PLC stesso per poter risultare più flessibile rispetto ad una scheda classica.La programmazione deve avvenire tramite
uso di uno dei linguaggi dello std.IEC 61131.
Quello della velocità di risposta è un problema molto sentito nell’Automazione Industriale moderna, infatti sono molte le ricerche a riguardo che
sono state fatte e che sono ancora in corso.
La miglior soluzione esistente oggi in commercio è la reVERSE Technology di B&R Automation, i cui moduli I/O hanno tempi di risposta pari a 1 us.
In questo elabotato verranno analizzate brevemente le soluzioni ancora in fase di studio e la soluzione di B&R per poi procedere con la descrizione
della soluzione qui proposta, che consta nello sviluppo di un Acceleratore Hardware mappato sulla FPGA già presente sul modulo I/O, nella quale è presente una FSM
che gestisce alcuni blocchi hardware che svolgono alcune delle funzioni tipiche dell'Automazione Industriale.
Viene utilizzata una FPGA Lattice ECP3 da 17K-LUTs; tali risorse dovranno essere obbligatoriamente rispettate.
Un compilatore viene sviluppato (lato PC) per poter tradurre uno dei linguaggi tipici dell'automazione (std. IEC 61131) nel linguaggio che programma la macchina.
Il codice macchina verrà allocato in una EPROM da 32k. Anche il codice ha, dunque, dei limiti sulle risorse sfruttabili.
Vengono quindi analizzati nel dettaglio il funzionamento della macchina e l'algoritmo del compilatore. Si procede illustrando il comportamento di tale dispositivo
tramite simulazioni di alcuni casi tipici. Si dimostra che alcune funzioni tipiche possono essere scritte in funzione di operazioni semplici come
addizione, sottrazione, AND logico e XOR logico.
I linguaggi dello std. IEC 61131 che sono stati scelti per questo lavoro sono LADDER DIAGRAM e INSTRUCTION LIST.
La traduzione dal primo al secondo è fatta automaticamente dal software di programmazione interno all'azienda, mentre il compilatore sviluppato opera la traduzione del
secondo in un codice macchina binario con cui è possibile programmare l'acceleratore.
Il codice macchina generato dal compilatore è costituito da stringhe di bit, ognuna delle quali ha una lunghezza pari a 30 bit per ogni operazione semplice a 2 operandi.
Le stringhe vengono eseguite dall'hardware una alla volta.
Le simulazioni mostrano tempi di risposta pari a 100ns per ogni stringa e questo costituisce un ottimo punto di partenza per futuri sviluppi.
File
Nome file | Dimensione |
---|---|
Tesi non consultabile. |