1. Overview: What PROFIBUS DP Is and Why Field Failures Happen
PROFIBUS DP (Decentralized Periphery) is a digital fieldbus specified in IEC 61158/61784 that connects controllers, distributed I/O, drives, protection relays, and intelligent field devices over a single twisted-pair RS-485 physical layer. A PROFIBUS DP segment is bidirectional and consists of exactly one Class 1 master (typically a PLC CPU or a PROFINET/PROFIBUS coupler) and one or more slave devices, each identified by a unique station address (0–125, with 126 reserved for commissioning tools and 0 typically reserved for masters or Class 2 configurators). At the physical layer the bus runs at 9.6 kbit/s up to 12 Mbit/s with NRZ coding on a shielded twisted pair; segment length is strictly a function of baud rate (see §2).
Field failures in PROFIBUS installations almost always fall into one of four buckets:
- EMC / cable segregation — power conductors laid parallel to the bus for any meaningful length without a divider inject common-mode noise into the differential pair, producing sporadic retries and lost telegrams.
- Physical-layer errors — missing or improper termination (220 Ω at both ends), broken shields, mixed cable types, or stubs longer than the baud-rate-specific maximum.
- Configuration / GSD errors — wrong GSD revision, mismatched module slot mapping, or byte-order (endianness) mismatches between master and slave.
- Device-specific commissioning — relay or drive parameters that are inconsistent with what the master polls (e.g., inconsistent protection-relay mapping on a Siemens 7SJ6).
This reference is organized so an integrator can move from physical-layer inspection through GSD selection, parameter tuning, and finally verification with a PROFIBUS analyzer.
2. Physical Layer: Cable Types, Segregation Rules, and Maximum Segment Lengths
PROFIBUS DP uses cable type PROFIBUS DP cable (Type A) per IEC 61158-2 — a shielded twisted pair with the following nominal characteristics:
| Parameter | Value |
|---|---|
| Impedance | 135–165 Ω (nominal 150 Ω) at 3–20 MHz |
| Capacitance | < 30 pF/m |
| Loop resistance | ≤ 110 Ω/km |
| Conductor cross-section | 0.34 mm² (22 AWG) typical |
| Shield | Cu braid, ≥ 80% coverage; foil optional |
| Color code | Red = core A (RxD/TxD-N), Green = core B (RxD/TxD-P) |
Maximum segment length depends strictly on baud rate. Always verify against the master module's manual (e.g., Siemens S7-300 IM 153-2, ET 200M) and the slave's datasheet:
| Baud rate | Max segment length (Type A) | Stub length (per spur) |
|---|---|---|
| 9.6 kbit/s | 1200 m | — |
| 19.2 kbit/s | 1200 m | — |
| 45.45 kbit/s | 1200 m | — |
| 93.75 kbit/s | 1200 m | — |
| 187.5 kbit/s | 1000 m | — |
| 500 kbit/s | 400 m | ≤ 0.2 m at 1.5 Mbit/s; < 6.6 m at lower rates |
| 1.5 Mbit/s | 200 m | ≤ 0.2 m |
| 3 Mbit/s | 100 m | not allowed |
| 6 Mbit/s | 100 m | not allowed |
| 12 Mbit/s | 100 m | not allowed |
3. Termination, Shielding, and Connector Pinout
Every PROFIBUS segment must be terminated at both physical ends with a 220 Ω resistor between A and B, in series with a 390 Ω pull-down to VP (pin 6) and pull-up to DGND (pin 5). The termination is built into all standard PROFIBUS D-sub connectors (9-pin) and is activated by a switch or jumper — the terminator must be ON only at the two end nodes. Always power-down the bus before re-positioning termination switches; a mis-switched terminator shows up as a sudden failure after any device is added or removed from the segment.
| D-sub pin (9-pin) | Signal | Function |
|---|---|---|
| 1 | Shield | Conductive shell / drain |
| 2 | — | not used (M24V optional) |
| 3 | B (RxD/TxD-P) | Positive data line (green) |
| 4 | RTS | Request To Send (direction control) |
| 5 | DGND | Data ground (reference for VP) |
| 6 | VP | +5 V supply for termination (≤ 100 mA) |
| 7 | P24V | +24 V (for repeaters / fiber modules) |
| 8 | A (RxD/TxD-N) | Negative data line (red) |
| 9 | — | not used (DNC) |
Shield bonding: clamp the cable shield to a grounded backplate at both ends of the segment using 360° EMC glands (e.g., Weidmüller VGM, Phoenix Contact). Avoid pigtail connections — a 25 mm pigtail can be enough to defeat shielding at 12 Mbit/s.
4. Fiber Migration with Siemens OLM and Helmholz Optopus
When EMC segregation is not possible — for example, when PROFIBUS must cross a cable tray carrying VFD output cables — converting the copper segment to fiber is the most reliable fix. The standard PROFIBUS fiber solution is the Siemens OLM (Optical Link Module) family, which provides electrical-to-optical conversion with SC or BFOC connectors. Each OLM pair forms a transparent point-to-point link at any standard PROFIBUS baud rate up to 12 Mbit/s. The OLM is wired into the bus segment as if it were a repeater; it does not consume a station address.
For shorter links or where you want to avoid dedicated modules, Helmholz Optopus PROFIBUS fiber plugs convert a single D-sub copper tap into fiber inline. They are particularly useful for retrofitting a single slave device that has had copper-segregation problems without rewiring the rest of the segment.
5. GSD Files: Selection, Revision, and Byte-Order Pitfalls
The GSD (General Station Description) file is the device's XML-or-ASCII declaration of its PROFIBUS capabilities: supported baud rates, I/O module slots, diagnostic formats, and timing. A wrong GSD produces a configuration that compiles in the master tool but fails in hardware. Two field-proven patterns:
- Version-driven GSD split — devices with major firmware revisions often change their I/O mapping. The Siemens 7SJ6 protection relay is a documented example: firmware version 3 and below use one GSD, version 4 and above use a different one. Loading a v4 GSD onto a v3 relay compiles but produces configuration errors at run time (status word reads back, user data does not).
- Byte-order / endianness — some legacy devices (notably some 7SJ6 variants and several Prosoft gateway mappings) return data big-endian while the PLC expects little-endian. The symptom is that the same integer reads correctly as a 16-bit value but interprets incorrectly when split into two 8-bit status words. The fix is to enable byte-swap in the gateway (e.g., Prosoft MVI46) or to use a swap function block in the PLC application.
To get the right GSD:
- Locate the full order number (MLFB for Siemens, e.g.,
7SJ6225-5EB90-1HA1), not the marketing part number. - Search the manufacturer's GSD library for the exact MLFB, then the firmware release letter/number on the device label.
- Import the GSD into the master tool (STEP 7, TIA Portal, RSLogix 5000 with the Prosoft plugin, etc.). Re-compile the hardware configuration and download — a stale GSD in the project is a common cause of configuration error on first commissioning.
6. Prosoft MVI46-PDPMV1 in an Allen-Bradley SLC 500 Chassis
The MVI46-PDPMV1 is a single-slot 1746 form-factor module that acts as a PROFIBUS DP Class 1 master (or slave) inside a SLC 500 rack. It is the standard path for bringing PROFIBUS slave data into a SLC 5/05 or SLC 5/04 chassis when a 1747-SN or 1747-BSN is not appropriate, and is also commonly used to integrate Siemens 7SJ6/7SA6/7UT relays into Allen-Bradley protection schemes.
6.1 Prerequisites
- MVI46-PDPMV1 module with the latest Prosoft Configuration Builder (PCB) software — version compatibility is documented in the user manual.
- Null-modem (RS-232) configuration cable, DB-9 female/female, straight-through (pins 2-3, 3-2, 5-5). Many users initially use a null-modem crossover where the MVI46 expects straight-through; this is a frequent cause of download error 401.
- 1746 I/O chassis with the SLC backplane interface in slot 0, MVI46 in any other slot.
- RSLogix 500 project, ladder logic for the backplane data transfer (M0/M1 files for input/output image, BTR/BTW instructions).
- GSD file for the target PROFIBUS slave (e.g., 7SJ6 v3 or v4).
6.2 Configuration Steps
- Install the MVI46 into the chassis, connect the null cable between the module's DB-9 (CFG port) and the PC.
- Power up the SLC, set the rotary switches to a valid PROFIBUS address (0–125), launch PCB.
- Import the slave's GSD file (PCB menu: File → Import GSD). Verify the GSD is recognized under Slave Library.
- Add a new slave, assign the PROFIBUS address, drag the desired I/O modules into the slot table. Note the input/output byte counts — these must match the ladder
BTR/BTWlength exactly. - Download the configuration to the MVI46 (Module → Download). On a correct cable and a recognized GSD this should succeed without error 401.
- Switch the SLC to Run mode. The MVI46 powers up in idle and starts polling only after a valid configuration is received from the backplane.
6.3 SLC 500 Sample Ladder
The MVI46 backplane mapping uses integer files M0 (writes from SLC to MVI46) and M1 (reads from MVI46 to SLC). A minimal read of the 7SJ6 status word looks like this:
rung 1: BTR -- read 1 word from MVI46 input image 0
BT BTR Enable I:1.0/15 (or always-on bit)
BT BTR Slot 2 (MVI46 slot)
BT BTR Rack 0
BT BTR Data File M1:1.0 (length 1 word)
BT BTR Control R6:0
BT BTR Length 1
BT BTR Channel 0 (input channel 0 = status word)
rung 2: BTW -- write 1 command word
BT BTW Enable I:1.0/15
BT BTW Slot 2
BT BTW Rack 0
BT BTW Data File M0:1.0
BT BTW Control R6:1
BT BTW Length 1
BT BTW Channel 0 (output channel 0 = command word)
7. Siemens 7SJ6 Over PROFIBUS: Slot Mapping Reference
The 7SJ6 is a multifunction protection relay that exposes its measurements, status, and trip data over PROFIBUS DP using modular slots. Slot 0 is always the status/control word; additional slots depend on the order code. A typical mapping (verify against the actual GSD for the firmware in service):
| Slot | Module | Direction | Bytes | Content (typical) |
|---|---|---|---|---|
| 0 | Status / Control | I/O | 2 + 2 | Status word, control word, trip indicators |
| 1 | Measurements 1 | Input | 16 | Ia, Ib, Ic, In, Va, Vb, Vc, P, Q, S, cos φ, f |
| 2 | Measurements 2 | Input | 8 | Energy counters, demand, thermal state |
| 3 | Event log | Input | 32 | Last fault records (timestamp + values) |
| 4 | Statistics | Input | 12 | Breaker wear, motor start counts |
| 5 | Setpoints read | Input | 8 | Active protection thresholds (read-only echo) |
To avoid the configuration error symptom in the source, three rules apply:
- Match GSD revision to firmware — v3.x and v4.x of 7SJ6 firmware are not cross-compatible.
- Confirm the slot order in PCB matches the relay's actual bay configuration; some applications disable unused slots to shorten the cycle time.
- Verify the relay's PROFIBUS address at the front panel matches the address assigned in PCB. A mismatch appears as a slave-not-found diagnostic on the MVI46.
8. Retry Limit, DP Profile, and Cycle-Time Tuning
The "quick and dirty" mitigation in the source — switching the DP profile to User Defined and raising the retry limit — works by trading determinism for robustness. The mechanism is:
- Each PROFIBUS DP master maintains a watchdog: if no valid response is received within Twd, the slave is declared failed and the master transitions to the configured error state.
- Increasing retry limit (Tretry) tells the master to re-send the request telegram up to N times before declaring failure. The bus update time for that slave grows proportionally.
- Increasing slot time (Tslot) and quiet time (Tqui) accommodates slaves that take longer to respond, but the values must be within the limits calculated from the baud rate or no token-passing will work.
Calculated upper bounds (use these to validate a user-defined profile):
T_bit = 1 / baud_rate
T_slot <= (max_stations + 1) * 11 * T_bit (master-side)
T_idle1 >= 37 * T_bit + 2 * T_rt (line dead time)
T_tr = max_retry_time on segment
T_qui = 0 .. 255 * T_bit (sender settling)
T_set = 1 .. 255 bits (slave setup)
Most master tools (STEP 7, TIA Portal, Prosoft PCB) auto-calculate these from the baud rate and the station count; only switch to User Defined when you have a specific reason.
9. PROFIBUS Analyzer Workflow with Procentec ProfiTrace
When the bus is intermittently failing, a tap-and-trace session with a PROFIBUS analyzer is the fastest path to a root cause. The Procentec ProfiTrace 2 is a laptop-attached DP/PA diagnostic tool with the following workflow:
- Insert the ProfiCore tap (a passive inline D-sub) between the master and the segment, or use a permanent bus-monitor T-connector on a spare device port.
- Launch ProfiTrace on the laptop. The tool automatically detects the baud rate, lists all live stations, and records every telegram.
- Read the bar graph — a green/amber/red column per station shows the bus health in real time. Amber is acceptable but indicates retries; red is a hard fault.
- For a persistent noise problem, enable the live oscilloscope view and inspect the signal at each tap point. A distorted eye diagram at one device typically identifies the offending drop or the un-terminated stub.
- Capture traffic for at least 10 minutes of normal operation. Filter by station and by service (Read, Write, Diagnostics). Repeated diagnostic telegrams from one station indicate the master is polling it but not getting good responses.
| Symptom | ProfiTrace indicator | Likely cause |
|---|---|---|
| One slave intermittently offline | Bar amber → red, others stable | Single-device termination, shield break, faulty connector |
| All slaves noisy | All bars amber, retry counter high | Segment-wide EMC, common-mode noise from VFD or ungrounded power cable |
| No slaves visible | Bar graph empty, baud rate not detected | Both terminators OFF, open shield, broken cable, or shorted pair |
| Master restarts slaves | Periodic 'Global Control' fail telegrams | Watchdog too tight for the actual response time; tune DP profile |
| Configuration error at startup | Slave rejects configuration telegram | Wrong GSD revision, slot mapping mismatch, byte-order mismatch |
10. Troubleshooting Matrix: Symptom → Root Cause → Fix
| Symptom | Most likely root cause | Fix |
|---|---|---|
| Sporadic bus faults after a power-cable addition | EMI injection; insufficient segregation | Add 360° shield bonding, use metallic divider, or migrate to fiber (OLM) |
| Prosoft PCB download fails with error 401 | Wrong RS-232 cable (null-modem instead of straight-through) | Replace with straight-through DB-9 F/F cable |
| 7SJ6 status reads as flipped / wrong trip flags | Byte-order mismatch between relay and gateway | Enable byte-swap in PCB or apply swap FB in SLC |
| Configuration error on cold start, no data exchange | GSD revision mismatch (e.g., v3 GSD on v4 firmware) | Re-import GSD matching the relay's firmware MLFB |
| One device shows no activity at all | Address conflict, no power, broken stub | Verify rotary address, measure VP/PGND at the connector, re-terminate stub |
| Cycle time doubled after adding a station | Baud rate too low for the device count | Increase baud rate, split segment with repeater, or move to fiber |
| Bus works on the bench, fails on plant power-up | Common-mode from VFD output, missing PE bond | Add sine-wave filter on VFD output, ensure cabinet PE is single-point grounded |
11. Commissioning Verification Checklist
Run this list on every new PROFIBUS segment before signing off:
- Confirm 220 Ω termination is ON at exactly the two end nodes; OFF at every interior device. Measure with ohmmeter between pins 3 and 8 with the bus powered off — expect ~110 Ω (two 220 Ω in parallel).
- Verify the shield is bonded to the cabinet PE at every junction box, with 360° contact, no pigtails.
- Walk the tray and confirm the PROFIBUS cable has either 200 mm clearance from any power cable or a continuous metallic divider between them.
- Power up the master, run a topology scan from STEP 7 / TIA / PCB. Every configured slave must be Found with the correct expected module count.
- Run ProfiTrace for 15 minutes of normal operation. All station bars should be green. Total diagnostic telegrams should be zero or near-zero (small bursts at startup are normal).
- Cycle the master and the slaves; verify the slaves come back online within the configured watchdog and that no slave requires a power-cycle to recover.
- Document the baud rate, GSD revision used for each slave, station addresses, and the PROFIBUS address map in the project as-built package.
12. Field-Proven Caveats and Safety Notes
- Never rely on retry tuning as a permanent fix. It hides EMC problems; eventually the noise source will cause a hard fault during a critical operation.
- PROFIBUS and safety functions: PROFIBUS DP does not define SIL-rated communication on its own. For safety-related data, use PROFIsafe on PROFINET, or a hard-wired interlock for PROFIBUS DP signals — do not use the DP retry count or heartbeat as a safety mechanism.
- Hot swapping: A PROFIBUS slave is not hot-swappable in the PROFIBUS DP-V0 sense. Removing a powered slave disrupts the segment and may cause other devices to drop. Always power down the slave, swap it, then power up.
- GSD hygiene: After a firmware update on any slave, re-check the GSD against the new firmware MLFB. A common service-call pattern is "bus worked until we updated the relay" — usually a GSD-version mismatch.
- Repeaters vs. OLMs: A PROFIBUS repeater (e.g., Siemens 6ES7972-0AA02-0XA0) is a copper-to-copper regenerative coupler; it does not isolate ground loops. If you have a ground-potential issue between two cabinets, use an OLM (copper-fiber-copper) instead — fiber breaks the galvanic path.
What is the maximum PROFIBUS DP segment length at 1.5 Mbit/s?
Type A cable: 200 m total segment length, with stubs no longer than 0.2 m. At 12 Mbit/s, the maximum is 100 m and no stubs are allowed. At 9.6–93.75 kbit/s, 1200 m is the limit. Always match the baud rate to the segment length before commissioning — see §2.
Can PROFIBUS and power cables share the same cable tray?
Only with a continuous metallic divider, and only with 200 mm clearance above and below 1.5 Mbit/s, or a divider without clearance at lower rates. For high-noise environments, convert the bus to fiber using Siemens OLMs or Helmholz Optopus fiber plugs — this completely eliminates common-mode coupling from the power cables.
How do I fix Prosoft PCB download error 401 on the MVI46?
Error 401 is a serial-port or cable problem, not a module problem. Replace the RS-232 cable with a straight-through DB-9 female-to-female cable (pins 2-3, 3-2, 5-5 crossed; the MVI46 expects a null-modem-style swap, but the supplied configuration cable is null-modem from the PC side — verify the MVI46 user manual's pinout). Confirm the COM port, the baud rate (default 9600 8N1), and that no other process is holding the port.
Why does my 7SJ6 relay show configuration errors on the MVI46?
Three common causes: (1) the GSD revision does not match the relay firmware (v3 firmware requires the v3 GSD, v4+ requires the v4 GSD); (2) the slot mapping in PCB does not match the relay's bay configuration; (3) the relay's PROFIBUS address (set on the front panel) differs from the address assigned in the master. Verify all three and re-import the GSD before re-downloading.
What does increasing the PROFIBUS retry limit actually do?
It tells the master to re-transmit a request telegram up to N times before declaring the slave offline. The bus update time for that slave grows proportionally because each retry consumes a slot in the token-passing cycle. It is a useful diagnostic and temporary workaround, but does not fix the underlying EMC problem. Always resolve the root cause — cable segregation, shield bonding, or fiber migration — before leaving the system in production.
Do I need a repeater to extend a PROFIBUS segment beyond 100 m at 12 Mbit/s?
You need either a repeater (e.g., Siemens 6ES7972-0AA02-0XA0) to chain another 100 m copper segment, or an OLM (Optical Link Module) to convert the run to fiber. For ground-isolation between cabinets, the OLM is strongly preferred because it breaks the galvanic path and eliminates ground-loop-induced noise.