SINAMICS CU320 SMC30 Reading Incremental Encoder Zero Mark Status

David Krause22 min read
Motion ControlSiemensTechnical Reference
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

1. Problem Context and Drive Topology

On a SINAMICS S120 system the Control Unit CU320-2 is connected to one or more Sensor Modules that digitize the physical feedback signals from the motor and position encoders. The SINAMICS S120 List Manual documents every parameter from p0000 through p3999 (CU320-2 device parameters) and from p4000 through p8799 (drive object parameters), and the SMC30 is identified as encoder interface 1/2/3 depending on which port the SSI / HTL / TTL encoder is wired to. The SMC30 (Sensor Module Cabinet-Mounted, 6SL3055-0AA00-5CA0 family) supports HTL and TTL square-wave encoders, optionally with an R or N reference (zero) mark. The reference mark is a single, well-defined index pulse that is generated once per mechanical revolution, and SINAMICS uses it to:

  • Initialize the absolute position counter inside the drive object (r2521, r2524).
  • Validate the mechanical position when the Basic Positioner (EPOS) performs active or passive referencing.
  • Provide a repeatable synchronization point for closed-loop position control.

The recurring engineering question on this topology is: "I have wired the encoder and set up p0400, p0408, p0425, but I cannot find a Boolean status flag that toggles every time the zero mark passes the SMC30." This reference walks through the relevant parameter set, the SMC30 status words, the equivalent-zero-mark feature, and the DCC / EPOS work-flows that surface the reference mark to the application program.

2. Incremental Encoder Reference Signal — Electrical and Protocol Basics

An incremental encoder is a position transducer that generates two quadrature pulse trains, A and B, plus an optional index channel, R (HTL/TTL push-pull) or N (differential). The A/B phase shift encodes the rotation direction; the index pulse is asserted for one increment of rotation and is one mechanical revolution wide (sometimes one increment wide) so that the drive can reset its internal position counter to a known value. The electrical levels of the index channel on the SMC30 are identical to the levels of the A and B channels:

Property TTL (RS-422) HTL (24 V push-pull)
Voltage swing 5 V differential, 0.3 V common-mode noise margin 24 V single-ended or 24 V differential
Max cable length to SMC30 100 m (100 kHz), 50 m at 1 MHz 100 m (HTL single-ended), 300 m differential
Maximum input frequency on SMC30 500 kHz (TTL) 300 kHz (HTL)
Reference mark Channel N (index), differential Channel R (index), single-ended or differential
Termination on SMC30 150 Ω switchable, DIP switch S1 150 Ω switchable, DIP switch S1

The mechanical relationship between the index pulse and the resolver pole count is important for synchronous motors. With an asynchronous induction motor it is generally sufficient that the SMC30 latch the absolute counter to zero on the rising edge of R or N, since the slip frequency makes the rotor position at the index mark unimportant. The general frequency that the SMC30 sees on the index channel, f_z, is:

f_z = n / 60 [Hz]

where n is the motor speed in revolutions per minute. For a 4-pole induction motor at 1500 rpm, f_z = 25 Hz; at 6000 rpm, f_z = 100 Hz. The DCC or comparator sampling must therefore be at least 4 ms (250 Hz) to guarantee capture of the index event at full speed, which is consistent with the DCC block scan time of 4 ms typical for the CU320-2.

3. SMC30 Hardware Configuration (DIP Switches and Wiring)

