Skip to content

Industrial Protocols

Overview

Communication protocols for industrial automation, SCADA, and process control systems. Designed for deterministic real-time operation in factory floors, power plants, and distributed control systems.

┌─────────────────────────────────────────────────────────────────────┐
│                         SCADA / HMI / PLC                            │
├───────────────────┬───────────────────┬─────────────────────────────┤
│      Modbus       │    EtherCAT       │        PROFINET             │
│   (RTU / TCP)     │  (Ethernet L2)    │    (Ethernet RT/IRT)       │
├───────────────────┼───────────────────┼─────────────────────────────┤
│   RS-485 / TCP    │   Raw Ethernet    │    Raw Ethernet + UDP      │
├───────────────────┴───────────────────┴─────────────────────────────┤
│                Physical Layer (Serial / Ethernet)                     │
└─────────────────────────────────────────────────────────────────────┘

Modules

Module Status Transport Cycle Time
Modbus ✅ Implemented RS-485 (RTU) / TCP 10–100 ms
EtherCAT 🔲 Planned Ethernet (raw L2) < 100 µs
PROFINET 🔲 Planned Ethernet (UDP + L2) 250 µs–10 ms

Comparison

Feature Modbus EtherCAT PROFINET
Topology Master-slave Ring/line Star/ring
Speed 19.2 kbps–115.2 kbps (RTU) / 100 Mbps (TCP) 100 Mbps 100 Mbps / 1 Gbps
Determinism Low Very high High (IRT mode)
Max nodes 247 (RTU) 65535 512+
Complexity Low High Medium-High
Open standard Yes (Modbus.org) Yes (ETG) Yes (PI)
Year introduced 1979 2003 2004

Design Principles

  1. Fieldbus heritage Many industrial protocols evolved from serial buses; maintain that simplicity
  2. Deterministic timing Bounded worst-case response times for safety-critical applications
  3. Error resilience CRC validation, timeout handling, and error recovery in every transaction
  4. Register-oriented Industrial devices expose data as registers (16-bit words) and coils (bits)
  5. Minimal dependencies Pure C, no external libraries for the protocol core

Use Cases

  • PLC communication over RS-485 bus
  • Sensor polling (temperature, pressure, flow)
  • VFD (Variable Frequency Drive) control
  • Energy meter reading
  • Legacy system integration
  • Motion control (servo drives)
  • High-speed I/O with sub-microsecond jitter
  • Robotics and CNC machines
  • Semiconductor manufacturing
  • Factory automation (Siemens ecosystem)
  • Process instrumentation
  • Drive integration (PROFIdrive)
  • Functional safety (PROFIsafe)

Build

# Build implemented modules
make -C src/industrial/modbus

# Run Modbus demo
./build/modbus_demo