INDUSTRIAL INFORMATICS
Anno accademico 2024/2025 - Docente: Salvatore CAVALIERIRisultati 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; conoscenza delle caratteristiche
principali degli ambienti di sviluppo per la programmazione di
dispositivi industriali e per lo sviluppo di applicazioni industriali; 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 publisher/subscriber. Conoscenza dell'utilizzo delle tecnologie ICT nell'industria moderna. Conoscenza del gemello digitale e dei vantaggi dell'utilizzo di applicazioni basate su di esso nella gestione della fabbrica del futuro. Conoscenza di problematiche di manutenzione predittiva e relativa soluzione con tecniche di intelligenza artificiale e machine learning.
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 per la realizzazione di applicazioni orientate al monitoraggio, al controllo, alla supervisione e manutenzione 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, supervisione e manutenzione 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, supervisione e manutenzione 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.
Prerequisiti richiesti
- Conoscenza base della programmazione utilizzando il linguaggio di programmazione C
- Concetti base di programmazione ad Oggetti e conoscenza linguaggio Java/JavaScript
- Conoscenza delle architetture dei calcolatori e Sistemi Operativi
- Conoscenza di base di data analytics e machine learning
Frequenza lezioni
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 (PLC). 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 Applicazioni Distribuite
- Lo standard OPC UA: Storia ed evoluzione. Lo standard OPC UA: Information Model e AddressSpace. 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.
Parte III - Sviluppo di Applicazioni basate su Gemello Digitale (Digital Twin)
- Introduzione al Gemello Digitale
- Soluzioni e piattaforme esistenti
- Il Digital Twins Definition Language (DTDL)
- L'implementazione Microsoft del DTDL sulla piattaforma Microsoft Azure Digital Twin
- Sviluppo di programmi basatai sul DTDL e sulla piattaforma Microsoft Azure Digital Twin.
- Sviluppo di applicazioni di manutenzione predittiva. Introduzione al problema della manutenzione predittiva. Tecniche basate su data analytics e machine learing per la risoluzione di problemi di manutenzione predittiva. Esempi pratici di soluzioni di manutenzione predittiva utilizzando la piattaforma Azure Machine Learning (ML Studio).
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 utilizzato durante il corso
[5] S.V.Nath, P. van Schalkwyk, "Building Industrial Digital Twins", Packy
[6] Patrick Jahnke, "Machine Learning Approaches for Failure Type Detection and Predictive Maintenance", Master Thesis, June 19, 2015. Available online.
Programmazione del corso
Argomenti | Riferimenti testi | |
---|---|---|
1 | La quarta rivoluzione industriale; l’automazione nei processi Industriali nella fabbrica del futuro. Applicazioni informatiche nel contesto di Industria 4.0 | [4] Dispense del docente |
2 | Il Controllore a logica Programmabile: principi di funzionamento e architettura | [1] Capitolo 1,2 |
3 | Programmazione 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 |
4 | Programmazione di un PLC: Linguaggio di Programmazione Ladder Diagram (LD). | [2] Capitolo 6 |
5 | Programmazione 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 |
6 | Programmazione di un PLC: Ambienti di Sviluppo per PLC. Il Caso di Studio: Ambiente Siemens TIA Portal. | [4] Dispense del docente |
7 | Programmazione di un PLC: Metodologia di programmazione dei PLC basata sull'utilizzo del linguaggio ladder. | [4] Dispense del docente |
8 | Lo standard OPC. Storia ed evoluzione. | [3] Cap.1 - [4] Dispense del docente |
9 | Lo standard OPC UA: I modelli di scambio dati Client/Server e Publish/Subscriber | [3] Capitolo 1 - [4] Dispense del docente |
10 | Lo standard OPC UA: Information Model e Address Space | [3] Capitolo 2, 3, 4 - [4] Dispense del docente |
11 | Lo standard OPC UA Client/Server: Stack di Comunicazione, Servizi e Gestione del Canale Sicuro | [3] Capitolo 5, 6, 7 - [4] Dispense del docente |
12 | Lo 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 |
13 | Lo standard OPC UA Publisher/Subscriber: middleware, gestione della comunicazione, meccanismi di configurazione publisher e subscriber | [4] Dispense del docente |
14 | Sviluppo 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 |
15 | Introduzione al Digital Twin | [5] Capitolo 1 - [4] Dispense del docente |
16 | Digital Twins Definition Language (DTDL) | [5] Capitolo 4 - [4] Dispense del docente |
17 | Sviluppo di un Digital Twin nella piattaforma Azure Microsoft Digital Twin | [5] Capitoli 5, 6 - [4] Dispense del docente |
18 | Sviluppo di applicazioni di manutenzione predittiva. Introduzione al problema della manutenzione predittiva. | [6] Capitoli 1, 2, 3 - [4] Dispense del docente |
19 | Tecniche basate su data analytics e machine learing per la risoluzione di problemi di manutenzione predittiva. | [6] Capitoli 4, 5, 6 - [4] Dispense del docente |
20 | Esempi pratici di soluzioni di manutenzione predittiva utilizzando la piattaforma Azure Machine Learning (ML Studio). | [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. Lo svolgimento degli esercizi al calcolatore/PLC sarà molto più approfondito per gli studenti che non hanno frequentato le attività di laboratorio per almeno il 70% del numero di ore complessive dedicate al laboratorio.
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.
A garanzia di pari opportunità e nel rispetto delle leggi vigenti, gli studenti interessati possono chiedere un colloquio personale in modo da programmare eventuali misure compensative e/o dispensative, in base agli obiettivi didattici ed alle specifiche esigenze. È possibile rivolgersi anche al docente referente CInAP (Centro per l’integrazione Attiva e Partecipata - Servizi per le Disabilità e/o i DSA) del proprio Dipartimento.