SINAMICS S120 Basic Positioner: Reference Point Setup for Blocks

David Krause12 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

SINAMICS S120 Basic Positioner: Reference Point Setup for Traversing Blocks

When commissioning the Basic Positioner (EPOS) function module on a SINAMICS S120 drive, traversing block mode silently refuses to execute any move and the alarm window reports that no reference point is set. The homing drop-downs in STARTER/Startdrive show "--" and refuse to accept any selection, so the standard reference-cam / zero-mark homing path is not available. The remedy is the Set Reference Point function, driven by parameters p2598 and p2599, which assigns a defined Length Unit (LU) coordinate to the current axis position without requiring a homing run.

Field symptom: Drive is in S4 (operation enabled) but r2684.9 (Status: referenced) stays at 0, F07492 "Referencing required" is pending in the alarm buffer, and the first traversing block command is rejected (POS_ZSW1.13 = 0, "Command accepted" stays low).

1. Prerequisites

  • SINAMICS S120 with Control Unit CU320-2 PN/DP, CU310-2 PN, or CU320-2 DP
  • Firmware V4.x, V5.x, or V6.x (S210/S200 use Startdrive with the same EPOS core)
  • Basic Positioner (EPOS) function module activated (r108.4 = 1)
  • Commissioning tool: STARTER V5.x or Startdrive (TIA Portal V15.1 or later)
  • PROFIdrive telegram 111 or 110 selected, or a free telegram containing POS_STW/ZSW1/ZSW2
  • Motor data set complete: motor identified (p1910), speed controller optimised, no active F07xxx faults
  • Mechanical scaling parameters p2502 – p2506 already loaded and verified

2. Root Cause Analysis

The EPOS function interprets every position as an absolute coordinate relative to the machine zero point. Until referencing has been performed, r2521 (Position actual value) is treated as invalid and the firmware blocks any positioning command. Referencing can be achieved three ways:

Method Trigger Hardware required
Active homing run Drive-controlled motion to reference cam + zero mark Reference cam + zero mark wiring to DI
Passive referencing External zero mark during normal motion Zero mark on encoder + DI wiring
Set Reference Point Direct BICO trigger, value from p2599 None

If the selection fields in the Homing mask are greyed out ("--"), no reference cam (p2591) or zero mark (p2593) is BICO-wired to a real digital input. The hardware-based homing methods are therefore inaccessible. The only path that works in this state is to write a known LU value to r2521 by triggering p2598, sourcing the position from p2599.

3. BICO Wiring for the Set Reference Point Function

The BICO chain for the Set Reference Point path is intentionally minimal. Two parameters only are involved:

Parameter Direction Meaning
p2598[0] Input (BI) Signal source to trigger "Set reference point" (0→1 edge)
p2599[0] Input (CI) Connector source providing the reference coordinate in LU
r2684.9 Output (BO) Status: referenced (read-only)

Conceptually, the trigger is a digital event and the value is an analogue word. STARTER/Startdrive treat the two together as a single "Set Reference Point" command, but the EPOS firmware separates them so that the trigger can come from a fast DI while the value comes from a PLC tag.

Reference Point Setting Flow

Trigger Source p2598[0] = DI / PLC bit Set Reference Point EPOS internal function Reference value p2599[0] in LU r2521 Position actual value r2684.9 = 1 Status: referenced

4. Solution: Configure p2598 / p2599

4.1 Mechanical scaling first

The value written into p2599 must be expressed in the LU defined by the scaling chain. Confirm or set:

Parameter Description Typical value
p2502 Axis type (linear / rotary) 0 = linear
p2503 LU per 10 mm (linear) or per revolution (rotary) 10000 → 1 LU = 0.001 mm
p2504 Spindle pitch (load feed per motor revolution) 10 mm/rev
p2505 Motor revolutions per spindle revolution 1
p2506 Load gear ratio (motor:load) 1:1
LU rule of thumb: With p2503 = 10000 the drive resolves to 1 µm. A reference coordinate of p2599 = 50000 therefore means 50 mm of axis travel from the LU zero.

