I went to one of those new yogurt stores today. They are all the rage now. You walk in, get a cup, and have 5, 10, 15 different yogurts you can get. Some are labeled “fat-free”. I find it interesting that the others don’t say “fat added” or “lots of fat in this one” or “really tasty with all the added fat”.
Once you’ve filled your cup with one of the fatty yogurts then you have a bunch of different fruit you can put in. You have a huge selection of nuts and then the toppings that all could just be labeled “sugar”. In the end, you end up with three times more yogurt, twice as much sugar as you usually have in a week all for a price you’ll be ashamed to admit you paid at a YOGURT SHOP.
Modbus has a lot of options but not as many as the yogurt shop. You have to start with Ethernet or Serial. Ethernet is, of course, a lot faster and a bit easier to troubleshoot but it’s not a slam dunk that you want to use Ethernet for your Modbus communications.
For one thing, the Modbus frame that travels inside an Ethernet TCP packet is the same size (about 220 bytes) as the frame for a serial message. They didn’t change that frame one lick when moving from serial to Ethernet.
With Ethernet, you need to get an expensive switch involved. With serial, you can just daisy chain all the devices together. Devices with old 8-bit processors and a tiny bit of memory can easily do Modbus serial but you’ll need a more expensive platform to do Ethernet.
What about troubleshooting and configuration?
It’s true that with serial you have to set the serial baud rate, parity, data bits, and parity but with Ethernet, you need to set an IP Address. And since DHCP isn’t really used on the factory floor you have to find a way for the user to get an IP Address into the device. I will give you that you can much more easily troubleshoot.
The biggest benefit of Modbus TCP/IP over Modbus RTU is that your not limited to one polling device. In Modbus RTU you have one single master device. Any additional masters would destroy the network communications. That’s not a big deal at first, you have a simple machine with a dozen devices and a single controller, all is well. But inevitably down the road you’ll need to pass data from one or more of those devices to a new SCADA system, HMI or other control protocol. With RTU you either have to replace the controller or alter it’s configuration. Any data access needs to be directed through the existing master. That means you are likely digging into controller code written decades ago. Not as fun as making a Frozen Yogurt Sundae. With Modbus TCP/IP multiple client devices can poll end devices. The new HMI or SCADA can simply add the devices requested to it’s scan list without altering the current machine network.
What About Speed?
I can hear a bunch of readers out there screaming “Throughput” or “Speed” or “100 Meg Networking” followed by “you moron”. Of course, the Ethernet devices are going to be faster but the key is how fast do you need to go.
I had a customer once with an injection molding machine that dropped a new part every 6 seconds. Every SIX FREAKING SECONDS he would send 125 bytes of data back to his controller. He had that baby hooked up to a 1 Gig Ethernet network when 150 baud serial would have been perfectly fine.
And it’s like that with a lot of Modbus devices. All these level sensors, temperature sensors, energy meters, and the like – none of them really need to report data very fast. If you get data every few seconds It’s almost always fine. Throughput is rarely a requirement to use RTU over
Now Modbus Serial isn’t a tea party – I’m not saying that. You can have a lot of issues trying to get the RS485 network to work right. You have to deal with wire termination issues, network termination issues, and more configuration issues than Ethernet devices. In this day and age, we also have a labor market that didn’t grow up using anything but Ethernet communications.
Call me a dinosaur but overall I still would take Modbus RTU Devices over Modbus TCP. The simplicity of the devices, wiring and cost offer a efficiency and nostalgia I appreciate. However absent my old soul the more prudent choice, when a choice is presented, is go with Modbus RTU. The small premium you pay upfront will be well worth it as you or those that come after you troubleshot and maintain the system.
And if you want to move devices from other networks to Modbus, the boys I’ve locked in the Engineering lab – they do get access to the pool table once a day – have delivered a whole bunch of gateways that are pretty impressive including.
They’ve built a bunch this impressive list of RTU Gateways:
And a similar list of TCP/IP Gateways:
Give Drew a call at 262-436-9299 and he’d be glad to help
you figure out what you need for your specific application. Don’t call me –
I’ll be over at the Yogurt shop. Lot’s of “fat added” yogurts I haven’t tried