To Modbus or Not to Modbus, That Is the Question!

Every technology and innovation has its day. The steam engine, a revolutionary technology that revolutionized travel, commerce, and life in the 18th century, survived well into the 20th before being displaced by the diesel engine. The vacuum tube had a similar history. Invented in 1904 and commercialized by 1910, it ushered in the age of electronics and made radio, radar, television, and countless other products possible. But by the 1950s vacuum tubes were displaced by solid state devices in amplification, switching, and rectification applications.

It happens to every technology. But the question I ask today is: is there a place for Modbus in the future of Industrial Automation?

Since its inception, Modbus has been one of the most implemented technologies of all time. It’s simple and fast to implement and widely used. It uses few of the precious resources of small micro controllers and requires no hardware support other than an RS485 port. It has been used in every kind of device on the factory floor. Controllers, valves, drives, linear actuators, HMIs, and everything and anything else you can name has supported it over the years. It has been foundational technology for the development of industrial communication networks.

But what about today? What is Modbus’ place today and in the industrial network of the future?

Here are a couple of things we know about the networks that we will be using in the future. One, they will all be Ethernet – Ethernet is ubiquitous. It’s fast, commonplace, and used in both IT and industrial applications. The sheer volume of products continues to drive the price down. We also know that speeds are going to get faster, and that integration costs have to come down – and standards are going to make that happen. And we know that security is going to be even more important in the future.

That reads like a death notice for Modbus RTU – the RS485 version of Modbus. Modbus RTU was perfect in the age of the under-resourced microcontroller. It was small, functional, and easy to implement. But today, with its low speeds, RS485 network, and lack of any security, it doesn’t have much of a future in industrial applications. It will continue to live on as there are millions of Modbus devices, but we can’t expect to see anything in the way of new Modbus RTU devices.

But what about Modbus TCP? Is it destined for the history pages of Wikipedia too? The answers are a little less clear when talking about Modbus TCP.

On the positive side, Modbus TCP is Ethernet TCP based. Modbus TCP fits that environment as do EtherNet/IP, ProfiNet IO, and all the other protocols we’ve been using over the past twenty years. It also still retains its best asset – ease of implementation. You don’t need to buy any expensive software or spend a lot of time if you want to write your own. And there is no expensive conformance test as there are for EtherNet/IP and ProfiNet IO. It has all that in its favor.

Its biggest drawback though is security. There is none and no plans to add it. EtherNet/IP and ProfiNet IO are adding packet security to their cyclic communications. There is no good way to secure a Modbus packet. At least no one has proposed one yet. It’s also limited by the number of registers it can transfer in a single message. The 242 bytes made a lot of sense in the age of low resourced controllers but doesn’t in this era. And, then there are the limitations of the data model – registers and coils. Today, systems need metadata such as item name, engineering units, data type, last update time, and other information to properly process the data. Modbus doesn’t inherently supply anything other than a simple 16-bit unsigned value.

I hate to say this as I love Modbus, but it looks like its days are numbered. Soon it will join the ranks of the typewriter, the steam engine, dial up modems, dot matrix printers, and pagers. It will be sad to see such a workhorse of industrial automation retired, but every technology has its day.

I’ll miss Modbus!