Before any software parameter is read, the SMC30 itself must be configured by the two banks of DIP switches on the front panel. The DIP switch positions determine the bus protocol that the Sensor Module reports to the CU320-2, the input voltage level, and the terminating resistance on the encoder cable. The default ex-factory setting of the SMC30 is Encoder type = SSI / SSI single-turn and No zero mark evaluation. The first commissioning step is therefore to re-configure the DIP bank for a square-wave HTL encoder with a zero mark:

  1. Power down the SINAMICS line-up and remove the 24 V supply to the SMC30.
  2. Set DIP switch bank S1 for HTL input with terminating resistor (positions 1–4 per the SMC30 manual, switch 7 ON, switch 8 OFF for HTL with 150 Ω termination).
  3. For HTL with zero-mark evaluation, switch 5 = ON. The SMC30 then expects a signal on the R input and routes it to the digital zero-mark latch.
  4. Wire the encoder cable to the 12-pin plug X521 (signal name printing is silkscreened on the SMC30 housing): pin 1 = A, pin 2 = A\, pin 3 = B, pin 4 = B\, pin 5 = R, pin 6 = R\, pin 7 = 24 V encoder supply, pin 8 = 0 V, pin 9–12 = fault, screen.
  5. Re-apply 24 V, wait for the SMC30 LED READY to turn steady green.
Note: A 1024-ppr encoder with one zero mark per revolution must be wired so that the screen and the unused conductor pairs are bonded to the SMC30 housing on both ends. A missing screen or a swapped A/A\ pair will not necessarily raise a hardware fault; it will show up as a constant offset between successive referencing runs, which is often misdiagnosed as a parameter error.

4. SINAMICS Parameter Set for Square-Wave Encoder and Zero Mark

Once the SMC30 is configured at the DIP level, the drive-side parameters can be edited. The CU320-2 in the source topology has p10 = 0 (Run) and the user has selected encoder commissioning, which means the SMC30 slot is the active encoder. The minimum parameter set that the application must commit is:

Parameter Name Source value Effect
p0009 Device commissioning parameter filter 0 0 = Ready / commissioning filter inactive
p0010 Drive commissioning parameter filter 4 (encoder), then 0 when done Activates the encoder commissioning screen in STARTER / Startdrive
p0015 Macro drive object 0 (no macro) Optional, used to write a complete DO configuration in one shot
p0100 IEC/NEMA motor standard 0 (IEC, 50 Hz, kW) Sets default motor units
p0400[0] Encoder type selection 3001 (1024 HTL A/B R), 3002 (1024 HTL A/B), 9999 (user-defined) Loads the matching encoder configuration preset into p0401…p0421
p0404[0] Encoder configuration 1111 1111 1111 1111 (default) Bit 0 = invert A, Bit 1 = invert B, Bit 2 = invert R, Bit 3 = invert level evaluation, Bit 4 = invert DC-link measurement, Bit 5 = low-frequency square-wave, etc.
p0405[0] Square-wave encoder type 0 (single-ended, default) 1 = differential
p0408[0] Encoder increments per revolution 1024 Direct PPR value from the encoder data sheet
p0425[0] Distance between zero marks 1024 (= 1024 increments per 1 zero mark) If the encoder has 1 zero mark per revolution this equals p0408; for 1 zero mark per 1/8 turn on a 1024-ppr encoder, p0425 = 128
p0431[0] Zero mark position (offset) 0 (default) Offset in increments between the electrical zero of the encoder and the mechanical zero mark; default = 0 means the zero mark sits at encoder angle 0°
p0437[0] SSI configuration (only for SSI sensors) 0 (n/a) Not relevant for HTL square-wave
p0440[0] Copy encoder (clones p04xx to other encoder interfaces) 0 (no copy) Useful when the same encoder type is used on encoder 2 and 3

The values p0400 = 3001 and p0408 = 1024 together cause the drive to commit the encoder as a 1024-increment HTL encoder with one zero mark per revolution. The parameter p0425 = 1024 confirms that the zero mark occurs once per 1024 increments (i.e. one per revolution). If the encoder is supplied with a separate zero-mark option, the zero-mark distance may be 1/2, 1/4, or 1/8 of the revolution, in which case p0425 must be set to the corresponding sub-multiple of p0408.

Important: SINAMICS does not require any special technology option to evaluate the reference mark. The position-control option (technology extension) is only required when the application wants to read out absolute position in degrees, perform a homing run, or command positions through the Basic Positioner. The raw zero-mark evaluation is built into the sensor module and is always available.

