Why the 40-Year-Old Modbus Protocol Has a Future in IoT

The History of Modbus | Modbus & The Internet of Things | Modbus Basics | Modbus RTU & TCP | Things to Keep in Mind | Modbus & Kosmos

How does a car, your favorite cereal, a kitchen sink, or any other everyday product come into existence?

If you’ve ever watched How It’s Made or similar videos on Youtube or checked out our #ManufacturingMonday series on Instagram, you’ve seen the conveyer belts, the cutting machines, and other step-by-step processes that factories use. The well-ordered and smooth progression of all the humming machines doing their jobs can be oddly satisfying.

But what’s making all these machines work behind the scenes?

Enter the Modbus Protocol

An old PLC system
These PLCs look like they’ve been installed for a long time

The machines you see in factories are commonly controlled by Programmable Logic Controllers (PLC), Industrial Control Systems (ICS), Distributed Control Systems (DCS), and/or Variable Frequency Drivers (VFD).

All of these control systems provide real-time guarantees about taking an action. This means they can repeatedly do the same process over-and-over again at the exact same speed.

These systems also include fault tolerance and robust diagnostics, i.e. data that explains what’s going right and wrong with the system.

The data and information about these systems is communicated via the Modbus protocol.

Originally developed by Modicon in 1979, Modbus is an open, non-proprietary communications protocol that enables machines to communicate and coordinate with each other by passing information in a standardized way.

Display of PLC diagnostics on the Kosmos dashboard
A Kosmos dashboard displaying diagnostics from a PLC transmitted via Modbus.

Since it’s open and time-tested over decades, it’s used in all sorts of industrial systems in all types of industries, including production lines in factories, pump systems in buildings, and methane capture processes in wastewater treatment plants.

It also means that an almost uncountable number of companies build hardware that uses the protocol. All the major PLC makers like Siemens, Schneider Electric, ABB, Rockwell, Emerson, and more create Modbus-compatible hardware.

In short: The open nature of the Modbus protocol and its long track records of success means that it is used by an innumerable number of devices and organizations in all types of industries.

How Does The Modbus Protocol Fit Into the Internet of Things?

PLCs & Modbus Devices supported by Kosmos
Choosing a Modbus device in Kosmos. More PLC brands are coming soon.

If the Modbus protocol is from the 1970’s, why would anyone use it for the Internet of Things?

Well, to put it simply, it has a giant base of devices it is installed on. A huge amount of machines and systems have used it and still use it.

With that comes a larger community of skilled technicians and professionals who know it and, more importantly, trust it with expensive, complicated, and large industrial systems.

It’s important to keep in mind how long the useful lives of industrial machines and systems are. These can often be measured on the order of decades.

Think how often you expect to replace your hot water heater or refrigerator versus your smartphone or computer. I’ve talked to companies that are using PLCs that were installed in the 1990’s! Modbus-compatible hardware isn’t going away anytime soon.

In short: While ‘more modern’ replacement communication protocols exist and are being developed, Modbus will definitely be around for a while and maybe even longer than you think.

The Basics of Modbus

Mapping sensor for a Schneider PLC in Kosmos
Mapping sensors for a Schneider PLC in Kosmos

Modbus is a communication protocol that consists of a client (gateway) and server. The server only responds to client requests, and cannot “push” notifications to a client.

The purpose of Modbus is to simplify integrating complex control systems, and to get data “out of” a control system and into another one. This allows for the modularization of “skids” and enables companies to outsource components.

The protocol has some specific terminology you might hear: register (holding/input), coils, discrete input. These terms refer to where in the server’s memory you can find the value, and if you can write or just read it.

Modbus RTU & TCP

Modbus comes in two versions, which are summarized below:

Modbus RTU

  • The original version
  • Supports long distances at low data rates
  • Up to 247 devices can be on one set of wires
  • Usually communicated over RS485 or RS232 (physical definitions of wires)
  • Somewhat common interface on small standalone systems
  • Has antiquated terminology (master/slave)

Modbus TCP

  • Modbus for the internet age!
  • Packets are placed into TCP/IP frames and communicated over a network
  • Better error correction and speed
  • Requires a PLC that has an ethernet port
  • The abstraction remains the same
  • Introduces cybersecurity concerns if PLCs are accidentally placed online unsecurely

Things to Keep In Mind

A row from a Modbus Mapping Table showing diagnostic codes.
A row from a Modbus Mapping Table showing diagnostic codes.

Modbus is intentionally flexible and is typically customized for each installation. This means a “Mapping Table” is required to know where values are located and what they mean in any implementation. Sometimes this is also called a “Memory Map.”

It is also extremely lightweight to run, which is another reason it has not been supplanted by more modern protocols like OPC, Fieldbus, CIP, and Profinet.

Besides dealing with sensor data and actuator control, it is also used to transmit an extensive amount of diagnostic data, which can be just as valuable as any sensor data and potentially even more so in the age of Machine Learning.

In short: The flexibility of Modbus means that Mapping Tables are key to understanding the data of any particular system.

Modbus & Kosmos

The onboarding process for adding a Modbus device to Kosmos.
The onboarding process for adding a Modbus device to Kosmos.

Temboo’s Kosmos System for Industrial IoT supports any type of Modbus-compatible device, whatever its brand, and regardless of whether it uses RTU or TCP.

Kosmos also provides a visual interface for inputting Mapping Tables so that your Kosmos dashboard shows exactly the data you want to see and understand.

We have guides for setting up Modbus TCP devices, Modbus RTU devices, and also specifically for the Siemens S7 series of PLCs. More guides for more setups are on the way, so reach out to us if you have any questions or don’t yet see what you need.

If you want to know more or experience it for yourself, go ahead and create a free Kosmos account to get started. We’ll be standing by to help bring your industrial machines and systems securely and smartly into the Internet of Things in no time.