Five years celebration

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.

As of today, this blog has now around 300 unique visitors per day. I get up to twenty e-mails every week from visitors, which I really appreciate. Most contain technical questions about TwinCAT (in which case I refer to my new YouTube tutorial, StackOverflow or any other of the available resources). Sometimes it’s a simple “Thank you!” e-mail, and sometimes (though very seldom) it’s an angry e-mail that I’m an idiot putting all this information on the Internet and that I should remove it or put it behind a paywall (like Udemy). The last type of e-mails always makes me more motivated to create new content. During these five years I’ve written over 50 posts, some have barely received any reads, whereas others have gained a lot of attention. The (by amount of views) overwhelmingly most popular post was TwinCAT & Virtualization, which really makes a lot of sense when you come to think about it. It’s simply one of Beckhoff’s biggest strengths that you can create as many virtual machines as you want for your development or testing. It’s just not that fun to have to pay for a lot of expensive hardware when you simply want to write some software and test it out. Anyway…

I like to look back at what has happened these last five years, not so much for the purpose of nostalgia, but rather to know in which direction I should go next, which brings me to the future. I, with a traditional software background, have learned a lot from the automation industry. I think the automation industry has a lot to offer to us that are coming from and maybe still are working with “traditional” software development. But the opposite is true as well. There is so much that has been learned. I know there is a strong resistance to adopting modern software development practices into the automation industry for various reasons that have to be discussed. I consider myself lucky to have a foot in both worlds.

For this reason, my blog will take a slightly different turn and I will focus more of the content on why and how we can adopt modern software development practices in the world of industrial automation. I’ve been writing a little about this before (CI/CD, TDD, etc.). I’ve come to the realization that I need to put more focus and effort on this type of content because I think this is where there is much room for improvement. The discussions about what the best practices are usually end up with personal opinions (at best), or at worst with pitch forks and personal attacks. This is what we must try to stay out of. I believe that the scientific approach is the best tool we as humans have for making progress and improvements. To make improvements we need to be able to do measurements. You cannot improve what you cannot measure. There are big differences between different industries in various aspects, but the fundamentals for good software development are the same whether you write software for a phone produced in the millions, a single-unit packaging machine or a space shuttle. The approach of continuous delivery is the best tool we have as of today for delivery of software, and thus this is what I will be writing more about. Whether the content will be as text here on the blog, or as videos on my YouTube channel I haven’t decided yet.

Currently creating the TwinCAT 3 tutorial is what takes most of my free/spare-time (actually all of my weekends), so my goal is to finish this series. If the demand is there, I might do more free training material for other things than TwinCAT 3 PLC programming. Maybe TwinCAT 3 HMI or TwinCAT 3 motion? Please write a comment or two and let me know what you think!

I want to end this post by saying that I’ve noticed that the playing field for software development in the world of automation has started to change. I’ve seen the adoption of test driven development (TDD) of PLC-software in both small and really big companies. TcUnit has gained so much usage that it’s getting hard to keep up with the questions (contributors to the project are always welcome). Last, but not least, PLC s/w development blogs are starting to pop up, more questions are being asked (and answered) in StackOverflow/LinkedIn groups and more open-source initiatives are started. The cross-section of PLC software and traditional software practices, tools and techniques is where the fun is at.

Again, thanks to all my readers and we’ll see where we are in five years from now!

  • Share on:

19 Comments, RSS

  1. Jonny Scoville

    Thank you for dedicating so much time to this effort. I am new to controls programming, but also have some experience in OOP and modern software development techniques. I have learned so much from your blog and video series.

    I like the direction you are going and the perspective you bring. It is not easy to challenge the status quo, but I see great value in what you are doing. I hope to follow your lead and influence others within my group to learn and use programming techniques that are out of their comfort zones.

    Cheers! Keep up the good work!

  2. Congratulations Jakob! Two excuses to light fireworks for your contributions to open source TwinCAT in one year. Not bad :D.

    Looking forward to your future posts!

  3. Micael Janson

    Hello Jakob,

    I also have to give you thumbs up for all your efforts!

    I found your blog recently, shortly after i started at Husqvarna AB. I come from automation background, programming Siemens PLC:s, ABB robots etc. At Husqvarna we use Beckhoff for some stuff, and this is new to me. When I got a little bit into Beckhoff I began to understand that there has to be a lot to gain from using “PC software” techniques in development. It also feels like a fun ride for me to develop my skills.

    So to learn Beckhoff from someone with the PC software background is just perfect for me! Understand you put in a lot of time, but just want you to know it’s very appreciated!

    Regards, Micael

  4. Andreas

    Hi Jacob,

    congratulations and thank you very much for your efforts! Your blog and Youtube series helped me a great deal to transition from Siemens PLCs to Beckhoff and I think that the same is true for many others as well. Looking very much forward to your future posts!

    If you can find the motivation, time and energy to make another tutorial series, my suggestion would be to combine TwinCat PLC, HMI and motion and create a start to finish course for a small simulated machine.
    I think that there is great value in seeing on how to bring everything together. This would make it a great place to start for newcomers to the world of automation and Beckhoff. Those of us with some experience would surely be able to learn a thing or two from it as well.

    Keep up the good work!

    • Thanks Andreas! It’s a very good suggestion what you wrote, and it’s something that several have written to me that they would want a “complete machine” as a tutorial. As with everything else, my only limiting factor is time as this would probably be a very time consuming endevour. I will take your feedback with me and hopefully one day create something like this. Thanks!

  5. Marco

    Congratulations Jakob 🙂 Thank you very much for what you are doing for the community and the beginners with the new TC3 Tutorial series! Very interesting and very nice explanation of the topics 🙂

    “.. Maybe TwinCAT 3 HMI or TwinCAT 3 motion? Please write a comment or two and let me know what you think!.. ”

    I think that this would add a great value for all the followers, I would appreciate it a lot for both! 🙂

    Marco, from Italy

  6. Ron

    Congratulations Jakob! Thank you for your time and efforts. I find TwinCAT and Structured text very addictive and I am always looking for the good content on these topic to learn more about it. And your tutorial are amazing learning experience. I did shared your work with those who are interested and eager to learn about TwinCAT 3. Looking forward to your future works. Thanks again,

  7. VR

    I am so glad I found your blog!

    I am starting a new project coming from embedded software side and PLC, TwinCAT and many other do sound like a blackbox, blackmagic approach from large corporations with everything being kept behind the curtains. Maybe they are just worried about the Chineese copying everything?!

    Anyway, I am watching your tutorials at the moment and will place first order with Beckhoff soon. Any advice with the IPC, which would suit a small motion controller design?

    AND, YES, please do motion AND HMI tutorials. Am happy to hit a donate button to help with these great tutorials.

    Keep them coming.

    • Hi there! Yes it’s quite sad to see this blackbox/magic approach. I guess there is some rationale for it, although I kind of feel that it’s sometimes exaggerated.
      Regarding IPC I would recommend that you actually don’t need one, at least not from the s/w development side. But if you want to start playing around with h/w (sensors, actuators etc) then I think the cheap newly released CX7000 might be a good start. Performance is very low but at least gives you the ability to hook up some I/O. Not sure if it can do motion though… in which case I would recommend something like the CX5240.
      If you want to make a donation and like my tutorials, please consider becoming a member of my channel to support the creation of it. Thanks!

  8. MauTau

    Hey Jakob.

    We want TwinCAT Motion and Hmi!!!!

    I just left a company where I had to do Siemens and moving to one where they use TwinCAT.
    I am very excited about that and will definitely use all that knowledge I gained reading your posts and watching your videos.

    We hope to see you here also in five years from now.
    Keep up the great work.

  9. Sergei Grogol

    I would also like to join the thanks of everyone who has already written them. Your passion and ability to clearly present the material really ignites and prompts you to action. I’ve only known Beckhoff for two years, but the desire to dive deeper into it only appeared when I found your videos. I have a small production of high-frequency transformers, which I want to automate as much as possible, and after your videos there is a great desire to do this with the help of Beckhoff equipment. Of course, it will be very interesting to learn about the features and pitfalls of Beckhoff in terms of HMI and motion. I would be very grateful to you for the training material in this direction, as well as links to the groups in the StackOverflow/LinkedIn which you mentioned above. I wish you success and health in our troubled age.

    • Thanks for the kind words Sergei! It makes me happy when I get this type of feedback and motivates me to share even more of my knowledge. You find more resources on the links section of this blog. Cheers!

  10. Adam

    Hey Jakob,

    Found your blog by accident with a familiar “sounds like Polish” surname 🙂
    Great work with all the work you are posting!
    I am in the automation industry since quite a while, recently switching from “traditional” platforms like Siemens and Allen-Bradley to Beckhoff. There is plenty of stuff which are done in a very different way, especially for me with very little experience in programming languages like C++, Java, etc.
    But the world moves on and PC based automation has a clear advantage for me in many cases.
    Of course there are also some things I am not a fan of in Beckhoff as well, like programming machine safety – other companies have solved it much better and user friendly… but that’s a story for a separate tutorial probably… which I am still trying to script 🙂
    I was also struggling to find a good reference how to start with Beckhoff and went through quite a journey – there is absolutely no reason why should anyone else (interested) follow the same painful track.
    I would appreciate to share your experience with creating such content and will be more than happy to contribute with my own in the future.

    • Hi Adam! Thanks for your feedback. I’m really happy to hear that you are producing content for PLC programming. If you create content regarding safety, I’m the first one in line that want to watch it as I fully agree that the safety PLC-programming is very far from easy to grasp!

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.