5. Status Parameters — Where the Reference Mark Becomes a Boolean

The SMC30 produces a small set of status words that the CU320-2 reads back over DRIVE-CLiQ. The application can read these through PROFIBUS, PROFINET, or any of the free telegram-configuration words. The relevant status words for reference-mark monitoring are listed in the table below; each is per-encoder, indexed by the encoder number on the drive object (index 0 for encoder 1, index 1 for encoder 2, and so on).

Parameter Name Length Key bits for reference mark
r0451[0..2] SMC30 encoder status (local sensor module) 16 bits Bit 4 = "Zero mark seen since power-on", Bit 12 = "Encoder SSI parity error" (n/a for HTL), Bit 13 = "Encoder fault". For HTL, r0451 is set true on the index pulse if p0425 is valid and the DIP switch is set for zero-mark evaluation.
r0479[0..2] Sensor Module diagnostic word 32 bits Bit 7 = "Zero-mark error", Bit 8 = "Sub-monitor of zero-mark distance outside tolerance"
r0480[0..2] Encoder n status word 1 (G1_STW, sensor interface) 16 bits Bit 12 = "Reference mark function active / Reference mark detected". This is the bit that is most often wired to a Boolean application flag.
r0481[0..2] Encoder n status word 2 (G1_ZSW) 16 bits Bit 11 = "Function safe zero mark detected" (re-armed by Park/Unpark), Bit 13 = "Parked encoder"
r0482[0..2] Encoder n status word 3 16 bits Bits 0–2 = "Active zero-mark function" (01 = true zero mark, 10 = equivalent zero mark)
r0490[0..2] Encoder n status word interface (control/status) 16 bits Bit 12 = "Enable zero mark", Bit 13 = "Request equivalent zero mark"
r0580 Closed-loop position control status (per drive object) 16 bits Bit 0 = "Position controller active", Bit 1 = "Referenced"
r2521[0] Position actual value (LU) — coarse 32 bits Coarse position used by EPOS; counts zero-mark events to maintain the multi-turn counter when the encoder itself is incremental
r2524[0] Position actual value (LU) — fine (modulo) 32 bits One-revolution fine position (0…(p0408–1) LU) which can be combined with r2521 for absolute angle

The cleanest single-bit answer to the recurring question "Which parameter gives me a 1 when the zero mark has just been detected?" is therefore r0480[encoder].12 (G1_STW bit 12, "Reference mark function active"). This bit is asserted by the SMC30 firmware for the duration of the index pulse, then automatically cleared. On a PROFINET cycle time of 1 ms, the application will see a 1–4 ms pulse depending on motor speed. The combined r2521 / r2524 signals form the multi-turn position and one-revolution fine position that the Basic Positioner uses to expose the rotor absolute angle.

6. Equivalent Zero Mark (p0491, p0492, p0493, p0494)

When the actual hardware zero mark cannot be used — for example, a linear encoder with no index channel, a heavy-duty encoder in a dirty environment where the index pulse is unreliable, or a gear-reduced application where the index of the high-speed shaft is not the desired home position — SINAMICS provides a software-generated equivalent zero mark. The relevant parameters are:

Parameter Name Typical value Description
p0490[0] Equivalent zero mark control 0x0000 Bit 12 = enable equivalent zero mark output on the controller; Bit 13 = force a one-shot equivalent zero mark on the next valid position
p0491[0] Equivalent zero mark enable 0 (off), 1 (on) Switches the equivalent zero mark on or off; r0482 bit 0–2 reports which zero-mark function is currently being evaluated
p0492[0] Equivalent zero mark — increments per line 1024 (same as p0408) Number of increments between two equivalent zero marks
p0493[0] Equivalent zero mark — pulse number per line 1 Number of equivalent zero-mark pulses inside the line; for a 4-line encoder with 1 pulse per line, set to 1
p0494[0] Equivalent zero mark — offset 0 Phase offset in increments; the equivalent mark is asserted at encoder position (offset + n × p0492)
p0495[0] Equivalent zero mark — source 0 (true zero mark), 1 (equivalent zero mark) Selects which zero mark is used for referencing

