Configuring SIMOTION External Zero Mark Homing via SINAMICS p945

David Krause17 min read
Motion ControlSiemensTroubleshooting
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

Problem Overview

When a SIMOTION D4x5, SIMOTION C240, or SIMOTION T-CPU is configured to home an axis on the external encoder zero mark only, the most common failure mode is that the axis accelerates to the configured approach velocity, traverses the entire mechanical range, and never decelerates to the homing (creep) velocity to capture the zero mark. The drive remains in motion indefinitely, no homing complete state is reported by the technology object (TO) axis, and the system stays in the "not homed" condition. The MotionTask / _enable_axis background task continues to issue position commands but they have no reference.

On the SIMOTION side the HomingState of the TO axis indicates "HomingActive" with the HomingMode substate stuck in "searchForZeroMark." On the SINAMICS side the drive is happily following the velocity setpoint because the homing command issued by SIMOTION is interpreted only as a motion command; the zero mark has not been wired through the drive firmware to the controller. The root cause is always a configuration gap on the equivalent zero mark routing between SINAMICS and SIMOTION.

Root Cause Analysis

The homing state machine on the SIMOTION TO axis expects to receive an equivalent zero mark event from the drive. SINAMICS sources this event from a digital input on the Control Unit (or from the encoder R-track evaluated inside the Sensor Module). When the configuration of the source is missing or mismatched, no event is ever delivered and the homing state machine never advances. The five recurring root causes are:

  1. SINAMICS parameter p945 (Equivalent zero mark input terminal) is at its default value of 0. A value of 0 disables the equivalent zero mark source entirely. Even if the sensor is wired correctly to a DI, no event is generated.
  2. The SIMOTION checkbox "External zero signal mark from drive available" is in the wrong state. When checked, SIMOTION expects the drive (via p945) to provide the zero mark. When unchecked, SIMOTION reads a SIMOTION-side DI directly and ignores the drive-side p945.
  3. DI mapping mismatch between SINAMICS and SIMOTION. SINAMICS numbers bi-directional DI/DO terminals using one index scheme (e.g., DI/DO 8 = X122.9 input / X121.7 output) and SIMOTION exposes the input half via the symbolic address SINAMICS_Integrated_1.Control_Unit.DI_0_15.Bit_8. A configuration that points p945 at one terminal while the SIMOTION homing dialog reads a different symbolic bit will never capture the event.
  4. Telegram or encoder topology is not aligned with the zero mark. If the encoder providing the zero mark is not enabled as the active encoder for the axis, or the active telegram does not carry the equivalent zero mark status word, the event never reaches SIMOTION.
  5. Approach and homing velocity conflict or reference-cam loop. The reference cam and homing output cam can trap the axis in a reversing loop if wired to the wrong DI, masking the zero mark behind a constant reversal request.

Affected Platforms and Firmware

The behavior described applies to the following SINAMICS / SIMOTION combinations:

  • SIMOTION D410 with SINAMICS Integrated (single-axis drive on the D410 itself).
  • SIMOTION D4x5-2 DP / D4x5-2 PN with SINAMICS Integrated on the SIMOTION backplane (multi-axis up to 6 or 32 axes depending on D-variant).
  • SIMOTION C240 with external SINAMICS S120 CU310-2 or CU320-2 over PROFIBUS / PROFINET.
  • SIMOTION T-CPU with SINAMICS S120 drives.
  • SIMOTION C230-2 / C240 with ADI4 (Analog Drive Interface for 4 axes) — same conceptual model but routing is via ADI4 firmware.

Firmware considerations:

  • SINAMICS V4.x: p945 exists with the same semantic meaning. Equivalent zero mark bit is exposed as ZSW2.4 in the standard telegram.
  • SINAMICS V5.x: p945 retained, additional DI/DO pins exposed. Telegram 105 / 106 / 116 bring zero mark and equivalent zero mark into the SIMOTION process image.
  • SIMOTION kernel V4.4 or later is recommended for current homing functionality. Kernels below V4.2 do not honor the "External zero signal mark from drive available" flag consistently across firmware revisions.
  • Always read r0018 (Control Unit firmware version) and r0965 (functional state) before assuming p945 behaves identically to the documentation for your revision.

Prerequisites

