Skip to main content
Pillar Page Modbus Protocol

Complete Guide to the Modbus Protocol for Industrial Automation

By NFM Consulting 3 min read

Key Takeaway

Modbus is an industrial communication protocol developed by Modicon in 1979 that uses a master/slave request-response model to exchange data between devices. It is available in three variants: Modbus RTU (serial RS-485/RS-232), Modbus ASCII (serial, human-readable), and Modbus TCP/IP (Ethernet). Modbus is the most widely deployed protocol in industrial automation, used in PLCs, RTUs, flow computers, drives, meters, and sensors across oil and gas, SCADA, building automation, and energy management applications.

Quick Answer

Modbus is an industrial communication protocol developed by Modicon in 1979 that uses a master/slave request-response model to exchange data between devices. It is available in three variants: Modbus RTU (serial RS-485/RS-232), Modbus ASCII (serial, human-readable), and Modbus TCP/IP (Ethernet). Modbus is the most widely deployed protocol in industrial automation, used in PLCs, RTUs, flow computers, drives, meters, and sensors across oil and gas, SCADA, building automation, and energy management applications.

What Is Modbus?

Modbus was developed by Modicon (now Schneider Electric) in 1979 as a simple, reliable protocol for connecting PLCs to field instruments. Its success stems from simplicity, openness, and universal support — Modbus is royalty-free, hardware-agnostic, and implemented by virtually every industrial device manufacturer. Four decades later, it remains the most widely deployed industrial communication protocol in the world.

Modbus Protocol Variants

  • Modbus RTU — Binary encoding over serial RS-232 or RS-485. The most common variant for field devices. Uses CRC-16 error checking.
  • Modbus ASCII — ASCII-encoded serial communication. Slower but human-readable for debugging. Uses LRC error checking. Largely replaced by RTU in modern installations.
  • Modbus TCP/IP — Same data model wrapped in TCP/IP over Ethernet. Uses TCP port 502. No CRC (TCP handles error detection).

How Modbus Works

Modbus uses a master/slave request-response model. The master sends a request containing the slave address, function code, register address, and data. The slave processes the request and sends a response with the requested data or a confirmation. Only the master initiates communication — slaves respond only when polled.

Modbus Register Types and Data Model

Modbus organizes data into four register tables:

TableTypeAddressWidth Access
CoilsDiscrete00001-099991 bit Read/Write
Discrete InputsDiscrete10001-19999 1 bitRead-Only
Input RegistersAnalog30001-39999 16-bitRead-Only
Holding RegistersAnalog40001-49999 16-bitRead/Write

Modbus Function Codes

Each Modbus transaction uses a function code that specifies the operation: FC01 (read coils), FC02 (read discrete inputs), FC03 (read holding registers), FC04 (read input registers), FC05 (write single coil), FC06 (write single register), and FC16 (write multiple registers) are the most commonly used.

Modbus RTU Physical Layer

RS-485 wiring for Modbus RTU requires shielded twisted pair cable in daisy-chain topology with 120-ohm termination resistors at both bus ends. RS-485 supports up to 32 devices per segment at distances up to 1200m at 9600 baud.

Modbus TCP/IP Overview

Modbus TCP runs on standard Ethernet using TCP port 502. It supports multiple simultaneous master connections and is the preferred variant for SCADA and DCIM integration in modern installations.

Data Types and Byte Order

Modbus registers are 16 bits wide, but real-world values (32-bit floats, 32-bit integers) span multiple registers. The byte order (big-endian, little-endian, byte-swapped) varies by manufacturer and is the most common source of incorrect readings in Modbus integration.

Modbus in Oil and Gas, SCADA, and Building Automation

Modbus Across NFM's Platform Ecosystem

Modbus is implemented across every hardware and software platform NFM Consulting works with:

  • IDEC FC6A — Modbus RTU master/slave and Modbus TCP
  • Allen- Bradley — Modbus via third-party modules or MSG instructions
  • SCADAPack — Modbus RTU master/slave and TCP
  • ABB Totalflow — Modbus RTU for GC polling, TCP for SCADA

Getting Started

  1. What Is Modbus?
  2. Modbus RTU vs Modbus TCP
  3. Function Codes
  4. Register Types
  5. RS-485 Wiring
  6. Data Types and Byte Order

Sub-Article Index

Frequently Asked Questions

Ready to Get Started?

Our engineers are ready to help with your automation project.