With p0491 = 1 and p0492 = 1024 on a 1024-ppr encoder, the equivalent zero mark is asserted exactly once per revolution at the encoder angle defined by p0494. The status word r0480.12 reflects either the true or the equivalent zero mark depending on p0495, so the application does not need to know which one is active.

7. Reading the Reference Mark as a Boolean in a PLC

In a SIMATIC S7-1500 control panel connected to a CU320-2 over PROFINET, the application can subscribe to the encoder status word by selecting telegram 105 (Standard Telegram 5, PZD-2/2 with encoder status), 106 (PZD-4/4), or the manufacturer-specific telegram 370. In the cyclic I/O image, the relevant word is the second process data word of the encoder status slot. A typical PLC tag wiring looks as follows:

// SCL example for S7-1500 — rising-edge detection on r0480.12
// Inputs from drive: %IW200 = Status word 1 (G1_STW) of encoder 1
// Output to application: %Q50.0  = "zero mark detected this cycle"

#G1_STW := %IW200;
#zeroMarkActive := #G1_STW.%X12;       // bit 12 of the status word
#edgeOut := #zeroMarkActive AND NOT #zeroMarkLast;
#zeroMarkLast := #zeroMarkActive;

IF #edgeOut THEN
    #zeroMarkCount := #zeroMarkCount + 1;
END_IF;

%Q50.0 := #edgeOut;
%QD52  := #zeroMarkCount;

Because r0480.12 is essentially a 1-wide pulse, the PLC must perform the edge detection in the same task class as the PROFINET cycle (typically 1–2 ms in OB1, or 250 µs with an OB61 IRT). The same Boolean can be subscribed through PROFINET with Shared Device / I-Device as a discrete input if the application controller does not perform any extra logic.

8. DCC Implementation — Edge-Detection and Angle Comparator

For drives without an external PLC, the SINAMICS Drive Control Chart (DCC) editor inside STARTER / Startdrive lets the application build a small DCC chart on the CU320-2 that detects the index pulse and resets an internal counter. The blocks are connected in a DCC sheet on the drive object (the chart name is, e.g., MY_ZM_DETECT):

// DCC graph — detect zero mark on r0480.12, latch in flag ZM_PULSE
// Available DCC blocks (Siemens DCBLib):

  [AND]  -> (in1 = r0480.12, in2 = NOT(latch_q))            // one-shot
  [RS]   -> (S = AND.out, R1 = cycle_tick)                  // arm / reset
  [NAND] -> (in1 = RS.Q, in2 = RS.Q)                        // debounce
  [CNTR] -> (CUD = RS.Q, CU = NOT(RS.Q), LD = cycle_tick)   // count
  [OUT]  -> r2090.0 = ZM_PULSE                              // output to PZD

The DCC chart must be linked to the drive object at the right slot (Configuration > DCC > Charts). The sampling time of every DCC block is defined in the DCC chart properties; the recommended sampling for zero-mark detection is 4 ms, which gives a worst-case angular error of 4 ms × motor speed in increments:

Δθ_max = (4 ms × n / 60) × (360 / p0408) [degrees]

For a 1024-ppr encoder at 3000 rpm this is:

Δθ_max = (4 × 10⁻³ × 50) × (360 / 1024) = 0.07°

which is well within the resolution of a typical position-controlled axis.

Warning: A DCC comparator that simply checks "if (r2524 == 0) then signal" will work at zero speed but will produce ambiguous results above a few hundred rpm because r2524 only updates once per revolution and the comparator scan time is several ms. The robust pattern is to latch the moment of the index pulse via r0480.12, not to poll the absolute position.

