INDUSTRIAL INFORMATICS

Anno accademico 2022/2023 - Docente: Salvatore CAVALIERI

Risultati di apprendimento attesi

Conoscenza e capacità di comprensione: Al completamento del corso, il discente avrà acquisito: conoscenza delle caratteristiche fondamentali dei dispositivi di calcolo orientati all'automazione industriale e dunque utilizzati in ambito industriale; conoscenza dei principali standard di riferimento per la programmazione di tali dispositivi e per lo sviluppo di applicazioni industriali distribuite basate sui sistemi di comunicazione industriale; conoscenza delle caratteristiche principali degli ambienti di sviluppo per la programmazione di dispositivi industriali e per lo sviluppo di applicazioni industriali distribuite; conoscenza dei principali standard di riferimento per la definizione di modelli di informazioni in ambito industriale e per la realizzazione dello scambio dati tra applicativi basati sui paradigmi di comunicazione client/server e publish/subscriber.

Capacità di applicare conoscenza e comprensione: Il corso permetterà di acquisire capacità di progettazione e sviluppo di programmi di controllo industriali tramite il supporto degli appropriati ambienti di sviluppo. Il corso permetterà inoltre di acquisire capacità di progettazione e sviluppo di sistemi distribuiti basati su tali modelli per la realizzazione di applicazioni orientate al monitoraggio, al controllo e alla supervisione di processi industriali. Al termine del corso, lo studente sarà in grado di selezionare le soluzioni tecnologiche appropriate nella gestione dei processi distribuiti industriali.

Autonomia di giudizio: Nello sviluppo di applicazioni distribuite per il monitoraggio, controllo e supervisione dei processi industriali, lo studente sarà in grado di effettuare autonomamente le opportune scelte progettuali sulla base delle specifiche richieste. Tale capacità è affinata attraverso esercitazioni pratiche durante il corso e lo svolgimento di opportuni esercizi in sede di esame.

Abilità comunicative: Lo studente rafforzerà il linguaggio tecnico della programmazione dei dispositivi di calcolo orientati all'automazione industriale, e dello sviluppo di applicazioni distribuite real-time e sarà in grado di interagire con i colleghi di lavoro per discutere le scelte progettuali effettuate nella risoluzione di un problema di controllo e supervisione di processi industriali. A tale scopo, durante le ore di laboratorio, gli studenti saranno divisi in piccoli gruppi per affinare la capacità di lavorare in gruppo.

Capacità di apprendimento: Lo studente sarà in grado di ampliare autonomamente le proprie conoscenze di informatica industriale attraverso l’approfondimento dei testi di riferimento, su articoli di riviste scientifiche specializzate e tramite gli spunti offerti dalle attività seminariali organizzate all’interno dell’insegnamento.

Modalità di svolgimento dell'insegnamento

Il corso si basa essenzialmente su lezioni frontali, che includono lo svolgimento al calcolatore di esercizi da parte del docente. Il corso prevede anche esercitazioni pratiche svolte dagli studenti. Tali esercitazioni vengono svolte nelle aule multimediali dell'Ateneo. Ad ogni studente viene assegnato un compito che deve essere svolto al calcolatore o su un PLC fornito  dal docente. Il docente supervisiona il lavoro degli studenti fornendo le spiegazioni e gli aiuti didattici necessari per il completamento dei compiti assegnati.
Le modalità di svolgimento dell'insegnamento appena descritte permettono il raggiungimento degli obiettivi formativi prefissati, che includono l’acquisizione di conoscenze e la capacità di applicare la conoscenza.

Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.

Prerequisiti richiesti

  • Conoscenza base della programmazione utilizzando il linguaggio di programmazione C
  • Concetti base di programmazione ad Oggetti e conoscenza linguaggio Java
  • Conoscenza delle architetture dei calcolatori e Sistemi Operativi
  • Conoscenza di Reti di Calcolatori

Frequenza lezioni

La frequenza è consigliata, ma non obbligatoria

Contenuti del corso

Parte I - Sviluppo di Applicazioni nei Controllori a Logica Programmabile (PLC)

  • L’automazione nei processi Industriali; sistemi di controllo e monitoraggio dei processi industriale. Il Controllore a Logica Programmabile. Architettura dei PLC. 
  • Programmazione dei PLC. Standard IEC 61131-3. Caratteristiche principali. Tipi di Dati. Variabili. Funzioni, Function Blocks e Programmi. Risorse. Task. Configurazioni. Linguaggio di Programmazione Ladder Diagram (LD).
  • Sviluppo di Applicazioni basate sullo standard IEC 61131-3
  • Ambienti di Sviluppo per PLC. Il Caso di Studio: Ambiente Siemens TIA Portal Step 7.
  • Esercitazioni in Aula sulla programmazione dei PLC utilizzando l'Ambiente di Sviluppo Siemens TIA Portal.

