Resolving MC Alarm 401 Invalid Logical Address on SINAMICS S120

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

1. Error Identification and Symptom Summary

The "Requested logical address is invalid" diagnostic is raised on the SIMATIC S7-1500 / S7-1200 controller when a Motion Control (MC) instruction block such as MC_Power, MC_MoveJog, MC_MoveAbsolute, MC_Home, or MC_Reset cannot access the I/O area it has been configured against. In TIA Portal, the alarm appears as MC Alarm 401 on the technology object (TO) and is also written into the CPU diagnostic buffer as "Error accessing logical address <Byte>.<Bit>".

A typical buffer entry from a SINAMICS S120 setup looks like:

MC Alarm 401: Error Accessing logical address 129.3
Event ID   : 0x02B1 (or 0x02B4)
Direction  : Read / Write
TO         : TO_Axis_1 / TO_SynchronousAxis_1

The diagnostic event is independent of the drive's own status. The drive can still report RUN with a green LED, can be jogged from the SINAMICS Control Panel on the SINAMICS S120 Commissioning Tool, and can still be observed online in Startdrive. That is the strongest indicator that the fault is not on the drive's PROFINET telegram but on the PLC side TO / I/O mapping.

Important: Operating the drive from the SINAMICS Commissioning Tool or Control Panel only verifies the drive object and telegram are alive on PROFINET. It does not verify the SIMATIC TO mapping. Always inspect the PLC diagnostic buffer and the TO status before assuming the drive is at fault.

2. Affected Hardware and System Topology

The fault is observed in configurations where an S7-1500 controls a SINAMICS S120 line-up through PROFINET IRT / RT with a technology object bound to a drive telegram. Common catalog numbers involved:

Component Catalog Number Role
SIMATIC S7-1500 CPU 6ES751x-xxx0x-0AB0 IO Controller, runs MC blocks
SINAMICS S120 Control Unit 6SL3040-1MA01-0AA0 / -0AB0 (CU320-2) Drive controller
SINAMICS S120 Double Motor Module 6SL3120-2TE13-0ADx (Booksize) Two-axis power section
SINAMICS Line Module 6SL3130-xxx (e.g. 6SL3130-1TE31-0AA0) DC bus supply
ET 200SP distributed I/O 6ES7155-6xxx0-0AB0 (IM) + 6ES713x (modules) Hardware limit switches, encoder feedback
Startdrive (TIA option package) 6SL3055-0AA00-5xxx Drive commissioning inside TIA Portal

The error is most often raised when the PLC has a TO bound to a Drive Object (DO) on a CU320-2 that is reachable on PROFINET, but the input/output image addresses the TO is configured against have not been resolved correctly. The TO stores I/O addresses (logical addresses) for the telegram, the encoder, and the optional hardware limit switches. Any mismatch in these logical addresses produces MC Alarm 401.

3. Reading the Diagnostic Buffer (PLC Side)

Open the CPU in Online & Diagnostics in TIA Portal and expand the diagnostic buffer. The MC Alarm 401 entry will be reported as a Motion Control event. The decoded fields are:

Field Value in example Meaning
ErrorID 401 Invalid logical address requested by TO
ErrorInfo 129.3 I/O address the instruction tried to access; format = Byte.Bit
Event Class 13 (Motion Control error) Source of the diagnostic
Source MC-Interpolator / TO Where the access attempt originated
Direction Input or Output Whether the read or write image is invalid

The 129.3 in the example refers to input byte 129, bit 3. Decoding this address against the device configuration in Devices & Networks identifies which PROFINET slot or which hardware limit switch the TO is trying to access. The Siemens List of ErrorIDs and ErrorInfos for Technology Objects V4..V5 (S7-1200) lists this code as "The requested logical address is invalid. Connect a suitable device. Check the device (I/Os). Check the topological configuration in HW Config. Compare the I/O assignment to the configuration."

The same Siemens KB entry also recommends cross-checking:

  1. The drive device is actually present and reachable on PROFINET.
  2. The configured I/O addresses in the TO match the device.
  3. The hardware limit switches, if configured, exist and are reachable.
  4. The encoder configured in the TO matches the encoder wired to that drive.

4. Root Cause Analysis: Logical Address Mapping

The TO stores three logical addresses:

Logical address in TO Purpose Source of data
Drive telegram address Standard telegram 1..106 (control word / status word + setpoints / actuals) Configured in HWCN under the SINAMICS drive
Encoder address Actual position value Configured in HWCN under the encoder sub-slot
Hardware limit switch address (optional) HW limit switch negative / positive Configured under TO > Hardware > Hardware limit switch