9. Basic Positioner (EPOS) Referencing — How the Zero Mark Is Used Internally

When the technology option Basic Positioner is licensed and the closed-loop position control is active, the zero mark becomes the synchronization point of the EPOS state machine. The EPOS referencing modes are documented in the SINAMICS S120 Function Manual — Basic Positioner and are configured through the following parameters:

Parameter Name Common values Description
p2599 Reference point coordinate (LU) 0 (default) Position that the drive will write to its internal counter when the reference mark is detected
p2600 Reference point approach velocity 200.0 LU/min Speed of the approach phase (the cam / hardware-switch phase)
p2601 Reference point approach acceleration 0.1 LU/s² Acceleration of the approach phase
p2602 Reference point approach jerk 0 (no jerk limit) Optional jerk limit on the approach phase
p2604 Reference point approach starting direction 0 (positive) 0 = positive, 1 = negative
p2605 Reference point approach direction reversal 0 (no reversal) 0 = no, 1 = yes
p2606 Maximum distance to reference point 1 000 000 LU Maximum search distance before aborting with F07488
p2607 Reference point approach mode 0 (with cam + zero mark), 1 (zero mark only) 0 = cam + encoder zero mark, 1 = cam + external zero mark, 2 = encoder zero mark only, 3 = external zero mark only
p2608 Modulo range 0 (non-modulo) Mechanical modular range; for a 360° axis set to p0408 × gear ratio
p2617 EPOS referencing type / method 0 (active referencing) 0 = active, 1 = passive, 2 = set reference point directly, 3 = absolute encoder (only)
r2684.0 EPOS status, "Referenced" 0/1 Application flag: 1 = the drive has a valid reference; 0 = no reference (this bit replaces the need for the user to monitor r0480.12 directly in many cases)

Once the referencing run completes, r2684.0 is set true. This Boolean is the cleanest "do I have a valid home position" signal the application can read, regardless of whether the zero mark was supplied by the actual hardware or by p0491's equivalent-zero-mark generator. A typical EPOS referencing sequence is initiated with the control word STW1.11 = 1 (Referencing start) and confirmed in ZSW1.12 (Referencing active).

10. Closed-Loop Position Control and r2521 / r2524

When the technology option for closed-loop position control is enabled (the SIMOTION technology package or the EPOS extension), the CU320-2 exposes two coupled position registers: the multi-turn value r2521 (a 32-bit counter that increments every time the encoder zero mark is detected and the new revolution angle is committed) and the one-revolution fine value r2524 (a 32-bit modulo counter of 0 … (p0408–1) LU). The absolute angle of the rotor, expressed in mechanical degrees, is computed as:

θ_mech = 360 × (r2521 + r2524 / p0408) / (p0408 / p0408) = 360 × (r2521 + r2524 / 1024)

which reduces to θ_mech = 360 × (r2521 + r2524 / 1024) for the 1024-ppr encoder in the source application. This is the angle that the original user is reading on the HMI. Note that r2521 is a signed 32-bit value; an unsigned wrap around occurs at 2 147 483 647 / 1024 ≈ 2 097 152 revolutions, which is sufficient for any practical machine life.

