Modbus to the Rescue!

I get really irritated with many of these IoT companies. I mean, kick the garbage can, holler at the goldfish and break pencils irritated.

What really set me off the other day was a story from a guy with a set of tank farms in Florida. He told me how one of these IoT companies told him – “just plug our device in, it will grab the data and send it to your cloud application.” I was just startled by that. Lots of questions come to mind:

  1. How do they know they can grab the data from his sensors? It might be the current loop, 0-10V, RS485 with ASCII data, USB or something else.
  2. How is this device going to normalize the data? The customer has lots of these systems and I’d bet the last follicle of hair on my head that every tank he’s monitoring has a different level and temperature sensor. These things always get rolled out one at a time and different people end up picking different sensors for each installation. That’s especially true in smaller organizations.
  3. How does the data get formatted for the Cloud application? Does this device support the mechanism that the Cloud application uses to format the data?
  4. Who is going to wire and configure the system? The end-user doesn’t have that kind of expertise.

This customer knows a lot about his tank farms but doesn’t know anything about electrical mechanisms, industrial protocols, normalization of data and IT protocols. The words HTTP, EtherNet/IP, Modbus TCP and the rest are foreign to him.

I see this over and over in the IoT world. Big promises that skip over all the details – and I hate it. It’s a disservice to the customers, who get over-promised or get devices and systems that are just too complicated.

After talking to this guy a bit, I realized that old Modbus RTU is a really good solution for him:

  • Modbus RTU uses RS485 wiring which is just two wires. Daisy-chaining simplifies the wiring for an inexperienced user.
  • Modbus protocol is simple and supported by lots of IoT devices. If he gets sensors that support Modbus RTU, he can easily move the data into anything he likes.
  • Modbus RTU data is all 16-bit unsigned so it has to be normalized, but since you’re starting with a known format, that’s not as big a challenge as it could be with other data formats.

I am a simple guy, and Modbus RTU is the essence of simplicity. This is really a simple application; just grab tank temperature and level and move it to the Cloud. But there are still details involved, and those details make or break for the system. The IoT companies like to gloss over them, and that really irritates me.