Siemens 16020 - Repositioning in block is not possible
SINUMERIK alarm 16020 occurs when the spindle fails to reach the programmed orientation angle within the monitoring time defined in MD35110 (SPIND_POSITIONING_TIME). The NC expects position feedback confirmation from the spindle drive after issuing M19 or automatic tool change orientation commands.
Siemens 16020 - Repositioning in block is not possible
Repositioning in block is not possible
Programming or operator action incorrect: Repositioning via REPOS command is only possible in an asynchronous subprogram (interrupt routine). If the REPOS command was programmed, e.g. in the main program or in a cycle, part program execution is aborted with alarm 16020. In addition, the alarm is output in the following situations: - Access to $AC_RETPOINT (repositioning point) outside an ASUP (e.g. in the main program) - An axis to be repositioned was a oscillating axis with sychronous infeed (OSCILL) in the interrupted block and is now in a state that does not allow it to be traversed as a oscillating axis. Remedy: Change the axis to "neutral axis" state before repositioning with WAITP. - An axis to be repositioned was an infeed axis for a oscillating axis in the interrupted block; now it can no longer be traversed as one. Remedy: Change the axis back to "POS axis" state before repositioning Control reaction: Interpreter stop NC Start disable in this channel. Interface signals are set. Alarm display.
Root Cause Summary
SINUMERIK alarm 16020 occurs when the spindle fails to reach the programmed orientation angle within the monitoring time defined in MD35110 (SPIND_POSITIONING_TIME). The NC expects position feedback confirmation from the spindle drive after issuing M19 or automatic tool change orientation commands.
Safety
Only qualified personnel should diagnose and clear control alarms; follow the machine builder's safety procedures and lockout/tagout where hardware work is required.
Causes and Fixes
1
Check positioning timeout parameter
Navigate to HMI > Parameters > Machine Data > Channel > MD35110 SPIND_POSITIONING_TIME and verify current value is adequate for spindle deceleration time.
Typical values range from 5000-15000ms depending on spindle inertia and drive response
2
Monitor actual positioning time
Use HMI > Diagnostics > Service > Spindle to observe actual time required for M19 completion during manual test.
Ensure spindle is at safe RPM before testing orientation
3
Adjust timeout if necessary
Increase MD35110 value by 20-30% above observed positioning time and perform power-on reset to activate changes.
Mode 1 is most common for AC spindles with absolute encoders
2
Validate encoder feedback
Navigate to HMI > Diagnostics > Service > Drives and verify spindle encoder signals are stable and updating correctly.
Check encoder cable connections before adjusting parameters
3
Test positioning function
Execute manual M19 command in MDI mode and monitor DB380x spindle interface signals for proper handshaking sequence.
1
Check spindle interface signals
Navigate to HMI > Diagnostics > Service > PLC I/O and verify DB380x.DBX1.2 (spindle positioning active) and DB380x.DBX0.2 (positioning complete) signal states.
Signals should toggle properly during M19 execution sequence
2
Verify drive communication
Check HMI > Diagnostics > Hardware > Drive Status for spindle drive communication errors or telegram failures on PROFIBUS/PROFINET.
Address any communication alarms before proceeding with spindle diagnostics
3
Test drive response
Use drive commissioning software (STARTER/SINAMICS) to verify drive receives and acknowledges positioning commands directly from NC.
1
Check spindle brake release
Verify DB380x.DBX1.0 (spindle brake release) signal activates during positioning and brake physically releases using HMI > Diagnostics > Service > Spindle.
Ensure spindle is completely stopped before checking brake operation
2
Test manual spindle rotation
With spindle brake released and drive disabled, manually check for smooth spindle rotation without binding or excessive resistance.
Follow LOTO procedures and ensure all cutting tools are clear
3
Monitor drive current during positioning
Observe spindle drive current consumption during M19 execution through HMI > Diagnostics > Service > Drives for excessive load indication.
1
Review positioning tolerance
Check HMI > Parameters > Machine Data > Channel > MD35120 SPIND_POSITIONING_TOL current setting against spindle encoder resolution and mechanical backlash.
Typical tolerance is 2-5 degrees for standard tool change applications
2
Monitor actual position accuracy
Use HMI > Diagnostics > Service > Spindle to observe actual vs. commanded position deviation during multiple M19 cycles.
3
Adjust tolerance if required
Temporarily increase MD35120 value and test positioning function, then optimize to minimum acceptable tolerance for application requirements.
DIY Feasiblehigh confidence
Call a technician if:
·Mechanical spindle binding detected
·Drive communication failures persist
·Encoder hardware replacement needed
Prevention
Regular spindle brake maintenance
Periodic verification of MD35110 timeout values
Monitor spindle positioning accuracy trends
Common Mistakes
Setting MD35110 timeout too aggressively low
Ignoring spindle brake release confirmation
Not verifying encoder feedback before parameter changes