Problem Summary
A SIMATIC S7-1500 Technology Object (TO) controlling a SINAMICS S120 with a CU310-2 PN raises Technology alarm 103 ("MC fatal alarm 103") as soon as the application executes MC_Power or MC_Home. The same drive works perfectly when operated directly through the SINAMICS basic positioner (EPOS) on the drive itself; the fault appears only when the TO is set to isochronous mode and PROFIdrive telegram 105 is mapped to the axis.
The alarm is documented in the SIMATIC AX library documentation as belonging to the Encoder Adaptation functional block family inside the SIMATIC Motion Control runtime. The PLC stops with alarm reaction Remove enable, restart class Required, and the axis will not leave the disable state. The visible secondary indicators in the diagnostic buffer typically point to either:
- Encoder actual value G1_XIST1 or G1_XIST2 (PROFIdrive process data) cannot be adapted, or
- The drive refused to expose the encoder data block at the configured logical address.
Affected Hardware and Software Stack
The reference configuration where Alarm 103 was reproduced and resolved:
| Component | Article / Order Number | Version |
|---|---|---|
| SIMATIC CPU | CPU 1511TF-1 PN — 6ES7511-1UK01-0AB0 | Firmware 2.8 |
| Engineering | TIA Portal V16 (latest updates) | V16 Update 6+ |
| Power Module | SINAMICS S120 PM340 — 6SL3210-1PE21-8AL0 | — |
| Control Unit | CU310-2 PN — 6SL3040-1LA01-0AA0 | — |
| Motor | 1FK7064-4CF71-1RA0 (synchronous servomotor) | — |
| Encoder | AM20DQI absolute encoder (DRIVE-CLiQ) | 20-bit singleturn + 12-bit multiturn |
| PROFIdrive telegram | Telegram 105 (positioning, isochronous) | — |
| Drive-side option | Basic positioner EPOS (initially active, later cleared) | — |
Root Cause Analysis
Technology alarm 103 is the runtime signal that the SIMATIC Motion Control kernel could not initialize the automatic encoder adaptation between the SIMATIC TO and the SINAMICS drive. The SIMATIC AX library tries to read several encoder parameters acyclically (PROFIdrive parameter channel) and to map the cyclic XIST1 / XIST2 words into the I/O image of the TO. Any one of the following preconditions can trigger 103:
- Logical address not in I/O area. During axis configuration, the encoder addresses were routed to a data block or bit memory range. Encoder adaptation only works when the encoder is interconnected directly to an I/O area (process image input).
- Non-SINAMICS encoder channel. Adaptation requires a Siemens encoder (or external Siemens encoder profile) that exposes the parameter channel through PROFIdrive PN. Third-party encoders, certain TM modules, or non-DRIVE-CLiQ encoders wired into the PROFINET side will not satisfy the check.
- PROFIdrive acyclic communication unsupported. Some compact SINAMICS variants or older firmware revisions do not provide all parameter records over acyclic PN records. The TO detects this and aborts adaptation.
- Inconsistent drive configuration. Residual EPOS data, leftover BICO interconnections, or an encoder configuration written while EPOS was active can cause the CU310-2 to expose a non-standard telegram layout. The TO then misreads the encoder words and aborts with 103.
- Stale online encoder data. The TO uses a checkbox "Automatically apply encoder values during runtime (online)". When this option is enabled, the TO attempts to overwrite the configured encoder reference values from the live drive values on every restart. On a freshly commissioned drive that has never referenced, this transfer produces invalid XIST values.
Technology Alarm 103 Decoder Table
Use this matrix to triage the alarm text emitted by MC_ReadAlarm or visible in the TIA Portal diagnostic buffer:
| Alarm Sub-Text | Likely Cause | First Action |
|---|---|---|
| Encoder is not assigned to a SINAMICS device | Encoder channel not on SINAMICS / external Siemens encoder | Verify DRIVE-CLiQ topology; re-import drive into project |
| Encoder is not interconnected directly to I/O area | Addresses mapped to DB or bit memory | Remap encoder addresses to PI/PII |
| Adaptation canceled due to insufficient resources | CPU lacks free PROFIdrive acyclic slots | Reduce active acyclic connections; check firmware |
| XIST1 / XIST2 invalid | Telegram mismatch or online encoder apply | Disable online apply; re-download axis |
| PROFIdrive acyclic unsupported | Old drive firmware / wrong device variant | Update CU310-2 firmware via SINAMICS Webserver or Startdrive |
Preconditions Before Re-Commissioning
Before applying either solution path, validate the following. They eliminate the most common time-wasters.
- TIA Portal is project-consistent. Project → Compile → Software (rebuild all blocks). Errors here will silently break the encoder I/O mapping.
- Drive firmware is reachable. Open Devices & Networks → CU310-2 PN → Online → Accessible nodes. If the CU does not appear, fix the PROFINET topology before touching the TO.
- No residual EPOS configuration. If the drive was previously commissioned with the drive-side basic positioner, complete the factory reset path in Solution B; partial cleanup is unreliable.
- Telegram assignment matches on both sides. TIA: Device configuration → CU310-2 → Properties → Telegram configuration. Drive: p0922 = 105. Both must agree.
- Isochronous mode configured identically. PROFINET IO → CU310-2 PN → Real-time settings → Isochronous mode with the same SendClock and ReductionRatio as the SIMATIC IO.
Solution Path A — Disable Online Encoder Apply
This is the fastest fix and should be attempted first when the drive was previously commissioned with EPOS or another encoder-using mode.
- In the TIA Portal project tree, open Technology objects → [your axis] → Configuration.
- Navigate to Encoder → Actual value coupling (or Data exchange with the encoder depending on TIA V16 patch level).
- Locate the checkbox "Automatically apply encoder values during runtime (online)" and uncheck it.
- Recompile the project and download the hardware configuration and the technology object to the CPU.
- Stop and restart the CPU (not just a STOP→RUN toggle; a full restart with initialization).
- Re-execute
MC_Reseton the TO to clear the 103 alarm.
Solution Path B — SINAMICS S120 / CU310-2 Factory Reset
When Solution A is insufficient — typically because the drive retains inconsistent parameter sets from a prior EPOS, hydraulic, or sensorless commissioning — perform a factory reset on the SINAMICS side and then re-create the configuration from a clean slate.
B.1 Factory Reset via STARTER / Startdrive
- Go online with the CU310-2 PN from TIA Portal (or open STARTER for the standalone workflow).
- Right-click the drive → Online → Restore factory settings.
- Confirm the dialog. The drive resets all parameters including p0010, p0970, and the drive topology.
- Power-cycle the line infeed and the PM340 to ensure the reset sticks.
- Re-upload the drive into the TIA project. Use Devices & Networks → CU310-2 → Get device configuration or the equivalent Startdrive action.
B.2 Reconfigure Without EPOS
The drive-side basic positioner (EPOS) and the SIMATIC TO are mutually exclusive only at the encoder-ownership level. Once the drive has been factory-reset, do not re-enable EPOS. Configure the drive as a pure servo with telegram 105:
- Set p0922 = 105 (telegram selection).
- Set p0010 = 0 and accept the parameter check.
- Set the drive control mode to Speed/torque control with PROFIdrive positioning (p1300 = 21 or appropriate) depending on your application profile.
- Run Automatic motor identification (p1910) and Automatic speed controller optimization (p1960) if your mechanical setup requires it.
- Save the parameters to the non-volatile memory (Copy RAM to ROM).
B.3 Re-create the Technology Object
- In TIA Portal, delete the existing TO for the SINAMICS axis.
- Create a new TO (e.g., TO_SynchronousAxis or TO_SpeedAxis) and assign it to the CU310-2 PN PROFINET device.
- During the wizard, select Telegram 105 as the PROFIdrive telegram.
- Map the encoder. The TO wizard should auto-detect the DRIVE-CLiQ encoder on the first slot of the CU310-2.
- Verify the encoder I/O addresses point to the process image input, not a DB.
- Disable Automatically apply encoder values during runtime (online) as in Solution A.
- Compile and download.
Encoder Adaptation Reference (XIST1 / XIST2)
The AM20DQI exposes a 20-bit singleturn resolution (1048576 increments) and a 12-bit multiturn range (4096 revolutions). When this encoder is mapped into telegram 105, two cyclic process words are available:
| Process Word | PROFIdrive Name | Meaning | Direction |
|---|---|---|---|
| G1_XIST1 | Position actual value 1 | Raw incremental position, resets each revolution | Drive → PLC |
| G1_XIST2 | Position actual value 2 | Absolute position across the multiturn range | Drive → PLC |
| MdEPos / NIST_B | Position setpoint / actual speed | From telegram 105 setpoint slot | Bidirectional |
The TO uses XIST2 as the absolute reference and XIST1 for incremental checks. When either value is read as 0, the encoder adaptation function aborts with alarm 103. This is the behaviour observed when the online-apply checkbox forces a transfer of uninitialized encoder data.
Telegram 105 Signal Mapping
Telegram 105 is the standard Siemens positioning telegram and is the expected configuration when the SIMATIC TO is responsible for positioning. The slot layout (relevant subset for Alarm 103 diagnostics):
| Slot | Signal | Word Count | Direction |
|---|---|---|---|
| 1 | STW1 (control word 1) | 1 | PLC → Drive |
| 2 | NSOLL_B (speed setpoint) | 2 | PLC → Drive |
| 3 | XERR (position error) | 2 | PLC → Drive |
| 4 | KPC (position controller gain) | 2 | PLC → Drive |
| 5 | ZSW1 (status word 1) | 1 | Drive → PLC |
| 6 | NIST_B (speed actual) | 2 | Drive → PLC |
| 7 | G1_XIST1 | 2 | Drive → PLC |
| 8 | G1_XIST2 | 4 | Drive → PLC |
If the drive is configured for a different telegram (e.g., 3, 102, or 111) and the TO is forced to 105, the encoder adaptation will detect a length mismatch and abort with 103.
Verification Procedure
After applying either solution, perform this verification sequence:
- Online diagnostics. In TIA Portal, open Online & Diagnostics → Motion Control diagnostics on the TO. Confirm no active alarms and no pending 103.
-
Power the axis. Call
MC_Powerin the user program. The axis should reach Operational state without raising 103. -
Reference the axis. Call
MC_Homewith Mode = 0 (direct homing) for the first commissioning pass. Confirm a positive acknowledgement. -
Move the axis. Call
MC_MoveAbsolutewith a small setpoint. Observe the actual position in the TO online view; XIST1 and XIST2 must increment together. - Cold restart test. Stop the CPU, power down, power back up, run. Confirm Alarm 103 does not reappear. This validates that the encoder adaptation initializes cleanly.
- Isochronous diagnostics. Open the PROFINET diagnostics for the CU310-2 PN port. Life sign jitter must remain below the configured tolerance; otherwise the TO will raise a different alarm (e.g., 501).
Edge Cases and Field-Proven Caveats
- Multiple encoders on the CU310-2. If a second encoder is attached (e.g., an external EnDat), verify which encoder is selected as G1 in p0480/p0488. The TO expects encoder 1 to be the active position source.
- Firmware mismatch between CPU and drive. CPU 1511TF at firmware 2.8 with CU310-2 PN at firmware earlier than 4.7 can produce intermittent 103 entries after warm restarts. Update the drive firmware via the integrated webserver or Startdrive.
- Project with multiple S120 axes. Acyclic PROFIdrive resources are shared. If the CPU shows "insufficient resources" in the alarm sub-text, reduce the number of simultaneously active acyclic connections or migrate to a 1515/1516 CPU.
- Re-import after firmware update. The TIA Portal device description (HSP) must match the drive firmware. After any CU310-2 firmware change, update the HSP, re-import the device, and recompile.
- Security mode on the CPU. Access protection at level "Read/write" prevents the runtime encoder adaptation from writing parameters. Set the CPU access protection to "No access (complete protection disabled for this connection)" during commissioning and tighten it afterward.
Quick Triage Flowchart
Related Configuration Checks
Alarm 103 often appears in the same commissioning session as the following issues. Address them in parallel:
| Symptom | Related Check |
|---|---|
| Axis faults 501/502 after 103 clears | Isochronous configuration mismatch between CPU and drive |
| Position jumps after homing | Encoder reference not committed to non-volatile memory |
| MC_Home fails with 20005 | Homing configuration contradicts encoder multiturn range |
| MC_MoveAbsolute follows, but lag spikes | Position controller gain KPC default — tune via SINAMICS trace |
Documentation References
- Technology alarm 103 - Manual - SIMATIC AX — Siemens official Motion Control library documentation for the encoder adaptation block family.
- Siemens Industry Online Support — official portal for SINAMICS S120 firmware, HSPs, and FAQs.
- SINAMICS S120 Function Manual — telegram layout and encoder adaptation reference.
- SIMATIC Motion Control Function Manual — TO configuration and Alarm 103 page reference.
Frequently Asked Questions
What does Technology alarm 103 mean on a SINAMICS S120 with CU310-2?
Alarm 103 means the SIMATIC S7-1500 Motion Control Technology Object could not initialize the encoder adaptation with the SINAMICS drive. The runtime cannot read the XIST1 / XIST2 actual values, so the axis is kept in the disable state with alarm reaction "Remove enable" and restart class "Required".
Do I need to factory-reset the SINAMICS S120 to clear alarm 103?
Often yes if the drive was previously commissioned with EPOS or any non-PN motion profile. Uncheck "Automatically apply encoder values during runtime (online)" first, recompile, and cold-restart the CPU. If 103 persists, perform a factory reset on the CU310-2 and rebuild the configuration as a pure servo with telegram 105.
Which PROFIdrive telegram should I use with the SIMATIC Motion Control TO?
Use telegram 105 for positioning on a SINAMICS S120 with CU310-2 PN. Ensure p0922 = 105 on the drive and that the same telegram is selected in the TIA Portal device configuration of the CU310-2. The TO expects XIST1, XIST2, ZSW1, NIST_B and the corresponding setpoint slots to be present.
Can alarm 103 appear on a third-party encoder wired into the CU310-2?
Yes. The encoder adaptation only supports Siemens encoders or external encoders with the Siemens PROFIdrive profile reachable via the SINAMICS parameter channel. DRIVE-CLiQ encoders such as the AM20DQI always work; EnDat encoders via the SMC30 module also work if the correct parameter set is loaded.
Does alarm 103 require a CPU firmware update?
Sometimes. CPU firmware 2.8 on the 1511TF combined with older CU310-2 firmware versions can cause intermittent 103 entries on warm restart. Update both the CPU firmware and the CU310-2 firmware via Startdrive, then re-import the drive into the project and recompile.