Industrial Processes Automation

Automação de Processos Industriais - API




Integrated Master's degree in Electrical and Computer Engineering

Systems, Decision and Control Area




2nd Semester 2020/2021


Prof. José Gaspar

jag (at) isr.tecnico.ulisboa.pt

21 8418293 Ext. 2293






Last update: 7th June 2021


Link to the page in Fenix: https://fenix.tecnico.ulisboa.pt/disciplinas/APInd246/2020-2021/2-semestre

Link to previous year: http://users.isr.ist.utl.pt/~jag/courses/api19b/api1920.html

Link for attending classes: https://fenix.tecnico.ulisboa.pt/disciplinas/APInd246/2020-2021/2-semestre/---videoconference





07.06.2021 - Slides up to chapter 9.

29.05.2021 - Schedule for presentations (see Lab3 section)

07.05.2021 - Spreadsheet link to register paper to present (see link at Lab3 section, bellow)

27.04.2021 - Published part C of the second laboratory work.

27.04.2021 - Published part B of the second laboratory work.

27.04.2021 - Published part A of the second laboratory work.

05.04.2021 - Lab3 guide for paper presentation.

05.04.2021 - Published part C of the first laboratory work.

05.04.2021 - Published part B of the first laboratory work.

29.03.2021 - Published part A of the first laboratory work.

13.03.2021 - Published preliminary lab works 01 and 02.

26.02.2021 - Laboratory grades obtained in the previous two years are valid for the current school year.



Course Objectives:



The API course is intended to provide students with the ability to solve automation problems. To this end, methodologies for analysis and synthesis of discrete event systems are studied, in the form of supervisory controllers that are implemented in industrial devices. Training on the following components will be deepened:




Systems analysis for industrial automation.


Methodologies for the implementation of solutions in industrial automation.


Programmable Logic Controllers (PLCs) Languages.


Computer Numerical Control (CNC) machines.


Modeling Discrete Event Systems (DESs).


Supervision of Industrial Automation Processes.








Cap. 1 - Introduction to Automation [1 week] Introduction to devices used in industrial automation. Logic and programmed logic. Introduction to methodologies for describing problems in industrial automation.

Cap. 2 - Introduction to PLCs [1 week] Programmable Logic Controllers (PLCs) components. PLC internal structure and operation. Input and output interfaces. Interconnection between PLCs.

Cap. 3 - PLCs Programming Languages [2 weeks] Ladder diagrams; Instruction List; Structured Text. Description of the components of a typical language. Flow control structures. Development environments. Networking PLCs. Common programming errors.

Cap. 4 - GRAFCET [2 weeks] GRAFCET standard. Modeling techniques using GRAFCET. Development environment. Interpretation of GRAFCET using Ladder. PLCs network security.

Cap. 5 - CAD/CAM and CNC Machines [1 week] Types of machines and their operation. Interpolation methods for generating trajectories. Use in flexible manufacturing cells. Historical note CNC, Postscript, and windows managers.

Cap. 6 - Discrete Event Systems [2 weeks] Discrete Event System Modeling (DESs). Automata, languages. Turing machine, Busy Beaver. Petri nets: dynamics and modeling. Restricted and extended models. Network subclasses.

Cap. 7 - Analysis of Discrete Event Systems [2 weeks] SED Properties. Methodologies for SED analysis. Decidability. Simulation of Petri nets with inputs and outputs.

Cap. 8 - SEDs and Industrial Automation [1 week] GRAFCET/Petri Nets Ratio. Analysis of industrial automation solutions by analogy with discrete event systems.

Cap. 9 – Supervision of Industrial Automation Systems [2 weeks] SCADA and Supervised Control of SEDs. Summary of controllers, generalized constraints.



Evaluation rules:


The grading is based in three laboratory assignments (20% each) and a final exam (40%). The third laboratory assignment is on a related theme with API and that should be agreed with each of the groups. Each laboratory group consists of up to four students. Each week, each group delivers a follow-up sheet for completing the laboratory and at the end of each work, a final report is delivered. The minimum grade for each evaluation component, i.e. laboratory or exam, is 9 points. The 2nd written exam can be replaced by an oral exam. Extra value will be given to students who attend more than 70% of the theoretical classes and take summaries of the classes. Final grades higher than 17 values require an oral test to confirm the grade. In the case of not taking an oral test to confirm the grade, the final grade will be 17 points.


