Are you ready to become a confident TIA PLC programmer?
Improve your PLC programming skills and become a confident TIA Portal programmer with clear and simple step-by-step video tutorials.
Start building professionally structured PLC and HMI applications that are easy to maintain and troubleshoot. My online PLC training courses are short, hands-on, and to the point, with no fluff.
Take your programming skills to the next level and transform your career. Check out my courses now at www.plcskilltree.com and start building your PLC and HMI applications like a pro.
FREE GUIDE
Just getting started with TIA Portal? Grab my FREE guide by clicking on the link below and learn how to structure your PLC application in TIA Portal like a Pro.
PLCskilltree
>> THANK YOU LINKEDIN!! 💖🙏
About three years ago, I created a profile 👤 on LinkedIn (could have been longer) and slowly started posting content on (mostly) TIA Portal PLC programming, connecting with lots of people along the way 👥 It's been a super-exciting and rewarding journey with lots of interactions and quite a few learning moments as well. Thank you all for your support and for following me on LinkedIn 🙌 🙏
If there's any advise I could give after being on LinkedIn for over 3 years, it is to share your knowledge with people. Pay it forward ↪️ Someday someone will help you out as well when you need it - that's my belief.
Sharing your knowledge puts you out there - makes you visible. And yes, that means as well for people who would like to work with you 🤝📄 I have closed at least three projects (from the top of my head) from companies contacting me on LinkedIn because they have enrolled in my courses or seen my content. Just to be clear, that is purely from posting content, not reaching out to them.
So if you're looking for job opportunities, start posting 📝 about your journey, things you have learned along the way, solutions you found to problems in your field. You'll be amazed at the opportunities that will come your way! 😃
Have a wonderful weekend! ☀️
-Hans
P.S. If you're working with TIA Portal, here are some free resources you might find helpful:
📘 Free TIA Programming Guide: www.plcskilltree.com/free-guide-optin
📝 Blog Articles: www.plcskilltree.com/blog
🎥 Tutorial Videos: youtube.com/@plcskilltree
#tiaportal #plcprogramming #plctraining #linkedin #controlengineering #systemintegrators #plcskilltree
4 days ago (edited) | [YT] | 13
View 0 replies
PLCskilltree
>> TIA PORTAL QUICK TIP: See All Your IP Addresses at Once 🔍
If you’ve ever worked on a big TIA Portal project, you know the feeling… Your device configuration starts filling up with PROFINET nodes so fast you lose track of which IP addresses are already in use 😵💫
Here’s a super quick way to get instant clarity 👇
1️⃣ Open your PLC’s Device Configuration
2️⃣ Switch to the Network View tab (top right - it’s one of the 3 tabs there)
3️⃣ In the top toolbar, hit the 🏷 "Show address labels" icon
🧨Boom! Every node’s IP address is now right in front of you. No more guessing. No more clicking on every node separately to find out which IP address has assigned to that node.
I hope this makes life a little easier for a fellow TIA programmer when working with device configurations.
Stay structured! 🙌
-Hans
PS. Just getting started with TIA? Grab my free guide right here: www.plcskilltree.com/free-guide-optin
#TIAPortal #PLCProgramming #IndustrialAutomation #PLC #AutomationEngineer #ControlSystems #Profinet #SiemensTIA #PLCskilltree
1 week ago (edited) | [YT] | 53
View 0 replies
PLCskilltree
>> TIA PORTAL QUICK TIP: My 3 go-to tools for modular and scalable PLC programming 👇
When I start a new PLC project, I always start by thinking about the real machine, production line or process in front of me.
🤔 What are the logical modules?
🤔 How do they work together?
Then I try to translate, to mirror that modular structure inside TIA Portal (kind of like building a digital twin👬)
Luckily, TIA Portal offers some awesome tools to make this very doable.
Here are my top 3 favorites:
1️⃣ Program Groups
Think of Program Groups like folders for your blocks. You can organize your logic into meaningful sections such as “Equipment Modules”, “Machine Modules”, “Safety”, “Motion”, "Global Data" and "Library".
This isn’t just for OBs, FBs, and FCs. You can also group your PLC tags (inputs, output) and PLC data types (UDTs), which makes it so much easier to keep your whole project structured, especially when it starts getting more complex.
💡Organized blocks = less time searching... and more time actually programming 🙌
2️⃣ Reusable Functions & Function Blocks
If you want to build scalable applications, reusable logic is a must. That’s where FCs and FBs shine.
Create a logic block once - say, a scaling routine for analog inputs or a drive control block for your VFD - and reuse it as many times as you need throughout your PLC application. This cuts down on errors and makes updates way easier.
💡 Reusability = speed, clarity, and consistency across your project 🧩
3️⃣ Custom Data Structures (UDTs)
Modular programming gets really powerful when each module has its own structured data.
With a user-defined data type (UDT, or "PLC data type" as it's called in TIA), you can pack everything - commands, status, setpoints, parameters, configuration tags, faults - into one clearly organized structure. That way, when something goes wrong, you only need to look in one place to see what's going on.
💡 Structured data = fewer headaches, faster troubleshooting, and cleaner code ⚙️
So yeah - if you're looking to build clean, scalable, and easy-to-maintain PLC applications, these three tools definitely make a huge difference 👊
❓Are you using any other structuring tricks in TIA Portal? I'd love to hear them in the comments below 👇
Stay structured!
-Hans
PS. If you're just getting started with TIA Portal, grab my free guide here:
www.plcskilltree.com/free-guide-optin
It walks you through 5 simple steps to drastically improve the structure of your PLC applications in TIA Portal.
#tiaportal #plc #automation #siemens #plctraining #industrialautomation #engineering #plcprogramming #smartmanufacturing #plcskilltree
3 weeks ago (edited) | [YT] | 54
View 5 replies
PLCskilltree
>> 100K VIEWS! 🎉🔥
I am super excited (and stupefied at the same time) to share that one of my very first TIA Portal tutorials has just passed 100,000 views! I never thought I'd see the day (honestly, it took me about 1,037 days to get there 😅).
Ready to bring more structure to your PLC programming in TIA Portal? Then check out my most popular video tutorial right here🎬 https://youtu.be/8aQgk-eOO9o?si=6pYzO...
(and if you dig the content, remember to like and subscribe 😉).
Big thanks 🙏 to everyone who's been supporting the channel since day one. Creating YouTube tutorials takes a lot of work, but your comments, likes, and private messages and emails make it worth while 100%.
Whether you’re just starting out or want to level up your PLC game, I'm happy to have you along for the ride. If you get value from my posts or tutorials, feel free to pass them on to a friend or colleague.
Stay structured!
-Hans
PS. Having trouble with TIA Portal? Grab my free guide right here and level up fast: www.plcskilltree.com/free-guide-optin
#tiaportal #plcprogramming #plctraining #controlengineering #systemintegrators #automationengineering #plcskilltree
4 weeks ago (edited) | [YT] | 20
View 6 replies
PLCskilltree
>> TIA PORTAL QUICK TIP - How to Check Your System Resources
Most of the time when we’re building PLC applications, we’re deep into programming (and if you’re doing it right, you’re constantly thinking about structure too of course 😉).
But here’s the thing: depending on the PLC size you’re working with, you can run into trouble if you don’t keep an eye on system resources.
Things like:
📦 Running out of memory (load, work, retain)
🔌 Hitting the limits of available digital & analog IOs
⚙️ Using up all your motion control resources
… and more.
Luckily, TIA Portal makes it super easy to check:
1️⃣ Click on your PLC device (or any object under it in the project tree)
2️⃣ Go to Tools in the top menu and select Resources
This will open a full overview showing how much of each resource is used vs. available, down to the individual blocks! 🔍
💡One thing I always keep a close eye on is retain memory. On larger projects, that’s often the first bottleneck. So use your available resources wisely in your PLC application, check them regularly, and you’ll save yourself a lot of headaches further down the road.
I hope this helps a fellow TIA Portal programmer out there 😃.
Stay structured! 🙌
-Hans
PS. New to TIA Portal? Grab my free guide here: www.plcskilltree.com/free-guide-optin
#tiaportal #plcprogramming #plctraining #systemintegrators #controlengineering #automationengineering #plcskilltree
1 month ago (edited) | [YT] | 35
View 3 replies
PLCskilltree
>> TIA PORTAL QUICK TIP: How to Access Parts of Data Types Using Slicing
Did you know you can access just a part of a tag in TIA Portal without copying it to another variable or using extra logic? This technique is called slicing and it makes your code cleaner and smarter.
🔧 EXAMPLE 1: Alarm Trigger Bits
Say you have a variable AlarmWord of datatype WORD.
A WORD consists of 16 bits and you can access individual bits like this:
AlarmWord.%X0 (Bit 0) → “Overtemperature”
AlarmWord.%X1 (Bit 1) → “Low Pressure”
AlarmWord.%X15 (Bit 15) → “Motor Overload”
The example above allows you to pack 16 different alarms into one single WORD, way more efficient than using 16 separate BOOLs!
🔧 EXAMPLE 2: Sending a 32-bit Sensor Value Over Modbus
Got a 32-bit sensor reading like flow, temperature, or encoder position? Let’s say it’s stored in a DWORD called SensorData with the value DW # 16 # 12345678.
Many systems (like Modbus RTU/TCP) can only handle 16-bit or 8-bit registers. No problem - just slice it:
ModbusWord1 := SensorData.%W1 // High word (0x1234)
ModbusWord0 := SensorData.%W0 // Low word (0x5678)
➡️ Need bytes instead? Here you go:
ModbusByte3 := SensorData.%B3 // 0x12
ModbusByte2 := SensorData.%B2 // 0x34
ModbusByte1 := SensorData.%B1 // 0x56
ModbusByte0 := SensorData.%B0 // 0x78
🎯Slicing is a simple but powerful trick that many miss. It helps you write cleaner code, save memory, and manage bigger projects without headaches. Whether you’re setting alarms ⚠️, communicating with devices 🔁, or working with legacy gear 🕹️, slicing gives you easy, precise control over bits and bytes.
Stay structured! 🙌
-Hans
PS. Struggling with PLC program structure in TIA Portal? Learn the 5 steps to drastically improve your code structure right here in my free guide: www.plcskilltree.com/free-guide-optin
#tiaportal #plc #plctraining #plcprogramming #controlengineering #automationengineering #systemintegrators #plcskilltree
1 month ago (edited) | [YT] | 62
View 3 replies
PLCskilltree
>> TIA PORTAL QUICK TIP: 4 Ways to License TIA Portal
Here are some questions I get asked a lot:
❓"How do I license TIA Portal?"
❓"Where can I purchase a license?"
A while back, I put together a full blog post on how to download, install, and license TIA Portal V19 (you can check it out here 👉 www.plcskilltree.com/blog/how-to-download-and-inst… ).
Here’s a quick snippet from that article with a simple breakdown of the license options 👇
1️⃣ The TRIAL license
You get 21 days of full access - all features unlocked. Perfect if you're just getting started and want to try it out.
2️⃣ The RENTAL license
Good for 90 days or 1 year. Often comes with the TIA Portal Starter Kit.
⚠️You can’t buy this separately, so not a real option for most.
3️⃣ The SINGLE license
Full version forever on one computer. Not transferable. Great for freelancers using just one laptop.
4️⃣ The FLOATING license
Full access on up to 10 PCs! You can store it on a USB stick or server and move it around. Best for teams or company setups.
The trial license comes with the trial download of TIA Portal.
Just google “download TIA Portal Vxx trial” (replace xx with the version you need) and click the first link you see (support siemens industry).
If you're planning to use TIA Portal more seriously, you'll probably want a single or floating license. To get one, just reach out to your local Siemens rep using this link 👇
www.automation.siemens.com/aspa_app?lang=en&nodeke…
Have a great start of the week!
-Hans
PS. Just starting with TIA Portal? Grab my free guide here: www.plcskilltree.com/free-guide-optin
#tiaportal #plc #plctraining #plcprogramming #controlengineering #automationengineering #systemintegrators #plcskilltree
1 month ago (edited) | [YT] | 35
View 7 replies
PLCskilltree
🛠️ TIA PORTAL QUICK TIP: Fixing HMI Scaling Issues During Simulation
Does this sound familiar? You just fired up your HMI simulation in TIA Portal, simply to find out that all your text is way too big (and not even fully visible), and your graphics are oversized 😣 Pretty annoying, I know - I've been there.
Dozens of students have reached out to me about this exact issue, so here are 2 quick fixes 🛠️:
✅ Option 1: Set your Windows scaling to 100%
1. Right-click on your desktop and select Display settings
2. Under Scale and layout, find "Scale"
3. Set it to 100% from the dropdown
4. Apply and restart TIA Portal
✅ Option 2: Override High DPI Scaling for the TIA Portal executable
1. Locate the TIA Portal executable (e.g. C:\Program Files\Siemens\Automation\Portal Vxx\Bin\)
2. Right click on Siemens.Automation.Portal.exe and select Properties
3. Go to the Compatibility tab and click "Change high DPI settings"
4. Enable DPI override and set the dropdown to "System (Enhanced)"
5. Apply and restart TIA Portal
Both options should help you get your HMI scaling looking correct in Runtime 🎯 No more nail-biting or unnecessary stress 😅
I hope this helps a frustrated TIA programmer out there! 🙌
-Hans
PS. Getting started with TIA Portal? Grab your free guide right here: www.plcskilltree.com/free-guide-optin
#tiaportal #plc #plcprogramming #plctraining #systemintegrators #controlengineering #automationengineering #plcskilltree
2 months ago (edited) | [YT] | 36
View 2 replies
PLCskilltree
>> TIA PORTAL QUICK TIP: 3 Main Types of PLC Memory Explained
When it comes down to it, PLC software is really just two things:
-> Logic 🤖 + Data 💾
And data, that's the big block of memory that holds all your variables (i.e. tags, data blocks).
But did you know that your PLC stores that data in different types of memory, depending on how long it needs to “remember” those variables? 🤯
Below is a quick break down of the 3 most commonly used PLC memory types.
1️⃣ TEMPORARY MEMORY
Variables declared here are only valid for one scan cycle 🔄. They do not keep their value from one scan to the next. So if you move for example the value "3" to a step 👣 declared as a temporary integer - it will most likely not be 3 the next time your program cycle comes around (you could win the lottery 🎰 and hit it - 1 chance in a million - but don't count on it).
This type of memory is perfect for intermediate calculation variables, loop indices or local status/command flags - but should not be used for edge detections, counters, steps/sequences or set/reset instructions.
2️⃣ STATIC MEMORY
These variables keep their value from one scan to the next. So you can sleep on both ears 😴 knowing that the static step integer you just assigned the value 3 to, will still have that same value 3 when the next scan comes around.
Use this type of memory for edge detections, variables that are being set/reset, timers, and steps or sequences.
3️⃣ RETAIN MEMORY
Now, retain variables are the king of the memory hill. They are like a special version of static memory, where not only values are consistent from one scan to the next, but they're also kept after a power cycle⚡🔁. This type of memory is usually pretty limited (unless you're on a Rockwell system, where basically everything is retain memory by default 😄), so it's a good idea to use it wisely, only when it's really needed.
This memory type is ideal for arrays, shift registers, data logging, counters and HMI recipe parameters. Do not use this for edge detection, loop indices or intermediate calculation variables.
💡 Understanding the difference between these 3 memory types will help you build better PLC applications that are more efficient and streamlined (and let’s be honest, it'll probably impress a few fellow PLC programmers too 🙃).
🤔 What is your experience with these memory types? Anything to add - tips or best practices? Let me know in the comments below!
Have a great weekend! 🙌
-Hans
P.S. Are you just getting started with TIA Portal, or interested in how to build better-organized PLC logic? Then grab my free TIA Portal guide right here: www.plcskilltree.com/free-guide-optin
#tiaportal #plc #plcprogramming #plctraining #systemintegrators #controlengineering #automationengineering #plcskilltree
2 months ago (edited) | [YT] | 34
View 0 replies
PLCskilltree
🔷 PROGRAM STRUCTURE > Programming Language 🔷
I've been meaning to write something about this topic for a long time. Especially now where there's a lot of talk out there on programming languages, what AI can do for your logic in the future 🤖, how high-level programming languages like C++ and others could fit into the mix etc...
There's definitely been some entertaining content 💬out there from both the old-school PLC folks and the new up-and-coming 😀.
Although I enjoy reading most of those posts (I'm always ready to learn new things 🧑🎓), I think they often overlook one important point.
You see, a real-life application 🏭 e.g. a production line, a processing plant or a stand-alone machine - isn't just inputs, outputs, global and local data, and a bunch of logic 🧩 to connect them all together (in other words: the programming LANGUAGE).
If you zoom out 🔍 and look at the bigger picture 🖼️, a real-life system is really a collection of modules - smaller, logical, self-contained units 📦 (you got it - the program STRUCTURE).
And if you did your homework right, those modules should be:
✅ Scalable
✅ Easy to troubleshoot
✅ Simple to maintain
✅ Straightforward to update
In my opinion, this is what separates the 1% of PLC programmers from the rest - the ability to create modular PLC software - not just being great at ladder, structured text or any other language out there.
I feel there is way too much focus on programming languages and nowhere near enough on how to structure an application properly. You could write flawless code in the “perfect” language, but if your structure sucks, no-one will have a nice time troubleshooting your PLC application🔧 (speaking of which - I'm in the middle of one such mess right now 😅).
So what should you actually do before diving into any programming language?
👉 Break your application into smaller, manageable parts
👉 Define the key sections of your application (general, equipment, safety, motion, library, global data, etc.)
👉 Create clean, independent data structures for each module
👉 Build reusable functions or function blocks for repeatable logic (or at least define them - the logic comes later)
And the best part? 💡These structuring principles apply regardless of the programming language you use. Your program structure is like LEGO bricks 🧱 - it’s the framework you define to build your application. The programming language? That’s what goes inside those bricks.
So next time you start a new PLC project, remember:
1️⃣ structure first
2️⃣ language second
I appreciate you making it to the end of this little rant of mine 😁
Do you agree with me, or have some other opinions?
⬇️ Let me know in the comments below ⬇️
Stay structured!
-Hans
PS. If you want get structured in TIA Portal, then grab my free guide right here 👉www.plcskilltree.com/free-guide-optin
You’ll learn 5 simple steps to drastically improve the structure of your PLC applications in TIA Portal 💪
2 months ago (edited) | [YT] | 9
View 3 replies
Load more