Before changing homing parameters, verify the following:

  • SIMOTION SCOUT V4.5 or later (or TIA Portal with SIMOTION option package) installed.
  • SINAMICS STARTER V5.x or SINAMICS Startdrive installed and online connection to the drive is functional (PROFIBUS DP, PROFINET IRT, or Ethernet commissioning interface).
  • The active project compiles without errors; the TO axis downloads successfully and the drive goes into "Operation enable" with no active faults.
  • The encoder cable has been validated end-to-end: shield grounded at one end only (typically the cabinet end), A/B tracks and R-track terminated at the Sensor Module, no induced noise on the R-track.
  • Digital inputs on the Control Unit are wired to a 24 VDC source that meets SINAMICS input thresholds (high level ≥ 11 V, low level ≤ 5 V, switching time ≤ 1 ms).
  • If using a bi-directional DI/DO pin, parameter p0728 (direction of the bidirectional digital I/O) must be set to "input."
  • The active telegram between SIMOTION and SINAMICS must include the equivalent zero mark status bit. Siemens telegram 3, 6, 105, 106, and 116 all expose ZSW2 with the equivalent zero mark in bit 4.

SINAMICS Parameter p945 — Equivalent Zero Mark Input Terminal

SINAMICS parameter p945 selects which digital input on the Control Unit (CU310-2, CU320-2, or SINAMICS Integrated on SIMOTION D4x5) is interpreted as the equivalent zero mark source. A value of 0 means "no equivalent zero mark source selected" — this is the most common cause of the failure mode in this article.

The mapping from p945 value to physical terminal depends on the SINAMICS firmware version and the Control Unit variant. For SINAMICS Integrated on SIMOTION D4x5-2 and for SINAMICS S120 with CU320-2 (firmware V5.x), the typical mapping is summarized below.

Typical p945 mapping for SINAMICS S120 / SINAMICS Integrated
p945 value Physical terminal Function
0 None Equivalent zero mark disabled (default — change this first)
1 X121.1 DI 0
2 X121.2 DI 1
3 X121.3 DI 2
4 X121.4 DI 3
5 X121.5 DI 4
6 X121.6 DI 5
7 X121.7 DI 6
8 X121.8 DI 7
9 X122.9 (input) / X121.7 (output) DI/DO 8 — bi-directional, set p0728 = input first
10 X122.10 (input) / X121.8 (output) DI/DO 9 — bi-directional
11 X122.12 (input) / X121.10 (output) DI/DO 10 — bi-directional
12 X122.13 (input) / X121.11 (output) DI/DO 11 — bi-directional
Index scheme varies by firmware: Some SINAMICS V4.x firmware revisions enumerate DIs starting at index 0; V5.x typically starts at 1. Always cross-check the index by reading the online help on p945 in STARTER for the specific Control Unit firmware. The configuration that matters is the actual physical terminal number, not the abstract index.

Configuration procedure:

  1. Open STARTER or Startdrive and go online to the drive.
  2. Open the expert parameter list (right-click drive object → Expert list) and locate p945.
  3. Set p945 to the index corresponding to the wired terminal. For DI/DO 8 wired to X122.9 (input), set p945 to the value listed above (typically 9 for SINAMICS Integrated / CU320-2 V5.x).
  4. Verify that the chosen DI is not also being driven by another function. Common conflicts: p722 (free function blocks), p848 (Safety Integrated), p50670 (telegram diagnostics), or another technology function on SIMOTION.
  5. If using a bi-directional DI/DO pin, confirm p0728 is set to "input" (value 0). Setting p0728 to "output" will cause SINAMICS to drive the pin as an output and the equivalent zero mark logic will read back the driven value, masking the real sensor.
  6. Copy RAM to ROM, save the project to the CF card / SD card so that the setting is retentive across power cycles.
  7. Download the project to the Control Unit.

SIMOTION DI Address Mapping

SIMOTION accesses the SINAMICS digital inputs through the symbolic I/O image of the configured telegram. For SINAMICS Integrated on a SIMOTION D4x5-2, the symbolic naming convention is:

SINAMICS_Integrated_1.Control_Unit.DI_0_15.Bit_<n>

where <n> is the bit number within the 16-bit DI process image of the Control Unit. For an external SINAMICS S120 with CU320-2 over PROFINET, the prefix becomes <SINAMICS_x>.Control_Unit.DI_0_15.Bit_<n> where <SINAMICS_x> is the device name configured in the PROFINET topology.

The mapping between SINAMICS terminal, SINAMICS DI index, SIMOTION symbolic address, and the corresponding p945 value is:

