Calculating Industrial Data Transfer: Protocol and Baud Rate
| Symbol | Definition | Unit |
|---|---|---|
| Nio | Total cyclic process I/O per scan (inputs + outputs) | bytes |
| Tcyc | Required cycle, refresh, or update time | ms |
| R | Net data rate of the chosen physical layer (baud or line rate) | bit/s |
| η | Protocol efficiency (overhead, inter-frame gap, retries, store-and-forward) | 0 < η ≤ 1 |
| tmin | Theoretical minimum transfer time on a single segment | s |
| Lmax | Maximum permitted cable length per segment | m |
| Nslaves | Number of active stations on the segment | count |
| Ttoken | Token rotation time (Profibus DP only) | ms |
tmin = (Nio × 8) / (R × η) ≤ Tcyc
The right-hand side is given by the process; the left-hand side is determined by the chosen protocol stack and physical layer.The Slowest Link Principle
A network is only as fast as its weakest segment. When the data path traverses multiple media (sensor cable to fieldbus segment, fieldbus to backbone switch, backbone to controller), the end-to-end update time is dominated by the segment with the lowest useful throughput, not the highest nominal bit rate. This is true for any IP-based industrial network and is the reason a 1 Gbit/s backbone does not speed up a 1.5 Mbit/s Profibus segment.Tend-to-end ≥ max(tsegment 1, tsegment 2, …, tsegment n)
Practical rule: measure or estimate the achieved throughput (not the nominal bit rate) for every segment. The sum of the segment latencies is the floor for the end-to-end cycle time. The Cisco learning material on link budgeting (Cisco: Calculating the time to transfer data across a link) describes the same principle for general IP networks and is directly applicable to industrial segments. ## Three-Step Sizing MethodologyStep 1 — Quantify the Process I/O Image
List every device that exchanges cyclic data with the controller and sum the input and output payload bytes per cycle. A typical sub-system table looks like this:| Device | Inputs (bytes) | Outputs (bytes) | Data exchange |
|---|---|---|---|
| SIMATIC ET 200S, 8 DI module (6ES7131-4BF00-0AA0) | 1 | 0 | Cyclic |
| SIMATIC ET 200S, 8 DO module (6ES7132-4BF00-0AA0) | 0 | 1 | Cyclic |
| SINAMICS G120 CU240E-2 with standard telegram 1 | 4 | 4 | Cyclic |
| SITRANS P pressure transmitter (HART over Profibus) | 5 | 1 | Acyclic |
| SIMOCODE pro V PN motor protector | 8 | 8 | Cyclic |
| Total cyclic payload | 18 | 14 | — |
Step 2 — Specify the Required Update Time
The required update time is application-specific, not vendor-specific. The following table maps typical process classes to a sensible Tcyc.| Application class | Typical Tcyc | Notes |
|---|---|---|
| Slow process (tank level, temperature trending) | 100 – 1000 ms | Modbus RTU, Modbus TCP, Profinet NRT, EtherNet/IP RPI 100 ms all acceptable. |
| Standard discrete I/O (conveyor, packaging) | 5 – 20 ms | Profibus DP at 1.5 Mbit/s, Profinet RT 1 ms, EtherNet/IP RPI 2–5 ms. |
| High-speed discrete (capping, indexing, label applicator) | 1 – 5 ms | Profinet IRT or EtherCAT at the field level; Profibus DP at 12 Mbit/s is borderline. |
| Servo / motion interpolated | 0.5 – 2 ms | Profinet IRT, EtherCAT, SERCOS III only. Profibus DP and Modbus are excluded by definition. |
| Torque / current loop (drive-internal) | 0.0625 – 0.25 ms | Handled inside the drive; the fieldbus only carries setpoint and feedback. |
Step 3 — Compute the Theoretical Minimum Transfer Time
For a single segment carrying only the cyclic image, the minimum transfer time (ignoring protocol overhead for the moment) is:tmin = (Nio × 8) / R
Plug in the example from Step 1 with Nio = 32 bytes = 256 bits.| Candidate link | R (bit/s) | tmin (raw) |
|---|---|---|
| RS-485 at 9 600 bit/s | 9 600 | 26.7 ms |
| RS-485 at 187 500 bit/s (Profibus DP) | 187 500 | 1.37 ms |
| RS-485 at 1 500 000 bit/s (Profibus DP) | 1 500 000 | 0.17 ms |
| Profibus DP at 12 000 000 bit/s | 12 000 000 | 21.3 µs |
| Profinet IO at 100 Mbit/s | 100 × 106 | 2.56 µs |
| EtherNet/IP at 100 Mbit/s | 100 × 106 | 2.56 µs |
| Protocol | Nominal R | Typical η (cyclic) | Comment |
|---|---|---|---|
| Profibus DP-V0 | 9.6 kbit/s – 12 Mbit/s | 0.55 – 0.75 | Token rotation adds latency; efficiency falls as slave count rises. |
| Profibus DP-V1 | same | 0.50 – 0.70 | Acyclic read/write on top of cyclic traffic. |
| Profinet IO (RT, Class 1) | 100 Mbit/s | 0.30 – 0.60 | Class 1 RT frames share the line with TCP/IP diagnostics. |
| Profinet IO (IRT, Class 3) | 100 Mbit/s | 0.60 – 0.85 | Reserved time-slot transmission; jitter < 1 µs. |
| EtherNet/IP (CIP Class 1) | 10/100 Mbit/s | 0.25 – 0.50 | Implied multicast; connection RPI governs actual update. |
| Modbus TCP | 10/100 Mbit/s | 0.20 – 0.40 | Request/response per node; no hardware multicast. |
| Modbus RTU (RS-485) | 9.6 – 115.2 kbit/s | 0.70 – 0.85 | High efficiency due to small frame, but polling is sequential. |
| EtherCAT | 100 Mbit/s | 0.85 – 0.95 | "On-the-fly" processing in slave; highest η among industrial Ethernets. |
Tcyc ≈ Σ (Nslave,i × 11 bit × Tbit) + Nslaves × Tslot + Ttoken
where: - 11 bits per byte (1 start + 8 data + 1 parity + 1 stop, with UART framing) - Tslot is the configured per-slave slot time (set in the GSD file; typical 10 – 100 Tbit) - Ttoken is the token rotation time, dominated by the configured Ttr (target rotation time, default 5 000 Tbit) - Tbit = 1 / R (bit duration) The Siemens PROFIBUS System Manual on the Siemens Industry Online Support portal (support.industry.siemens.com) provides worked numeric values for a 12 Mbit/s segment with 32 slaves, including the worst-case token rotation when one slave is absent.Profibus DP Quick Sizing Table
| Slave count | Recommended baud (≤ 1 km segment) | Max cycle at 1.5 Mbit/s | Max cycle at 12 Mbit/s |
|---|---|---|---|
| ≤ 8 | 1.5 Mbit/s | < 1 ms typical | < 0.5 ms |
| 8 – 16 | 1.5 Mbit/s | 1 – 3 ms | < 1 ms |
| 16 – 32 | 500 kbit/s – 1.5 Mbit/s | 3 – 10 ms | 1 – 3 ms |
| > 32 | Consider Profinet IO | — | — |
Profibus DP Cable Length vs. Baud Rate
| Baud rate | Max segment length (Type A cable, ≥ 0.64 mm) |
|---|---|
| 9.6 kbit/s | 1 200 m |
| 19.2 kbit/s | 1 200 m |
| 45.45 kbit/s | 1 200 m |
| 93.75 kbit/s | 1 200 m |
| 187.5 kbit/s | 1 000 m |
| 500 kbit/s | 400 m |
| 1.5 Mbit/s | 200 m |
| 3 Mbit/s | 100 m |
| 6 Mbit/s | 100 m |
| 12 Mbit/s | 100 m |
| Real-time class | Minimum update | Jitter | Typical use |
|---|---|---|---|
| NRT (TCP/IP/UDP/IP) | 100 ms | ms | Parameterization, diagnostics, web server |
| RT (Class 1) | 1 ms | < 1 ms | Standard discrete I/O, variable-frequency drives |
| IRT (Class 3, "high performance") | 250 µs | < 1 µs | High-end motion, isochronous synchronization |
Send Clock and Reduction Ratio
The effective update time of a Profinet device is:Tupdate = Tsendclock × ReductionRatio
Tsendclock is global to the controller (default 1 ms). ReductionRatio is a power of 2 between 1 and 2 048, declared by the device. If the controller cannot satisfy the device's required ratio at the configured send clock, the device will fail to start up and report a configuration error in the PROFINET diagnosis. A common field failure: an S7-1500 is configured with a 0.5 ms send clock to satisfy a fast drive, but an older ET 200S station only supports a reduction ratio of 4 at 0.5 ms, meaning its update time is 2 ms. The 2 ms update does not fail the station, but it shows up as cyclic-jitter on the connected sensors. Always validate the worst-case ReductionRatio for the slowest device on the network before tightening the send clock. ## EtherNet/IP: RPI, Connection Limits, and CIP Motion EtherNet/IP does not use a single shared "cycle time" parameter. Instead, the controller opens a Class 1 connection with a Requested Packet Interval (RPI). The actual update is the maximum of (RPI, scanner poll period, connection heartbeat).| Scanner | Typical minimum RPI | Concurrent Class 1 connections |
|---|---|---|
| CompactLogix 5380 5069-L320 | 0.5 ms | 180 |
| ControlLogix 5580 1756-L85 | 0.2 ms | 500+ |
| Micro850 2080-LC50 | 5 ms | limited |
Modbus TCP Frame Time and Polling Budget
Modbus does not have a publisher/subscriber model. The Master polls each slave sequentially. The total cycle time is the sum of the per-slave turnaround times. For a TCP frame on a 100 Mbit/s link with 8-byte payload (4 registers):tframe ≈ 12 (IFG) + 14 (Ethernet hdr) + 20 (IP) + 8 (TCP) + 12 (MBAP + PDU) + 4 (CRC) = 70 bytes ≈ 5.6 µs at 100 Mbit/s
The actual scan time per slave is dominated by the controller's task time (typically 2 – 10 ms per Modbus request/response in a typical PLC implementation) rather than the wire time. Always include the controller's request scheduling overhead in the cycle budget. The Modbus Organization's "Modbus TCP/IP Implementation Guide V1.0b" (modbus.org) is the official reference.Modbus RTU on RS-485
For long-distance, low-speed multi-drop (e.g., a string of flow meters on a 1 km cable at 9 600 bit/s), Modbus RTU remains a valid choice. The wire time for a 16-byte request and 32-byte response at 9 600 bit/s is approximately:trtu ≈ (16 + 32) × 11 / 9 600 = 55 ms
Add the silent inter-frame gap (3.5 character times, or 3.83 ms at 9 600 bit/s) and the per-slave turnaround. With 10 slaves polled sequentially, a 600 ms cycle is realistic, which is fine for a tank-farm application and unacceptable for a packaging machine.Point-to-Point Serial (RS-232 / RS-485)
A direct serial link is still the correct choice when: - A single instrument is connected to a single controller with no need for multi-drop - Data rates are very low (a few bytes per second) at long distance - An existing installed base has spare COM ports and proven cabling A typical example: a weighing indicator (e.g., Mettler-Toledo IND780) on RS-485 at 9 600 bit/s, queried once per 100 ms with a 16-byte request and 32-byte response. The wire time is negligible compared to the controller's task scan; the protocol choice is driven by cost and availability, not by throughput. ## Worked Example — 64 Bytes, 10 ms Target A small machine has 64 bytes of cyclic I/O and must run at a 10 ms cycle. The candidate segment is Profibus DP, Profinet RT, or EtherNet/IP.| Step | Value |
|---|---|
| Required Tcyc | 10 ms |
| Nio | 64 bytes = 512 bits |
| Link R (Profibus DP, 1.5 Mbit/s) | 1 500 000 |
| Raw tmin | 512 / 1 500 000 = 0.34 ms |
| Efficiency η (12 slaves, DP-V0) | 0.65 |
| Realistic t | 0.34 / 0.65 = 0.52 ms |
| Headroom | 10 / 0.52 = 19× |
| Link R (Profinet RT, 100 Mbit/s) | 100 × 106 |
| Raw tmin | 5.12 µs |
| Efficiency η (RT, 12 devices) | 0.45 |
| Realistic t | 5.12 / 0.45 = 11.4 µs |
| Headroom | 10 000 / 11.4 = 877× |
| Link R (EtherNet/IP, 100 Mbit/s, RPI 5 ms) | 100 × 106 |
| RPI setting | 5 ms (would meet 10 ms target) |
Caveats from Real Commissioning
1. Do not plan at 100 % utilization. Plan at 30 – 50 % to leave headroom for diagnostic expansion, additional acyclic read/write traffic, and retries during commissioning. The PROFIBUS System Description explicitly recommends a minimum 25 % margin. 2. EMC compliance does not change the throughput calculation. A borderline link budget that needs a baud rate reduction to recover errors is a sign of a cabling problem, not a sizing problem. Fix the cabling (shield bonding, equipotential bonding, distance to VFD cables) before re-sizing the protocol. Reference: IEC 61000-6-2 for industrial immunity, IEC 61000-6-4 for industrial emissions. 3. For Profinet, the configured send clock must be a multiple of the slowest device's reduction ratio. A "round" value like 1 ms may not be achievable for a given device even if the controller supports it. Verify each GSDML's ReductionRatio before locking the send clock. 4. For EtherNet/IP, the actual update time may exceed the RPI when the scanner task is overloaded, when the connection crosses a non-managed switch, or when QoS / DSCP is misconfigured on a routed path. 5. For Modbus TCP, the standard does not specify a maximum cycle time; the de facto limit is the controller's task period and the number of concurrent sockets. A 500-node Modbus TCP poll at 2 ms per request is not realistic; it would saturate the controller's task before the network. 6. Cross-vendor GSDs differ from vendor GSDs. A third-party Profibus slave with a non-certified GSD may have an inflated slot time that consumes more bus time than the equivalent Siemens device. Always read the GSD before specifying a slave count for the segment. 7. Watch the diagnostic slot. Most modern I/O modules reserve 2 – 6 bytes per station for diagnostic status. The cyclic image you see in the engineering tool is not the full on-the-wire payload.Selection Decision Tree
1. Define Tcyc and Nio from the process specification, not from the controller's default values. 2. Compute raw tmin for each candidate physical layer using tmin = (Nio × 8) / R. 3. Apply realistic η using the table above; reject candidates whose realistic t exceeds Tcyc. 4. Add a 25 – 50 % margin for diagnostics, acyclic traffic, and retries. 5. Verify against the I/O device's GSD/GSDML/EDS file: does the device actually support the assumed update time at the assumed baud rate? Mismatches here are the most common field finding. 6. If multiple candidates remain, choose on installed base, EMC environment, and engineering tool preference, not on theoretical throughput. A "better" network that the maintenance team cannot diagnose at 02:00 is not a better network.Siemens Documentation
- Siemens Industry Online Support: support.industry.siemens.com — search entries include the PROFINET System Description, PROFINET Commissioning Guideline, and the S7-1500 Communication Function Manual. - SIMATIC ET 200S Interface Module manual: support.industry.siemens.com (search "6ES7151-1BA02-0AB0"). - SINAMICS G120 Operating Instructions: support.industry.siemens.com (search "6SL3210-1PE-series").PI (PROFIBUS & PROFINET International)
- PI home and document library: profinet.com — GSDML library, PROFINET Installation Guide (Order No. 8.061), PROFIBUS System Description (Order No. 4.002).ODVA
- ODVA specification library: odva.org — CIP Networks Library, Volume 5 (EtherNet/IP), Volume 7 (CIP Motion).Modbus Organization
- Modbus Organization: modbus.org — Modbus Application Protocol V1.1b3, Modbus TCP/IP Implementation Guide V1.0b.Standards
- IEEE 802.3 — Ethernet standard, defining the nominal 10 / 100 Mbit/s and 1 Gbit/s physical layers used by Profinet, EtherNet/IP, and Modbus TCP. - IEC 61158 — Industrial communication networks, fieldbus specifications; covers Profibus, Profinet, EtherCAT, and others. - IEC 61784 — Industrial communication networks, profiles (PROFIBUS, PROFINET, EtherNet/IP, Modbus TCP). - IEC 61000-6-2 / IEC 61000-6-4 — EMC immunity and emission for industrial environments. ## FAQWhat is the easiest first calculation when I have no specification sheet yet?
List every cyclic I/O byte per device, sum them, multiply by 8 to get bits, and divide by the candidate baud rate. The result is the theoretical minimum. If the result is more than 30 % of your target cycle time, choose a faster physical layer before optimizing the protocol stack.
Why is my Profibus cycle time larger than the sum of the transmission times?
Token rotation between masters and slaves, configured slot time per slave (from the GSD), inter-frame gaps, and diagnostic slots all add overhead. Plan for 25 – 50 % additional time beyond the raw bit-count calculation, as documented in the PROFIBUS System Description (PI Order No. 4.002).
Can I use Profinet IRT with non-Siemens controllers?
Profinet IRT is a vendor-neutral PI specification. Any IRT-certified controller can be the PROFINET IO controller, but the cut-through switch must support the "IRT top" delay class (< 1 µs). Always verify the controller's GSDML capability and the switch's IRT conformance class before assuming IRT performance.
What is a typical achievable RPI for EtherNet/IP on a 5380 CompactLogix?
The CompactLogix 5380 (5069-L320 and higher) supports an RPI down to 0.5 ms on Class 1 implicit connections, provided the scanner task period is set to 1 ms or faster. The actual update is the larger of the RPI, the scanner task period, and the connection heartbeat, per the ODVA CIP on EtherNet/IP specification.
How do I size a Modbus TCP network?
Multiply the per-slave request/response time (typically 2 – 10 ms in a typical PLC implementation) by the number of slaves, then add the controller's task period. If the product is below your target cycle, Modbus TCP is feasible; otherwise, switch to a publisher/subscriber protocol such as Profinet or EtherNet/IP. The Modbus Organization's Modbus TCP/IP Implementation Guide V1.0b is the official reference.