Resolving Sinamics F01910 Profibus Setpoint Timeout Fault

David Krause18 min read
SiemensTroubleshootingVFD / Drives
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 of the Sinamics F01910 PROFIBUS Setpoint Timeout

Fault F01910 "PROFIBUS: Setpoint timeout" is declared by the Sinamics Communication Unit (CU) when the cyclic process-data channel on PROFIBUS DP stops delivering a fresh setpoint telegram from the DP master within the monitoring window enforced by the drive firmware. The detection is performed in two layers: the PROFIdrive stack inside the Control Unit compares the cycle counter of the incoming PZD against the configured bus cycle time, and the application layer compares the setpoint against parameter p2047 "PROFIBUS additional monitoring time".

When F01910 is latched, the drive executes the OFF response mapped in p2100/p2101 (typically OFF3 on a process-critical line, OFF1 on a less critical section), removes pulse enable, and clears bit r899.0 "Control Unit ready". Even after the bus is restored and the controller has returned to RUN, the drive will not re-enable pulses until the fault is explicitly acknowledged and a fresh OFF1 -> ON command (rising edge on STW.0 with STW.1 held high) is issued. In safety-instrumented plants, the F01910 event is mirrored by the F-host PLC as a station failure on the DP slave, which can trip the higher-level Safety Instrumented Function (SIF) and force the production line into a safe state.

The fault value delivered with the alarm in r949 is structured as 0xVVVV_IIII where IIII is the PROFIdrive channel index and VVVV holds the failing PZD word. The most common value 0x0000 0000 indicates a plain cyclic data loss with no specific PZD flagged; a non-zero low word identifies the PZD slot that stopped updating, which is the first place to look when diagnosing intermittent timeouts.

Safety stop class: F01910 is configured as a STOP category 0 / STOP category 1 fault by default. On S120 and GM150, the parameter p2100[0] maps F01910 to the standard fault buffer and p2101[0] selects the OFF reaction. A STOP category 2 mapping must be explicitly engineered and approved for the driven machine.

2. Affected Hardware, Control Unit and Firmware Variants

F01910 is generated on every Sinamics platform that exposes a PROFIBUS slave interface through the firmware PROFIdrive stack. The combinations most frequently seen in operating plants are:

Drive family Control Unit CBE / CBP Typical firmware (≥) DP slave interface
SINAMICS S120 CU320, CU320-2 DP Onboard V4.3 / V4.4 / V4.5 / V4.6 / V4.7 / V4.8 SP1 X126 (DP)
SINAMICS S120 CU310, CU310-2 DP Onboard V4.4 / V4.5 / V4.6 / V4.7 X21 (DP)
SINAMICS G120 / G120C CU240E / CU240S / CU250S Onboard or CBP20 V4.5 / V4.6 / V4.7 SP3 X21 / X22
SINAMICS G130 / G150 CU320 + CBC10 CBC10 V4.5 / V4.6 / V4.7 DP on CBC10
SINAMICS GM150 / GL150 / SM150 CU320 (in CCM) CBC10 V4.5 / V4.6 / V4.7 / V4.8 DP on CBC10
SINAMICS V90 Built-in Onboard V1.04 / V1.05 X10 (DP)

The 9-pin Sub-D PROFIBUS connector on every variant above carries the same PROFIdrive V4.2 stack, so a fix engineered on a CU320-2 DP applies to a GM150 with CBC10 without code changes. Always check the FW version in r0018 or via the SINAMICS web server before you tune p2047; firmware < V4.3 treats p2047 in 10 ms steps, while firmware ≥ V4.5 uses 1 ms steps.

3. PROFIBUS DP Architecture, Cycle Time and Telegram 110 Layout

The classic topology for an F01910 case is a SIMATIC S7-400 (CPU 416-3 PN/DP) with an IF-964-DP master module or the integrated DP interface of the CPU. The CPU polls each slave in a fixed token-passing sequence with the DP cycle time TDP defined in HW Config (or TIA Portal) under "DP master system -> Properties -> Bus parameters". A typical three-node configuration at 1.5 Mbps with 32 bytes I/O per slave resolves to TDP = 6 ms to 12 ms.

