Modbus TCP
Modbus-IDA is a group of independent users and suppliers
of automation devices that seeks to drive the adoption
of the Modbus communication protocol suite and the evolution
to address architectures for distributed automation systems
across multiple market segments. Modbus-IDA will also
provide the infrastructure to obtain and share information
about the protocols, their application and certification
to simplify implementation by users resulting in reduced
costs.
37 Wheeler Road
North Grafton
MA 01536
USA
Tel: +1 508 435 7170
Fax: +1 508 435 6929
info@modbus-ida.org
www.modbus-ida.org
MODBUS is an application-layer messaging protocol, positioned
at level 7 of the OSI model. It provides client/server
communication between devices connected on different types
of buses or networks. The de-facto industrial serial standard
since 1979, MODBUS continues to enable millions of automation
devices to communicate. Today, support for the simple
and elegant structure of MODBUS continues to grow. The
Internet community can access MODBUS at a reserved system
port 502 on the TCP/IP stack.
MODBUS is a request/reply protocol and offers services
specified by function codes. MODBUS function codes are
elements of MODBUS request/reply PDUs. This protocol specification
document describes the function codes used within the
framework of MODBUS transactions
Modbus allows for the administration of a net of devices,
for example a system that measures temperature and humidity
and communicates the results to a computer. Modbus is
often used to connect a supervisory computer with a remote
terminal unit (RTU) in supervisory control and data acquisition
(SCADA) systems. Versions of the Modbus protocol exist
for serial port and Ethernet.
Modbus RTU is a compact, binary representation of the
data. Modbus ASCII is human readable, and more verbose.
Both of these protocols are serial based. The RTU format
follows the commands/data with a cyclic redundancy check
checksum, while the ASCII format uses a longitudinal redundancy
check checksum. Modbus/TCP is very similar to Modbus RTU,
but is transmitted within TCP/IP data packets.
An extended version, Modbus Plus (Modbus+ or MB+), also
exists, but remains proprietary to Modicon. It requires
a dedicated co-processor to handle fast HDLC-like token
rotation. It uses twisted pair at 1 Mbit/s and has installations
specs very similar to EIA/RS-485. However, it is NOT EIA/RS-485.
MB+ includes transformer isolation at each node, which
makes it transition/edge triggered instead of voltage/level
triggered. A few EIA/RS-485 repeaters work with it by
side-effect, but don't get your hopes up that you can
support Modbus Plus with your computer's standard serial
port.
Each device that intends to communicate using Modbus
has a unique address. Any device can send out a Modbus
command, although usually only one master device does
so. A Modbus command contains the Modbus address of the
device it is intended for. Only the intended device will
act on the command, even though other devices might receive
it. All Modbus commands contain checking information,
ensuring that a command arrives undamaged. The basic Modbus
commands can instruct a RTU to change a value in one of
its registers, as well as commanding the device to send
back one or more values contained in its registers.
There are many modems that support Modbus. Some of them
were specifically designed for this protocol. Different
implementations use wires, wireless communication and
even SMS or GPRS. Typical problems the designers have
to overcome include high latency and timing problems.
|