
About This Course
Welcome to “Siemens TIA Portal – Asset Oriented Programming,” a course tailored for PLC software professionals who take their work seriously. This carefully designed course aims to enhance your Siemens TIA Portal programming skills with a focus on an asset-centric approach.
Course Highlights
- Strategic Asset Integration: Understand how assets play a central role in your design pattern for more structured and efficient software development
- Comprehensive Curriculum: Dive into a well-organized curriculum covering key aspects such as what an asset is, user-defined types, library management, hardware configuration, input mapping, simulation and practical applications like the Sand Filter Project with plenty of examples
- Practical Application: Apply your knowledge to real-world examples, gaining hands-on experience in addressing complex challenges in industrial automation. You can download the solution project at the end of the course too!
Who Should Enroll
This course is ideal for any PLC software professional who:
- Seek a methodical and flexible approach to software development.
- Aim to improve operational efficiency and scalability in Siemens TIA Portal programming.
- Want to master Asset Oriented Programming for real-world industrial applications.
Whether you’re a seasoned professional or aspiring to advance your skills, this course provides valuable insights and practical knowledge, with added support from myself if ever in doubt
Please Note:
The appendix lessons will be uploaded soon, but everything else in the course is complete, including the resource download ☺️ – Happy learning!
Enroll In Course
Enroll With Udemy
Rather do this course on Udemy? Use the button below to grab it there instead, I don’t mind!
Introduction (~20mins)

Download resources used later in this course
This will allow you to have a look at your own pace through the project
(You will need TIA V17 or above!)
Assets & User Defined Types (~45mins)

(4 minutes of video)
What exactly is an “Asset”?
By understanding how the term is being used, it will help in the creation of data sets later on

Small article that explains the basics behind what a UDT is.
Plus, some considerations to bear in mind for later in the course

(18 minutes of video)
Lets take a more in-depth view at UDTs by walking through the “UDT_Quarter_Turn_Valve” example and the how it was created

(12 Minutes Of Video)
Learn how to create difference instances of the Asset’s Data.

(8 Minutes Of Video)
Bespoke data “Structs” provide a way to add additional data to individual Asset instances
Library Management & “Types” (~35m)

(19m Of Video)
Walkthrough of the “Library Management Console” and how its used

(5m Of Video)
Learn about Library “Types” and why we need to use them

(13m Of Video)
Learn how to version types in the Project Library, this is important for standardization later on
PLC – Hardware Configuration (~35m)

(18m of Video)
Take a look through CPU configurations and IO modules used in this project

(7m of Video)
Learn how to attach PLC Tags to physical IO hardware and a naming convention that will help understand the locality of the signal
Input Mapping (~35m)

(13m of Video)
Learn how to create an Input Mapping Layer for your raw signals. This provides a place to modify and simulate signals for use in your main project

(23m of Video)
Learn how to expand a basic Input Mapping Block into one that provides complete, and automated, simulation. Perfect for testing full system behaviour
PLC – Managing Assets (~60m)

(13m of Video)
First look at Asset Management and how these are put together. Later lessons will build on this concept

(30m of Video)
Explore the functions of the Analog_Asset_Manager. The lesson explains how non-specific sub-functions are used to provide functionality for the specific asset manager

The correct structuring of Asset Managers’ instance data is crucial. This text lesson helps highlight the overall usage of the Asset Manager

(13m of Video)
A walkthrough of the Quarter Turn Valve Manager. This looks at the differences between instruments and devices when it comes to management of assets
PLC – Data Management (~20m)

(10m of Video)
Interfaces are key to the AOP design approach. Using InOut interfaces is also important and is required to make this design work most efficiently

(10m of Video)
You cannot access global data from inside a function block when using standard approaches. This lesson explains why!
PLC – Alarm Management (~45m)

(10m of Video)
Learn why constants are used to index the alarm array

(7m of Video)
This lesson looks at the Alarm Data structure, and how we’re using two UDTs to make up that data. We’ll also look at comments and why they need to appear in two places in this case

(10m of Video)
The “Global Alarm Manager” is the logic that sets, accepts and resets the alarm. It also provides a status for us to control SCADA / HMI indications with

(17m of Video)
This lesson takes a look at ProDiag and how PLC controlled alarms can be configured and made a part of Asset Oriented Programming
PLC – Managing Interlocks (~30m)

(17m of Video)
A look at how interlocks can be managed with a single DB and UDT. And a small example of raising system interlocks based on data from multiple places

(15m of Video)
First look at “Extension” and creating interlocks using bespoke data in the asset management layers
PLC – Interacting With Devices Via The “Control Layer” (~6m)

(5m of Video)
Learn how we’re going to interface with the devices in this project, via a “Control Layer”, which allows us to easily access the interface of our managers from our sequences.
PLC – Sequencing (~110m)

