Dear TwinCAT’ers
I’m very happy to announce the release of TcUnit version 1.3.
Dear TwinCAT’ers
I’m very happy to announce the release of TcUnit version 1.3.
The Arduino PLC and the Arduino PLC IDE… there has been a lot of buzz around it since it was announced recently. I’m a long-time user of the Arduino eco-system and have been using their IDE for over 10 years for various projects. Guess if I was surprised when they released their new IDE aimed at the industrial automation industry! The Arduino PLC IDE only supports one board right now, the Arduino Portenta Machine Control, and luckily I had just been using one of these boards for another project recently, so I could try the new PLC IDE that Arduino have released.
I thought I’d share my initial impressions, findings, praises & complaints with all of you by making a YouTube video where I go through the complete process of installing the IDE and configuring one Arduino board to run a simple PLC program.
Hey all readers! Another year has passed by, and I thought I’d just share some thoughts.
There haven’t really been many blog posts this year (as in pure blog texts), but rather blog posts with links to my YouTube videos. As you might already have guessed, all my spare-time went into finishing the free “PLC programming using TwinCAT 3” course on YouTube. I promised myself that I would finish this course this year, and I’m very happy to have delivered the last part just a few days ago. Now I know that it takes 720 hours to make what might be the world’s most popular PLC programming course.
The response to this course has been well beyond my imagination. I’ve on average probably received two dozen messages every week saying thank you from people all across the world. Many have started their careers thanks to my course, some have learned something new (for example, what TDD is). A few have written very angry/hateful e-mails stating that I’m destroying the automation industry and the job-market by putting out my course for free. I’ve realized you can’t make everyone happy.
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.
If you want to write TwinCAT 3 software and run it, it’s not obvious how to get TwinCAT 3 to run on your desktop machine, be it directly on the machine or inside a virtual machine. The primary reason for this is because TwinCAT 3 is running in something called kernel space. While I was bored recently on a late afternoon, I discovered that Beckhoff had quietly added some files in the TwinCAT 3 folder in one of the newer releases of TwinCAT 3, that might change all of this.
How you may wonder? Let’s find out!
One of the most anticipated products that Beckhoff has released this year is TwinCAT/BSD, which is Beckhoff’s new operating system which is an alternative to Windows for the PLCs. Did you ever want to play around/learn TwinCAT/BSD, but don’t want to spend the money to buy a PLC with it pre-installed? No worries, it’s entirely possible to run it fully virtualized in a virtual machine. Not only that, it’s also possible to run your TwinCAT 3 software in that virtual machine! I’ve created a step-by-step tutorial where I will show how you can run it locally on your PC. Start the video to join me on an adventure & let’s have some fun!
One of the things that have annoyed me ever since I started using TwinCAT is the fact that if you create an enumeration, it will automatically have a global scope. It will be accessible from all functions and function blocks. What’s even worse is that if you create a library project with an enumeration and include that library in another project, the enumeration will be visible there, too. This pollutes the namespace by creating unnecessary types. But no more.
Today on this day five years ago, I published my first entry on this blog. These last five years have been an amazing trip, and the number of visitors has seen a steady growth.
Almost two years after I created a pull request to include a default TwinCAT 3 .gitignore file into the official GitHub Gitignore repository, it has finally been accepted & merged into main branch. Download the file here.
You better not be in a hurry to propose changes! 😅
The user base for TcUnit, the free open-source PLC/TwinCAT unit testing framework, has grown enormously. Current estimates are that there are over 100 installations of TcUnit worldwide. Running an open-source project has for some moments taken all my spare-time to maintain the framework, and answer all the questions from the users (I’ve added an FAQ since). The most asked-for functionality of TcUnit that was missing was the possibility to run unit tests in a sequence/in order. Up to now, all tests defined in TcUnit were running in parallel, while in many use cases it was desirable to run the tests in sequence. Thanks to several fantastic contributors from the TcUnit community on GitHub, this is now available in TcUnit starting from version 1.2.