SINAMICS DI to SIMOTION symbolic address mapping
SINAMICS terminal SINAMICS DI SIMOTION symbolic address p945 value (V5.x)
X121.1 DI 0 DI_0_15.Bit_0 1
X121.2 DI 1 DI_0_15.Bit_1 2
X121.3 DI 2 DI_0_15.Bit_2 3
X121.4 DI 3 DI_0_15.Bit_3 4
X121.5 DI 4 DI_0_15.Bit_4 5
X121.6 DI 5 DI_0_15.Bit_5 6
X121.7 DI 6 DI_0_15.Bit_6 7
X121.8 DI 7 DI_0_15.Bit_7 8
X122.9 (input) DI 8 DI_0_15.Bit_8 9
X122.10 (input) DI 9 DI_0_15.Bit_9 10
X122.12 (input) DI 10 DI_0_15.Bit_10 11
X122.13 (input) DI 11 DI_0_15.Bit_11 12
Bit naming convention: The SIMOTION symbolic name ends in Bit_8 (zero-indexed) while SINAMICS calls the same physical pin "DI/DO 8" (one-indexed in user-facing labels but zero-indexed in the firmware DI array). The terminal is identical; only the label differs. Always confirm by reading the actual terminal number in the SINAMICS hardware catalog for the specific Control Unit variant.

Homing Mode Configuration in SIMOTION

Open the technology object (TO) configuration of the axis in SCOUT and navigate to Homing → Mode. The key fields for "External zero mark only" are:

SIMOTION TO axis — Homing dialog key fields
Field Setting for external zero mark only Notes
Homing mode External zero mark only Submode that ignores the reference cam / homing output cam
Approach direction Positive or negative per mechanical layout Direction the axis moves to search for the zero mark
Approach velocity 10–30 % of axis max velocity, e.g., 50 mm/s for a 500 mm/s axis Axis traverses at this velocity until zero mark event fires
Homing velocity 5–10 % of approach velocity, e.g., 10 mm/s Axis decelerates to this velocity at zero mark event
External zero signal mark from drive available CHECKED (when using drive-side DI via p945) Binds the drive as the zero mark source
Homing output cam / reference cam Optional — wire only if reversing behavior is required If left unwired with this checkbox checked, the axis can enter a reversing loop
Encoder adjustment offset Mechanical reference position value Latched at the zero mark to set the actual position

The "External zero signal mark from drive available" checkbox is the binding switch between the SIMOTION homing state machine and SINAMICS parameter p945. Leave it unchecked only when the zero mark sensor is wired to a SIMOTION-side input terminal (e.g., onboard D4x5 inputs, ET200S distributed I/O, or a SIMOTION C240 onboard DI).

Why the checkbox state matters: When checked, SIMOTION's HomingMode logic raises the equivalent zero mark event from ZSW2.4 of the SINAMICS telegram — which is driven by p945. When unchecked, SIMOTION ignores ZSW2.4 and instead reads the symbolic DI bit assigned in the homing dialog as the equivalent zero mark input. Mixing the two states is the most common cause of the intermittent "works once after download, fails after the next edit" symptom: a partial recompile updates one side but not the other.

Wiring and Signal Path

The signal flow for external zero mark with SINAMICS S120 and SIMOTION is:

  1. Encoder R-track or external zero mark sensor → encoder cable → SINAMICS Sensor Module (SMC20, SME25, SME120, or integrated Sensor Module on the Motor Module).
  2. The Sensor Module forwards the zero mark to the Control Unit over DRIVE-CLiQ.
  3. The Control Unit samples the zero mark and, when p945 selects a DI as the equivalent zero mark source, raises the corresponding bit in DI_0_15 and asserts ZSW2.4 in the telegram.
  4. SIMOTION receives ZSW2.4 over the cyclic telegram and the TO axis homing state machine transitions from "searchForZeroMark" → "latchPosition" → "homed."
Critical wiring rules:
  • When the zero mark is generated by a separate sensor (proximity switch, photoelectric sensor), wire the sensor output to a SINAMICS DI that is configured as input (p0728 = 0 for bi-directional pins).
  • Do not share a DI used by SINAMICS Safety Integrated (SLS, SDI, SOS cam inputs) as the equivalent zero mark source. The safety task can override or suppress the input.
  • Maintain a minimum of 50 ms between the homing command and the first expected zero mark event; if the sensor is noisy, increase the debounce time using p7251 (CU310-2 / CU320-2 V5.x) or by configuring an input filter on the SIMOTION side.

Verification Procedure