PROFIBUS DP segment – CPU 416-3 (IF-964-DP) with 3 SINAMICS drives S7-400 CPU 416-3 IF-964-DP Drive 1 CU320-2 DP Drive 2 CU320-2 DP Drive 3 CU320-2 DP Term Term • 1.5 Mbps standard • 3 nodes, 32 B I/O each • T_DP ≈ 6 – 12 ms • Profibus cable 6XV1830 • Shield grounded at cabinet • Termination ON at end nodes • Telegram 110 / 111

When the DP master is configured with Telegram 110, the PZD layout is fixed by the PROFIdrive profile version 4.2 and is identical for the receive and send directions:

Word PLC → Drive (setpoints) Drive → PLC (actuals) Source / sink
PZD1 STW1 (Control word 1) ZSW1 (Status word 1) r0050 / p2050[0]
PZD2 NSOLL_A (speed setpoint A) NIST_A (speed actual A) r0021 / p1155
PZD3 STW2 (Control word 2) ZSW2 (Status word 2) r0051 / p2050[2]
PZD4 G1_STW / encoder 1 control G1_ZSW / encoder 1 status r0479 / r0480
PZD5 free interconnect (e.g. torque limit) free interconnect p2050[4] / p2051[4]
PZD6 free interconnect free interconnect p2050[5] / p2051[5]
Telegram 110 – 6 PZD receive / 6 PZD send STW1 bit10 = ctrl_from_PLC NSOLL_A speed setpoint STW2 G1_STW PZD5 PZD6 ZSW1 drive OK / ready NIST_A speed actual ZSW2 G1_ZSW PZD5 PZD6 PLC → Drive Drive → PLC

The single most important bit for the F01910 question is STW1 bit 10 "Control from PLC" (German: Steuerung durch SPS). When the DP master drops this bit to 0, the drive firmware interprets the loss of the bit as "controller no longer in charge" and pre-emptively flags the setpoint as invalid. If the loss persists beyond the watchdog window, the drive declares F01910. The control word bit 10 must therefore be held at 1 (TRUE) at all times in the PLC output image of the drive; toggling it during a sequence of motion blocks is a common cause of intermittent F01910 trips.

4. Watchdog Timing Mathematics for the F01910 Budget

Two time-outs are evaluated by the drive:

  • Layer A – Bus-level watchdog (r2053[0]): the PROFIdrive stack itself declares a setpoint timeout if a fresh global control bit (GC) or new PZD is not received within 2 × TDP. This value is not user-tunable, but it bounds the upper end of the monitoring window.
  • Layer B – Application watchdog (parameter p2047): the user-configurable additional monitoring time is added on top of the bus-level default. The effective time-out is:

T_F01910 = 2 · T_DP + p2047

For a bus cycle time of TDP = 10 ms (typical 3-node, 1.5 Mbps segment), the time-out becomes:

  • p2047 = 0 ms (default) → TF01910 ≈ 20 ms
  • p2047 = 100 ms → TF01910 ≈ 120 ms
  • p2047 = 500 ms → TF01910 ≈ 520 ms

Any PLC scan that exceeds TF01910 (OB1 cycle > 20 ms on a CPU 314 with 8 motion drives, for example) will trip the drive even though the bus is healthy. The recommended engineering rule is:

F01910 timing – T_DP vs p2047 budget t0 T_DP 2·T_DP 2·T_DP + p2047 3·T_DP 4·T_DP Cyclic DP frames F01910 declared Fault acknowledged p2047 window Tip: keep p2047 ≥ 3 × OB1 worst-case scan to absorb PLC jitter.

