78870 - Automation Software and Design Patterns M

Academic Year 2018/2019

  • Docente: Gianluca Palli
  • Credits: 6
  • SSD: ING-INF/05
  • Language: English
  • Moduli: Gianluca Palli (Modulo 1) Gianluca Palli (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Automation Engineering (cod. 8891)

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. At the end of the course students are able to master design aspects of advanced software architectures for complex automated machines.

Course contents

Introduction

  • 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

Robot Programming

  • The ROS middleware
  • FSM implementation for robot programming
  • Software patterns for robot behavior control

Readings/Bibliography

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

Assessment methods

Discussion of projects developed by the students

Teaching tools

  • B&R Automation Teaching Platforms
  • FESTO Assembly System

Office hours

See the website of Gianluca Palli