Industrial Automation: Modbus RTU / TCP & Fieldbus Networks
Master-slave polling, RS-485 balanced transmission, frame timing (3.5 character silence), Modbus function codes, and CRC-16 calculation.
1. Overview & Concept Definition
The world's most widely deployed open industrial communications protocol, standardizing master-slave telemetry interchange between PLCs, HMIs, VFDs, and smart sensors.
2. Engineering & Industrial Significance
Enables interoperability between equipment from different automation vendors over simple 2-wire twisted-pair RS-485 cabling in noisy factory environments.
3. Physical Working Principle & Transducer Dynamics
Modbus RTU uses a Master/Slave (Client/Server) architecture. The Master initiates requests containing: Slave Address (1 byte), Function Code (1 byte), Register Address (2 bytes), Data Count / Payload, and CRC-16 Checksum (2 bytes). Slaves reply within defined turnaround times. Telegram frames are delimited by an electrical bus idle silence period of at least 3.5 character times ($t_{3.5}$).
4. Governing Equations & Mathematical Models
5. Practical Implementation
// ANSI C: Modbus RTU CRC-16 Calculation
#include <stdint.h>
#include <stddef.h>
uint16_t calculate_modbus_crc16(const uint8_t *buffer, size_t length) {
uint16_t crc = 0xFFFF; // Initial state
for (size_t pos = 0; pos < length; pos++) {
crc ^= (uint16_t)buffer[pos]; // XOR byte into LSB of CRC
for (int i = 8; i != 0; i--) { // Loop over each bit
if ((crc & 0x0001) != 0) { // If LSB is set
crc >>= 1;
crc ^= 0xA001; // Modbus polynomial (reversed)
} else {
crc >>= 1;
}
}
}
return crc; // Low byte sent first in Modbus RTU frame
}
6. Common Engineering Pitfalls & Troubleshooting
Frequent Engineering Pitfalls
- Inverting A and B differential lines: Different manufacturers label D+/D- and A/B conversely. If communication fails with zero response, swap A and B.
- Star topologies on RS-485 cables: Modbus RTU requires a strict daisy-chain (bus) topology. Long stubs create impedance mismatches and reflections that corrupt packets.
Diagnostic & Troubleshooting Checklist
- If receiving sporadic CRC errors, verify that 120 Ω termination resistors are installed exclusively at the two physical cable ends.
- Ensure the inter-frame silence timeout ($t_{3.5}$) is not violated by operating system thread preemption delays.
7. Applications & Physical Constraints
TYPICAL APPLICATIONS
- SCADA energy monitoring systems reading smart power meters
- Variable Frequency Drive (VFD) speed command and torque telemetry
- PLC communication with distributed temperature transmitters
PHYSICAL LIMITATIONS
- Single-master restriction: Slaves cannot transmit unsolicited alarms without being explicitly polled by the master.
- No native security or encryption: Modbus TCP requires separate VPN or TLS tunnels in modern zero-trust enterprise networks.
Pinout & Interface Specs
| PIN / SIGNAL | FUNCTION / ELECTRICAL SPEC |
|---|---|
| Data A / D- | Inverting balanced RS-485 differential line |
| Data B / D+ | Non-inverting balanced RS-485 differential line |
| Shield / GND | Cable shield reference connected at single ground point to eliminate ground loops |
Have questions on this topic?
Ask LUNA to calculate component values or explain alternative control methods for Industrial Automation: Modbus RTU / TCP & Fieldbus Networks.