INDUSTRIAL INFORMATICS

Academic Year 2023/2024 - Teacher: Salvatore CAVALIERI

Expected Learning Outcomes

Knowledge and understanding: On completion of the course, the student shall have: knowledge of the fundamental features of the computing devices used in industry for the automation; knowledge of the main reference standards for the programming of these devices and for the development of distributed industrial applications based on industrial communication systems; knowledge of the main features of the integrated development environments (IDE) for programming of industrial devices and for the development of distributed industrial applications; knowledge of the main reference standard for the definition of information models in industry and for the realization of data exchange between applications based on client/server and publish/subscriber communication paradigms. Knowledge of the use of ICT technologies in modern industry. Knowledge of the digital twin and the advantages of using applications based on it in managing the factory of the future.


Applying knowledge and understanding: On completion of the course, the student will be able to select the appropriate technological solutions for the development of distributed systems in industrial applications. The course will allow the students to acquire the ability to design and develope industrial applications through the support of suitable IDEs. Furthermore, the course will allow the students to acquire the ability to design and develop distributed systems based on these models for the development of industrial applications for control and supervision of industrial processes.

Making judgements: In the development of distributed applications for the monitoring, control and supervision of industrial processes, the student will be able to autonomously make the appropriate design choices based on the specific requests. This ability is refined through practical exercises during the course and the carrying out of appropriate exercises during the final examination.

Communication skills: The student will strengthen the technical language of controller programming, the development of distributed real-time applications and will be able to interact with work colleagues to discuss the design choices made in solving control and supervision problems of industrial processes. For this purpose, during the laboratory hours, students will be divided into small groups to refine the ability to work in groups.

Learning skills: The student will be able to independently expand their knowledge of industrial computer science by deepening the reference texts, in articles in specialized scientific journals and through the ideas offered by the seminars organized within the teaching.

Course Structure

The course is essentially based on lectures, which include the development on computer of exercises by the teacher. The course also includes practical exercises carried out by the students. These exercises are carried out in the multimedia rooms available at the University. Each student is assigned a task that must be performed on the computer or on a PLC provided for by the teacher. The teacher supervises the work of the students by providing the explanations and teaching aids necessary to complete the assigned tasks. The methods of carrying out the teaching described above allow the achievement of the pre-established training objectives, which include the acquisition of knowledge and the ability to apply knowledge.


Required Prerequisites

  • Basic of programming with C-programming language
  • Basic knowledge of Object oriented programming and Java/JavaScript language
  • Knowledge of computer architecture and operating systems
  • Knowledge of computing networks

Attendance of Lessons

Attendance is recommended, but it is not mandatory. Attendance is stronlgy suggested. During the course exercises are carried out in the laboratory and it is highly recommended that students attend these exercises.


Detailed Course Content

Part I - Application Development for the Programmable Logic Controllers (PLC)

  • The automation in industrial processes; control and monitoring systems of industrial processes. The Programmable Logic Controller. Architecture of PLC.
  • PLC programming. Standard IEC 61131-3. Main features. Data Types. Variables. Functions, Function Blocks, Programs. Resources. Task. Configurations. Programming Language: Ladder Diagram (LD). Application development based on the standard IEC 61131-3.
  • Development environments for PLC. The Case Study: Siemens TIA Portal. Exercises on the PLC programming using the Siemens TIA Portal Development Environment.


Part II - Application Development for Distributed Systems

  • Communication Systems. The Profinet IO real-time. Communication Services.
  • Development of Distributed Applications in the Fieldbus environment. Application Examples based on Profinet IO Communication Systems and the Siemens TIA Portal system.
  • The OPC standard. History and evolution. The OPC standard COM and OPC XML. The OPC UA standard. Information Model and Address Space. OPC UA client/server and publisher/subscriber models. OPC UA client/server model: OPC UA Communication Stack, secure channel, Session, Subscription, Monitored Items, OPC UA Services. OPC UA publisher/subscriber model: middleware, communication architecture, publisher and subscriber configuration.
  • Development of Distributed Applications based on OPC UA standard, using open-source communication stacks.