11. Complete Commissioning Procedure

  1. Wire the encoder cable to the SMC30 per the SMC30 manual. Verify shield continuity and confirm that the screen is bonded to the SMC30 housing and to the encoder housing on both ends.
  2. Set the SMC30 DIP switch bank S1 for HTL with terminating resistor and zero-mark evaluation.
  3. In STARTER / Startdrive, project the drive object (SERVO or VECTOR) and connect the SMC30 in the topology. The encoder used by the position controller is Encoder 1 unless the application explicitly chooses Encoder 2 or 3.
  4. Open Configuration > Encoders and click Encoder commissioning. The drive writes p0010 = 4.
  5. Set p0400 = 3001 to load the 1024-HTL A/B R preset (alternatively, p0400 = 9999 for a fully user-defined configuration). The preset loads p0404, p0405, p0408, p0425 with the matching defaults for a 1024-ppr HTL encoder with reference mark.
  6. Confirm p0408 = 1024 and p0425 = 1024 (one zero mark per revolution).
  7. Exit encoder commissioning with p0010 = 0. The drive copies the configuration into the running data set and the encoder fault lamp should clear within 1 second.
  8. Test the reference mark by turning the motor slowly (< 100 rpm) by hand. The trace tool in STARTER (Trace > Record > r0480 bit 12) should show a single 1-wide pulse once per revolution.
  9. For the closed-loop position control option, configure EPOS referencing (p2599 – p2617) and run a homing cycle. Verify that r2684.0 latches to 1 at the end of the run.
  10. For the equivalent-zero-mark feature, set p0491 = 1 and confirm the trace still shows one pulse per revolution, but the r0482 status word now reports "active zero mark function = 10 (equivalent)".

12. Verification Checklist

  • Trace r0480 bit 12 at 50 rpm. Expect one 1-wide pulse per revolution, at a constant angular position.
  • Trace r2524 at 1000 rpm. Expect a sawtooth pattern from 0 to 1023, repeating every revolution.
  • Trace r2521 over a 5-revolution span. Expect a 5-step staircase (one increment per revolution).
  • Disconnect the index channel R. The drive should trip with F3x001 (encoder fault) and r0479 bit 7 = 1 (zero-mark error) within one zero-mark period.
  • Set p0491 = 1, then mechanically hide the actual zero mark (block channel R with a service jumper). The drive should still reference successfully because the equivalent zero mark replaces the missing hardware index.
  • Run the drive at 6000 rpm and let the controller hold a position. The r2524 / r2521 transition should not produce a glitch at the zero-mark crossing.

13. Troubleshooting Matrix

Symptom Probable cause Action
r0480.12 never goes high SMC30 DIP switch 5 is OFF, so the index channel is not enabled Set DIP switch 5 = ON, power-cycle the SMC30
r0480.12 is always high Encoder A/A\ or B/B\ is swapped; the SMC30 cannot distinguish direction and locks the latch Swap A and A\, restart; check r0479 bit 4 / 5 for square-wave fault
r0480.12 fires more than once per revolution p0425 is set to a sub-multiple of p0408 (e.g. p0425 = 128 on a 1024-ppr encoder with 1 mark / 1/8 turn) Read the encoder data sheet; set p0425 to the correct number of increments per zero mark
r0479 bit 7 = 1 (zero-mark error) The zero-mark distance is non-uniform due to belt slip, gear backlash, or stretched encoder shaft Inspect mechanics; if the encoder is a kit encoder, set p0431 (zero-mark offset) to compensate
r2521 increments twice per revolution The encoder has two zero marks per revolution (e.g. with a U/V/W commutation output that contains an index), and p0425 is half the correct value Set p0425 = p0408 (correct), or p0425 = 512 if the encoder has 2 marks per rev
EPOS r2684.0 stays 0 after a homing run Active referencing was started without a hardware enable, or the cam is incorrectly wired to a different digital input Check p2607 mode and p2617 method; verify the cam signal lands on the configured digital input (r0722.x)
r0474 (Encoder n actual velocity) reads 0 even though motor turns Encoder is on Encoder 2 but the position control is using Encoder 1 Re-assign p2580, p2581, p2582 to the correct encoder number; clear fault with p3981
Equivalent zero mark not visible on r0480.12 p0491 = 1 but p0495 still selects the true zero mark Set p0495 = 1 (equivalent) and re-verify in the trace
False zero mark during standstill Encoder cable picks up noise; input level on channel R is near the switching threshold Use shielded, twisted-pair cable; enable 150 Ω termination on SMC30 DIP switch 7
F07488 (homing fault) on every EPOS run p2606 (max search distance) too small; the cam and zero mark are too far apart Increase p2606 to at least one full mechanical travel

