Resolving F01912 Sign-of-Life Faults on SINAMICS S120 S7-1500T
SINAMICS S120 commissioning with an S7-1500T controller and Startdrive in TIA Portal V16 typically produces clean axis motion within minutes when the PROFINET IRT topology, the telegram assignment, the OB Servo cycle, and the MC_Servo technology object are all aligned. When one of these four pillars is misaligned, the drive reports F01912 (controller sign-of-life failure) within seconds of the first enable, often paired with F01910, A01980, and a downstream A07565 on the technology object. The root cause is almost always PROFINET isochronity, never a defective motor. This article gives an engineer-grade procedure for diagnosing and resolving the F01912 / A07565 combination on a SINAMICS S120 booksize configuration with a CU320-2PN control unit, telegram 105, and S7-1500T motion control.
1. Hardware and Software Configuration Under Test
The reference installation in this guide is the exact configuration from the original commissioning case:
| Component | Article Number | Role |
|---|---|---|
| Smart Line Module (Booksize, 5 kW internal air cooling) | 6SL3130-6AE15-0AB0 | DC-link infeed, 600 V DC, 5 kW |
| Motor Module (Booksize Compact, 3 A / 3 A) | 6SL3120-2TE13-0AA3 | Single-axis inverter for 1FK7 motor |
| Servomotor (1FK7 compact, 63 mm shaft height, with absolute encoder) | 1FK7042-2AF71-1RA0-Z | Positioning axis, ~4.5 Nm stall, with Z option (e.g. special paint or connector) |
| Control Unit | 6SL3040-1MA01-0AA0 (CU320-2 PN) | DRIVE-CLiQ master + PROFINET IO Controller/ Device |
| Controller | S7-1515T-2 PN (or any S7-1500T) | Motion Control technology CPU |
| Engineering | TIA Portal V16 + Startdrive V16 | Configuration, telegram mapping, MC_Servo |
| Telegram | SIEMENS telegram 105 | 10 PZD / 10 PZD, 2 encoders, position control |
All components are connected via DRIVE-CLiQ; the CU320-2 PN is the PROFINET IO Device. The S7-1500T acts as PROFINET IO Controller and synchronizes the drives in IRT (isochronous real-time) mode. The MC_Servo technology object in the PLC feeds position setpoints through telegram 105 and reads back the actual position, status, and the controller sign-of-life.
2. Problem Description: The Symptom Pattern
The fault pattern on a fresh S120 + S7-1500T project is consistent and reproducible:
- Project compiles, Startdrive goes online without errors.
- From the CU-level commissioning tool, both axes can be jogged and produce torque. Alarm A07565 (drive: encoder warning) is reported for both motors even though no motion profile is being executed.
- When the user switches to the TO-level commissioning panel (right-click on MC_Servo → Commissioning → Axis control panel), the panel returns "Drive fault, operation not possible" and no alarm is visible at the TO.
- After reconnecting to the CU, the buffer shows a long list of acknowledged faults: F01910 (PROFINET: connection interrupted), A01980 (PROFINET: connection fault), and F01912 (PROFINET: sign-of-life failure on controller → drive). All faults can be acknowledged and the motor then starts from the CU panel.
- Removing the application program (only the hardware configuration + technology objects remain) allows the TO panel to enable the drive. Adding the application program back reintroduces F01912 within a few seconds.
This symptom set is diagnostic: the drive and motor are healthy, the hardware topology is correct, and the TO can command the drive. The problem is that the controller-to-drive sign-of-life, which telegram 105 embeds in bits 12-15 of STW2, is either not generated by the PLC or is not received by the drive within the configured tolerance window.
3. Root Cause Analysis: Why F01912 Is Triggered
F01912 in the SINAMICS S120 list manual reads: "Sign-of-life failure on controller → drive, telegram failure." With telegram 105, the controller's sign-of-life counter is wired to PZD4 of the receive telegram. The drive evaluates the four-bit counter (STW2.12 through STW2.15, bit 0 through bit 3 of the controller sign-of-life) and compares it to an internally expected sequence. If a number of consecutive telegram cycles are missing the expected counter, the drive reports F01912 and the connection is treated as interrupted.
There are exactly four root-cause classes for F01912 in this configuration:
| Class | Mechanism | Typical Trigger |
|---|---|---|
| A. PROFINET isochronity mismatch | The send clock of the PROFINET IRT domain, the OB Servo cycle of the PLC, and the drive's isochronous sampling do not all match. Telgrams arrive late or with jitter that the drive interprets as a missing sign-of-life. | OB Servo at 1 ms, IRT send clock 1 ms, drive isochronous cycle 1 ms on a slow CPU |
| B. Application load on the PLC | User program in OB1 / cyclic interrupts overruns the OB Servo time slice, so the MC_Servo update is not produced every isochronous cycle. | Heavy cyclic OB1 with ToF / TP / PID logic running at 2 ms |
| C. Telegram / topology mismatch | Wrong telegram number, wrong PZD slot for the sign-of-life, or topology editor does not match the physical wiring. | Telegram 105 selected on PLC but telegram 106 on the drive, or topology not in IRT mode |
| D. Hardware / cable / port | PROFINET cable fault, ring break, wrong port assignment on the CU (port 1 / port 2 swapped), or duplicate IP. | Crossover cable, IP collision, SFP missing on a 2-port CU |
In the field case that motivated this article, classes A, B, and C all contributed. Removing the application eliminated class B. Increasing the OB Servo factor reduced class A. Selecting the correct telegram eliminated class C.
4. Telegram 105 and the Sign-of-Life Interconnection
Telegram 105 is the standard position-control telegram on SINAMICS S120 with two encoders. It carries 10 PZD words in each direction. The relevant PZD slots in the receive direction (controller → drive) are:
| PZD Slot | Drive Parameter | Signal | Notes |
|---|---|---|---|
| PZD1 | r2050[0] | STW1 (control word 1) | Bit 0 = ON / OFF1, bit 3 = enable, bit 4 = enable ramp, bit 5 = enable ramp, bit 6 = enable setpoint |
| PZD2 | r2050[1] | NSOLL_B (speed setpoint, 32-bit) | From MC_Servo |
| PZD3 | r2050[2] | NSOLL_B high word | See PZD2 |
| PZD4 | r2050[3] | STW2 (control word 2) | Bits 12-15 = controller sign-of-life |
| PZD5 | r2050[4] | G1_STW / G2_STW (encoder control word) | Depending on encoder mode |
| PZD6 | r2050[5] | Position setpoint / XERR | Position error or setpoint |
| PZD7-10 | r2050[6..9] | Supplementary control / setpoints | Torque limit, additive setpoint, etc. |
The default wiring that Startdrive creates when telegram 105 is selected on both sides is:
- p2045 = r2050[3] (controller sign-of-life source = PZD4 = STW2)
- p0925 = 1 (telegram failure tolerance, default 1 = fail on first missing sign-of-life)
When Startdrive selects telegram 105 on the drive side, parameter p2045 is automatically set to r2050[3]. If you change the telegram in TIA Portal but the drive side does not pick the change up (for example, you configured telegram 105 in the device view but the drive still has the previous telegram loaded from a saved parameter set), p2045 will not match the new telegram and F01912 will trigger immediately on enable. The drive-side telegram can be read in r0922; verify it matches the TIA Portal configuration.
5. IRT vs RT and the OB Servo Cycle
SINAMICS S120 with telegram 105 in position-control mode requires PROFINET IRT with isochronous mode on the drive. The S7-1500T must synchronize to the IRT cycle. The MC_Servo technology object runs in the OB Servo of the S7-1500T, which is automatically inserted when the MC_Servo is created. Three timing parameters must be in alignment:
| Parameter | Where | Value (Recommended) | Effect |
|---|---|---|---|
| PROFINET send clock | Properties of the PROFINET interface → Real time settings → Synchronization | 1.000 ms | Base cycle of the IRT domain |
| OB Servo cycle | Properties of MC_Servo → Cycle time / factor | 4.000 ms (factor 4 on a 1 ms send clock) | Update rate of the position controller in the PLC |
| Drive isochronous cycle | Drive unit properties → Cyclic interface / isochronous | Same as OB Servo, 4.000 ms | Sampling rate of the drive-side position controller |
Setting all three to 1 ms works on S7-1515T and S7-1518T with low application load. On S7-1511T or with any non-trivial user program in OB1, 1 ms is too tight: the OB Servo overruns, the controller sign-of-life is not produced every cycle, and F01912 fires within 2-3 seconds. field reports was running 1 ms; increasing the OB Servo factor to 4 ms (4 ms cycle) was the first change that allowed continuous motion.
5.1 Why IRT and not RT
PROFINET RT (real-time, non-isochronous) is acceptable for speed-controlled axes with telegram 1 or 2. It is not acceptable for position-controlled axes with telegram 105/106 because the drive cannot guarantee a deterministic position sampling instant, and torque transients are visible on the mechanical load when the controller and drive clocks drift. Stick with IRT for position control. The MC_Servo technology object also actively rejects configuration with RT-only PROFINET in TIA Portal V16 and later, so this is enforced by the toolchain.
6. Diagnosing Bus and Controller Utilization
There are three places to look for the saturation indicator that drives F01912:
- PROFINET diagnostics in TIA Portal: Online → Online & Diagnostics → PROFINET interface → Statistics. Look for late telegrams, lost telegrams, and jitter on the IRT cycle. Anything above 1 % late telegrams is a problem.
- Drive-side diagnostics: Read r2065 (PROFINET error) and r2067 (PROFINET timeout counter). Non-zero values indicate that the drive saw missing or out-of-order telegrams.
-
PLC-side diagnostics: Trace the MC_Servo tag
STW2.MasterSignOfLifeBit0throughSTW2.MasterSignOfLifeBit3. The four bits must form a counting sequence: 0000, 0001, 0010, 0011, ... A frozen value indicates the PLC is not updating the sign-of-life; a non-monotonic value indicates dropped telegram updates.
For deep analysis, capture the trace for at least 10 seconds. The four bits should produce a clean diagonal staircase. If the trace shows a flat line at 0000, the application program is not calling the MC_Servo update path on every OB Servo. If the trace shows a missing step, the cycle has been preempted and a telegram did not go out.
7. Resolving A07565 — Encoder Warning on the Technology Object
A07565 is raised on the MC_Servo technology object whenever the underlying drive reports an encoder warning. The actual diagnostic information is on the drive side and is hidden from the TO panel. The drive keeps the detailed cause in parameter r483 (encoder actual value warnings / faults). The S120 list manual documents the bit field of r483; the most common bits during a first commissioning pass are:
| r483 Bit | Meaning | Resolution |
|---|---|---|
| Bit 0 | Encoder signals low voltage / cable break | Check DRIVE-CLiQ cable, check motor power connector, verify 24 V on the holding brake if used |
| Bit 1 | Encoder signals a level warning | Inspect cable for shielding, ensure DRIVE-CLiQ connector is torqued |
| Bit 4 | Encoder homing reference lost / absolute position lost | Re-home the axis; check that the encoder has been referenced at least once after power-up |
| Bit 12 | Encoder warning — temperature | Check motor current vs. nameplate, mechanical overload, ventilation |
| Bit 14 | Encoder warning — position deviation | Position actual value from encoder is out of expected range; check mechanical coupling |
For a first commissioning pass with a 1FK7 motor, the most common cause of A07565 is that the absolute encoder has not been referenced. The motor ships in an unreferenced state. Perform the homing sequence (or, for absolute encoders, the absolute-encoder commissioning) once on each axis. After that, A07565 should disappear unless there is a real signal integrity problem.
8. Step-by-Step Resolution Procedure
Apply the following sequence in order. Each step is independently verifiable.
Step 1 — Verify topology and firmware
- In TIA Portal, open Devices & Networks and confirm that the S7-1500T and the CU320-2 PN are both visible with the correct ports highlighted on the topology view. The ports that physically carry the IRT connection must be the only ones colored as PROFINET participants.
- Open Online → Accessible nodes and confirm that the CU320-2 PN and every Motor Module respond to DCP discovery with the IP configured in the project.
- Read the firmware version of the CU320-2 PN (r0963, or Properties → Device information in Startdrive). Use the same V5.2 SP3 family that matches your Startdrive version. Mismatch is a known trigger of F01912.
Step 2 — Align the telegram
- Open the CU320-2 PN device view, select the drive object that represents the 1FK7042 axis, and confirm that telegram 105 is selected in Properties → Telegram configuration.
- Compile the project, then perform a Load to drive unit (including HW config). The drive-side telegram is read back in r0922; verify it reads 105.
- Confirm that p2045 = r2050[3] (sign-of-life wired to PZD4 / STW2). Do not change this; it is the Startdrive default and the value that matches the Telegram-105 layout.
Step 3 — Set up IRT with isochronous mode
- Open Properties of the PROFINET interface of the S7-1500T → Real time settings → Synchronization. Set the send clock to 1.000 ms.
- On the CU320-2 PN, set the synchronization role to Sync slave. The PLC must remain the master.
- On the drive, enable isochronous mode for the cyclic interface (PZD telegram) and set the isochronous time Ti to 4.000 ms. Ti is a multiple of the send clock and must equal the OB Servo cycle.
Step 4 — Tune the OB Servo cycle
- Open the MC_Servo technology object, go to Properties → Hardware interface → Drive.
- Set the cycle time factor such that OB Servo = 4 ms (factor 4 on a 1 ms send clock). Use 2 ms (factor 2) only if your S7-1500T is a 1515T or 1518T and the application program is light.
- Compile the PLC and download to the CPU.
Step 5 — Reduce the user-program load
- Move all non-motion logic out of OB1 and into a cyclic OB with a longer period (10 ms or 20 ms).
- Avoid TO-heavy instructions (MC_Home, MC_MoveAbsolute, etc.) in OB1. They should be triggered from cyclic OBs, not from the OB Servo priority class.
- If the application is a one-axis test rig, disable the second axis MC_Servo and the second Motor Module entirely during the first test pass to eliminate the second drive as a noise source on the PROFINET line.
Step 6 — Re-home and clear A07565
- Power-cycle the drive (off → on at 24 V) so the absolute encoder returns to "not referenced."
- From the Startdrive commissioning panel, run a homing sequence on each axis. For 1FK7 with absolute encoder, run Absolute encoder commissioning; for incremental encoders, run a reference-point homing.
- Acknowledge any remaining faults. The buffer should now be empty on the next enable.
9. Verification Procedure
After applying the changes, validate the fix with this sequence:
- Enable the axis from the MC_Servo commissioning panel. The panel should transition from "drive fault" to "ready."
- Run a slow jog (1 RPM) for 30 seconds. Monitor the PROFINET error counters r2065 / r2067. They must remain at zero.
- Run a motion profile (MC_MoveAbsolute to a position 1 rev away) and confirm that the axis reaches the setpoint with no overshoot, no F01912, and no A07565 in the buffer.
- Run the same profile with a 30-minute soak. PROFINET late-telegram counter must stay at 0. The drive's sign-of-life counter (visible in the trace of STW2.12-15) must produce a clean diagonal staircase with no missing steps.
- Power-cycle the line, re-enable from a cold start, repeat the profile. The MC_Servo commissioning panel must succeed in < 3 s from CPU RUN to "axis ready."
If the trace of the controller sign-of-life is not clean, return to Step 3 and increase the OB Servo cycle. If r2065 / r2067 increment during motion, return to Step 1 and inspect the PROFINET cable, port, and SFP (if any).
10. Parameter and Fault Code Reference
| Code / Parameter | Description | Default | Field Note |
|---|---|---|---|
| F01910 | PROFINET: connection interrupted | — | Often secondary to F01912. Acknowledge both, then read the buffer history. |
| A01980 | PROFINET: connection fault | — | Warning that the PN connection has at least one cyclic error; clears on its own when the bus stabilizes. |
| F01912 | PROFINET: sign-of-life failure on controller → drive | — | Primary fault. Triggered by tolerance p0925. |
| A07565 | Drive: encoder warning | — | Read r483 for the detailed bit field. Almost always cleared by homing the absolute encoder. |
| p2045 | Source of controller sign-of-life (CI) | r2050[3] | Leave at default with telegram 105. Only change when using telegram 6, 9, or 111 with DSC. |
| p0925 | Permissible telegram failure rate | 1 | Increase to 2-3 only when occasional, sporadic failures are seen with a known-good bus. Never increase to mask a real overload. |
| p0922 | PROFIdrive telegram selection | 1 | Should read 105 after Telegram-105 download. Mismatch with the PLC side is the most common cause of F01912 in the first hour of commissioning. |
| r0922 | Actual PROFIdrive telegram (read-only) | — | Always read this; the value displayed in the GUI may be stale until the drive is restarted. |
| r483 | Encoder diagnostic word | — | Bit field gives the actual A07565 cause. |
| r2065 / r2067 | PROFINET error / timeout counters | 0 | Reset by power-cycle. Use for bus health monitoring. |
| r2050[0..9] | PZD receive words (controller → drive) | — | Index 3 = STW2, contains the sign-of-life bits 12-15. |
11. Troubleshooting Matrix
| Observed Fault | Most Likely Cause | First Check | Fix |
|---|---|---|---|
| F01912 within 1 s of enable | Sign-of-life source p2045 does not match the active telegram | Read r0922 on the drive and compare with TIA Portal | Reload drive unit including HW config; do not change p2045 by hand |
| F01912 within 3-5 s, intermittent | OB Servo cycle too short for application load | Check CPU runtime of OB Servo; check OB1 runtime | Increase OB Servo factor to 4 ms (or 2 ms on a 1515T/1518T) |
| F01912 only with full application, not with empty project | Cyclic OB / OB1 starving the OB Servo | Trace STW2.12-15 in the PLC; flatten the staircase | Move logic to a 10 ms cyclic OB; reduce trace frequency |
| F01910 + F01912 on every enable, regardless of program | Physical PROFINET problem | Check port LEDs, PROFINET cable, ring break, SFP | Replace cable; verify SFP seating; check device names and IPs |
| A07565 with no motion and no F01912 | Absolute encoder not referenced after first power-up | Read r483 bit 4 | Run homing / absolute encoder commissioning |
| A07565 with F01912 active | Encoder warning is secondary to the comms fault | Resolve F01912 first, then re-evaluate A07565 | After F01912 is gone, A07565 often clears on its own if the encoder is referenced |
| "Drive fault" at the TO panel with no alarm | TO is reading the drive-side fault buffer, not the PLC fault buffer | Read the drive's fault buffer online with Startdrive | Resolve the drive-side fault first; the TO panel will then enable |
| A01980 during normal operation | PROFINET watchdog; sporadic late telegram | Check for PROFINET devices not synchronized to IRT | Force all devices on the IRT domain to sync-slave or non-sync role; do not mix IRT with RT nodes in the same subnet |
12. Engineering Notes and Field Caveats
- Startdrive version vs. CU firmware. Startdrive V16 supports CU320-2 PN V5.2 SP3 and later. Older CU firmware (V4.8, V5.1) is supported only with Startdrive V15.1. Mismatching them causes the telegram layout to be misread, which presents exactly as F01912.
- Two PROFINET interfaces on the CPU. An S7-1500T with two PROFINET ports must use the same port for the IRT sync and the IRT data. Routing IRT over port 1 and routing it through the CPU's internal switch to port 2 for the CU is not supported. The IRT domain must be on a single physical port.
- Smart Line Module vs. Basic Line Module. 6SL3130-6AE15-0AB0 is a Smart Line Module (regenerative). It requires the same line filter, line reactor, and pre-charging circuit as a 6SL3130-6AE15-0AB1. The two are pin-compatible but the OB Servo behavior is identical. No SLM-related timing parameter affects F01912.
- Motor Module 6SL3120-2TE13-0AA3. 3 A / 3 A peak, internal air cooling. Supports telegram 105. The Z option on 1FK7042-2AF71-1RA0-Z must be confirmed against the motor data record (e.g. Z = K44 for holding brake 24 V). A wrong holding-brake configuration does not trigger F01912 but does raise A07565 if the brake is enabled and the encoder detects the rotor moving.
- For digital-twin workflows. Use the Siemens Virtual Commissioning service to test the S7-1500T logic against a simulated S120 before connecting to a real machine. Siemens Virtual Commissioning for Motion Control shortens first-power-on issues by allowing the IRT and MC_Servo to be validated against a virtual drive.
13. Reference Documentation
For deep detail on the topics in this article, the following official Siemens documents are the authoritative sources:
- SINAMICS S120 / S150 List Manual (firmware V5.2 SP3) — chapter 3.9 covers telegram layouts from PZD plan 2415 onward. Section on F01912, p2045, p0925, r483.
- S7-1500 / S7-1500T Motion Control — Commissioning Guidelines (TIA Portal V20) — recommended commissioning sequence for the MC_Servo technology object, the OB Servo, and the IRT setup.
- Virtual Commissioning for Motion Control — Siemens service to validate S7-1500T motion logic against a simulated SINUMERIK / SINAMICS S120.
FAQ
What does F01912 mean on a SINAMICS S120 with telegram 105?
F01912 means the controller sign-of-life, embedded in bits 12-15 of STW2 (PZD4) of telegram 105, did not arrive at the drive within the configured tolerance. The drive's default tolerance (p0925 = 1) flags a single missing sign-of-life as a fault. Always read r0922 on the drive to confirm telegram 105 is loaded, and verify p2045 is the default r2050[3].
What is the recommended OB Servo cycle for a SINAMICS S120 with MC_Servo on S7-1500T?
Use 4 ms (factor 4 on a 1 ms IRT send clock) for the first commissioning pass on any S7-1500T. Use 2 ms only on S7-1515T-2 PN or S7-1518T-2 PN with a light application program. 1 ms is rarely stable outside a virtual-commissioning setup and is the most common trigger of F01912 in field commissioning.
Why does the MC_Servo commissioning panel show "drive fault" with no alarm at the TO?
The TO panel only displays PLC-side faults. Drive-side faults live in the SINAMICS fault buffer and must be read online in Startdrive (drive unit → Commissioning → Diagnostics → Fault buffer). Resolve the drive-side fault first; the TO panel will then enable.
How do I clear A07565 on a 1FK7042-2AF71-1RA0-Z motor at first commissioning?
Read r483 on the drive to see the bit field. In 90 % of first-commissioning cases the cause is bit 4 — the absolute encoder has not been referenced. Run homing or the absolute-encoder commissioning once. A07565 clears on the next power-on or when the encoder reference is established.
Can I run SINAMICS S120 in RT instead of IRT for position control with MC_Servo?
No. Position control with MC_Servo and telegram 105 requires IRT with isochronous mode. RT-only PROFINET causes torque jumps on the load because the controller and drive clocks drift. TIA Portal V16 also enforces this configuration rule in the Startdrive wizard, so a RT-only setup is not offered as a valid option for the S7-1500T.