Industrial IoT Gateway Buffer Sizing for Smart Factory PLC Communication

Engineering Case Study

Case Study Industrial Automation

Scenario

A Tier-1 automotive supplier deployed a real-time Ethernet backbone connecting 24 programmable logic controllers (PLCs) and vision inspection systems across a 120 m² assembly cell in Stuttgart, Germany. The network uses IEEE 802.1Qbv time-aware shaping on managed industrial switches. Critical constraints included: sub-5 ms end-to-end jitter tolerance, no packet loss during bursty vision frame transfers (every 200 ms), and physical space limitations preventing oversized switches with deep buffers.

Given Data

  • Round Trip Time (RTT): 0.8 ms
  • Bandwidth: 1000 Mbps (1 Gbps full-duplex link between gateway and core switch)
  • Number of Packets in Flight: 16
  • Packet Size: 128 bytes (optimized UDP control packets with minimal overhead)

Calculation

The tool computes buffer depth as:

buffer_depth = bandwidth (bps) × RTT (s) + (num_packets_in_flight × packet_size)

First convert units:

  • Bandwidth = 1000 Mbps = 1,000,000,000 bps
  • RTT = 0.8 ms = 0.0008 s
  • Bandwidth × RTT = 1,000,000,000 × 0.0008 = 800,000 bits = 100,000 bytes
  • Packets-in-flight contribution = 16 × 128 = 2,048 bytes
  • Total recommended buffer depth = 100,000 + 2,048 = 102,048 bytes → rounded to 102 KB

Result and Decision

The engineering team selected an industrial switch with per-port shared buffer memory of 128 KB (e.g., Hirschmann RSPE30), exceeding the 102 KB recommendation by ~25% to absorb micro-bursts from synchronized PLC scan cycles. They disabled dynamic buffer sharing across ports to guarantee minimum per-port allocation and enabled strict-priority queuing for control traffic.

Lesson

In deterministic industrial networks, RTT-driven buffering dominates over packet-count contributions—especially at high bandwidths—even with small packets; always validate the bandwidth × RTT term first, as it scales linearly with both speed and latency.

← Back to Ethernet Switch Buffer Depth Estimator