14. Common Operator Errors and Field-Proven Caveats

  • Setting p0400 = 9999 (user-defined) disables the safety net of the preset values, but the user-defined route is required if the encoder is a non-standard product (e.g. a Sick VFS60, a Heidenhain ROD 436, or a Hengstler RI 58 with a non-Siemens pinout). Always re-check p0404 to p0421 manually after the user-defined preset.
  • On a CU320-2 with a Multi-CU arrangement (CU320-2 + CX32-2), the encoder on the CX32-2 must be configured on the host CU, not on the CX32-2. The cross-binding p0680[0..3] routes the SMC30 signals to the drive objects.
  • If the application also uses an SSI absolute encoder on a second SMC30 (e.g. as a load-side encoder), the cross-encoder p0431 offset will not transfer the reference mark; each SMC30 has its own zero-mark counter.
  • Power-Modules in chassis format (e.g. Active Line Module + Motor Module) have a different slot numbering for the SMC30 (slot 2, not slot 1) and the parameter index for r0451 / r0480 follows the slot, not the encoder number.
  • On a CU320-2 DP (the older PROFIBUS-only variant), the same parameters apply, but PROFIdrive conformance requires that r0480 word 1 be placed at the PZD position defined by telegram 105; the index column does not exist on PROFIBUS, the PZD position is fixed.

15. Reference Summary

Goal Parameter to read Parameter to write
Hardware zero-mark enable r0451[0].4 SMC30 DIP switch 5 = ON
Encoder type and resolution r0400, r0408, r0425 p0400 = 3001, p0408 = 1024, p0425 = 1024
Boolean zero-mark detected r0480[0].12 p0010 = 4 then 0
Safe zero mark after parking r0481[0].11 p0490.13 = 1 to re-arm
Equivalent zero mark r0482[0].1 p0491 = 1, p0492 = 1024, p0493 = 1, p0494 = 0, p0495 = 1
EPOS referenced flag r2684.0 p2599 = 0, p2617 = 0, p2607 = 0
Multi-turn position r2521 (driven by zero-mark events)
One-revolution fine r2524 (driven by p0408 resolution)

FAQ

Which parameter toggles when the SMC30 detects the zero mark on a CU320-2?

The status word bit r0480[encoder].12 (G1_STW bit 12, "Reference mark function active") is set to 1 for the duration of the index pulse and cleared automatically. Subscribe to it through PROFINET, PROFIBUS telegram 105/106/370, or read it directly in STARTER / Startdrive via the trace tool.

Do I need a special technology option to evaluate the hardware zero mark on the SMC30?

No. The SMC30 evaluates the R/N index channel natively and exposes the result through r0451 and r0480. The technology options (closed-loop position control, basic positioner) are only needed to use the zero mark for absolute position, homing, or EPOS referencing — not to read the raw index pulse.

What is the difference between r0480.12 and the EPOS "Referenced" bit r2684.0?

r0480.12 reflects the raw, real-time index pulse and is suitable for synchronising fast logic. r2684.0 is a persistent latching bit that becomes 1 only after a successful EPOS referencing run and stays 1 until a new run is started, so it is the right Boolean for an interlock ("is the axis referenced?").

How do I generate a zero mark in software when the encoder has no index channel?

Enable the equivalent zero mark with p0491 = 1, set the line distance to p0492 = p0408, set the pulse number per line to p0493 = 1, configure the phase offset in p0494, and select the equivalent source with p0495 = 1. The status word bit r0480.12 will then reflect the software-generated pulse exactly as it would the hardware one.

Why does the EPOS reference run fail with F07488 even though the index mark is present?

F07488 is reported when the active referencing state machine does not see the cam and the index mark within the search distance p2606. Increase p2606 to at least one full mechanical travel, verify that the cam is wired to the digital input configured in p2607, and confirm that the index mark is enabled in p0495.

Back to blog