If the logical address stored in the TO does not match the address computed by HWCN at compile time, the MC instruction tries to read/write an area that is not assigned and the cyclic OB generates a process image error. Symptom: MC Alarm 401 with the exact byte.bit from the TO. Confirm:

  1. In Devices & Networks, select the SINAMICS drive and inspect the IO addresses tab. Note the start address of the telegram and the encoder sub-slot.
  2. Open the TO, go to Configuration > Hardware interface, and compare the addresses. Any difference indicates the TO was not re-mapped after the HW configuration was changed.
  3. Right-click the TO and select Map to → correct drive object. This re-creates the binding and forces a re-evaluation of the logical address.

5. Root Cause: Encoder Topology Mismatch

The Double Motor Module 6SL3120-2TE13-0ADx exposes two drive objects (DO1 and DO2). Each DO carries its own encoder sub-slot. In field wiring it is common for the encoder for DO1 to be terminated at the second motor connector and vice versa. From the TO's perspective the logical address is still valid (the encoder sub-slot is reachable), but the data delivered is for a different motor, which can confuse Safety Integrated commissioning and subsequently cause MC Alarm 401 on the TO.

Resolution steps:

  1. Online in Startdrive, open the affected DO and inspect Commissioning > Encoder. The encoder type and resolver model number should match the nameplate of the motor wired to that connector.
  2. If the encoder is on the wrong DO, delete the encoder configuration on both DOs and rebuild it. Use Configure DDSEncoder assignment to explicitly map each encoder to its correct drive object.
  3. Because the topology change is structural, regenerate the Safety CRC: start Safety Integrated commissioning, then immediately stop it. This is mandatory whenever the encoder topology changes.
  4. Re-run the topology check in HWCN (right-click the SINAMICS device → Compile) and download the hardware configuration to the CPU.
  5. Once the encoder is on the correct DO, the TO that previously raised MC Alarm 401 will read a valid position and the alarm will clear.

6. Root Cause: ET200SP Hardware Limit Switch State

If a TO is configured to use a hardware limit switch and that limit switch is wired to an ET 200SP station that is unpowered, missing, or has a failed module, the periodic polling of the limit switch input generates MC Alarm 401 on every MC instruction. Typical ET 200SP failure modes that trigger this state are documented in the Siemens ET 200SP status and error display manual:

ET 200SP condition Effect on TO
Supply voltage L+ missing at BaseUnit (BU...D) All module inputs read 0; configured HW limit switch appears unpowered
PROFINET IO controller STOP / recovery IO data is invalid; MC alarms fire on every cyclic read
Module pulled or replaced Slot address temporarily invalid until topology re-discovered
Invalid configuration of the ET 200SP on PROFINET IO Station stays in diagnostic state; no IO data exchanged

The field-proven workaround is to either power the ET 200SP station so the HW limit switches become valid, or temporarily disable the hardware limit switch in the TO so the MC instruction no longer references the invalid I/O address. To disable, open the TO → Hardware > Hardware limit switch and uncheck Enable HW limit switch. Re-enable once the ET 200SP is healthy.

7. Root Cause: Telegram and I/O Configuration Mismatch

The MC Alarm 401 will also be raised when the telegram type configured in HWCN on the SINAMICS DO does not match the telegram type the TO has been built against. Example mismatches:

  • DO is configured for Standard Telegram 1 (PZD-2/2) but the TO was generated against Standard Telegram 3 (PZD-5/9) because the TO wizard picked the wrong DO at creation time.
  • The TO was created in an earlier project version against Drive Object 2 (motor 2) of the Double Motor Module, but the project was edited so the DO is now Drive Object 1.
  • Two TOs are mapped to the same DO by mistake; the second TO is then bound to an address that does not exist.

Validation steps:

  1. In Devices & Networks, open the SINAMICS device → Device view. For each DO, note the telegram number and the start addresses of inputs and outputs.
  2. In the TO → Configuration > Drive, confirm Drive object, Reference speed, Maximum speed, and the telegram type agree.
  3. Compile the project with Compile > Software (rebuild all blocks) to force a fresh TO ↔ HWCN address evaluation.

8. Step-by-Step Resolution Procedure