Click here to download XLS file to take summaries of the classes. It is suggested to use Google-docs / Create Spreadsheet / File import (upload file): API_summaries.xls.



Evaluation results:


to be filled later



Evaluation calendar1



Enrollment in the labs.
(Student Representative)

1st week

Preliminary Lab

1st training work
2nd training work

1 week
1 week

1st Lab Work

Part A
Part B
Part C


3 weeks

2nd Lab Work

Part A
Part B
Part C


3 weeks

3rd Lab Work

Proposal of oral
exhibition themes

1 week
date >= 8th week





1st Written exam


2nd Written or oral examination


dates to fill 1


1 Dates of the examinations are as agreed at the Coordination Meeting of MEEC. Check official information on Fenix.



Exams from previous years:


Exams from 2004/5 to 2012/13 in PDF.

1st exam of 2013/14 in PDF. 2nd exam of 2014/15 in PDF. 1st exam of 2015/16 in PDF.

1st exam of 2016/17 in PDF. 1st exam of 2017/18 in PDF.1st exam of 2018/19 in PDF.

1st exam of 2019/20 in PDF

1st exam of 2020/21 in PDF .


Solution of 2nd exam 2006/7 in PDF.

Solution of 2nd exam 2012/13 in PDF



Laboratory Work:


(to be completed throughout the semester)


PLC hardware and software / programming manuals:
SW Unity Intro ,
SW Unity Reference,
HW IO Module.
Extra SW Unity Standard Library Reference (available also under the software menu help).

PLC experiments:
Memory data dump
Unity Project and Matlab plot (written for P57 1634 with 28FK in slot3)

Software for programming PLCs
[Going to use Schneider's Unity Pro V13]


Software to use at home / Software de apoio para realização de laboratórios em casa:

[Instructions for Windows]
Install an SVN client, e.g. the freeware TortoiseSVN ** including its command line tools **.
A reboot may be required after installing TortoiseSVN.

In Matlab run the following lines:
% the next line is long (ends at \api)
!svn co  --username api2021 --password industrial svn://svn.isr.tecnico.ulisboa.pt/dccal/projects/lsdc4_api c:\users2\api
cd c:\users2\api\_init_all

% in the future just run login_api



Guide for the first preliminary laboratory work, in Word format.

Guide for the second preliminary laboratory work, in Word format.




Guide for part A of the First Laboratory Work, in Word format.

Guide for part B of the First Laboratory Work, in Word format.

Guide for part C of the First Laboratory Work, in Word format.

Software to support the first work:
PLC data logging
webpage (click here)



Guide for part A of the Second Laboratory Work, in Word format.

Guide for part B of the Second Laboratory Work, in Word format.

Guide for part C of the Second Laboratory Work, in Word format.

Software to support the second work:
See the SVN helping the course (more info some paragraphs before this one)



Guide for the Third Laboratory Work - Presentation, in PDF.

Site for registration of presentation topics, click here.

Suggested sources of information:
Finding a paper to present
Finding an alternative work to present
OpenPLC testing on Arduino or Raspberry-pi.



Laboratory Papers, Presentation of Seminars:

Click here to see presentations schedule.





Laboratory registration:

[to be filled later]


Floor plan of the laboratory: click here to see it.






Teóricas / Recitation classes


Laboratórios / Lab. classes (once per week, choose one shift)



Office hours during the school / exam period:


[to be filled in later].



Bibliography :


Petri Net Theory and the Modelling of Systems, James L. Peterson, Prentice-Hall,1981.


Supervisory Control of Discrete Event Systems using Petri Nets, J. Moody and P. Antsaklis, Kluwer Academic Publishers, 1998.


Introduction to discrete event systems, Christos G. Cassandras, Stéphane Lafortune, Kluwer / Springer, 1999 / 2008


Supervisory Control of Concurrent Systems: A Petri Net Structural Approach, Iordache M. V. and P. J. Antsaklis, Birkhauser Boston (2006)


Programmable Logic Controllers, Frank D. Petruzella, McGraw-Hill, 1996


Automating Manufacturing Systems, Hugh Jack, last version (free), 2008.



Back to  top.