Parte II - Sviluppo di Applicazione nei Sistemi Distribuiti

  • Sistemi di Comunicazione per Dispositivi di Controllo. Il sistema di comunicazione Profinet IO real-time. Servizi di Comunicazione.
  • Sviluppo di Applicazioni Distribuite in ambiente di Bus di Campo. Esempi Applicativi basati sul sistema di comunicazione Profinet IO e sull'ambiente di sviluppo Siemens TIA Portal.
  • Lo standard OPC. Storia ed evoluzione. Cenni sugli standard OPC COM e OPC XML. Lo standard OPC UA: Information Model e Address Space. I modelli OPC UA Client/Server e Publisher/Subscriber. Modello Client/Server: OPC UA Communication Stack, Canale Sicuro, Session, Subscription, Monitored Items, OPC UA Services. Modello Publisher/Subscribe: middleware, architettura del sistema di comunicazione, modalità di configurazione lato publisher e lato subscriber.
  • Sviluppo di Applicazioni Distribuite basate sullo standard OPC UA utilizzando stack di comunicazione open-source.

Testi di riferimento

[1] P.Chiacchio, "PLC e Automazione Industriale", McGraw Hill.

[2] R.W.Lewis, "Programming industrial control systems using IEC 1131-3", IEE Control Engineering Series 50.

[3] W.Mahnke, S.H.Leitner, M.Damm, “OPC Unified Architecture”, Springer Verlag, ISBN 978-3-540-68899-0, 2009.

[4] Dispense del docente presenti sul portale studium di unict (indirizzo http://studium.unict.it )

Programmazione del corso

 ArgomentiRiferimenti testi
1La quarta rivoluzione industriale; l’automazione nei processi Industriali nella fabbrica del futuro. Applicazioni informatiche nel contesto di Industria 4.0[1] Capitolo 1,2 -[4] Dispense del docente
2 Il Controllore a logica Programmabile: principi di funzionamento e architettura[1] Capitolo 1,2
3Programmazione di un PLC: Standard IEC 61131-3. Caratteristiche principali. Tipi di Dati. Variabili. Funzioni. Function Blocks. Programmi. Risorse. Task. Configurazioni.[2] Capitoli 1, 2, 3
4Programmazione di un PLC: Linguaggio di Programmazione Ladder Diagram (LD). [2] Capitolo 6 
5Programmazione di un PLC: Sviluppo di Applicazioni basate sullo standard IEC 61131-3 e sul linguaggio Ladder[1] Capitoli 3, 4 e 5 - [4] Dispense del docente
6Programmazione di un PLC: Ambienti di Sviluppo per PLC. Il Caso di Studio: Ambiente Siemens TIA Portal.[4] Dispense del docente
7Programmazione di un PLC: Metodologia di  programmazione dei PLC basata sull'utilizzo del linguaggio ladder.[4] Dispense del docente
8Sviluppo di Applicazioni Distribuite in ambito Bus di Campo: Il sistema real-time Profinet IO. Servizi di Comunicazione.[4] Dispense del docente
9Sviluppo di Applicazioni Distribuite in Ambiente di Bus di Campo. Esempi Applicativi basati sul Sistema di Comunicazione real-time Profinet IO e sull'ambiente di sviluppo Siemens TIA Portal.[4] Dispense del docente
10Lo standard OPC. Storia ed evoluzione. Gli standard OPC COM e OPC XML[3] Cap.1 - [4] Dispense del docente
11Lo standard OPC UA: I modelli di scambio dati Client/Server e Publish/Subscriber[4] Dispense del docente -[3] Capitolo 1
12Lo standard OPC UA: Information Model e Address Space[3] Capitolo 2, 3, 4 - [4] Dispense del docente
13 Lo standard OPC UA Client/Server: Stack di Comunicazione, Servizi e Gestione del Canale Sicuro [3] Capitolo  5, 6, 7 - [4] Dispense del docente
14Lo standard OPC UA Client/Server: Meccanismi di comunicazione del modello OPC UA Client/Server. Session, Subscription, Monitored Items[3] Capitolo  5 - [4] Dispense del docente
15Lo standard OPC UA Publisher/Subscriber: middleware, gestione della comunicazione, meccanismi di configurazione publisher e subscriber [4] Dispense del docente
16Sviluppo di Applicazioni Distribuite basate sullo standard OPC UA:Sviluppo di Applicazioni Client/Server e Publish/Subscriber utilizzando gli stack di comunicazione OPC UA open-source disponibili gratuitamente in rete[4] Dispense del docente

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame consiste in una prova orale che include anche lo svolgimento di uno o più esercizi al calcolatore/PLC. Gli studenti hanno la possibilità di sviluppare un elaborato di corso il cui argomento viene concordato con il docente. L'elaborato riguarda l'approfondimento di uno o più argomenti trattati nel corso, scelti a piacere dallo studente. Tipicamente l'elaborato consiste nello sviluppo di progetti software e/o hardware. L'elaborato sviluppato dagli studenti viene discusso alla prova orale e la sua valutazione contribuisce alla valutazione dell'esame complessivo. Lo sviluppo dell'elaborato è facoltativo.

La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.

Esempi di domande e/o esercizi frequenti

Sul sito docente della materia su Studium (www.studium.it) sono presenti esempi di esercizi assegnati durante gli esami. Per ciascun esercizio viene fornita la relativa risoluzione.
ENGLISH VERSION