ModBus over TCP verses ModBus TCP


Thread Starter

Graham heath

I am trying to interface to two systems, one apparently running ModBus over TCP the other running ModBus TCP. I am unable to locate any standard to check if how different they are. Any help would be much appreciated.

graham.heath @ ips. invensys. com

Modbus over (via) TCP has a MBAP header and error check added to the standard Modbus message. In Modbus TCP the station number in the standard message is replaced with the MBAP header and the CRC in the standard message is replaced with the error check. Note that for Modbus via TCP the standard Modbus message can be recoverd by removing the TCP wrapper (MBAP header and error check).

Modbus/TCP is a specification for embedding Modbus PDU into a TCP packet with additional header information for routing, packet ID, etc. TCP port is stated in specification. Refer to Modbus/TCP specification available on

Modbus over TCP is simply Modbus (RTU or ASCII) ADU embedded in a TCP packet. Port is user assigned. Refer to Modbus specification available on

Fred Loveless

The are really 2 different formats even thought they are both modbus. Modbus over TCP is Modbus Serial encapsulated in and Ethernet header and footer. That is the enteri mdobus serial packeet with checksum. Modbbus TCP has specific header section and although the core is the same does not use the Checksum that Modbus Serial does.

You are basically going to need a Modbus Serial to Modbus Ethernet protocol converter. There are probably some out there that will do the over TCP to TCP converter but I do not recall ever seeing them. You could use a server that can do envapsulated modbus and modbus Ethernet and bridge the data between the 2.

Kepware has products that can do this.

Fred Loveless
Support Manager
Kepware Technologies