Part III - Development of Applications based on Digital Twin

  • Introduction to the Digital Twin
  • Existing solutions and platforms 
  • The Digital Twins Definition Language (DTDL) 
  • Microsoft's implementation of DTDL on the Microsoft Azure Digital Twin platform 
  • Development of programs based on DTDL and Microsoft Azure Digital Twin platform.

Textbook Information

[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] Documentation freely available at the platform used during the course

[5] S.V.Nath, P. van Schalkwyk, "Building Industrial Digital Twins", Packy

Course Planning

 SubjectsText References
1The fourth industrial revolution; automation of the industrial processes inside the industry of the future. Industrial applications in the contest of the  Industry 4.0[1] Sections 1,2 - [4] Handouts
2The programmable logic controller (PLC): basic concepts and architecture[1] Sections 1,2
3Programming PLC: IEC 61131-3 standard. Main features. Description of common data types. Functions, function blocks and program. Resources, Tasks and Configuration. [2] Sections 1, 2, 3
4Programming PLC: IEC 61131-3 standard. The Ladder language. Main features. Instructions and relevant sintax and semantic.[2] Section 6 
5Programming PLC: Development of applications based on the standard IEC 61131-3 and Ladder language.[1] Sections 3, 4 e 5 - [4] Handout
6Programming PLC: Development environments compliant to the IEC 61131-3 standard. Case study: Siemens TIA Portal.[4] Handout
7Programming PLC: programming methodology using ladder language.[4] Handout
8Distributed Applications in Industry based on FieldBus: Profinet IO real-time system. Communication services available. [4] Handout
9Distributed Applications in Industry based on FieldBus: Profinet IO real-time system. Case study: development of distributed application based on Profinet IO and Siemens TIA Portal. [4] Handout
10Introducing OPC standard. History and evolution. An overview of OPC COM and XML.[3] Section 1 - [4] Handout
11OPC UA standard: Client/Server and Publisher/Subscriber models.[4] Handout - [3] Section 1
12OPC UA standard: Information Model and Address Space.[3] Sections  2,3,4 - [4] Handout
13OPC UA standard, Client/Server model: Communication stack, services and procedures to realize a secure channel in OPC UA.[3] Sections 5, 6, 7 - [4] Handout
14OPC UA standard, Client/Server model: data exchanges based on Session, Read, Write, Subscription and Monitored Items.[3] Section  5 - [4] Handout
15OPC UA standard, Publisher/Subscriber model: middleware, communication, configuration of publisher and subscribers entities.[4] Handout
16Development of distributed appications absed on OPC UA, using open source communications stacks[4] Handout
17Introduction to Digital Twin[5] Section1 and [4] Handout
18Digital Twins Definition Language (DTDL)[5] Section4 and [4] Handout
19Development of a Digital Twin in the Microsoft Azure Digital Twin platform[5] Section 5&6 and [4] Handout

Learning Assessment

Learning Assessment Procedures

The exam consists of an oral test which also includes the development of one or more exercises on computer / PLC. Students have the opportunity to develop a course project whose topic is agreed with the teacher. The project concerns the in-depth study of one or more topics covered in the course. Typically the project consists in the development of software and / or hardware solutions. The project developed by the students is discussed during the oral exam and its evaluation contributes to the evaluation of the overall exam. The development of the project is optional.

To ensure equal opportunities and in compliance with current laws, interested students may request a personal interview in order to plan any compensatory and/or dispensatory measures based on educational objectives and specific needs. Students can also contact the CInAP (Centro per l’integrazione Attiva e Partecipata - Servizi per le Disabilità e/o i DSA) referring teacher within their department.



Examples of frequently asked questions and / or exercises

On the  website used during the course there are examples of frequently asked exercises. For each excercise, the corresponding correct solution is provided.

VERSIONE IN ITALIANO