Dear existing & future PLC software developers, I have published part 17a of my free PLC programming using TwinCAT 3 tutorial.

TDD is the practice of writing tests before writing the implementation code. Writing software using the practice of TDD is something that has been around in the traditional software development industry for a while, but only recently has gained attention in industrial automation. In this series of videos, we will look at the theory of TDD, and then see how it’s done in practice.

Read more

Dear existing & future PLC software developers, I have published part 16 of my free PLC programming using TwinCAT 3 tutorial.

Ever wondered what challenges you face if you want to develop PLC software for the worlds largest optical telescope? In this episode we are going to talk about the TwinCAT automation interface, which you can use if you want to automate the configuration, development and deployment process of your PLC software.
Simply stated: automate the automation!

Read more

Dear existing & future PLC software developers, I have published part 15 of my free PLC programming using TwinCAT 3 tutorial.

The Automation Device Specification (ADS) is Beckhoffs middleware to communicate with Beckhoff PLCs. It’s used for all kinds of use cases, as software deployment, reading/writing of variables and for internal communication of software modules. In this part we’ll go through the theory and also write some C# software to communicate with a PLC. We’ll also do a simple C++ program running under Linux that talks to the PLC!

Read more

Part 2 of the XPlanar series is out now! In this second part we will create a new TwinCAT 3 project and get introduced to the XPlanar configurator. We will also start writing the software for XPlanar.

Read more

Together with Isaac Spear from Beckhoff Automation USA I’ve created a series of three videos where we will look into XPlanar, which is Beckhoff’s planar motor system, which combines the advantages of conventional transport technologies with magnetic levitation. In this first part we will get an introduction to the system and the theory behind it. In the later videos we will do some practice.

Read more

Dear existing & future PLC software developers, I have published part 14 of my free PLC programming using TwinCAT 3 tutorial.

After working for a few months and years, you’ll will be in a situation where you have to manage several PLCs and machines, and they will all be running different versions of TwinCAT. But we’ve so far only installed one version of TwinCAT on our development machine. What if we want to work with a machine that runs an older or newer version of TwinCAT? This part will go through how this is done.

Read more

Dear existing & future PLC software developers, I have published part 13 of my free PLC programming using TwinCAT 3 tutorial.

Proper version control is traditionally not done in the world of automation, which is a big shame. The question should not be whether version control should be used or not. The question should instead be what version control system should be used. In this part we will get an introduction to version control in general, and Git in particular. We will start with an introduction to some basic concepts of version control and then show you how you can put your automation projects under version control using Git, using free and open-source tools that are traditionally used in the software industry. You’ll learn how to do proper 100% free and Git-based version control using TwinCAT 3! Let’s start demanding more from our automation vendors and demand that the tooling for version control should be included by default, and get out of the dark ages!

Read more

A dirty keyboard is a little bit like dirty underwear. It works, but it doesn’t feel right.

The keyboard is my preferred way to communicate with the world. It’s one of these tools that we use so often that it’s taken for granted. I’m quite picky with keyboards & keycaps, and over the years many have come and gone. A few have stayed. I’ve more or less set on four sets that are my primary work horses, and I rotate between them from week to week. Working at the computer every day makes the keyboard a little gross. I have a tiny ritual where I carefully clean my keyboards, so that they feel nice & fresh. I’d thought I’d share the complete cleaning process of one of my keyboards through a YouTube-video.

Read more

I’ve been using TwinCAT 3 more or less since it was released, and since then it has become such an integrated part of my daily work that it’s my main software development platform. I like to develop software using TwinCAT 3, but I’ve come to the conclusion that there are some features I miss. I’m not the only person that uses TwinCAT 3, and this video is made in collaboration with someone that has vastly more experience in industrial automation than me – Peter Kurhajec. As we both work with TwinCAT 3 on a daily basis, we decided to do a video with the title “4 things we want in TwinCAT 4”. Consider this as a wish list for a future version of TwinCAT, so some kind of dream session.

Read more