4.2 Wire p2598[0] to a trigger

  1. In STARTER: Drive → Basic Positioner → Configuration → Homing, click the "Set Reference Point" row and select the source of the trigger.
  2. For PROFIdrive control (e.g. SIMATIC S7-1500 with telegram 111): set p2598[0] = 0 and use the bit POS_STW2.8 from the PLC to command the function.
  3. For hard-wired control: set p2598[0] = r0722.x for the chosen digital input (e.g. r0722.0 for DI0).
  4. For pure commissioning without a real DI: set p2598[0] = r2684.7 (the "Set reference point" control bit in POS_STW2).

4.3 Wire p2599[0] to the reference value

  1. For an absolute reference coordinate: connect p2599[0] to a fixed connector, e.g. p2599[0] = 0 (machine zero at the current physical position) or p2599[0] = p2612[7] if using a parameter slot for a fixed LU value.
  2. For PLC-supplied coordinates: connect p2599[0] = P#DBxxx.DBX… using STARTER's BICO dialog over PROFINET/PROFIBUS shared I/O.
  3. Verify the value with the online parameter view: the LU number must be in the valid range of the axis modulo (rotary) or mechanical limit (linear).

4.4 Activate referencing and verify

  1. Download the project to the Control Unit (Copy RAM → ROM if persistent storage is needed).
  2. Bring the drive to operation enable (S4).
  3. Toggle the trigger: send POS_STW2 bit 8 = 1 for one PLC cycle, then back to 0. With hard-wired DI, pulse the input low-high-low.
  4. Read r2684.9 in the online trace. The bit must go from 0 to 1 within one DRIVE-CLiQ cycle (typically < 4 ms).
  5. Read r2521 and confirm it now equals the value configured in p2599 (or the connector wired to it).
  6. Start a known traversing block (e.g. block 0: position 0 LU, velocity 50 %) and verify POS_ZSW1.10 (target reached) transitions high after the configured p2546 ramp.

For background on the broader traversing blocks concept, refer to the official SINAMICS Function Manual – Basic Positioner, traversing blocks mode and the Setting the traversing blocks – Basic Positioner document from Siemens Support. The drive-function context is documented in the SINAMICS S120 Function Manual – Drive Functions, traversing blocks chapter.

5. Alternative: Use an Absolute Encoder

If the application tolerates the cost, an absolute encoder (EnDat 2.1/2.2, SSI, or DRIVE-CLiQ resolvers) eliminates referencing at every power-up. After commissioning the encoder, the drive reads the absolute position and r2684.9 goes high automatically:

  1. Set p0407 and p2507 per the encoder type (EnDat, SSI, resolver).
  2. Confirm r2521[0] = real position immediately after power-up, no trigger needed.
  3. Verify encoder memory backup (battery for SSI/EnDat in non-DRIVE-CLiQ systems) and document the replacement procedure in the maintenance plan.

For incremental encoders without a battery-backed absolute track, the "Set Reference Point" path (p2598/p2599) is the only software alternative and must be repeated every time the drive loses its 24 V supply or executes a cold start.

6. Verification Procedure

  1. Status check: Online trace on r2684.9 (referenced) and r2684.10 (target position reached). Both must transition from 0→1.
  2. Position check: Trigger p2598 with p2599 = 12345 LU. Read r2521 immediately. Value must equal 12345 LU ±1 LSB.
  3. Block check: Configure traversing block 0 with target position 20000 LU, velocity 50 % of p2571. Execute from PLC via POS_STW1.6 = 1. Confirm motor moves to within p2548 (position window) of 20000 LU and POS_ZSW1.10 goes high.
  4. Alarm check: r0945[0..7] must not contain F07492 after the reference point is set. Clear any residual faults with acknowledge.
  5. Endurance check: Issue 50 trigger cycles (p2598 0→1→0) without cycling power. Confirm r2684.9 remains at 1 after every cycle.

7. Troubleshooting Matrix

