+ All Categories
Transcript
Page 1: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL

CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Università degli studi di Trieste

Dipartimento di Ingegneria ed Architettura

Corso di studi in Ingegneria Informatica

Laureando:Enrico PALUZZANO

Relatore:prof. Alberto BARTOLI

Page 2: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

IntroduzioneIl lavoro presentato è stato svolto all’interno

dell’azienda SMS Concast.

SMS Concast sviluppa e produce software per l’automazione degli impianti siderurgici.

Il software presentato è il sistema di comunicazione, utilizzato dalle applicazioni, per controllare il processo produttivo dell’impianto: il suo nome è GATE.

Page 3: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Organizzazione aziendaleL’organizzazione degli impianti viene

strutturata su diversi livelli.Livello 1: è il livello che gestisce

l’automazione nell’impianto.Il livello 2: è il livello preposto alla gestione

del processo produttivo. (livello in cui è stato sviluppato il software prodotto)

Il livello 3: è il livello preposto alla gestione delle commesse.

Page 4: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Livello 2Il software sviluppato nel livello 2 svolge

svariati compiti:calcolo dei piani di taglio per gli acciai specialicontrollo della composizione chimica

dell’acciaio…

Le necessità del software di questo livello sono:Conoscere lo stato dell’impiantoComandare il processo produttivo

Page 5: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

PLC Lo stato dell’impianto viene controllato da specifiche

apparecchiature chiamate PLC (Programmable Logic Controller)

Al loro interno sono installate le applicazioni di Livello 1 che permettono di:Scrivere in memoria i dati ricevuti dai rilevatoriLeggere dalla memoria i comandi da inviare alle

macchine tramite gli attuatoriUn’applicazione di livello 2, per controllare il processo

produttivo, deve necessariamente comunicare con i PLC.

Questa comunicazione avviene interagendo con la loro memoria interna.

Page 6: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Definizione del problema (I)Comunicare con i PLC presenta delle

difficoltà in quanto:Possono esser prodotti da case produttrici

differentiUtilizzano librerie proprietarie diverseNecessitano di comunicazioni robuste ed affidabili

Le applicazioni di livello 2 hanno la necessità di comunicare:Con più PLC nello stesso momentoIn maniera concorrente fra loroFrequentemente

Page 7: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Definizione del problema (II)Per questo è stato realizzato dall’azienda un software

intermedio tra applicazioni di livello 2 e PLC.Vantaggi:

Non impegna le applicazioni nella comunicazioneIncorpora l’utilizzo di diversi protocolliPermette di controllare lo stato delle comunicazioni

Svantaggi:Deve essere robusto

(capace di gestire correttamente i malfunzionamenti)

Deve essere affidabile(non può bloccarsi altrimenti le applicazioni non

controllano più il processo produttivo)

Page 8: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Specifiche richieste A fronte di una commessa è stato chiesto al

livello 2 dell’azienda di:Tradurre le applicazioni che già distribuisce, in

linguaggio C#Ridisegnare le interfacce utilizzando

WPF(Windows Presentation Foundation)Sviluppare delle nuove applicazioni

personalizzate per alcune necessità specifiche del committente

Page 9: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Stato dell’arteIl software presentato in questa tesi è stato

sviluppato partendo da quello correntemente utilizzato.

Il software precedente:E’ scritto in linguaggio PascalUtilizza tre tipi di librerie

Softnet AllenBradley SendReceive

Implementa il controllo da remoto

Page 10: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Specifiche del GATE (I)Il nuovo software, sviluppato nell’ambito del

tirocinio, presenta le seguenti specifiche:E’ scritto in linguaggio C#Ha le interfacce disegnate utilizzando WPFUtilizza la libreria proprietaria Softnet

utilizzata per comunicare con i PLC SIEMENS S7

Implementa il sistema remoto utilizzando WCF (Windows Comunication Foundation)

Page 11: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

La comunicazione(I)Per comunicare con i PLC, le applicazioni,

comunicano con il Gate utilizzando la seguente procedura:Definiscono una connessione (Link)Accodano una richiesta (Transazione)Prelevano l’esito della richiesta

Successivamente il Gate interagisce con i PLC nel seguente modo:Carica la libreria proprietariaApre il canale di comunicazioneEsegue la richiesta tramite le funzioni della libreria

proprietaria

Page 12: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

La comunicazione (II)La comunicazione, all’interno del Gate,

avviene tramite l’intervento di due macro entità:PlcDriverPipeObjectGATE

APPLICAZIONI

PIPEOBJECT

LINKPLC

TRANSAZIONI

PLC

PLC

PLCDRIVER

SOFTNET

SENDRECEIVE

ALLNBRADLEYALLEN-BRADLEY LINK

SOFTNET LINK

SENDRECEIVE LINK

Page 13: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Comportamento delle classiIl PipeObject ha il compito di:

Ricevere le richieste di connessione da parte delle applicazioni

Passarle al corretto driver in esecuzioneRicevere ed accodare le richieste di lettura o scrittura

Il PlcDriver ha il compito di:Caricare le librerie proprietarieAprire le connessioni passategli dal PipeObject, con i PLCPrelevare dal PipeObject, se accodata, una Transazione

relativa alla connessione apertaEseguire la Transazione e salvarne il risultato all’interno del

PipeObjectRilasciare le librerie proprietarie

Page 14: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Sviluppo di PlcDriverE’ la classe ancestrale che definisce il

comportamento generale del driver Incorpora un thread per l’esecuzione ciclica

di una funzione chiamata ExecuteQuesta funzione è stata completamente

riprogettata e sviluppataE’ la più rilevante modifica apportata al

software precedenteSi basa sull’applicazione a PlcDriver di un

modello a stati finiti

Page 15: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

INIZIO

UNUSED

Entry / Link da servire = 0Do / Attende e inizial. driverExit / Link da servire > 0

ACTIVE

Entry / Link da servire > 0Do / Apre link, attende transazioni ed esegue transazioniExit / Links da servire = 0 oppure un link è in stato di errore per più di MaxOveralltime oppure è stata richiesta la chiusura del driver

STOPPED

Do / Finalizza il driver e rimuove i link.

FINE

RESTARTING

Do / Finalizza driver e terimina link

SIMULATION

Entry / Mod. sim. richiestaDo / Finalizza il driver e attende Exit / Mod. live richiesta

ERROR

Entry / Inizial. driver fallitaDo / Aspetta timeout

Page 16: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Risultati dello sviluppo:Il risultato ottenuto da questa

implementazione di PlcDriver si può riassumere in:Un comportamento più affidabile dei driverUna miglior chiarezza del codiceUn aumento delle prestazioni in alcune

situazioni

Page 17: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Screenshot Gate

Page 18: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

L’applicazione di test: BoardIl Board è un’applicazione che simula il

comportamento di una normale applicazione del livello 2

Tramite il Board è possibile:Definire un Link ad un PLCLeggere dalla memoria del PLCScrivere sulla memoria del PLCLanciare delle funzioni di testControllare lo stato delle transazioni

Page 19: REALIZZAZIONE DI UN SOFTWARE DI COMUNICAZIONE MULTIPROTOCOLLO PER IL CONTROLLO DI PROCESSO IN AMBITO INDUSTRIALE

Screenshot Board


Top Related