Modbus TCP/IP Bandwidth Utilization

J

Thread Starter

J. Edney

Is there a "rule of thumb" for bandwidth utilization using Modbus TCP/IP between a WW HMI and a Quantum PLC with approx 128 registers of I/O? The proposed polling rate is once a second for all data.
 
W

William Sturm

That sounds like no problem, especially if the memory registers are contiguous. I am not a Modbus TCP expert, but I expect that you could update at least 4 to 5 times per second.
 
Not a rule of thumb, but evidence from testing, directly from Intellicom's site:
http://www.intellicom.se/ModbusTCP_overview.shtml

In theory MODBUS® TCP/IP carries data at up to 250/(250+70+70) or about 60% efficiency when transferring registers in bulk, and since 10 Base T Ethernet carries about 1.25 Mbytes/sec raw, the theoretical throughput is:
1.25M / 2 * 60% = 360000 registers per second and the 100 Base T speed is 10 x greater.

This assumes that you are using devices that can service Ethernet as fast as bandwidth is available.

Practical tests carried out by Schneider Automation using a MOMENTUMTM Ethernet PLC with Ethernet I/O demonstrated that up to 4000 I/O bases could be scanned per second, each I/O base having up to 16 12-bit analog I/O or 32 discrete I/O. Four bases could be updated in one millisecond. While this is below the theoretical limit calculated above, it must be remembered that the tested device was running with a lowly 80186 CPU running at 50Mhertz with an effective computing power of 3 MIPS (compared to the 700 MIPS of a 500MHz Pentium). Also, these results are nevertheless faster than the proprietary I/O scan methods used to date.

As low-end CPU's get cheaper, Momentum-type devices will chase the theoretical limit, although they'll never reach it because the limit will be continually pushed further away with 1 Gigabit Ethernet, 10 Gigabit Ethernet, etc. This is in contrast to other field-buses which are inherently stuck at one speed.

David
 
But then I have a question.

If we use devices to wrap Modbus into a TCP frame wouldn't the communication speed be limited to the serial port speed of the Modbus device?

> Not a rule of thumb, but evidence from testing, directly from Intellicom's site:
> http://www.intellicom.se/ModbusTCP_overview.shtml

> In theory MODBUS® TCP/IP carries data at up to 250/(250+70+70) or about 60%
> efficiency when transferring registers in bulk, and since 10 Base T Ethernet
> carries about 1.25 Mbytes/sec raw, the theoretical throughput is:
> 1.25M / 2 * 60% = 360000 registers per second and the 100 Base T speed is 10 x greater.

> This assumes that you are using devices that can service Ethernet as fast as
> bandwidth is available.

> Practical tests carried out by Schneider Automation using a MOMENTUMTM
> Ethernet PLC with Ethernet I/O demonstrated that up to 4000 I/O bases
> could be scanned per second, each I/O base having up to 16 12-bit analog I/O
> or 32 discrete I/O. Four bases could be updated in one millisecond. While this
> is below the theoretical limit calculated above, it must be remembered
> that the tested device was running with a lowly 80186 CPU running at 50Mhertz
> with an effective computing power of 3 MIPS (compared to the 700 MIPS of a
> 500MHz Pentium). Also, these results are nevertheless faster than the proprietary
> I/O scan methods used to date.

> As low-end CPU's get cheaper, Momentum-type devices will chase the
> theoretical limit, although they'll never reach it because the limit will be
> continually pushed further away with 1 Gigabit Ethernet, 10 Gigabit Ethernet,
> etc. This is in contrast to other field-buses which are inherently stuck
> at one speed.
 
J

James Ingraham

David: <i>If we use devices to wrap Modbus into a TCP frame wouldn't the communication speed be limited to the serial port speed of the Modbus device?</i>

No. Well, maybe. Modbus/TCP isn't quite just wrapping a Modbus message in a TCP frame, although it looks pretty similar. The question is how is the Ethernet portion talking to the "brains" of the device? Many devices are native Modbus/TCP. They have an Ethernet port, and some high-speed connection between that port and the device controller / CPU / RAM / whatever. So no problem. (These days, the Ethernet connection is sometimes built right onto the CPU.)

Then there are devices that are plain Modbus devices with a traditional RS-232 port. In which case, you would use a Modbus/TCP to Modbus serial server. At that point, you would of course be limited to serial speeds. Of course, that may be just fine. The serial device may not need to talk that fast. Meanwhile, a controller could poll MANY serial devices at once, so the SYSTEM throughput would still be much higher than doing everything RS-232 / RS-485.

-James Ingraham
Sage Automation, Inc
 
Top