

Since you can send more data in smaller packets and unlike Modbus, it is an event-driven protocol, meaning that network devices are able to transmit unsolicited responses and continuity is not required, using DNP3 can save lots of bandwidth. While Modbus has a specific variant for TCP/IP communcation, DNP3 needs to be wrapped within TCP/IP. This means that RTUs can send updates when a change of status happens, without waiting to be polled by the master.īoth protocols can be used over various media, such as RS-232, RS-485, and TCP/IP. Another difference is that DNP3 also supports unsolicited messaging. Modbus is an application layer protocol, whereas DNP3 consists of both an application and data link layer. Depending on the available ports, slaves/servers usually operate with one or the other protocol. Nowadays, the versatility, speed and scalability of Ethernet networks are usually preferred over serial, but some still prefer the simplicity, wiring and cost efficiency of Modbus RTU. Any additional masters would destroy the network communications. With Ethernet, you also to deal with less termination and configuration issues. The biggest advantage of Modbus TCP/IP over Modbus RTU is that you can use more than one polling device, unlike Modbus RTU which only allows for a single master device. Alternatively, there are also gateways that convert Modbus RTU into a Modbus TCP messages by changing th e message bytes. In the Modbus TCP standard a 6 byte MBAP header is added to the message and the two byte CRC is removed. The Modbus RTU message is usually sent through a serial port connector and then converted by an Ethernet/ modbus gateway. Modbus RTU over TCP refers to taking the RTU message is encapsulated for E thernet communication without actually changing the message itself. Messages begin with a Slave ID (one byte) and end with a CRC (two bytes). Modbus RTU is meant for serial communications (RS232 or RS485 are the most common). Modbus TCP/IP vs Modbus RTU over TCP vs Modbus RTU Modbus over UDP - In rarer cases Modbus RTU is used over UDP on IP networks to save the overhead required for TCP. Modbus over TCP/IP or Modbus over TCP or Modbus RTU/IP - This variant encapsulates Modbus RTU for its use in TCP/IP/Ethernet networks. This Modbus variant is used for communications over TCP/IP networks and does not require a checksum calculation, as lower layers already provide it. The ASCII format relies on longitudinal redundancy check (LRC) checksum for error checking. The Modbus ASCII format is utilized for serial communication and makes use of ASCII characters for the communication protocol. A Modbus RTU message must be transmitted continuously and are seperated by inactive (silent) periods. The protocol uses a compact binary representation of the data and tails the messages with a cyclic redundancy checksum (CRC) to check for errors and ensure data reliability. over RS-232, RS-422 or RS-485 serial ports) and thus the most common one. This version is used for serial communication (e.g.

Modbus does not provide protection against unauthorized commands or data interception.Modbus transmissions must be contiguous, which requires remote communication devices to be able to store data to avoid gaps in transmission.There is no standard way for a node to find the description of a data object, for example, to determine if a register value represents a voltage in a certain range.The Modbus protocol can only address a maximum of 254 devices on a data link, limiting the number of devices that can connect to a master station (again with the exception of Ethernet TCP/IP).Since Modbus was designed for the communication with PLCs in the late 1970s, the number of data types is limited to those understood by PLCs at that time.This delays the network and consumes bandwidth, which can be a problem in applications where bandwidth is expensive, such as a low bit rate radio link. Thus the master node must routinely poll each field device and look for the data changes itself.

Since Modbus is a master/slave based protocol, it is not possible for a field device to report changes by itself (with the exception of Modbus over Ethernet networks).What are common limitations with Modbus ?
