Advanced PLC programming
About the course
The course can be taken as a single course. Students belonging to Master in Electrical Engineering are prioritised, while other students can sign up provided available laboratory and lecturer capacity.
The course will provide knowledge of advanced programming and use of programmable logic controllers (PLCs), where the purpose is to go beyond the traditional logic automation found in fundamental PLC courses. This includes object oriented industrial programming (OOIP), bus communication between devices, data logging, visualization and how to use the PLC as part of IT/OT software development with cloud connectivity. Technologies such as Docker/container technology, NodeRED, MQTT and Python programming is included.
Admission requirements
A relevant undergraduate Bachelor Engineering program with minimum 25 ects-credits mathematics, 5 ects-credits statistics, 7,5 ects-credits physics.
Application code: 9371
Objectives of the course
After completing the subject, the candidate will have the following learning outcome:
Knowledge:
The candidate
- knows the hardware structure of PLC (programmable logic controllers) based systems
- is aware of information and operational security challenges and possibilities in PLCs
- is familiar with the basic programming languages in IEC 61131-3.
- can explain industrial bus-communication standards relevant for PLCs.
- has knowledge of IT/OT based software development.
Skills:
The candidate
- can program and implement a PLC program utilizing analogue and digital inputs and outputs.
- are able to set up bus-communication between a PLC and external devices based on industrial Ethernet and serial communication standards.
- can create a HMI (human machine interface) for monitoring, visualizing of data, and apply commands to a PLC based control system.
- can set up suitable security measures for a PLC based system
- can use docker container technology to extend PLC functionality
- can make the PLC communicate with cloud based solutions and implement MQTT.
- can implement python scripts as part of an PLC program.
General competence:
The candidate
- has the ability to apply PLC for controlling a process and communicating with external hardware.
- know how PLCs can be a part of a cloud based solution.
Prerequisites
Recommended prerequisites
ELE-3611 Programming, ELE-3612 Instrumentation and Measuring Systems
Teaching methods
Language of instruction and examination
EnglishSchedule
The schedules are normally finalized and published well in advance of the start of the semester, often a few weeks beforehand. This gives students the opportunity to organize their studies and prepare for upcoming activities.
It is recommended to check the schedule regularly, as changes may occur.
Examination
| Portfolio | Hand in: 02.12.2026 14:00 Weighting: 0/1 |
Grade: A–E, fail F |
| Oral exam | Duration: 20 Minutes Weighting: 1/1 |
Grade: A–E, fail F |
Everything you need to know about before, during, and after the exam; registration, absence, appeals, and diplomas: UiT Exams homepage