PALUZZANO PRELAUREA

424 views

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
424
On SlideShare
0
From Embeds
0
Number of Embeds
175
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PALUZZANO PRELAUREA

  1. 1. Università degli studi di Trieste Dipartimento di Ingegneria ed Architettura Corso di studi in Ingegneria Informatica Laureando: Enrico PALUZZANO Relatore: prof. Alberto BARTOLI
  2. 2. 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.
  3. 3. 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.
  4. 4. 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
  5. 5. 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 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.
  6. 6. 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
  7. 7. 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)
  8. 8. 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
  9. 9. 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
  10. 10. 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)
  11. 11. 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
  12. 12. La comunicazione (II)  La comunicazione, all’interno del Gate, avviene tramite l’intervento di due macro entità:  PlcDriver  PipeObject GATE PIPEOBJECT PLCDRIVER APPLICAZIONI SOFTNET PLC ALLEN-BRADLEY LINK LINK ALLNBRADLEY PLC SENDRECEIVE LINK SENDRECEIVE PLC SOFTNET LINK TRANSAZIONI
  13. 13. 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
  14. 14. 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
  15. 15. UNUSED SIMULATION Entry / Link da servire = 0 Do / Attende e inizial. driver Exit / Link da servire > 0 INIZIO ERROR Entry / Inizial. driver fallita Do / Aspetta timeout RESTARTING Entry / Mod. sim. richiesta Do / Finalizza il driver e attende Exit / Mod. live richiesta ACTIVE Entry / Link da servire > 0 Do / Apre link, attende transazioni ed esegue transazioni Exit / Links da servire = 0 oppure un link è in stato di errore per più di MaxOveralltime oppure è stata richiesta la chiusura del driver Do / Finalizza driver e terimina link STOPPED FINE Do / Finalizza il driver e rimuove i link.
  16. 16. 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
  17. 17. Screenshot Gate
  18. 18. 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
  19. 19. Screenshot Board

×