PALUZZANO PRELAUREA

19
Università degli studi di Trieste Dipartimento di Ingegneria ed Architettura Corso di studi in Ingegneria Informatica Laureando: Enrico PALUZZANO Relatore: prof. Alberto BARTOLI

description

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

Transcript of PALUZZANO PRELAUREA

Page 1: PALUZZANO PRELAUREA

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: PALUZZANO PRELAUREA

Introduzione Il 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: PALUZZANO PRELAUREA

Organizzazione aziendale L’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: PALUZZANO PRELAUREA

Livello 2 Il software sviluppato nel livello 2 svolge svariati

compiti:

calcolo dei piani di taglio per gli acciai speciali

controllo della composizione chimica dell’acciaio

Le necessità del software di questo livello sono:

Conoscere lo stato dell’impianto

Comandare il processo produttivo

Page 5: PALUZZANO PRELAUREA

PLC Lo stato dell’impianto viene controllato da specifiche

apparecchiature chiamate PLC (Programmable LogicController)

Al loro interno sono installate le applicazioni di Livello 1 che permettono di: Scrivere in memoria i dati ricevuti dai rilevatori

Leggere dalla memoria i comandi da inviare alle macchine tramite gli attuatori

Un’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: PALUZZANO PRELAUREA

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

quanto: Possono esser prodotti da case produttrici differenti

Utilizzano librerie proprietarie diverse

Necessitano di comunicazioni robuste ed affidabili

Le applicazioni di livello 2 hanno la necessità di comunicare: Con più PLC nello stesso momento

In maniera concorrente fra loro

Frequentemente

Page 7: PALUZZANO PRELAUREA

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 comunicazione

Incorpora l’utilizzo di diversi protocolli

Permette 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: PALUZZANO PRELAUREA

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: PALUZZANO PRELAUREA

Stato dell’arte Il software presentato in questa tesi è stato sviluppato

partendo da quello correntemente utilizzato.

Il software precedente:

E’ scritto in linguaggio Pascal

Utilizza tre tipi di librerie

Softnet

AllenBradley

SendReceive

Implementa il controllo da remoto

Page 10: PALUZZANO PRELAUREA

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 WPF

Utilizza la libreria proprietaria Softnet utilizzata per comunicare con i PLC SIEMENS S7

Implementa il sistema remoto utilizzando WCF (Windows Comunication Foundation)

Page 11: PALUZZANO PRELAUREA

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 proprietaria

Apre il canale di comunicazione

Esegue la richiesta tramite le funzioni della libreria proprietaria

Page 12: PALUZZANO PRELAUREA

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

tramite l’intervento di due macro entità:

PlcDriver

PipeObject

GATE

APPLICAZIONI

PIPEOBJECT

LINKPLC

TRANSAZIONI

PLC

PLC

PLCDRIVER

SOFTNET

SENDRECEIVE

ALLNBRADLEYALLEN-BRADLEY

LINK

SOFTNET LINK

SENDRECEIVE LINK

Page 13: PALUZZANO PRELAUREA

Comportamento delle classi Il PipeObject ha il compito di:

Ricevere le richieste di connessione da parte delle applicazioni

Passarle al corretto driver in esecuzione

Ricevere ed accodare le richieste di lettura o scrittura

Il PlcDriver ha il compito di: Caricare le librerie proprietarie

Aprire le connessioni passategli dal PipeObject, con i PLC

Prelevare dal PipeObject, se accodata, una Transazione relativa alla connessione aperta

Eseguire la Transazione e salvarne il risultato all’interno del PipeObject

Rilasciare le librerie proprietarie

Page 14: PALUZZANO PRELAUREA

Sviluppo di PlcDriver E’ la classe ancestrale che definisce il comportamento

generale del driver

Incorpora un thread per l’esecuzione ciclica di una funzione chiamata Execute

Questa funzione è stata completamente riprogettata e sviluppata

E’ la più rilevante modifica apportata al software precedente

Si basa sull’applicazione a PlcDriver di un modello a stati finiti

Page 15: PALUZZANO PRELAUREA

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: PALUZZANO PRELAUREA

Risultati dello sviluppo: Il risultato ottenuto da questa implementazione di

PlcDriver si può riassumere in:

Un comportamento più affidabile dei driver

Una miglior chiarezza del codice

Un aumento delle prestazioni in alcune situazioni

Page 17: PALUZZANO PRELAUREA

Screenshot Gate

Page 18: PALUZZANO PRELAUREA

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

comportamento di una normale applicazione del livello 2

Tramite il Board è possibile:

Definire un Link ad un PLC

Leggere dalla memoria del PLC

Scrivere sulla memoria del PLC

Lanciare delle funzioni di test

Controllare lo stato delle transazioni

Page 19: PALUZZANO PRELAUREA

Screenshot Board