87269 - Automation Software and Design Patterns M

Course Unit Page


This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.

Industry, innovation and infrastructure

Academic Year 2022/2023

Learning outcomes

The course aims to provide a rational view of the main principles, methodological issues, design patterns and integrated development environments involved in the implementation of modern automation systems. The course will focus on model driven generation of Finite State Machines, connection layers based on Input and Output Bridges, Generic Devices and Generic Axes and fault managment systems. At the end of the course students are able to master design aspects of advanced software architectures for complex automated machines, defining models and flexible solutions for common problems independently from the machine and hardware architecture.

Course contents


  • Automation: definition and examples
  • Function vs. Implementation
  • Logic control and finite state machines

The PLC environment

  • Logic control design
  • The IEC 61131-3 standard
  • Programming languages and tools
  • Software organization (POUs), functions, function block, programs
  • Programming language overview: LD, IL, ST, FBD, SFC
  • Implementation and execution models
  • CoDeSys
  • Automation Studio
  • Realtime networks and POWERLINK

Automatic Machine Programming

  • FSM design for automatic machine control
  • Software development cost
  • From specifications to the design model
  • FSM implementation in the PLC environment
  • Common problems in automation
  • Fault diagnosis
  • Patterns for code reusability
  • Shift registers
  • Generic device
  • Automation standards: PLCopen and OMAC PackML
  • Electric cams
  • Syncronized and interpolated axes
  • Generic axis
  • Safety


Bonfatti, Monari, Sampieri, "IEC 1131-3 Programming Methodology", CJ International, Le Saint Georges, France .

Laplante, Ovaska, "Real-Time Systems Design and Analysis: Tools for the Practitioner",Wiley, 2011

Teaching methods

  • Frontal Instruction
  • Active Learning
  • Experimental Learning

As concerns the teaching methods of this course unit, all students must attend Module 1, 2 on Health and Safety online

Assessment methods

Discussion of projects developed by the students

Teaching tools

  • B&R Automation Teaching Platforms
  • FESTO Assembly System
  • IndustrialPhysics Virtual Commissioning Software

Office hours

See the website of Gianluca Palli