Differences Between Modbus RTU over TCP and Modbus TCP: Protocol Compatibility Concerns for Data Transmission to ControlLogix

Question:

Is there a distinction between Modbus RTU over TCP and Modbus TCP when a device supports Modbus RTU over serial and Modbus RTU over TCP along with Modbus TCP? I am attempting to transmit data to a ControlLogix using the Modbus TCP Add-On Instruction, but the device in question only lists Modbus RTU over 485 and Modbus RTU over TCP as protocols, omitting Modbus TCP. I am concerned that this difference may pose an issue.

Top Replies

The definition of terms can vary among individuals. True Modbus TCP utilizes a data packet that resembles, yet differs from, a Modbus RTU serial packet. The TCP version contains additional bytes at the beginning (approximately 6) and lacks a checksum at the end, unlike the 2-byte checksum at the end of a Serial RTU packet. The redundancy of a checksum at the end is eliminated in the TCP version due to the built-in TCP layer checksum protocol. While some may describe true Modbus TCP as 'Modbus RTU over TCP', this classification may not be entirely accurate. It is feasible to transmit the same packet as a serial RTU over TCP, which may be the source of confusion when distinguishing between 'Modbus RTU over TCP' and 'Modbus TCP'. This practice may be seen as appealing when utilizing a generic Ethernet to Serial converter rather than a dedicated Modbus Ethernet to Serial gateway, although the effectiveness of this method is uncertain due to potential discrepancies in packet structure and timing adherence to the Modbus RTU serial specification. A dependable approach would be to utilize a genuine Modbus-aware converter that adheres to the established rules and protocols. It is likely that the device being utilized complies with standard Modbus over TCP regulations despite the misleading terminology used to denote it as 'Modbus RTU over TCP'. Despite this terminology misstep, the functionality should remain unaffected. However, if the situation is reversed, the AOI may not function properly. Separately, the topic of Modbus UDP garners mixed opinions among enthusiasts, with some purists contesting its existence while acknowledging at least two variations. Best of luck with your project endeavors.

Using Modbus RTU over TCP is not a widely-accepted protocol, which is why ControlLogix and many other devices do not natively support it. To overcome this limitation, it is recommended to utilize a Modbus RTU to Modbus TCP converter, which are typically affordable solutions. It's important to note that UDP does not guarantee the delivery of data packets to the intended recipient, nor does it provide a way for the sender to confirm if the data was successfully received. In contrast, TCP ensures that data is transmitted successfully to the other end, as long as no errors occur during transmission.

Tim Ganz raised a concern about using RTU over TCP without mentioning Modbus TCP as a protocol. This difference could potentially lead to compatibility issues. MODBUS RTU operates as a standard exchange over TCP, where no additional data is required. Essentially, MODBUS RTU packets are transmitted and received using TCP for packet transfer. It is important to note that MODBUS RTU over TCP and MODBUS TCP are distinct protocols with different packet structures.

The Modbus TCP AOI is incompatible with Modbus RTU over TCP due to the checksum bytes present in the RTU packet but not in Modbus TCP.

According to Contr_Conn, the Modbus TCP AOI cannot be used with Modbus RTU over TCP due to differences in the packet structure. Unlike Modbus TCP, Modbus RTU includes checksum bytes not present in Modbus TCP. Additionally, Modbus TCP includes a transmission identifier and total length in bytes, which are not found in Modbus RTU packets.

Indeed, there is a difference between Modbus RTU over TCP and Modbus TCP. While both protocols utilize TCP, their methods of structuring and transmitting data differ notably. Modbus RTU over TCP, for example, keeps the same code structure as Modbus RTU over serial, just encapsulated within TCP/IP. On the other hand, Modbus TCP redefines the Modbus frame specifically for TCP/IP. Considering your device supports Modbus RTU over TCP and not Modbus TCP, I would suspect that the Modbus TCP Add-On Instruction for ControlLogix may potentially encounter compatibility issues. It might be worth investigating a gateway to harmonize the protocol differences.

Absolutely, there's a fundamental difference between Modbus RTU over TCP and Modbus TCP protocols. Modbus TCP is specifically designed for Ethernet communication and includes a header (MBAP - Modbus Application Protocol) to manage the data routing. Modbus RTU over TCP is essentially encapsulation of the serial data in TCP/IP packets, and it lacks this MBAP header. Given that your ControlLogix is designed for Modbus TCP, it will be expecting the MBAP header to structure the communication and might face issues interpreting Modbus RTU over TCP. You'd likely need a converter or gateway device that translates the Modbus RTU over TCP data into Modbus TCP. Alternatively, you could consider adding coding to the ControlLogix Add-On Instruction to accept RTU over TCP if feasible.

More Replies →

Streamline Your Asset Management
See How Oxmaint Works!!

✅   Work Order Management

✅   Asset Tracking

✅   Preventive Maintenance

✅   Inspection Report

We have received your information. We will share Schedule Demo details on your Mail Id.

You must be a registered user to add a comment. If you've already registered,
sign in. Otherwise, register and sign in.

Frequently Asked Questions (FAQ)

FAQ: 1. What is the difference between Modbus RTU over TCP and Modbus TCP?

Answer: Answer: Modbus RTU over TCP allows Modbus RTU messages to be transmitted over TCP/IP networks, while Modbus TCP is a direct implementation of Modbus protocol over Ethernet.

FAQ: 2. Can a device supporting Modbus RTU over TCP and Modbus TCP communicate effectively with a ControlLogix using the Modbus TCP Add-On Instruction?

Answer: Answer: A device that supports Modbus RTU over TCP should be able to communicate with a ControlLogix using the Modbus TCP Add-On Instruction, as long as the necessary configuration and setup are done correctly.

FAQ: 3. What should I do if my device only lists Modbus RTU over 485 and Modbus RTU over TCP as supported protocols, but not Modbus TCP?

Answer: Answer: If your device does not explicitly list support for Modbus TCP but supports Modbus RTU over TCP, you may need to verify compatibility and consider any necessary conversions or adaptations to ensure successful communication with the ControlLogix.

Ready to Simplify Maintenance?

Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.

Request Demo  â†’