p2047 = max(3 · t_OB1_max, 100 ms) is a robust starting point for a CPU 416-3 with 3 to 5 drives on one segment. On heavily loaded CPUs where OB1 can stretch to 30 ms, set p2047 to 100 – 200 ms. On thin segments with 1 drive, p2047 = 50 ms is usually sufficient.

5. Root Cause Matrix for F01910

The root cause of F01910 falls into one of four classes. Use this matrix to triage a new event before changing hardware:

Class Probable cause Symptom Diagnostic Fix
A. Physical layer Damaged Profibus cable, broken shield, loose D-sub screws, missing terminator, swapped A/B lines Random F01910 several times per day, S7 diagnostic buffer shows DP station failure with "bus short-circuit" or "slave not found" Measure A-B resistance (≈ 220 Ω terminated, ≈ 110 Ω with both terminators), inspect connector pins, swap cable Replace cable (6XV1830-0EH10), re-tighten D-sub, re-apply terminator ON only at end nodes
B. Configuration Mismatched telegram (PLC 110, drive 1), wrong GSD, p0922 ≠ 110, slave address clash Drives go online then drop on first re-init, F01910 within seconds of PLC->RUN Compare HW Config / TIA Portal to STARTER > Communication > Telegram configuration; check r0922 = 110 Align p0922, re-load HW Config, restart the DP master
C. PLC scan / program OB1 scan > TF01910, OB82/OB86 not loaded, OB1 drop-out during startup, control word bit 10 toggled, SFB/SFC DP error returns ignored F01910 during recipe change or large DB copy, S7 diagnostic buffer empty for PLC side Insert a "cycle-time monitor" in OB1, use OB82/OB86 with logging, trace the SFC14/SFC15 return codes Shorten OB1, raise p2047, set STW1.10 = 1 unconditionally, add fault handling in OB82/OB86
D. Hardware degradation Failing CBC10/CBE20, weak PLC backplane, dirty UPS, EMI from VFD output cable F01910 frequency increases over weeks, drives A and B both trip at the same time of day Move drive to a known-good port, swap CBC10, run the segment on a UPS line, inspect grounding Replace the CBC10 / Control Unit, separate VFD power cable from Profibus trunk by ≥ 200 mm, install ferrite on VFD output

6. Step-by-Step Diagnostic Procedure

  1. Capture the F01910 context. Open STARTER (or Startdrive in TIA Portal V14+) and read r2125 "Fault buffer", r2124 "Fault value", and r2131 "Fault time received". Note the PLC-side S7 diagnostic buffer entries at the matching wall-clock time. Look for "Station failure", "DP slave not reachable", or "OB not loaded".
  2. Read the active telegram configuration. In STARTER, navigate to Communication → PROFIBUS → Telegram configuration. Confirm r0922 "IF1 PROFIdrive PZD telegram selection" matches the value configured in HW Config (typically 110 for a CU320 in vector control). Mismatch causes the drive to interpret incoming PZDs as zero, and within a few cycles the PROFIdrive stack raises F01910.
  3. Check the PLC program for the control word bit. Open the DB that holds the drive's output PZD. Confirm bit 10 of the first word (STW1) is held TRUE in every state of the drive sequencer. A common bug is to clear STW1 at the end of a recipe and not re-set it before the next setpoint write.
  4. Measure OB1 scan time. Add an FB that records the cycle time into a retentive DB (e.g. R_TRIG and SFC64 "TIME_TCK"). If the maximum scan time exceeds 2 · T_DP, the drive will see a gap in the cyclic frames that the bus layer watchdog treats as a setpoint timeout.
  5. Inspect the physical layer. Power down the segment, disconnect every connector, and measure A-B resistance from the master end. The reading must be ≈ 220 Ω with one terminator or ≈ 110 Ω with both terminators. Any other value indicates a short, an open line, or an extra terminator. Re-tin the D-sub pins if the segment was commissioned in 2008 or earlier.
  6. Capture a Profibus trace. Use a Profibus monitor (e.g. Amprolyzer, Softing PB-T3, Inatra PROFI-line) or the integrated Profibus diagnostics of the CPU 416-3 (diagnose -> Profibus -> statistics) to log the bus statistics. Watch for retry count, slave diag frames, and the cyclic-frame jitter. A cyclic-frame jitter of more than 30 % of TDP indicates an EMC or bandwidth issue.
  7. Test the controller in isolation. Disconnect the drive, set a constant cyclic write of a "safe word" into the drive's output PZD with STW1.10 = 1, and observe whether the drive drops the connection. If it stays connected for 24 hours, the issue is in the controller program; if it drops, the issue is physical or firmware.
  8. Review the backup PLC swap history. When the user reported that "changing the PLC" appeared to clear the fault for a few minutes, this is a tell-tale sign of a marginal PB cable, a marginal DP connector, or a missing OB82 / OB86 on the new PLC. The PLC did not "fix" the bus; it just changed the reflection / capacitance enough to postpone the next drop-out.