(9m of Video)
Let’s take a look at how we’re setting up sequence interfacing, so that we can pass structures and necessary signals to the sequence

(30m of Video)
A walkthrough the structured setup of a sequence in Ladder Logic.
This focuses on how components of the sequence interact more than “What we’re doing”, but still explains how the sequence is working along the way

(40m of Video)
This lesson takes a look at the “Wash Sequence”, written in SCL. Focusing on the CASE statement and surrounding structure

(23m of Video)
This lesson explains why and how we’re using “Output Requests” and “Output Commands” to control how multiple areas interact with asset commands

(8m of Video)
This lesson takes a closer look at the “Shutdown Sequence Manager” and how that interacts with both the parent sequence it sits in, and the request handler
PLC – Processing Outputs (~22m)

(Article – 2m)
This article shows an example of the “Output Mapping Layer”

(10m of Video)
This lesson covers protecting the outputs against undesired changes when in Simulation mode, and why we may want to consider this

(10m of Video)
This lesson covers the “Auto Feedback” system, which allows assets to set their own simulation based on processed output requests
HMI – Faceplates (~50m)

(25m of Video)
Learn about Faceplates and how they are used in the Library Management system of TIA Portal

(12m of Video)
Learn how to create a faceplate from scratch, and how to create a custom interface using static & dynamic properties

(11m of Video)
Now that we know how to create a faceplate, this video demonstrates how to create instances and tag them appropriately. We also look up upgrading faceplace instances

(3m of Video)
A small video that explains how to link UDT data for assets to our new Faceplates
HMI – Alarming (~42m)

(4m of Video)
A quick recap of how the PLC is put together and how this is expected to tie in with the HMI / SCADA system

(6m of Video)
This lesson explains Classes and details how to create an alarm class

(20m of Video)
Learn how to create discrete alarms, tag them and the caveats of using Siemens Comfort Panels with Boolean Arrays for alarm management!

(12m of Video)
Lets take a look at setting up the Alarm View control, tying it to the correct classes and generating some alarms in Runtime
HMI – Simulation (~20m)

(6m of Video)
An introductory video into Simulation HMIs and what they’re used for. We’ll take a quick look at what all of the different items on the asset objects mean

(10m of Video)
A walkthrough of how to create Simulation faceplates for our assets

(4m of Video)
This lesson is a small video that demonstrates the Enable / Disable Hard Simulation button now that we have all of the pieces needed
Sand Filter Project Examples (~105m)

(40m of Video across multiple videos in lesson)
Walkthrough of the solution project structure, with explanations as to why the project is setup the way it is.
This lesson is comprised of smaller videos inside

(5m of Video)
Walkthrough the HMI in Runtime Mode

(25m of Video)
Walkthrough the Filtration Sequence with the HMI Runtime

(21m of Video)
Walkthrough of the Wash Sequence with the HMI Runtime

(13m of Video)
A walkthrough of the Analog Setup page and the faceplate used for each analog instance
Course End (~5m)

(4m of Video)
A quick thank you 🙂
Appendix
The rest of the course past this point is still in development.
Hello Liam,
Interesting!
I am thinking about something similar as I am programmer for 40 years (15 years Step 7 and later TIA) and I am missing something like TIA capable of OO approach where any object has its own class and methods.
What timeline do you have in mind?
Regards
Boyan
Hi Boyan,
This is in active development, with new lessons being added all the time. I don’t have a timeline as this is getting larger as it’s being developed. However, I am nearly at a point where it may be beneficial for early adopters of the course to enrol for a reduced rate and benefit with the extra modules as and when they come out (at no extra cost).
Keep an eye on this page!
I’m currently developing asset/object orientated programming for my organization so it would be great to get access to your already produced course content even if the course is not fully finished. Also are you programming to any existing standards or defined conventions or are your methods of your own creation?
Hi,
Thanks for expressing your interest. I’ve had enough people ask about this now that I think I’ll open the course up with a discount until its finished. The main theory is all up now. I’m just finishing building the environment to showcase it in action. If people are happy to wait then by all means I don’t mind people jumping on the course now and benefiting at a lower price and free updates later.
I’m not programming to any “standards” for Asset Oriented design, but the core principles follow OOP as close as possible, with things like inheritance and overriding (using variants)
Watch this space, I’ll update shortly with enrollment details, but there’s some things I need to sort out first
Hi Liam,
Do you know when the downloadable resource will be available?
Hi, apologies for the late reply, for some reason I wasn’t notified in the admin section to you commenting.
The download section will be available once the course is complete. The course is being developed, edited, and published as I go, in order to get it out there and so people can take advantage of the theory before its all ready. It’s getting there. As soon as the PLC is complete, I will release it. I’ll then update the download once the HMI is complete as well.
What I don’t want to do is constantly poll people saying “I’ve updated the project”