PROFIBUS DP Troubleshooting Cable Noise, GSD Files

David Krause17 min read
ProfibusSiemensTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

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:

  1. 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.
  2. 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.
  3. Configuration / GSD errors — wrong GSD revision, mismatched module slot mapping, or byte-order (endianness) mismatches between master and slave.
  4. 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
Segregation rule (EN 50174-2 / IEC 61918): PROFIBUS cable and power cable separation must respect a minimum clearance, or a continuous metallic divider (steel divider/separator) must be used. Where unshielded power cables share a tray with the bus, cross only at 90° and never run parallel for more than ~35 mm at any data rate above 1.5 Mbit/s. The 3 m parallel run under a panel described in the source is at the edge of acceptability for ≤ 1.5 Mbit/s with divider, and unacceptable at 12 Mbit/s without one.

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.

Topology note: PROFIBUS fiber with OLMs is a point-to-point physical layer — the optical segment carries one master to one slave or a chain of repeaters. Do not attempt star topologies with passive optical splitters; PROFIBUS does not define a fiber-star physical layer. Use an OLM/G12 with integrated optical star capability or, more commonly, an OLM pair at each fiber run.

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:

  1. 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).
  2. 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:

  1. Locate the full order number (MLFB for Siemens, e.g., 7SJ6225-5EB90-1HA1), not the marketing part number.
  2. Search the manufacturer's GSD library for the exact MLFB, then the firmware release letter/number on the device label.
  3. 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

  1. Install the MVI46 into the chassis, connect the null cable between the module's DB-9 (CFG port) and the PC.
  2. Power up the SLC, set the rotary switches to a valid PROFIBUS address (0–125), launch PCB.
  3. Import the slave's GSD file (PCB menu: File → Import GSD). Verify the GSD is recognized under Slave Library.
  4. 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/BTW length exactly.
  5. Download the configuration to the MVI46 (Module → Download). On a correct cable and a recognized GSD this should succeed without error 401.
  6. 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)
Byte-swap caveat: If status bits read inverted or trip flags appear in the wrong word, enable Byte Swap in PCB under the module's database configuration. This is the lesson-learned referenced in the source — without byte swap, the 7SJ6 status lands in the SLC flipped, and operators see phantom trip signals during steady-state operation.

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:

  1. Match GSD revision to firmware — v3.x and v4.x of 7SJ6 firmware are not cross-compatible.
  2. Confirm the slot order in PCB matches the relay's actual bay configuration; some applications disable unused slots to shorten the cycle time.
  3. 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.
Caution: Pumping retry limits on a noisy bus does not fix the noise — it only delays the diagnostic. Always use this as a temporary measure while the EMC problem is resolved, never as a permanent commissioning parameter in a safety-related system.

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:

  1. 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.
  2. Launch ProfiTrace on the laptop. The tool automatically detects the baud rate, lists all live stations, and records every telegram.
  3. 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.
  4. 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.
  5. 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:

  1. 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).
  2. Verify the shield is bonded to the cabinet PE at every junction box, with 360° contact, no pigtails.
  3. Walk the tray and confirm the PROFIBUS cable has either 200 mm clearance from any power cable or a continuous metallic divider between them.
  4. 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.
  5. 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).
  6. 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.
  7. 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.

Back to blog