7. Tuning p2047 and the Surrounding PROFIdrive Parameters

Parameter Description Recommended value Note
p0922 IF1 PROFIdrive PZD telegram selection 110 (or 111 for Servo) Must match the PLC HW Config
p2030 Fieldbus interface protocol selection 0 = PROFIBUS 0 disables PN, 7 enables PN
p2040 Bus cycle time, set by HW Config 6 – 12 ms (read-only on CU320) Driven by PLC, not by p2040
p2042 PROFIBUS Ident Number 0 = SINAMICS, 1 = VIK-NAMUR 0 for OEM projects
p2044 PROFIBUS monitoring time for PNU access (ms) 2000 ms Acyclic parameter channel
p2047 PROFIBUS additional monitoring time (ms) 100 – 500 ms Headline fix for F01910
p2050[0..5] CI: PZD receive word STW1, NSOLL_A, STW2, ... Interconnect to control word sources
p2051[0..5] CO: PZD send word ZSW1, NIST_A, ZSW2, ... Interconnect to status word sources
p2060[0..5] CI: PZD receive double-word e.g. MADD for torque Used for free telegrams
p2080[0..15] CO: PZD send bit interconnection per project Bit-level mapping
p2100[0..n] Fault code to change fault reaction F01910 Default OFF3
p2101[0..n] Fault reaction for the fault in p2100 0 = none, 1 = OFF1, 2 = OFF2, 3 = OFF3 Engineering review required

The headline change for F01910 is to set p2047 from 0 to a value that absorbs the worst-case OB1 jitter plus the bus-cycle jitter. As a rule of thumb:

  • p2047 = 100 ms – safe for a CPU 416-3 with up to 8 drives, 1.5 Mbps, OB1 ≤ 25 ms.
  • p2047 = 200 ms – safe for a CPU 314-2DP with 3 drives, 1.5 Mbps, OB1 ≤ 50 ms.
  • p2047 = 500 ms – safe for a CPU 315-2DP with 2 drives, 45.45 kbps, very long cables.
Do not raise p2047 above 1000 ms. Values larger than 1 s delay the OFF response of the drive by the same amount, which breaks the safety function. Engineering review of the SIF time budget is required for any value above 500 ms.

8. PLC Program Hygiene – OB82 / OB86, Control Word Bit 10 and SFC14 / SFC15

A CPU that runs without OB82 (diagnostic interrupt) and OB86 (rack failure) will deliver stale PZDs to the drives on a bus glitch and the drives will time out. The minimum program structure on the PLC side is:

  • OB1 (free cycle) – runs every scan, calls the drive sequencer FB and writes the output PZDs.
  • OB82 (diagnostic interrupt) – logs the slave diagnostic to a ring buffer DB and clears the diagnostic.
  • OB86 (rack failure / DP station failure) – sets a "drive not available" flag and raises a controlled stop request.
  • OB122 (I/O access error) – logs the failing PZD address and forces a controlled stop on the affected drive.

