Advanced PLC & SCADA programming and configuration

Brief description

The program is designed to provide participants with an in-depth understanding of advanced concepts and techniques related to Programmable Logic Controllers (PLC) and Supervisory Control and Data Acquisition (SCADA) systems. The program is tailored for professionals who already possess a basic knowledge of PLC programming and wish to enhance their skills further.
The training delves into complex programming languages, advanced programming, and advanced data acquisition and analysis techniques. Participants will learn about networking protocols, system integration, and troubleshooting methodologies specific to PLC and SCADA systems. The program also focuses on configuring and optimizing SCADA systems for efficient data monitoring and control.
Through hands-on exercises and real-world case studies, participants will gain practical experience in designing and implementing advanced PLC and SCADA solutions. By the end of the training, participants will be equipped with the expertise to tackle sophisticated industrial automation challenges, ensuring efficient and reliable operation of complex control systems.


Novi Sad

60 hours Total
28 Theoretical
32 Practical 

2400 Euros


University of Novi Sad, Serbia, 2013-2019
PhD in Electrical Engineering and Computing.
PhD Thesis: Formal verification of a software transactional memory based on timed automata.
University of Novi Sad, Serbia, 2008-2013.
Master of Science in Electrical Engineering and Computing.

Professional Experience:

Head of Automotive Development Group, TTTech Auto, 2020-present.
Teaching assistant, Faculty of technical sciences, University of Novi Sad, Serbia, 2013-2020.

Objectives of the program

The goals of the program are to train people to:

Who Should Participate?

Employed person or person with employment status and/or degree in engineering.

Course in details

– Introduction to SIMATIC S7-1500: Modular controller, CPU display
– SIMATIC S7-1200/1500: Memory card
– Configuration of the S7-1500 and ET 200SP training devices
– Setup and connection of the conveyor model to the distributed I/O
– Networking and IP addresses of the modules

– Devices and Network Editor: Network View, Topology View, and Device View
– Hardware Catalog: Inserting/deleting a module, changing a device/module, I/O addresses of modules
– Compiling the hardware/software and downloading it into the CPU
– Online tools
– Assigning the IP address and device name for ET200SP
– Firmware update

– Importance of variables and data types
– Global and local tags
– Overview of data types in STEP 7 (Complex data types and their importance)
– ARRAY and STRUCT data structures
– PLC Data Type (user defined)
– PLC tags and constants
– Monitor and modify PLC tags

– Licensing (Automation License Manager)
– System configurations: single-user, multi-user, redundancy, and distributed systems
– Communication with S7 controllers
– Project creation
– Communication drivers and connections (PROFIBUS and TCP/IP)
– Tags creation: internal and process tags
– Connection diagnostics: Channel diagnosis, Quality code
– Configuration Studio
– Cross reference

– Types of program blocks
– Parameter declaration in Functions and Function Blocks
– Optimized block access
– Organization Blocks of the S7-1500: Cyclic program execution, interrupting the cyclic program, start Information
– Block programming
– Local constants in FCs/FBs/OBs
– Edge evaluations
– DB variables vs memory bits
– Procedure for creating a program
– IEC Timers
– Overview of STEP 7 test functions

– User interface
– Object palettes
– Object positioning and alignment
– Siemens HMI Symbol Library
– Defining a start screen
– Activating and stopping WinCC runtime
– Dynamization in Graphic Designer: Tag connection, Configuration dialog, Dynamic wizard, Dynamic dialog, properties and events using ANSI C and VBS (Visual Basic Scripts), Direct connection
– I/O Field configuration
– Bar configuration
– WinCC Slider Control
– Status Display
– Setting/resetting a bit
– Slider object
– Check-Box and Radio-Box
– Text list
– Help for the operators

– Principle of analog value processing
– Analog Input and output modules
– Analog value representation and resolution for different measuring ranges and for the analog outputs
– Scaling of analog values
– Math functions
– IEC Counters
– Conversion operations: Data type conversion

– Structured programming and re-usable blocks
– Properties of Functions and Function Blocks
– Instance formation of Function Blocks: Single instances, Global instances, Parameter instances, and multi-instances
– Local data stack

– Data types in scripts
– C editor: reading and writing to WinCC tags
– Global script diagnostics
– reading and writing to WinCC tags in VBA and VBS
– Global script editors: C and VBS

– Functional principle of the CPU system diagnostics and possibilities
– Diagnostics with the CPU Web server
– Diagnostics using the S7 program
– Start information of the Error Organization Blocks
– Global and local error handling

– Introduction to user administration
– Authorization levels
– Administration of user and user groups
– Log on and log off

– Faceplate technique with picture window and tag prefix: defining and creating a structure type
– Faceplate technique with faceplate types: configuring a faceplate type, faceplate instances

– Programming complex calculations and algorithms
– Advantages of the SCL programming language
– Operators and control operation structures
– Direct and indirect addressing

– Principle of process value archive and data storage
– Tag Logging Editor: Archive configuration
– Online Trend Control and Ruler Control
– Online Table Control

– Overview of the message system
– Message blocks
– Configuring message classes and types
– Alarm Logging Editor: Archive configuration
– Creating messages
– Alarm Control in runtime