B6448 - Development Platforms for Automation Workshop Classes - Imola Branch Campus

Academic Year 2026/2027

  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Systems Technologies (cod. 6007)

    Also valid for First cycle degree programme (L) in Computer Systems Technologies (cod. 6007)

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

Module 1

• Overview of major companies/suppliers/customers (Capello)

• History of technologies (mechanical, mechanical cam, electronic cam, Industry 4.0 data management) (Capello)

• Presentation of MG machines (Capello)

• Services and technologies for a pharmaceutical line (SCADA, data collection, AI, etc.) (Capello)

• Machine format (Capello)

• Types: Single machines / line – stepper / non-stepper machine (Capello)

• Machine hardware physical architecture (Capello)

• What's inside a PLC (CPU, I/O, etc.) (Capello)

• Automation language standards (Capello)

• Introduction to real-time fieldbuses (especially EtherCAT) (Capello)

• Why real-time? (Capello)

Module 2

• Devops (Quarta)

• System Administration (Quarta)

• Unattended Operating Systems (Quarta)

• Imaging and Deployment (Quarta)

• Image Build Pipeline (Quarta)

• Operating System Overview: What They Are and What They're Used For (Quarta)

• Differences between Real-Time and Non-Real-Time Operating Systems (Quarta)

Module 3

• C and C++ Fundamentals (Bamundo)

• Real-Time Linux Details (Bamundo)

• Real-Time Linux RTAI /preemptrt History (Bamundo)

• Scheduler: How the OS Manages Tasks (Bamundo)

• Difference between process and thread (Bamundo)

• Multithread – Race Condition (Bamundo)

• How tasks and their variables are managed (Bamundo)

• Quiz exercises with classroom discussion (Bamundo)

• Polling, Interrupt (Bamundo)

• Details on implementing the above strategies in industrial real-time (Bamundo)

Module 4

• HMI (Paoluzzi)

• Communication with real-time and HMI (Paoluzzi)

• OPC-UA (Paoluzzi)

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