The following ordered procedure resolves MC Alarm 401 in the field. It assumes the drive itself is healthy (green LED, no active faults in Startdrive) and that PROFINET communication is established (no SF/BF on the CU320-2).

  1. Read the diagnostic buffer on the S7-1500 CPU. Note the ErrorID (401) and the ErrorInfo logical address (for example 129.3).
  2. Decode the logical address: in Devices & Networks, switch to IO communication view. The address must map to a slot/sub-slot on a real PROFINET device. If the address falls in a gap between devices, the TO has the wrong mapping.
  3. Re-bind the TO to the correct drive object: TO → ConfigurationDrive objectMap to → select the correct DO. Confirm.
  4. Rebuild the TO if the binding is still inconsistent: delete the TO, recompile the project, then create a new TO from scratch using Add new technology object → TO_Axis_PTO or TO_SynchronousAxis as appropriate.
  5. Verify encoder assignment: open Startdrive online, navigate to Commissioning > Encoder for each DO, and confirm the encoder wired at the motor connector is mapped to that DO. Swap encoder assignment if needed.
  6. Reset Safety CRC if the encoder topology was modified: in Startdrive → Safety Integrated → Commissioning, start and immediately stop the safety commissioning wizard. This re-generates the CRC without altering the configured safety functions.
  7. Resolve ET 200SP station issues: ensure L+ is present on every BaseUnit BU...D, ensure the IM is configured and reachable, and confirm the DI module hosting the HW limit switches has a healthy SF/MT LED state.
  8. Compile and download: stop the PLC if any TO address table changes were made, then download the hardware configuration and software to the CPU.
  9. Restart the TO: in the TO → Commissioning view, run the axis control panel to verify MC_Power, MC_MoveJog, and MC_Home all clear without re-raising MC Alarm 401.

9. Verification and Commissioning Checks

After applying the fix, perform the following checks to confirm MC Alarm 401 will not return:

Check Method Pass criterion
TO active Watch the TO_Axis status word in a watch table AxisStatusWord bit 0 = 1 (Enabled) with no transient error
Diagnostic buffer clean Online & Diagnostics → Diagnostic buffer No new entries with ErrorID 401
Hardware limit switch Force the input and observe TO response TO reacts within one MC cycle; no alarm
Encoder feedback Jog the motor and watch actual position Actual position tracks setpoint without alarm
PROFINET quality Read CU320-2 cyclic counters in Startdrive No timeout counters incrementing

Run the axis for at least one full motion cycle (e.g. MC_MoveAbsolute from -100 mm to +100 mm with 100 mm/s) to confirm no transient MC Alarm 401 reappears during motion.

10. Related I/O Error Conditions and Diagnostics

Beyond MC Alarm 401, the Siemens technology object error list contains other I/O related alarms that often appear together or as follow-on errors. The most common are:

ErrorID Cause First action
301 Drive telegram not received within monitoring time Check PROFINET watchdog, drive name, IP address
304 Encoder telegram timeout Check encoder connector, encoder sub-slot, PROFINET
401 Invalid logical address (this article) Re-map TO to correct DO; check ET 200SP
502 Hardware limit switch activated while axis not homed Verify limit switch wiring and polarity
700 Internal TO configuration inconsistency Rebuild TO and recompile project

If MC Alarm 401 is replaced by ErrorID 502 after re-binding, the issue has shifted to the limit switch wiring rather than the logical address mapping.

Safety note: Any change to encoder topology or DO binding requires a Safety Integrated recommissioning including bump test on the safety functions tied to that axis. Failing to do so can leave Safe Stop 1 (SS1) or Safely-Limited Speed (SLS) using pre-fault parameters, which violates SIL/PL assumptions.

What does MC Alarm 401 mean on a SINAMICS S120 axis?

It indicates the Motion Control instruction tried to read or write an I/O address that the technology object has not been bound to. Verify the TO is mapped to the correct drive object on the CU320-2, the encoder sub-slot is correctly assigned, and any configured hardware limit switch is present on a powered PROFINET device.

Why does the drive work from the Control Panel but not from the PLC?

The Control Panel talks directly to the SINAMICS Drive Object over PROFINET and does not depend on the SIMATIC technology object. The PLC path requires the TO's logical addresses to match the device configuration, so the MC Alarm 401 only appears on MC_Power / MC_MoveJog / MC_Home calls from the S7-1500.

Can a missing ET 200SP cause MC Alarm 401?

Yes. If the technology object is configured to use a hardware limit switch wired to an ET 200SP station that is unpowered or in diagnostic state, the polling of that input fails. Power the ET 200SP or temporarily disable the hardware limit switch in the TO to clear the alarm.

Do I need to reset the Safety CRC after fixing MC Alarm 401?

Only if you changed the encoder topology on a SINAMICS Safety Integrated axis. A pure TO remap that does not move the encoder between drive objects does not invalidate the Safety CRC. If you do swap encoders, restart the Safety Integrated commissioning wizard and perform the documented bump test before returning the machine to production.

What logical address does ErrorInfo 129.3 point to?

It points to input byte 129, bit 3 in the SIMATIC process image. In Devices & Networks switch to the IO communication view to see which device and slot is mapped to that address. In most Double Motor Module setups this is an encoder status bit or a hardware limit switch input.

Back to blog