Symptom Probable cause Corrective action
r2684.9 stays 0 after trigger p2598 wired to constant 0 or unused BI Re-wire p2598[0] to a real trigger (r2684.7, r0722.x, or PLC tag)
Position forced to 0 instead of p2599 value Connector input not connected to a real source Reconnect p2599[0] to a fixed connector slot or PLC tag
F07492 persists after trigger Pending fault, fault class not yet reset Acknowledge faults, then re-trigger; verify r0945 is clear
Reference lost after power cycle Incremental encoder without memory Re-trigger p2598 each power-up, or migrate to absolute encoder
Block executes in wrong direction p1820 / p2900.0 polarity mismatch Reverse p1820 or invert the velocity sign in the traversing block
Block skipped, motor does not move Block select bits (POS_STW2.13–15) not driven Set block number in POS_STW2 before issuing POS_STW1.6 = 1
Position drifts after referencing Mechanical play, load gear mismatch Compensate via p2620 (load gear offset) and re-trigger referencing
r2521 shows wrong LU value p2502/p2503/p2506 scaling inconsistent Recompute LU from mechanical chain; re-enter p2599 in correct units
Drive reports F07491 on rotary axis Reference coordinate outside modulo range Constrain p2599 value to 0 ≤ value < p2924
Status bits flicker, drive jerks p2548 position window too tight Increase p2548 to mechanical tolerance; verify p2546 ramp time

8. Parameter Reference

Parameter Type Description
p2502 Input Axis type (0 linear / 1 rotary)
p2503 Input LU per 10 mm (linear) or per rev (rotary)
p2506 Input Load gear ratio (motor/load)
p2548 Input Position window for target reached
p2590 Input (BI) Set home position
p2591 Input (BI) Reference cam / home switch
p2594 Input (BI) Enable homing
p2595 Input (BI) Start traversing block
p2596 Input (BI) Select traversing block, bit 0
p2597 Input (BI) Select traversing block, bit 1
p2598 Input (BI) Set reference point (trigger)
p2599 Input (CI) Reference point position (LU)
p2604 Input (BI) Continue traversing block / change block
p2608 Input (CI) Position actual value source
r2521 Output Position actual value (LU)
r2684.9 Output Status: referenced
r2684.10 Output Status: target position reached

9. Control Word Mapping for PROFIdrive Telegram 111

Bit POS_STW1 POS_STW2
0 ON/OFF1 Following enable
1 OFF2 (block) —
2 OFF3 (ramp stop) —
4 Reject traversing task —
5 Intermediate stop —
6 Activate traversing task (START) —
8 — Set reference point
13 — Block selection bit 0
14 — Block selection bit 1
15 — Block selection bit 2

Setting POS_STW2.8 = 1 (with POS_STW1.6 = 0, i.e. not in active positioning) and providing a valid coordinate on p2599 causes the drive to copy p2599 into r2521 and raise r2684.9. The PLC must hold POS_STW2.8 high for at least one full PROFIdrive cycle (typically 4 ms at 250 µs cycle) and then drop it; otherwise the drive interprets a constant high as "set reference point continuously" and may overwrite a coordinate set by a subsequent block.

10. STARTER vs Startdrive Configuration Notes

Aspect STARTER (classic) Startdrive (TIA Portal)
Mask location Drive → Basic Positioner → Configuration → Homing Drive → Positioning → Homing
Online trace Trace view, function generator TIA trace, scope view
BICO editor Full BICO matrix (BI/BO/CI/CO) Filtered list, search box
Project save DAP (.dpa) format TIA project (.ap15/.ap16)
Param storage Copy RAM → ROM, save to card Load device as new station

Both tools store the same parameter set. A project commissioned in STARTER can be exported as a DAP and imported into Startdrive, and vice-versa, provided the firmware versions match. STARTER remains the default for non-TIA customers, while Startdrive is mandatory for SIMATIC-controlled SINAMICS S210/S200 systems.

