Lookout

cancel
Showing results for 
Search instead for 
Did you mean: 

Modbus bandwidth

I have a field located PLC. We are reading 5 points and writing 5 points (10 total). How many bytes of information is moved during one poll, assuming all 10 points change? I found this formula "(# of items*4 bytes*10 times per second)+60 bytes for traffic" on the web site but cant understand the 10 time per second variable. I am polling once every four minutes.
 
Thanks,
 
Brian T. Kinard
Brian T. Kinard
President - SCADA and Security Division
2110 Nance Street
Newberry, SC 29108
0 Kudos
Message 1 of 5
(6,269 Views)

There are a lot of variables involved with poll timing– baud rate, handshaking delays (rts/cts), etc.  There are also a few things that effect the length of the packet - modbus rtu or modbus ASCII, actual number of registers returned on each poll, etc.  I don’t think there is a simple formula to calculate poll response time or the number of bytes transmitted.  However, you can capture the data sent and received on the com port and analyze the transmissions.  With Lookout ver. 5.1 this is very easy.  Click the ‘Options’ pulldown, then click on ‘serial ports’.  Select the serial port number (comm. Port), then click ‘enable’ under ‘diagnostic file settings’.  Type a file path and name and that’s it.  You can open the log file using notepad or wordpad or any other text editor.  You might be surprised at the amount of data being sent for your 10 registers.

Message 2 of 5
(6,263 Views)

I do not have access to Lookout right now, but I remember there's a "Statistics" menu option, possibly only for Modbus (check all the menu options).  This should give you some info' as well.

-Khalid

0 Kudos
Message 3 of 5
(6,251 Views)

Maybe I can explain this better now that I have some additional information.

 

We are using modbus tcp to poll a plc. For simplicity sake, lets just assume its a direct connection to the PLC. Is there any way to determine how much data is transmitted for a single poll? I realize that there are a lot of other variables involved so lets just say we have one discrete input and one analog input.

 

The problem is that I have a customer that is concerned about Lookout consuming too much bandwidtch on the LAN. They want to have a general idea about how much before we deploy the application. I can imagine that it would take considerably less than the streaming video of the security cameras they have in place, I still need some idea of what it takes.

 

In other words:

One modbus tcp poll reading one analog input = ???kb

One modbus tcp poll reading one discrete input = ???kb

 

We have tried some in house testing on this but there are so many other applications that are attempting to access the network connection (Windows, antivirus software, software update requests, etc.) that it is nearly impossible to isolate the data usage from everything else. Hard to believe no one has any information nor rule of thumb to go by especially when trying to determine costs involved with the use of celluar data plans.

Brian T. Kinard
President - SCADA and Security Division
2110 Nance Street
Newberry, SC 29108
0 Kudos
Message 4 of 5
(5,423 Views)


Hi Brian,

For the Modbus-TCP messages themselves, we can estimate the byte-count as follows:

Read single discrete input:

Modbus request:  5
MBAP header: 7
TCP header (approx): 64
IP header (approx): 24

Modbus response:   3
MBAP header: 7
TCP header (approx): 64
IP header (approx): 24
  ------
  198 bytes

Read single analog input:

Modbus request:  5
MBAP header:
TCP header (approx): 64
IP header (approx): 24 

Modbus response: 4
MBAP header:
TCP header (approx): 64
IP header (approx): 24
--------
  199 bytes

So roughly about 400 bytes per poll.  Of course, there will be additional bytes for managing the TCP communication (e.g., acknowledgments, sequences, etc.) which will be tough to estimate.  But all of it together should be less than a kilo byte per poll.  

Regards,

-Khalid

 

0 Kudos
Message 5 of 5
(5,410 Views)