The SFC14 "DPRD_DAT" and SFC15 "DPWR_DAT" blocks must be called every cycle and their RET_VAL/STATUS must be checked. A typical pattern in Structured Text (works in both Step 7 V5.7 and TIA Portal V18) is:

// ST sample for reading 12 bytes of actual values from drive 1 (input area PE 256..267)
#status_rd := DPRD_DAT(LADDR := 256, RET_VAL := #ret_rd, RECORD := #zsw_struct);
IF #ret_rd <> 0 THEN
    // DP error – log, ramp master command to 0, raise a soft stop
    #stw1_struct.stw1.steuerwort_bits.control_from_plc := FALSE;
    #stw1_struct.stw1.steuerwort_bits.off1            := TRUE;  // OFF1
    #stw1_struct.stw1.steuerwort_bits.on_off2         := FALSE;
    #stw1_struct.stw1.steuerwort_bits.on_off3         := FALSE;
END_IF;

// Always set bit 10 = "control from PLC" to 1 to avoid F01910
g_bt10 := TRUE;
#stw1_struct.stw1.steuerwort_bits.control_from_plc := g_bt10;

// Write 12 bytes of setpoints to drive 1 (output area PA 256..267)
#status_wr := DPWR_DAT(LADDR := 256, RECORD := #stw1_struct, RET_VAL := #ret_wr);
IF #ret_wr <> 0 THEN
    // DP error – alarm, do not retry blindly, hand over to backup PLC
    "db_alarm".drive1_dp_error := TRUE;
END_IF;

For the SystemInterruptTask that the user mentioned: a "blank" OB40 / OB82 / OB86 means the CPU does not crash on the bus interrupt, but it also does not log the event. Replace the blank blocks with a minimal logging FB so that future F01910 events are not lost in the PLC diagnostic buffer.

9. Field Commissioning Procedure for a Stable PROFIBUS Segment

  1. Use a Siemens 6XV1830-0EH10 (or higher) Profibus cable, with the characteristic impedance of 150 Ω and a loop resistance of ≤ 110 Ω/km. Do not mix cable batches on a single segment.
  2. Place the bus terminator ON only at the two physical end nodes. On a three-node segment, this is the master (CPU 416-3) and the last drive. All intermediate nodes must have the terminator OFF.
  3. Ground the cable shield at the cabinet entry plate, using a 360° EMC gland. A "pig-tail" shield ground adds 30 – 50 nH of inductance and converts HF noise into common-mode voltage that corrupts the differential Profibus signal.
  4. Separate the Profibus trunk from the VFD output cable by at least 200 mm. If they must cross, cross at 90°. Never run the Profibus cable in the same conduit as the motor cable.
  5. Set the bus address on every drive with the rotary switch (or p0918). Document the address in the HW Config and in STARTER. Address clash is a silent F01910 trigger because the master talks to the wrong slave and the addressed slave times out.
  6. Set p0922 = 110 on every drive. Restart the drive (power cycle) to commit the change.
  7. In HW Config, set the bus profile to "Standard" and the bus cycle to the lowest value the segment can support (typically 6 ms for 1.5 Mbps). Verify the value in STARTER > Drive unit > Communication.
  8. Set p2047 = 100 (or 200 / 500 per the matrix above). Save the parameter set with "Copy RAM to ROM" and then perform a warm restart of the drive.
  9. Run the segment for 24 h with the controller in RUN and a constant non-zero setpoint. Verify that r829[0..2] "Message counter" and r833[0..2] "Clock counter" are incrementing on every drive.
  10. Force a bus glitch (pull the Profibus connector for 200 ms) and confirm that the drive drops out, declares F01910, and recovers within 2 s of the bus being restored and the fault being acknowledged.

10. Verification Matrix and Related Fault Codes

Use the following matrix to confirm the fix and to distinguish F01910 from related faults that can mask it:

Fault Cause Distinguishing symptom Co-fix
F01910 Setpoint timeout (cyclic PZD missing) ZSW1.0 = 0 (not ready) when PLC is in RUN Raise p2047, fix cable, fix PLC program
F01911 PB/PN controller sign-of-life failure Triggered every 4 s of a PN controller Watchdog Check PN controller in TIA, raise p2047 if PB
F08501 PROFINET/PROFIBUS sign-of-life failure (CU32x) Stays latched after re-plug, requires power cycle Replace CU, check firmware
A01910 Warning, not a fault Same root cause as F01910 but p2100 maps to alarm Same fix, but no OFF reaction
F08501 + A08502 PN watchdog / PN connection lost PN-specific, not PB Check PN configuration, not p2047
F07412 Encoder 1 signal lost r1407.12, encoder LEDs red Replace encoder, check screen
F31117 Encoder error, hardware SS1/SS2 trip, encoder SS bits Encoder wiring, not the bus

Verification procedure for a closed F01910 case:

  1. Drive is in "Ready to switch on" (ZSW1.0 = 1) with PLC in RUN.
  2. STW1.10 = 1 in the PLC output PZD at all times. Capture a Profibus trace to confirm.
  3. r2125 shows no F01910 in the last 72 h.
  4. r829[0] increments every TDP ms.
  5. r978 "Slave sign of life" shows no dropouts over 24 h.

11. Frequently Asked Questions

What is fault F01910 in a Sinamics drive?

F01910 "PROFIBUS Setpoint Timeout" is declared by the Sinamics Communication Unit when the cyclic PROFIBUS DP setpoint telegram is missing for more than 2 × TDP + p2047 ms. It is a STOP category 0/1 fault, and the drive removes pulse enable until the bus is restored and the fault is acknowledged via STW1.7.

How does parameter p2047 affect the F01910 watchdog?

p2047 is added on top of the bus-level watchdog 2 × TDP. The total monitoring window is T_F01910 = 2 · T_DP + p2047. With the default p2047 = 0 ms and a 10 ms bus cycle, the drive tolerates 20 ms of silence. Raising p2047 to 100 – 500 ms absorbs PLC scan-time jitter and one or two Profibus retransmissions without tripping.

Why must control word STW1.10 stay HIGH to avoid F01910?

STW1 bit 10 "Control from PLC" tells the drive that the controller is the active source of setpoints. When the bit goes to 0 the drive treats the loss of the bit as "controller is no longer in charge" and pre-emptively flags the setpoint as invalid. If the loss persists past the watchdog window, the drive declares F01910. Hold the bit TRUE unconditionally in the output PZD.

Can a bad Profibus cable cause intermittent F01910 even after the PLC was swapped?

Yes. A marginal D-sub connection, broken shield, oxidized cable, or a missing terminator will randomly drop one or two cyclic frames. The CPU 416-3 (and the IF-964-DP) tolerates a small number of retries, but the drive declares F01910 after the window. Swapping the PLC can appear to "fix" the bus for a few minutes because the change in capacitance or the new connector re-seats the contact; it is not a real fix.

What is the difference between F01910 and F01911 in Sinamics?

F01910 is the setpoint timeout – the cyclic PZD stop arriving. F01911 is the sign-of-life failure – the controller-level "watchdog" bit (bit 15 of the global control field) toggles incorrectly. F01910 is fixed by tuning p2047, the physical layer, and the PLC program. F01911 is fixed by checking the PLC PROFIdrive configuration (TIA Portal / HW Config), the controller Watchdog setting, and the firmware consistency between the master and the slave.

Is the parameter p2047 the only place to fix F01910?

No. p2047 hides the symptom by widening the watchdog window. The real fix is to keep the bus healthy: shielded cable, correct terminators, matching telegram (110), STW1.10 = 1, OB1 scan < TF01910, OB82 / OB86 loaded, and clean grounding. Use p2047 as a 100 – 500 ms safety margin, not as a substitute for a sound segment.

Back to blog