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

335 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
335
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  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

×