Training

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

So we’ve come to an end. For the last two years all my weekends, holidays, summer/winter vacations and basically every free-moment I’ve had, went into the creation of the free “PLC programming using TwinCAT 3” course on YouTube. It’s been the biggest hobby-project I’ve ever commited myself to, and I together with my wife would like to finish by saying a few words.

Read more

Dear existing & future PLC software developers, I have published part 17b 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. In this episode, we will implement the code that we wrote tests for in episode 17a.

Read more

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

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

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

When installing the TwinCAT development environment and runtime you get access the core functionality, but sometimes you might want to extend this with additional functionality as for example adding an SQL database connection. In this chapter we will investigate some TwinCAT functions that can be added.

Read more

I wanted to share with you a tiny celebration and some frequently asked questions, as I’ve recently reached 5000 subscribers on my YouTube channel. I didn’t even know whether there was 5000 people that work with TwinCAT 3 on planet Earth, let alone that would be interested in a TwinCAT 3 related YouTube channel!

 

Read more

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

When you start to develop PLC software and you’ve worked for a few projects, you will come to a point where you will notice that certain parts of the software, like function blocks, will be copied between the projects. You’ll either do it by simple rewriting the same functions or function blocks again, or you will simply copy and paste it from one project to another. Also, once a project gets big enough, you will want to utilize something called libraries. With this we can achieve code re-use.

Read more