P-10 — PROFIBUS (DP + PA)
The European factory floor's workhorse — still everywhere.
Estimated 14 minutes.
Born in 1989, still everywhere
PROFIBUS — Process Field Bus — was launched in 1989 by a Siemens-led German consortium. Long before Ethernet was deterministic enough for the plant floor, Profibus delivered cyclic master-slave control over a single twisted pair. Millions of machines built between 1990 and 2015 still run on it today.
Two flavours, one name
PROFIBUS comes in two completely different physical layers wearing the same brand: DP (Decentralised Peripherals) for factory automation, and PA (Process Automation) for chemical/oil & gas. Same application protocol, different wire and use case.
DP vs PA — pick the right wire
DP is fast and discrete. PA is slow, intrinsically safe, and powers the device.
Which would you use?
You are wiring 12 vibration sensors and pressure transmitters in a refinery zone classified Ex-i. Which PROFIBUS variant?
- DP — it is faster
- PA — intrinsically safe and provides loop power
RS-485 wires the DP segment
PROFIBUS DP rides on a single shielded twisted pair (purple cable, by Siemens convention) using RS-485 differential signalling. Two wires (A and B) carry data; the shield handles EMC. Up to 32 stations per segment without a repeater; up to 126 with repeaters.
Termination is mandatory
Every DP segment needs exactly two terminators — one at each end. They are usually built into the connector (a switch labelled "ON/OFF") or into the bus terminal. Forget one and you get reflections, garbage data, and intermittent timeouts. Add one in the middle and you split the bus.
Baud rate buys speed but costs distance
Wrong baud, wrong place
A 600 m run between two cabinets keeps dropping random slaves. Cable looks fine, terminators in place. The engineer set the bus to 1.5 Mbaud. What is the most likely cause?
- A bad GSD file
- The baud rate is too high for the cable length — drop to 187.5 kbaud
- A duplicate slave address
Master polls, slave answers
PROFIBUS is fundamentally master-slave. The master (a PLC, typically) holds a list of all slaves and polls them in turn: "Slave 5, give me your inputs and here are your outputs." Each slave answers within a tightly bounded time. The cycle repeats forever.
Two classes of master
Class 1 masters do the cyclic data exchange — that is your PLC. Class 2 masters handle engineering and diagnostics — that is your laptop with TIA Portal or PG. Both can be on the bus simultaneously, sharing it via the token.
Token passing in action
When more than one master shares a bus, they hand a logical token around. Click to pass the token and watch who is allowed to talk.
Slave wants to talk
A pressure slave detects an over-range condition. When does it tell the master?
- Immediately — it interrupts the bus
- It waits for the next poll, then sets a diagnostic bit the master sees
- It seizes the token and talks
Addresses 0–126
Each station on a Profibus segment has a unique address from 0 to 126. Address 0 is reserved for the engineering tool (Class 2 master). Address 126 is the default factory address — slaves arrive set to 126 and are re-addressed during commissioning.
Two devices, same address
You forget to re-address a brand-new I/O block (still at 126) and another spare is also at 126. Both go on the bus. What happens?
- They share the address and round-robin
- Both respond simultaneously, the master sees garbage, the bus fails
- The master picks one and ignores the other
GSD — the device passport
Every Profibus device ships with a GSD (Geräte-Stamm-Datei, "device master file") — a plain-text file that tells the engineering tool what the device is, what baud rates it supports, what modules can be configured, and what parameters it accepts.
Inside a real GSD
Vendor, ident number, supported speeds, module catalogue — all in one file.
Wrong GSD version
A new firmware revision of a slave subtly changes its module catalogue. You import the OLD GSD into your project. What do you most likely see?
- Bus runs fine — GSD is decorative
- Slave goes into "parametrisation error" — its real catalogue does not match the configured one
- PLC stops with a divide-by-zero error
Decode a real telegram
A DP variable-length telegram looks like: 68 LE LE 68 DA SA FC DATA... FCS 16. Start delimiter, length (twice), repeated start, destination, source, function code, payload, checksum, end delimiter.
Telegram decoder
Edit the hex bytes. The decoder splits out the source/destination/function and verifies the FCS checksum.
Common failures
In the field, 90% of Profibus problems are one of: missing or extra terminator, baud rate set higher than the cable length allows, duplicate slave address, wrong GSD version, A and B wires swapped at one device. A bus tester (e.g. Softing PB-T2 or Indu-Sol PB-Q ONE) finds all of them in minutes.
Final challenge
A Profibus DP segment with 18 slaves runs reliably except slave 12, which is intermittent. Other slaves at addresses 11 and 13 are fine. The cable from 11 to 12 was replaced last week. Most likely cause?
- A and B wires swapped on the new cable at slave 12
- Wrong baud rate
- Missing terminator at slave 18
- GSD file mismatch
What you learned
- PROFIBUS DP = RS-485, 9.6 kbaud–12 Mbaud, factory automation. PA = MBP, 31.25 kbaud, intrinsically safe field devices.
- Master polls slaves cyclically; multiple masters share via a logical token ring.
- Addresses 0–126; address 126 is the factory default — always re-address before connect.
- GSD files describe each device — match the version to the firmware.
- Termination is mandatory at both ends; baud rate is bounded by segment length.
- Most field faults: terminator, baud, duplicate address, wrong GSD, A/B swap.
PROFIBUS complete
- You can choose between DP and PA for a given application.
- You can decode a DP telegram down to source, destination, and function.
- You can diagnose the most common Profibus segment failures.