State of the Industry: Hannover Messe 2023

In this post, I summarize my thoughts after visiting the Hannover Messe in 2023. I focus on developments in PLC software. I found that the industry is focusing more on software and developing tools catered to software developers.

I wrote this article back in 2023 but forgot to post it. Better late than never.

Before I start: where do you believe we currently are on the Industry X.0 scale?

1.0 steam 2.0 electrification 3.0 digitization 4.0 smart automation 5.0 human–machine connectivity

Historical context

Before diving into the current state, I want to explain how we got here.

It started with the Industrial Revolution when we used steam to power machines—Industry 1.0. Then came electrification: Industry 2.0.

With electrical control, relays could implement some logic control in machines. For example: if a box of height 1 arrives here, activate this piston; if the height is larger, activate a second piston. This enabled more complex processes, but changes were cumbersome, and the relay cabinets were large, as seen in the image.

Cue the digital revolution—Industry 3.0. Digitizing the logic allowed for more complex, flexible control. This gave us programmable logic controllers, or PLCs.

PLC programming and tooling were made by and for hardware engineers. That’s why ladder logic resembles a relay schematic. There was never a real separation between hardware and software roles, unlike in general IT.

Until now.

The rise of software people

Over the last few years, I’ve noticed more people with traditional IT backgrounds—including myself—entering the field of industrial automation. These people are used to different tools: command-line interfaces, plain text files, and reusing other people’s code.

For a long time, these things either didn’t exist or barely did. But that is changing. Some new players have entered the space, and some old ones have learned new tricks. I’ll introduce the new ones first, then the old.

New kids on the block

Controllino

Controllino made an Arduino-based PLC. It’s quite affordable (€100–€300), though limited in functionality. Depending on the model, you get a fixed number of digital and analog I/O. Currently, there’s no option to extend it.

The most interesting part is the software. Since it’s Arduino-based, you can use existing Arduino sketches. They also support Python integration for non-time-critical tasks.

It’s a great platform for quick prototyping, especially since many developers are more familiar with Arduino code than with IEC-based languages.

Revolution Pi

Another new player, this one is Raspberry Pi-based. It offers more compute power and supports up to ten add-on terminals. Along with digital and analog I/O, it also supports Profinet, Profibus, and Ethernet terminals. Prices are higher than for the Arduino option.

The Pi PLC can be programmed using traditional PLC languages, or with C and Python.

Software Defined Automation

This company doesn’t produce PLCs—it’s a SaaS provider. Their product focuses on PLCops: managing PLCs and code history across vendors, factories, and machines.

It’s interesting to see software-only companies entering the PLC space.

Old players

Simatic AX

Siemens surprised me most with its new Simatic AX framework. It’s a completely new approach to PLC programming, compared to their previous TIA Portal solution.

The editor is VS Code–based. Code is saved in plain text, there’s a CLI, a package manager, unit tests, an autoformatter, and configuration is done in YAML files!

Amazing.

All the wishes Jakob and Peter mentioned in their TwinCAT 4 wish list are implemented—and more.

Currently, Simatic AX is in limited beta and can be used to write libraries for import into TIA Portal. It sounds very promising, and I think AX will quickly replace TIA Portal.

ctrlX Automation

Rexroth has built a new PLC platform based on a real-time version of Ubuntu. It even runs on other hardware (though without hard real-time guarantees).

I haven’t used it myself, but the features sound great. For example, the PLC runs a web server, allowing configuration directly from a PC—no software installation required.

You can also write real-time code in C and integrate it into your PLC logic.

Finally, all PLC variables are exposed over a REST API. This allows reading/writing from any programming language.

One great demo featured a Jupyter notebook executing commands like axis.goto(1.1, 2.1, 3.5) on demand. This makes it easy to experiment with actuators.

TwinCAT

From Beckhoff, I didn’t see many promising software developments. They launched a ChatGPT API for TwinCAT, which is ironic considering these models rely on open-source code—something mostly absent for Structured Text. They may have retrained it on internal code, though.

Wrapping up

The mindset around PLC software development is shifting. Not only are users changing—suppliers are too. It’s good to see vendors offer native interfaces and support general-purpose languages like Python and C. More code is being shared on GitHub. And Arduino- and Raspberry Pi–based products are introducing fresh perspectives.

I estimate we’re currently at Industry 3.2. But with these tools on the horizon, we may finally reach the long-hyped Industry 4.0.

Like my work? Consider a donation!