Troubleshooting Following Error Monitoring Window Exceeded on SINAMICS S120 CU310-2 PN with S7-1500
The SINAMICS S120 drive family combined with the SIMATIC S7-1500 motion control technology objects (TO) is a common configuration for high-precision positioning. One recurring fault during commissioning and operation is the F07452 / F07453 "Following error monitoring window exceeded" message, sometimes paired with the technology object's following error fault reaction. This reference identifies the root causes for this fault pattern, shows how to use One Button Tuning to recover controller bandwidth, and documents the parameter and TO configuration required to suppress spurious trips when the drive performs an autonomous safety stop (SLS, STO, SS1).
1. Problem Description
On a SINAMICS S120 CU310-2 PN controlled by an S7-1500 CPU through PROFINET IRT, the following symptoms occur during position-controlled motion:
- The technology object (TO_PositioningAxis / TO_SynchronousAxis) raises a technology alarm with the text "Following error" or "Following error monitoring window exceeded".
- The drive simultaneously reports the SINAMICS message F07452 (CU310-2: "Drive: Following error") when the drive-internal position actual value differs from the setpoint by more than the configured window.
- The fault is most likely to occur when velocity is increased, when acceleration is high, when the SLS limit is exceeded, or when the drive switches to a safe stop reaction.
- Even when the drive decelerates autonomously (for example because p1082 maximum speed is reached or SLS1 has tripped), the PLC continues to monitor position and trips its own following-error alarm.
When the configured following error window is set to 5 mm and the axis moves at 250 mm/s with high acceleration, a single millisecond of controller latency translates into 0.25 mm of position error — one twentieth of the entire window. The default controller bandwidth of an un-tuned S120 is therefore not always sufficient at higher speeds.
2. Root Cause Analysis
Two distinct root causes combine to produce the symptom seen in the field trace:
2.1 Insufficient Position Controller Bandwidth (Most Common)
According to the TIA Portal documentation on following error monitoring, the following error is the difference between the setpoint position generated by the technology object and the actual position fed back from the encoder through the drive. The monitoring function generates a warning or fault when this difference exceeds the "Following error window" within the "Following error time".
If the speed pre-control (Kv factor) is zero and the position controller gain (Kp) is too low, the following error grows linearly with velocity. At 250 mm/s a Kv of 1 (1/mm/min) produces a steady-state following error of 250/1 = 250 mm, which would trip a 5 mm window immediately. Even with a Kv of 1000 1/min, the steady-state error is 0.25 mm — easily consumed by controller lag during the acceleration phase.
2.2 Drive Performs an Autonomous Reaction
When the drive independently stops the axis (for example through SLS, SS1, or because the user setpoint exceeds the configured maximum speed p1082), the actual position stops tracking the setpoint. The TO continues to issue new setpoints from the interpreter. The position deviation grows at the rate of the commanded velocity, and within tens of milliseconds the following error window is exceeded — even though the drive's behaviour is correct.
From the TO's perspective, a "stalled" axis and a "crashed" axis look identical. The PLC cannot distinguish between a real mechanical following error and a drive-induced hold.
3. Distinguishing the Two Causes from the Trace
Capture a trace in STARTER or Startdrive with the following signals to localise the cause:
| Signal | Number | Meaning |
|---|---|---|
| Speed setpoint smoothed | r0062 | Drive-internal speed setpoint |
| Actual speed smoothed | r0063 | Measured speed |
| Position setpoint | r0061 | Position command issued by TO |
| Actual position value | r0489 | Encoder feedback used by drive |
| Following error actual | r0525 | Live difference between setpoint and actual position |
| Status word ZSW1 | r0899 | Word 1 of drive status; bit 6 = n_act = n_set |
| Safety status word | r9771 | Bits 17..20 = active SLS level |
| CU status word | r3985 | Bits for active message class |
If r0062 (drive speed setpoint) drops to zero while the TO continues to feed new position setpoints, the drive has taken control and the second root cause applies. If r0062 tracks the TO setpoint correctly and r0525 simply grows during the acceleration phase, the first root cause (controller bandwidth) applies.
4. Solution A — One Button Tuning for the Position Controller
Siemens provides an automatic tuning routine for the position controller on the CU310-2. Use it whenever a new mechanical axis is commissioned or whenever a load change invalidates the existing tuning.
4.1 Prerequisites
- The drive is online with STARTER / Startdrive (commissioning software).
- The axis can move freely across the configured tuning distance without hitting a mechanical stop.
- The drive is in the "Ready to switch on" state (no active faults).
- Access level Service (2) or higher is active for the parameter being changed.
4.2 Procedure
- Set the maximum tuning distance. The recommended value for a full rotation axis is
p5308 = 360°. For linear axes set it to the maximum useful travel minus safety margin (e.g., 250 mm). - Set
p5300 = 1to activate One Button Tuning. The alarm window will display "One Button Tuning activated". - Enable the drive through the STARTER control panel (not through the PLC yet).
- Give an ON command (OFF1 = enable operation). The drive accelerates, moves across the configured distance in both directions, and stops automatically.
- Monitor
r5306to confirm completion. Each bit set indicates a successful step:
| Bit in r5306 | Meaning |
|---|---|
| Bit 0 | Proportional gain Kp set |
| Bit 1 | Integral action time Tn set |
| Bit 2 | Current setpoint filter set |
| Bit 3 | Speed pre-control set |
| Bit 4 | Moment of inertia estimation carried out |
| Bit 5 | Position controller gain Kp set |
| Bit 6 | One Button Tuning successfully completed |
- Save the parameters with
p0977 = 1so that the values are written to the non-volatile CF card. - Power cycle the drive (mains off / on) so that the new controller parameters are loaded into the active configuration.
4.3 Common Pitfall — Parameter Not Writable
If p5300 refuses to accept the value "1" and the alarm window shows an access error, the most frequent cause is that STARTER is offline with the drive. Establish an online connection (look for the green "online" dot in the project tree) before attempting to write commissioning parameters.
The other typical cause is the access level. If the user level is "Standard (4)" or lower, p5300 is read-only. Change the access level to Service (2) through Project > Access levels in STARTER or via parameter p0003 = 2.
5. Solution B — Configure TO Following Error Monitoring for SLS Behaviour
When SLS1 trips, the SINAMICS S120 decelerates the axis along an internal ramp. The S7-1500 TO must be told that the drive is no longer tracking, otherwise its position monitor trips. Three coordinated configuration changes are required.
5.1 Increase the Following Error Window Deliberately
Open the technology object in TIA Portal, navigate to Configuration > Position monitoring > Following error, and adjust the two parameters:
| TO Parameter | Meaning | Recommended starting value |
|---|---|---|
| FollowingErrorWindow | Maximum permitted steady-state deviation | 10–20 mm for a linear axis, or a value ≥ 1° for a rotary axis |
| FollowingErrorTime | Time the deviation may persist before a fault is raised | 500–1000 ms |
5.2 Reduce the Speed Setpoint When SLS Is Active
Use the safety feedback word from the drive (PROFIsafe status word or SINAMICS r9771) to clamp the velocity setpoint from the PLC. The pattern in Structured Text:
// Inputs
IF #driveSafetyWord.%X17 OR #driveSafetyWord.%X18 THEN
// SLS1 or SLS2 active in drive
#maxAllowedVelocity := LIMIT_VELOCITY_SLS1; // e.g., 50 mm/s
ELSE
#maxAllowedVelocity := #operatorSetpoint;
END_IF;
// Velocity limiting at TO boundary
"Axis".Override := REAL_TO_DINT(#maxAllowedVelocity / #axisMaxVelocity * 100.0);
5.3 Recognise the Drive's Autonomous Stop in the TO Error Handling
In the TO error handling OB (the OB that TIA Portal generates when you enable motion control error handling, typically OB 82 or the MC_Reset call sequence), check the ErrorDetail output of MC_ReadAxisError or the technology alarm ID. If the ID corresponds to a drive status change rather than a controller performance issue, perform a controlled reset sequence:
// Drive stopped autonomously - clear safety, reset TO, restart
IF "Axis".StatusWord.%X7 THEN // ErrorPresent
"MC_Reset_1".Axis := "Axis";
"MC_Reset_1".Execute := TRUE;
// wait for Done, then restart
IF "MC_Reset_1".Done THEN
"MC_Reset_1".Execute := FALSE;
"MC_Power".Enable := TRUE;
END_IF;
END_IF;
6. Solution C — Verify the Mechanical and Drive Limits
Before assuming the controller is at fault, verify that the drive can actually achieve the commanded motion profile:
| Parameter | Read / Write | Description | Field check |
|---|---|---|---|
p1082 |
R/W | Maximum speed [rpm] | Setpoint velocity from PLC must stay below p1082 / gearbox. If it does not, the drive internally limits and falls behind the TO. |
p1520 / p1521 |
R/W | Upper / lower torque limit | If the demanded torque exceeds these limits the motor cannot follow the trajectory. |
p1400.1 |
R/W | Speed controller pre-control source | Enable speed pre-control to reduce following error during acceleration. |
p1160 / p1161 |
R/W | Acceleration / deceleration ramps | TO ramps must not exceed the drive's ability to brake — otherwise the drive enters F07900 or F07901. |
r0898.10 |
Read | Status of ramp-function generator | Bit 10 = setpoint from PLC is being followed; 0 = drive is in autonomous stop. |
7. Verification Procedure
Run the following acceptance test before declaring the fault resolved. All steps assume STARTER is online with the drive and TIA Portal is online with the S7-1500.
-
Cold start: Power cycle the SINAMICS line module and the CU310-2 so that saved parameters are loaded. Confirm
r0002 = 81("Ready for switch-on"). -
Run One Button Tuning as described in section 4 if not already done. Confirm
r5306.6 = 1. -
Speed sweep: From the PLC, command the axis to move 50 mm at velocities of 50, 100, 250, 500, and 1000 mm/s with acceleration 10 m/s². Record
r0525at each step. The peak following error must remain below the configured window. -
Acceleration sweep: Hold velocity at the maximum used value and sweep acceleration from 1 to 20 m/s². Record peak
r0525at each step. - SLS test: Activate SLS1 through PROFIsafe. Command a velocity higher than the SLS1 limit. Confirm that the drive decelerates and that the TO records a controlled axis stop (not a following-error alarm).
- Recovery test: Execute the MC_Reset sequence defined in section 5.3. Confirm that the drive and TO both return to operation without a power cycle.
-
Trace review: Capture a STARTER trace over the entire test sequence. Inspect
r0525— it should not exceed 80 % of the configured window at any time.
8. Fault Code Reference
| SINAMICS fault | Cause | Remedy |
|---|---|---|
| F07452 | Following error outside tolerance window | Check mechanical system; increase position controller gain (p2534, p2538) or following error window |
| F07453 | Following error outside dynamic window | Same as F07452; the dynamic window monitors error during acceleration phase specifically |
| F07900 | Motor blocked | Check mechanical free-running, check torque limits |
| F07901 | Motor overspeed | Setpoint exceeds p1082; reduce setpoint velocity |
| A07452 | Warning — following error exceeded tolerance | Same remedy as F07452, but it is still a warning; investigate root cause |
9. Related Parameters
| Parameter | Description | Typical field value |
|---|---|---|
p2534 |
LR position controller proportional gain Kp | From One Button Tuning (read back after p5300 = 1) |
p2535 |
LR speed pre-control factor (Kv) | 100 % = full pre-control; 0 % = I-only position controller |
p2536 |
LR speed pre-control symmetrising | 100 % symmetric |
p2544 |
LR following error window (steady state) | 10 mm typical |
p2545 |
LR following error time (delay before fault) | 500 ms |
p2546 |
LR dynamic following error window | Function block-specific |
p5300 |
One Button Tuning activation | 0 = inactive, 1 = activate, 2 = cancel |
p5308 |
One Button Tuning distance limit | 360° for full rotation, ≤ safe travel for linear axes |
p5309 |
One Button Tuning direction of motion | 0 = both directions, 1 = positive only, 2 = negative only |
r5306 |
One Button Tuning status word | Bit 6 = success |
10. Cross-Reference to Beckhoff and Other Platforms
The conceptual model is identical across vendors. The Beckhoff EL7062 documentation describes the same chain: when the following error exceeds the configured "Following error window", a "Following error time out" timer starts, after which the terminal stops the motor and raises an error. When porting commissioning know-how between platforms, map the parameter names as follows:
| Siemens (SINAMICS S120) | Beckhoff (EL7062 / AX5000) |
|---|---|
p2544 following error window |
Following error window |
p2545 following error time |
Following error time out |
p5300 One Button Tuning |
Automatic controller commissioning routine |
| SINAMICS F07452 / F07453 | NC error group 0x46xx |
11. Field-Proven Commissioning Checklist
- Confirm mechanical free-running by hand (motor de-energised).
- Verify encoder mounting, direction, and commutation (use
p1900 = 1for automatic motor identification). - Run
p1910 = 1(motor data identification) and wait for completion. - Set current and speed limits to mechanically safe values.
- Run
p5300 = 1One Button Tuning with adequate travel. - Save with
p0977 = 1, then power cycle. - Configure the TO following error window and time.
- Implement safety-aware velocity clamping in the PLC.
- Run the verification suite from section 7.
- Document the final
r0525peak values for future reference.
What does "Following Error Monitoring Window Exceeded" actually mean on SINAMICS S120?
It means the difference between the position setpoint generated by the S7-1500 technology object and the actual position fed back from the encoder has exceeded the configured window (p2544) for longer than the configured time (p2545). The drive raises fault F07452 (steady-state window) or F07453 (dynamic window). See the TIA Portal following error monitoring reference.
How do I activate One Button Tuning on CU310-2 and confirm it finished?
Set p5308 to the maximum safe travel (for example 360° for a rotary axis), set p5300 = 1, enable the drive with an ON command, and let the axis complete the back-and-forth motion. When bit 6 of r5306 is set, tuning succeeded. Save with p0977 = 1 and power-cycle.
Why is p5300 read-only in STARTER even though I am online?
Either STARTER is offline (the green online dot is grey) or the access level is set to Standard (level 4). Change the access level to Service (level 2) through Project > Access levels or by writing p0003 = 2, then write p5300 = 1 again.
How do I stop the S7-1500 technology object from raising a following error when SLS trips the drive?
Increase the TO's FollowingErrorWindow and FollowingErrorTime, and clamp the PLC's commanded velocity to the active SLS level using the PROFIsafe status word. After the drive stops autonomously, execute MC_Reset on the TO and re-enable it with MC_Power. See section 5 for the Structured Text pattern.
What is the recommended following error window for a 5 mm linear axis running at 1000 mm/s?
There is no universal value. Run One Button Tuning first, then sweep velocity and acceleration while tracing r0525. Set the steady-state window to approximately 1.5–2× the peak observed following error at maximum velocity, and the dynamic window to about 2× the steady-state window to absorb acceleration transients.