11. Edge Cases and Safety

  • No actual value source: If p2608 is wired to 0 or an invalid encoder, the trigger fires but r2521 stays at 0. The "referenced" status bit is mechanically set but the position has no meaning. Always confirm r2521 reflects a sensible value after the trigger.
  • Rotary axis modulo: When p2923 = 1 (modulo enabled) and p2924 (modulo length) is set, p2599 must be 0 ≤ value < p2924. Out-of-range values trigger F07491 "Position value out of range".
  • Coupled drives (load gear): Referencing is performed on the motor side. Any change to p2506 (load gear) after the trigger produces a scaled mismatch between actual and commanded position. Re-trigger referencing after any scaling change.
  • Multiple encoders: For dual-encoder configurations (motor + load encoder), the reference applies to the active position actual value selected by p2507. Confirm the correct encoder is the active source before triggering.
  • Power cycle (incremental): Incremental encoders lose referencing at every power-down. Document the re-reference procedure in the operator's manual, or upgrade to an absolute encoder.
  • Reversed direction: If the motor runs in the wrong direction during the verification block, do not change p2599 sign. Reverse p1820 (direction of rotation) or p2900.0 instead, and re-trigger referencing.

12. Firmware-Specific Notes

Firmware Notable behavior
V4.x Single-element index for p2598/p2599. BICO source list identical to V5.x defaults.
V5.x (5.1 SP1+) Adds multi-element indexing for multi-encoder EPOS. STARTER and Startdrive expose the full mask without service pack restrictions.
V5.2 SP3 Adds EPOS trace signals for r2684 transitions, useful for debugging triggers in real time.
V6.x (S210/S200) Startdrive-only configuration. Same p2598/p2599 logic. Telegram 111 still default. Position scaling uses mm/° directly without LU conversion in some profiles.
Cross-platform reminder: SINAMICS S120 firmware V6.x is not a unified package across all hardware variants. Confirm the firmware version on the Control Unit (r0018) before applying parameter sets generated by STARTER/Startdrive for an older version.

13. Frequently Asked Questions

Why do the homing options in STARTER display "--" instead of allowing a selection?

The selection drop-downs are greyed out because the corresponding BICO inputs (p2591 reference cam, p2593 zero mark, p2592 home switch) are not wired to a real digital input. Use the Set Reference Point path (p2598/p2599) instead - it does not require homing hardware and is the recommended approach for incremental encoders without reference cams.

Do I need to repeat the reference point setting every time I cycle power?

For incremental encoders, yes - r2684.9 returns to 0 at power-up and the procedure must be repeated by toggling p2598 again. For absolute encoders (EnDat, SSI with battery, or DRIVE-CLiQ resolvers), the reference is retained through p0407/p2507 memory and r2684.9 stays at 1 after power-up.

What unit does p2599 use and how do I calculate the value?

p2599 uses the configured length unit (LU) defined by p2502, p2503, p2504, and p2506. With the standard scaling p2503 = 10000, 1 LU = 0.001 mm. To set a reference coordinate 50 mm away from the LU zero, enter p2599 = 50000. Recompute after any change to p2503 or p2506.

Can I set the reference point without using traversing blocks?

Yes. p2598/p2599 work independently of the traversing block mode. They are also valid for jog mode (p2589) and direct setpoint input via p2640. Triggering referencing once is sufficient; the status r2684.9 stays high until the encoder reference is lost or a fault resets it.

What is the difference between p2598 and p2590?

p2590 ("Set home position") is used during an active homing run, after the reference cam or zero mark edge has been detected by the drive. p2598 ("Set reference point") bypasses the homing sequence entirely and assigns the position directly from p2599 with a single trigger pulse. For setups without homing hardware, only p2598 is functional.

Why does the drive ignore the Set Reference Point command and continue showing F07492?

The most common cause is that p2598 is interconnected to a fixed 0 or unused signal. Check the BICO chain in STARTER (Expert list, search p2598) and confirm the source is a real trigger such as r2684.7 (POS_STW2 bit 8), r0722.x (digital input), or a PLC tag. Also clear any residual F07xxx faults before re-triggering.

Back to blog