After configuring p945 and the SIMOTION homing dialog, perform the following verification before returning the machine to production:

  1. Static check: Go online to the drive in STARTER/Startdrive. In the Inputs/Outputs monitor, force-actuate the sensor and observe the corresponding DI bit toggle in the SINAMICS display. This proves wiring, terminal assignment, and p945 are consistent.
  2. Dynamic check: In SIMOTION SCOUT, open the axis diagnostics for the TO axis and trigger a homing command. Confirm the HomingState transitions through "HomingActive" → "homed." The HomingMode substate must show "searchForZeroMark" briefly, then "latchPosition," then "homed." If it stays in "searchForZeroMark," the zero mark event from the drive is still missing.
  3. Position check: Read the actual position of the axis immediately after homing. The value must match the configured encoder adjustment offset within ±1 encoder increment.
  4. Trace check: Use the SCOUT trace recorder to capture the homing velocity profile, the ZSW2.4 bit, and the actual position. Confirm a clean deceleration from approach velocity to homing velocity at the zero mark, followed by a stop and position latch.
  5. Retentive check: Cycle power to the SIMOTION and SINAMICS. Verify p945 is read back as configured (not 0). Verify the project downloads to RAM correctly and that the homing sequence succeeds on the cold start.
  6. Parameter lock check: On some Control Unit firmware, parameter p8550 (parameter lock) can prevent p945 from being written at runtime. Confirm no parameter lock is active.

Troubleshooting Matrix

Symptom → likely cause → corrective action
Symptom Likely cause Corrective action
Axis spins at approach velocity, no deceleration p945 = 0 (default) or wrong DI index Set p945 to the index of the wired DI; download to drive
Axis reverses at end of mechanical range, never homes Homing output cam not wired but reversing enabled Disable reference cam reversing or wire the cam input correctly to a SIMOTION DI
Homing works once after fresh project load, fails after edit Partial recompile leaves SINAMICS p945 inconsistent with SIMOTION checkbox Recompile SIMOTION project, copy RAM→ROM on drive, full restart
DI toggles in STARTER but SIMOTION sees no event Wrong telegram (e.g., standard telegram 1 does not carry ZSW2.4) Switch to telegram 3, 6, 105, 106, or 116; recompile and re-download
Only works when "External zero signal mark from drive available" is UNCHECKED p945 = 0 but DI wired to a SIMOTION-side input that the homing dialog reads directly Either set p945 and check the box (drive-side source), OR keep it unchecked and route the zero mark to a SIMOTION DI (controller-side source)
Homing succeeds but actual position is off by one mechanical revolution Wrong encoder (linear vs. rotary) selected in TO configuration Match the encoder type in the TO to the mechanical configuration
Homing succeeds only intermittently Sensor bounce or R-track noise Add input debounce (p7251) or improve cable shielding
Axis homes but then drifts immediately Encoder adjustment offset not applied or wrong Set TO.encoderAdjustment or absoluteEncoderOffset to the mechanical reference
Fault F07413 (drive output frequency too high) appears during homing Approach velocity exceeds drive current limit due to mechanical jam Reduce approach velocity; verify mechanical freedom of motion
Fault F31117 (encoder error) during homing Noise on R-track or DRIVE-CLiQ fault Check encoder cable, DRIVE-CLiQ LED indicators, replace Sensor Module if faulty

Edge Cases and Field Caveats

Mixing drive-side and controller-side zero marks. Some installations route the zero mark to a SIMOTION onboard DI on the D4x5 module (e.g., X122 on the D4x5-2 DP front connector) rather than to the drive. In this case p945 remains 0 and the "External zero signal mark from drive available" checkbox must be unchecked. The TO axis homing dialog then assigns the zero mark to a symbolic I/O bit on the SIMOTION-side, not on SINAMICS_Integrated_1.Control_Unit. Mixing the two routes (p945 set AND SIMOTION-side DI also wired) creates ambiguity that can flip behavior across project edits.

ADI4 routing. When using an ADI4 (Analog Drive Interface for 4 axes) with SIMOTION C240, the zero mark is wired to dedicated ADI4 input pins (X311 through X314, depending on axis). The ADI4 firmware handles the equivalent zero mark forwarding; p945 has no meaning in this context. The "External zero signal mark from drive available" flag in SCOUT still applies and must be set consistently with the ADI4 configuration. Refer to the ADI4 manual for the device-specific equivalent zero mark wiring.

C2xx controllers. SIMOTION C230-2 and C240 provide dedicated external zero mark inputs on the front connector. The configuration dialog exposes these as "provided inputs" of the controller rather than as drive-side DIs. The p945 parameter is irrelevant; the routing is internal to the SIMOTION controller.

