- Docente: Paolo Capello
- Credits: 3
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Cesena
- Corso: First cycle degree programme (L) in Computer Systems Technologies (cod. 6007)
-
from Sep 23, 2025 to Dec 16, 2025
Learning outcomes
Upon completion of the course, students will possess: a general understanding of the technological architectures used to build automation systems, with a focus on industrial automation; a basic understanding of real-time processing and communication issues applied to automation; and a basic understanding of specific components of industrial automation technological architectures, including Programmable Logic Controllers (PLCs). They will understand the main network protocols for interacting with industrial systems. They will understand the main issues related to the design and implementation of control and automation software. They will understand the development frameworks for building applications that interact with industrial systems and the methodologies and APIs specific to major cloud providers for deploying these applications in the cloud and ensuring their secure operation. They will be able to build small to medium-sized cloud-deployed applications that interact with industrial systems and use, analyze, and process data collected from industrial sensors.
Course contents
Overview of major companies/suppliers/customers
• History of technologies (mechanical, mechanical cam, SE cam, Industry 4.0 data management)
• Presentation of MG machines
• Services and technologies for a pharmaceutical line (SCADA, data collection, AI, etc.)
• Why real-time?
• Machine format
• Types: Single machines / line – stepper / non-stepper machine
• Physical HW architecture of the machine
• What's inside a PLC (CPU, I/O, etc.)
• Introduction to real-time fieldbuses (especially EtherCAT)
• Drives (firmware, PID, etc.)
• Standard automation languages
• Short classroom exercise session on software writing attempts
• General operating systems: what they are and what they are used for.
• Differences between real-time and non-real-time operating systems.
• Linux Real-Time Details
• Linux Real-Time History RTAI /preemptrt
• Scheduler. How the OS manages tasks.
• Difference between process and thread
• Multithread – Race Condition
• How tasks and their variables are managed
• Quiz exercises with class discussion
• Class discussion of an example motion application
• Master and slave concepts
• Phase diagram
• Differences between code executed in series and in parallel in the motion field (and beyond).
• HMI General
• Diagnostic tools (tracer, list, forcing, scope, etc.)
• Cyber security
• Gateway
• EtherCAT Diagnostics
• EtherCAT General
• PDO and SDO
• EtherCAT Master
• Polling
• Interrupt
• OPC-UA
• Details on implementing the above strategies in industrial real-time
Teaching methods
In-person and online lessons
Assessment methods
Theory questions and final practical test organized through a group project
Teaching tools
Slides
Office hours
See the website of Paolo Capello