Resolving SINAMICS V90 Servomotor Position Jumps on Re-Enable (SINA_POS + Telegram 111)
When a SINAMICS V90 servo drive paired with a SIMOTICS S-1FL6 motor and an absolute encoder is commanded via the SINA_POS library function block, a violent position jump (knock) can occur on re-enable if the mechanical load has shifted the rotor while the drive was disabled. This article documents the root cause and four field-proven mitigation strategies, with full parameter references, telegram-111 layout, and PLC implementation guidance from the SINAMICS V90 Operating Instructions and the SINA_POS application documentation.
1. Problem Description
The reported symptom pattern is consistent across multiple machine builders and integrator sites. The configuration is typically:
- Drive: SINAMICS V90 PN (6SL3210-5FB10-xUA1 or 6SL3210-5FE10-xUA1 family), 200 V or 400 V frame, firmware branch V1.04 or later.
- Motor: SIMOTICS S-1FL6 (low-inertia, medium-inertia, or high-inertia) with absolute encoder option. The absolute encoder is either a single-turn 20-bit (1,048,576 inc/rev) or a multi-turn 20-bit + 12-bit (4,194,304 inc range) absolute encoder, depending on the motor order code suffix (e.g., AS20DQA1 multi-turn, AM20DQA1 single-turn — verify the actual part number on the motor nameplate).
- Controller: SIMATIC S7-1500 (1x50, 15xx) or S7-1200 (12xx), with SINA_POS (FB 284, library "SINAMICS blocks") over PROFINET IRT or RT.
- Operating mode: Modepos = 7 (JOG / jog mode via SINA_POS).
- Mechanism: The application is pressing a spring-loaded part against a mechanical stop. The PLC jogs the motor into the part, then releases the jog. The motor holds its commanded position (X_cmd) under closed-loop control.
- Operator action: The drive is then disabled (OFF1 / OFF2 via SINA_POS Enable = FALSE).
- Observation: With the output stage off, the spring pushes the rotor backwards. The encoder still reports a valid mechanical position because the encoder is absolute and the multi-turn gear box is mechanically retained. The reported X_act differs from X_cmd by some delta of typically 5° to 180° mechanical.
- On re-enable: The drive sees X_act ≠ X_cmd, computes a step position error, and the position regulator commands a step velocity and torque. The result is an audible and mechanical jump as the rotor snaps back to X_cmd. The following error momentarily saturates the torque limit, and on heavily loaded systems the machine frame can ring.
The phenomenon is not a hardware fault, encoder fault, or wiring issue. It is a control-loop artifact of the V90’s internal position controller operating without a tracking-mode update while the drive was offline. The same issue can be observed on S110 and S120 drives with telegram 111, but the present article focuses on the V90 implementation because the V90 firmware has the most compact control word layout and the most common integrator exposure.
2. Root Cause Analysis
The SINAMICS V90 position controller is a cascade of current, speed, and position loops. Inner loops run at 1 kHz to 4 kHz (current / speed) and the position loop at 2 kHz to 4 kHz, depending on the firmware and the configured cycle clock. The position setpoint X_cmd is delivered to the drive in telegram 111 PZD2 / PZD3 as NSOLL_A (32-bit, in the V90 default unit of 1 LU = 1 increment of the configured mechanical resolution). At the moment the drive is disabled, the last latched X_cmd value remains in the drive’s internal setpoint register.
When the drive is re-enabled, the position controller compares the current actual position X_act (NIST_A) to the still-latched X_cmd and computes:
e_pos = X_cmd - X_act // following error (increments)
v_cmd = Kp_pos . e_pos // velocity command (rev/min)
i_cmd = M_pre_ctrl + Kp_speed . (v_cmd - v_act) // torque command (Nm)
Because the drive has no information that the rotor was moved externally, the controller treats the spring-induced offset as a step disturbance of finite magnitude. Kp_pos (the P-gain of the position loop, V90 parameter p_29050 / equivalent) drives v_cmd to a value that, after ramp-function-generator limiting, often equals P1082 (maximum speed) or the configured override. The torque pre-control is non-zero as long as e_pos is non-zero, and the speed controller then saturates the current command. Mechanically, this manifests as a violent rotational jump on the motor shaft at the instant the output stage re-energises.
The root cause is therefore a mismatch between the drive’s last-known commanded setpoint and the actual mechanical position. The position controller in V90 does not, by default, adopt the new actual position as the new commanded position when the drive is re-enabled. Three independent conditions can break the cycle:
- Tell the drive that the mechanical position has changed (tracking mode).
- Tolerate the resulting following error and gracefully re-acquire the commanded position without a step torque (P2546).
- Have the PLC rewrite the position setpoint to the current actual position before re-enabling the drive (setpoint takeover).
3. Solution Comparison Matrix
| Solution | Mechanism | Configuration effort | Mechanical disturbance on enable | Recommended use case |
|---|---|---|---|---|
| 1. Tracking mode (POS_STW2 bit 0) | Drive continuously adopts X_act as X_cmd; position error remains zero while active | One bit in telegram 111 PZD5 + PLC sequencing | None on enable | Production machines with predictable external forces; default recommendation |
| 2. Dynamic following error tolerance (P2546) | Drive flags a controlled following error condition rather than producing a step catch-up torque | Single parameter via V-ASSISTANT or BOP | Small follow-up motion or fault acknowledgement | Light-duty applications, third-party PLC control, no POS_STW2 access |
| 3. PLC pre-enable setpoint takeover | PLC reads X_act and writes X_cmd ← X_act, then enables | PLC ladder / ST in enable sequence | None | Custom control where PLC owns the setpoint pipeline |
| 4. Reduced ramp / torque during synchronisation | Override P1082 (max speed) and P1525/P1526 (torque limit) during re-acquisition | PLC parameter overrides with restore | Smooth, deterministic re-acquisition | Systems needing a known re-acquisition time; spring-balanced tooling |
4. Solution 1 — Activate Tracking Mode (POS_STW2 Bit 0)
Tracking mode is the most elegant solution because it eliminates the disturbance at the source. When tracking mode is active, the SINAMICS V90 continuously adopts the current actual encoder position as the active commanded position, effectively zeroing the position setpoint and suspending the position controller’s tracking of any external reference. When the drive transitions from disabled to enabled with tracking mode active, there is no X_cmd − X_act mismatch to correct, so no torque step occurs.
4.1 Procedure
- In TIA Portal, open the device configuration for the SINAMICS V90.
- Select the PROFINET interface, then "Telegram configuration".
- Add telegram 111 ("SIEMENS telegram 111, PZD-5/5") if not already configured. Telegram 111 occupies 5 PZD words in each direction. If the V90 is on PROFIBUS, the same telegram is available as PPO type 5 with the corresponding 10 PZD words.
- In the SINA_POS instance DB, identify the symbolic tag that drives PZD5 of the output image (the tag that carries POS_STW2). In recent library versions this is exposed as
ConfigPOS(a WORD), but the exact tag name depends on the library version. Open the FB and inspect the output struct to confirm. - Implement the enable sequence as:
ConfigPOS.%X0 := TRUE(or the equivalent bit-set), wait 1–2 telegram cycles, then raise the Enable / ON / OFF1 bits in STW1. - When the application is ready to drive a real position command (e.g., jog back to a reference point, or move to a target), clear
ConfigPOS.%X0 := FALSEand issue the next position target through NSOLL_A.
4.2 POS_STW2 bit reference (PZD5, output direction, PLC → drive)
| Bit | Name | Function | Notes |
|---|---|---|---|
| 0 | Tracking mode | 1 = drive tracks actual position; 0 = drive follows NSOLL_A setpoint | Stable since V90 V1.00 |
| 1 | Set reference point | Edge 0→1 sets the internal reference to current NIST_A | Used with absolute encoders after power-up |
| 2 | On-board digital input enable | Enables drive digital inputs for local jog via terminal | Firmware-dependent; verify on BOP |
| 3 | Reserved | Always 0 | Do not use |
| 4–7 | Operating-mode / function overrides | Mode-dependent; see V90 firmware release notes | Behaviour varies across firmware branches |
| 8–15 | Reserved / application-specific | Typically reserved for manufacturer extensions | Read V90 firmware list before using |
5. Solution 2 — Dynamic Following Error Tolerance (P2546)
If modifying the control word is undesirable (e.g., the drive is commanded by a third-party controller with no path to POS_STW2), the second-best approach is to lower the dynamic following error tolerance so the drive does not enter a hard catch-up torque event but does enter a controlled fault / warning state that the application can acknowledge and recover from.
P2546 on the V90 is a following-error-monitor parameter. The exact label varies slightly across firmware versions, but its role is to define the maximum allowed dynamic following error at the configured maximum speed. If the actual following error exceeds P2546, the V90 typically raises a fault (commonly F07451 in the V90 fault catalogue). The error condition is benign in the sense that no torque step has been applied to the mechanics — the drive has simply detected the position mismatch and stopped the position controller cleanly.
5.1 Procedure
- Open the SINAMICS V-ASSISTANT (or TIA Portal → Drive commissioning → V90), connect to the drive online, and enter commissioning mode.
- Navigate to the parameter list (Online → Parameter list) and filter for P2546.
- Set P2546 to a small value, typically 0.5° to 5° mechanical. With a 20-bit single-turn encoder, 1° ≈ 2,912 LU. Convert the desired tolerance to LU for the parameter entry.
- Save the parameter set to the drive (RAM → ROM) and to the TIA Portal project offline.
- Test: jog the drive into the spring load, disable, allow the spring to retract, re-enable. The drive will flag a controlled following error condition (fault LED + alarm code on the BOP) rather than producing a violent catch-up torque.
- Acknowledge the fault from the PLC using STW1 bit 7 (acknowledge fault edge 0→1) or manually from the BOP. After acknowledgement, the drive returns to “Ready to switch on” and the enable sequence can be re-issued.
5.2 Fault code reference (V90 base firmware, illustrative)
| Code | Meaning | Typical cause | PLC response |
|---|---|---|---|
| F07451 | Following error exceeded tolerance | External load moved the motor while disabled, or a stall / jam event | Acknowledge (STW1.7), investigate cause, re-enable |
| F07452 | Position controller output limited | Mechanical end-stop, obstruction, or loss of feedback | Acknowledge after mechanic check |
| F30001 | Overcurrent / power unit fault | Sudden mechanical shock (which tracking mode prevents) | Power-cycle after mechanic check |
| A019020 | PROFINET communication warning | Cable / connector / controller-side issue | Check wiring, restart telegram |
The actual fault code list varies by firmware. Always confirm against the fault list in the V90 Operating Instructions for the installed firmware version.
6. Solution 3 — Pre-Enable Setpoint Takeover in the PLC
This approach keeps full control in the PLC and requires no drive-side changes. The principle is straightforward: before enabling the drive, read the current actual position from the drive (NIST_A from telegram 111 PZD2/PZD3, or a dedicated tag exposed by SINA_POS), copy it into the SINA_POS setpoint register, then enable. The drive then sees X_cmd = X_act, and the position loop is at rest.
6.1 Structured Text Example (S7-1500 / S7-1200, SINA_POS v4.x or v5.x)
// ----- Constants -----
CONST
T_SYNC_SETTLE : TIME := T#50ms; // telegram settle window
END_CONST
// ----- 1. Wait for drive to be in "ready to switch on" and not enabled -----
IF (iPosFB.StatusWord1.%X0 = TRUE) // ready to switch on
AND (iPosFB.StatusWord1.%X2 = FALSE) // output stage off
AND (iPosFB.StatusWord1.%X6 = FALSE) THEN // no active fault
// ----- 2. Take over position setpoint -----
iPosFB.SetpointPosition := iPosFB.ActualPosition; // X_cmd := X_act
// ----- 3. Activate tracking mode (POS_STW2.0) -----
iPosFB.ConfigPOS.%X0 := TRUE;
// ----- 4. Wait for telegram settle -----
tSyncTimer(IN := FALSE);
tSyncTimer(IN := TRUE, PT := T_SYNC_SETTLE);
IF tSyncTimer.Q THEN
// ----- 5. Issue enable -----
iPosFB.Enable := TRUE;
iPosFB.EnablePosDirection := bDirPosOK;
iPosFB.EnableNegDirection := bDirNegOK;
// (Operating mode = Modepos 7 for jog, or 1/2 for absolute / relative)
END_IF;
END_IF;
6.2 Notes on the example
- The actual SINA_POS interface varies by library version (v3.x, v4.x, v5.x). Always refer to the TIA Portal inline help (F1 on the FB) for the exact symbol names of your version. The SINA_POS in TIA Portal V18 / V19 exposes tags such as
Enable,SetpointPosition,ActualPosition,ModePos,ConfigPOS, andStatusWord1. Earlier versions may differ in tag naming. - The 50 ms settle delay is conservative. One PROFINET cycle (typically 1 ms) is technically sufficient on IRT networks; 50 ms tolerates RT networks and telegram jitter.
- Setpoint takeover must occur before
Enableis raised. If the drive is already enabled, the setpoint will be acted upon immediately and the position controller will see a step in the reference. Use the state machine in Section 9 to enforce the ordering. - If the application uses SINA_POS for absolute positioning with Modepos = 1 or Modepos = 2, the takeover must be followed by a controlled transition to the desired operating mode without re-triggering the position controller with an old setpoint.
7. Solution 4 — Reduced Ramp / Torque During Synchronisation
The fourth approach keeps the drive in normal mode but limits the velocity and torque that the position controller can command during the synchronisation window. This is implemented by:
- Override the ramp-function-generator maximum speed (V90 P1082 maximum speed, or P1120/P1121 ramp-up / ramp-down time) to a small value (1–5% of normal speed) before enabling.
- Override the torque limits (P1525 upper torque limit, P1526 lower torque limit) to a value that the mechanical system can absorb without damage.
- Wait for the following error to collapse below a threshold (P2546 or a custom HMI tag) and for the position loop to settle.
- Restore the normal parameter values and release the “drive ready” status to the rest of the machine control only after restoration is complete.
This technique is widely used in spring-balanced tooling, accumulator-loaded presses, and web tension control systems where the disturbance is always present and the controller must learn the system dynamics. The key engineering trade-off is synchronisation time: a 1% speed limit on a 30 rev/min system means a 15° offset takes ≈3 seconds to recover. For a 180° offset this becomes 36 seconds, which is too slow for most production cells. In those cases Solution 1 (tracking mode) is the correct answer.
When this technique is used, the position controller’s Kp_pos gain can also be temporarily reduced. On the V90, the position loop Kp gain is exposed as a parameter that can be written at runtime; verify the exact parameter number in the V90 Operating Instructions for the installed firmware (typical identifier: position-controller proportional gain). Always set the gain back to its normal value before the drive is used for production motion.
8. Telegram 111 and SINA_POS Configuration
SINA_POS is the standard Siemens function block for positioning a SINAMICS drive (V90, S110, S120, V20 PN) from a SIMATIC S7-1200 or S7-1500 controller over PROFINET or PROFIBUS. The block encapsulates telegram 111 / 105 so that the application programmer works with symbolic setpoint and actual-position tags rather than raw PZD words.
8.1 Library location in TIA Portal
- S7-1500: "SINAMICS blocks" library → SINA_POS (FB 284, v4.0+ in TIA Portal V16+; v5.x in TIA Portal V17 / V18 / V19).
- S7-1200: same library, available as FB 284 from the SIMATIC S7-1200 Motion Control library. The 1200 version is functionally a subset of the 1500 version.
8.2 Telegram 111 PZD layout
| Direction | PZD word | Mnemonic | Function | Width |
|---|---|---|---|---|
| PLC → drive | 1 | STW1 | Control word 1 (ON/OFF1, OFF2, OFF3, enable, enable ramp, unFreeze, etc.) | 16 bit |
| PLC → drive | 2 | NSOLL_A (low) | Position setpoint A, low 16 bits | 16 bit |
| PLC → drive | 3 | NSOLL_A (high) | Position setpoint A, high 16 bits | 16 bit |
| PLC → drive | 4 | NSOLL_B / override | Velocity override or position setpoint B | 16 bit |
| PLC → drive | 5 | STW2 (POS_STW2) | Positioning control word 2 (tracking mode, set reference, etc.) | 16 bit |
| Drive → PLC | 1 | ZSW1 | Status word 1 (ready, enabled, fault, etc.) | 16 bit |
| Drive → PLC | 2 | NIST_A (low) | Actual position A, low 16 bits | 16 bit |
| Drive → PLC | 3 | NIST_A (high) | Actual position A, high 16 bits | 16 bit |
| Drive → PLC | 4 | NIST_B / diagnostic | Actual value B or diagnostic word | 16 bit |
| Drive → PLC | 5 | ZSW2 (POS_ZSW2) | Positioning status word 2 | 16 bit |
Position data in NSOLL_A and NIST_A is 32-bit, in the V90 default unit of 1 LU. With a 20-bit single-turn encoder, 1 LU = 1 / 1,048,596 of a mechanical revolution. With a 20-bit + 12-bit multi-turn absolute encoder, the total range is 4,194,304 LU. The position unit and resolution are configured in the V90 parameter list (mechanical resolution / load gear / position unit) and must match between the drive and the SINA_POS instance.
9. PLC Implementation — Complete State Machine
The following example assumes an S7-1500 CPU, a SINAMICS V90 PN, and SINA_POS v5.x. It combines Solutions 1 and 3 for a robust enable sequence that protects the mechanics in all states.
// ===== State machine constants =====
CONST
T_SYNC_SETTLE : TIME := T#50ms;
T_DRIVE_ON_MAX : TIME := T#2s; // interlock: must enable within 2s
END_CONST
CASE iState OF
0: // ----- S0 Idle -----
iPosFB.ConfigPOS.%X0 := FALSE; // tracking off
iPosFB.Enable := FALSE;
iPosFB.ModePos := 0; // hold position
IF bEnableRequest AND (iPosFB.StatusWord1.%X0 = TRUE) THEN
iState := 10;
END_IF;
10: // ----- S10 Setpoint takeover -----
iPosFB.SetpointPosition := iPosFB.ActualPosition; // X_cmd := X_act
iPosFB.ModePos := 0;
iState := 20;
20: // ----- S20 Tracking mode active -----
iPosFB.ConfigPOS.%X0 := TRUE; // POS_STW2.0 = 1
tSyncTimer(IN := FALSE);
tSyncTimer(IN := TRUE, PT := T_SYNC_SETTLE);
IF tSyncTimer.Q THEN
iState := 30;
END_IF;
30: // ----- S30 Issue enable -----
iPosFB.Enable := TRUE;
iPosFB.EnablePosDirection := bDirPosOK;
iPosFB.EnableNegDirection := bDirNegOK;
iState := 40;
40: // ----- S40 Wait for ZSW1.2 (enabled) -----
IF iPosFB.StatusWord1.%X2 THEN
iState := 50;
END_IF;
// Fault detection
IF iPosFB.StatusWord1.%X3 OR iPosFB.StatusWord1.%X6 THEN
iState := 100; // error state
END_IF;
50: // ----- S50 Application running -----
// Tracking stays on for safety during jog; release only for absolute moves
iPosFB.ModePos := 7; // JOG
IF NOT bEnableRequest THEN
iState := 60;
END_IF;
60: // ----- S60 Disable + restore -----
iPosFB.Enable := FALSE;
iPosFB.ConfigPOS.%X0 := FALSE;
iState := 0;
100: // ----- Error handler -----
iPosFB.Enable := FALSE;
iPosFB.ConfigPOS.%X0 := FALSE;
// Wait for fault clear from HMI or automatic acknowledge
IF bFaultAck AND (iPosFB.StatusWord1.%X6 = FALSE) THEN
iState := 0;
END_IF;
END_CASE;
10. Commissioning, Verification, and Diagnostics
10.1 Verification checklist
- With the drive enabled and the motor at rest, jog it into the spring-loaded part until the mechanical stop or the load is in contact.
- Release the jog command. The motor should hold position (or drift slightly as the spring relaxes, depending on the position controller gain).
- Disable the drive via OFF1 or OFF2. Verify on the HMI / BOP that the drive has powered down the output stage.
- Allow the spring to retract the rotor manually. Measure the rotation with an angle indicator or a reference mark on the shaft. Typical offset is 5° to 180° mechanical depending on spring stiffness and motor torque.
- Issue the enable command using the configured Solution 1 / 2 / 3 / 4 sequence.
- Observe the motor shaft. The expected behaviour is no jump: the motor should come up smoothly into “enabled but stationary” state.
- Confirm on the HMI tags
rActualPosandrSetpointPosthat the difference is within the position controller tolerance (typically a few encoder increments). - Confirm in the V-ASSISTANT or Startdrive trace that
n_act(actual speed) does not exceed the configured P1082 maximum speed during the enable transition. A peak indicates that tracking mode is not active or that the setpoint takeover did not complete.
10.2 Trace configuration
Use SINAMICS V-ASSISTANT or Startdrive to record the following signals during the enable transition at the highest available sample rate (typically 1 ms for the V90):
-
NSOLL_A(position setpoint) — should be latched at the moment of disable -
NIST_A(actual position) — should matchNSOLL_Awithin the controller tolerance -
n_set(speed setpoint) — should be zero (or near zero) at the moment of enable, with no transient -
M_set(torque setpoint) — should be small, no step -
ZSW1bit 0 (ready) and bit 2 (enabled) — for state machine verification -
ZSW2(POS_ZSW2) — for status of tracking mode, set reference, etc. -
p2546(current dynamic following error tolerance) — confirms the value is at the expected level after parameter write
10.3 Common commissioning issues
| Symptom | Likely cause | Resolution |
|---|---|---|
| Tracking mode bit has no effect | Telegram 111 not active; SINA_POS overriding POS_STW2 | Verify telegram 111 selected in device config and that SINA_POS exposes a configurable ConfigPOS tag |
| Drive does not enable even with tracking mode active | Safety chain open, F-DI on V90 not asserted, or STW1 bits wrong | Check STW1.0 (ON/OFF1), STW1.1 (OFF2), STW1.2 (OFF3), STW1.3 (enable); check F-DI wiring |
| Jump is reduced but not eliminated | P2546 too large; encoder is incremental (not absolute) | Reduce P2546; verify encoder is absolute (multi-turn, order code suffix AS or AM) |
| Fault F07451 after re-enable | Solution 2 working as designed — fault is expected | Acknowledge via STW1.7; consider auto-ack in PLC |
| Position wraps after some hours of operation | Single-turn absolute encoder; multi-turn battery discharged | Use multi-turn absolute encoder; replace multi-turn backup battery per maintenance plan |
| Tracking mode set, but position drifts on enable | Mechanical system has continuous force (gravity on vertical axis) | Engage holding brake; consider PLC-side home routine |
11. Edge Cases and Safety Considerations
- Tracking mode suppresses position control but does not suppress torque or speed control. On a vertical axis, the holding brake (integrated in S-1FL6 or external on the gear) is the only thing preventing a gravity-induced drop. Wire the brake control through the drive (BR+ / BR− terminals on V90) and observe the brake test interval from the machine’s maintenance plan.
- On machines with multiple drives in coordinated motion, tracking mode on a single drive will break the coordination. In those cases, use a coordinated disable / enable sequence with a software position offset (MC_Home or axis homing from the SIMATIC Motion Control side) rather than per-axis tracking.
- Tracking mode on an absolute encoder retains the encoder’s multi-turn information. If the encoder battery (for multi-turn absolute encoders without an Energy Backup Module) is low or absent, the absolute position may be lost on power-cycle and a homing run will be required. Plan battery replacement as a scheduled maintenance item.
- The P2546 approach is the least invasive but introduces a controlled follow-up motion. In safety-rated applications, verify that the follow-up motion does not exceed the safety-rated speed or position limits. PROFIsafe SS1 / SS2 with safe speed monitoring is the standard way to enforce this.
- On an incremental encoder configuration (not recommended for this application), there is no X_act reference after a power-cycle. Tracking mode still works at runtime, but a homing run must be executed after each power-up. The V90 with absolute encoder is strongly preferred for spring-loaded applications.
12. Frequently Asked Questions
What is POS_STW2 bit 0 (tracking mode) and how does it prevent the position jump?
POS_STW2 bit 0 is the tracking mode bit in the positioning control word (PZD5 of telegram 111). When set to TRUE, the SINAMICS V90 continuously adopts the current actual encoder position as its internal setpoint, so the difference X_cmd − X_act is always zero. On re-enable, there is no offset to correct and no torque step occurs.
Which SINAMICS V90 firmware versions support POS_STW2 bit 0?
POS_STW2 bit 0 has been available in the standard telegram 111 of the SINAMICS V90 since the initial release. The bit position has not changed across the V1.0x firmware branch. Other bits in POS_STW2 have been reassigned in past firmware updates, so always cross-check against the parameter and telegram list in the V90 Operating Instructions for the exact firmware version installed in your drive.
What does P2546 do on the V90, and is it the right parameter for this problem?
P2546 is the dynamic following error tolerance on the SINAMICS V90. It defines the maximum allowed difference between the position setpoint and the actual position during motion. If the actual following error exceeds P2546, the drive typically raises a fault (commonly F07451 in the V90 fault catalogue) rather than producing a catch-up torque. Setting P2546 to a small value (1° to 5° mechanical, expressed in LU) allows the drive to flag the disturbance so the PLC can acknowledge and re-enable without a violent jump. P2546 is firmware-specific; verify its exact behaviour in the V90 Operating Instructions for the installed firmware version.
Can I use SINA_POS in Modepos = 7 (JOG) and still have tracking mode work?
Yes. Tracking mode is a property of the position controller, not of the operating mode. You can enable the drive in Modepos = 0 (hold) or Modepos = 7 (jog) as long as POS_STW2.0 is TRUE during the enable transition. After the drive is enabled and the application is ready to command motion, clear POS_STW2.0 to allow the controller to track the next commanded position.
My drive is controlled by a third-party PLC that does not expose POS_STW2. How can I still prevent the jump?
Use Solution 2 (P2546) or Solution 4 (ramp rate / torque override). Both can be configured at the drive via the BOP (Basic Operator Panel) or V-ASSISTANT, and neither requires access to the PROFINET / PROFIBUS telegram. The third-party controller can then acknowledge the resulting following error fault (e.g., F07451) and re-enable the drive at a controlled state.
Does this issue also occur on SINAMICS S110, S120, or V90 PN with PROFINET IRT vs RT?
The root cause is the same on S110, S120, and any drive that uses telegram 111 (or 105) for positioning. The PROFINET cycle time (IRT vs RT) only affects how fast the position setpoint is updated. It does not change the tracking-mode behaviour. On all of these drives, enabling tracking mode (POS_STW2.0 for S110 / S120 / V90 PN, or the equivalent bit in the S120 positioning telegram) before re-enable is the canonical solution.