Firmware version sensitivity. Indices for p945, the bit assignment of ZSW2, and the symbolic naming of DI_0_15.Bit_n have been stable since SINAMICS V4.x and SIMOTION V4.2, but field reports indicate that the recommended best practice is to cross-check the parameter list against the firmware version installed on the Control Unit (read with r0018). For SIMOTION D4x5 firmware below V4.4, upgrade the SIMOTION kernel before deploying new homing logic with the "External zero signal mark from drive available" checkbox.

Safety integration. If the zero mark sensor is also used by SINAMICS Safety Integrated (e.g., as SLS cam or SDI feedback), parameter p945 cannot share the same input as the safety function. Use separate DIs or route the safety-relevant signal through the safe input module (SMC30 with safety license). Refer to the SINAMICS S120 Safety Integrated Function Manual for the list of safe inputs.

Multi-encoder axes. Axes configured with two encoders (motor encoder + load encoder) require explicit selection of which encoder's zero mark drives the homing. The TO configuration exposes this via the encoder list. If the wrong encoder is selected, the zero mark never fires for the homing state machine even when p945 is correctly configured.

Distributed I/O routing via PROFINET. When the zero mark sensor is wired to an ET200S / ET200SP distributed I/O station rather than to the SINAMICS, the symbolic address in SIMOTION points to the ET200 input module, not to SINAMICS_Integrated_1.Control_Unit. In this case the "External zero signal mark from drive available" checkbox must be unchecked. PROFINET IRT cycle time must be ≤ 1 ms to ensure deterministic capture of the zero mark.

Related Siemens Documentation

For the conceptual model of active homing with zero mark on the SIMATIC S7-1500T platform — which uses the same underlying Siemens motion control architecture and equivalent zero mark mechanism — refer to the official Siemens TIA Portal documentation:

Active homing with zero mark (S7-1500, S7-1500T) — TIA Portal V20 documentation

The same zero mark semantics (ZSW2.4, equivalent zero mark source via drive parameter, and the drive-side / controller-side routing decision) apply on both SIMOTION and SIMATIC S7-1500T, with parameter numbers (e.g., p945) being identical in the SINAMICS firmware layer.

FAQ

What does SINAMICS parameter p945 do?

Parameter p945 (Equivalent zero mark input terminal) selects which digital input on the SINAMICS Control Unit is interpreted as the equivalent zero mark source for SIMOTION homing. A value of 0 disables the function and is the most common cause of a SIMOTION homing failure on external zero mark.

Why does the axis never decelerate during SIMOTION homing?

The TO axis homing state machine expects a zero mark event from the drive. If p945 is 0 or assigned to the wrong DI, no event is ever delivered, and the homing state machine stays in the "searchForZeroMark" substate at approach velocity indefinitely. Set p945 to the wired DI and ensure the "External zero signal mark from drive available" checkbox in the SIMOTION homing dialog is checked.

Which SIMOTION symbolic address corresponds to DI/DO 8 on SINAMICS Integrated?

For SINAMICS Integrated on a SIMOTION D4x5, the bi-directional terminal X122.9 (input half of DI/DO 8 in the SINAMICS hardware catalog) maps to the SIMOTION symbolic address SINAMICS_Integrated_1.Control_Unit.DI_0_15.Bit_8. With firmware V5.x, the corresponding p945 value is 9.

Should "External zero signal mark from drive available" be checked?

Check it when the zero mark sensor is wired to a SINAMICS-side DI and parameter p945 is configured on the drive. Uncheck it when the zero mark is wired to a SIMOTION-side DI (onboard D4x5 inputs, ET200 distributed I/O, or C240 onboard DI).

Can I combine reference-cam reversing with external zero mark only?

Yes. Enable reference-cam reversing in the SIMOTION homing dialog, wire the reference cam to the appropriate SIMOTION or SINAMICS DI, and configure the external zero mark separately. The homing state machine will reverse on the cam, then decelerate and capture the zero mark. Ensure both the cam input and the zero mark input are not wired to the same DI.

Why does homing work after a fresh download but fail after editing the project?

This is typically caused by a partial recompile that updates either the SIMOTION project or the SINAMICS parameter image, but not both. p945 and the "External zero signal mark from drive available" checkbox are evaluated against each other at runtime; if they disagree, the equivalent zero mark event is filtered out. Recompile the SIMOTION project, copy RAM to ROM on the SINAMICS side, and perform a full restart to bring both sides back into a consistent state.

Back to blog