Resolving Siemens 840D sl FRF Amplitude Fluctuation Error During Axis Tuning
The commissioning message "THE AMPLITUDE OF THE MEASURED FRF CONTAINS EXCESSIVE FLUCTUATIONS" is generated by the automatic circularity test (Frequenzgangs-/FRF routine) inside SINUMERIK 840D sl when the controller cannot derive a stable Frequency Response Function from the active measuring system. The tuning cycle aborts before the closed-loop gain (Kv), feedforward, and acceleration pre-control values are written back to the drive, leaving the axis with factory-default dynamics. This article documents the engineering analysis, diagnostic flow, and corrective action for this failure on a retrofit machine that uses a Heidenhain LS 187 linear scale as the second (indirect) measuring system on a clutch-coupled axis with large backlash.
Problem Overview
The SINUMERIK 840D sl circularity test performs a controlled sinusoidal motion on each axis to identify the mechanical transmission behavior (compliance, friction, natural modes) and to compute the optimum position-controller gain and feedforward coefficients. The test relies on the measuring system that is currently active in MD30220 $MA_CTRLOUT_SEGMENT_NR / MD30230 $MA_ENC_INPUT_NR. When the measured position response contains excessive noise or ripple relative to the setpoint, the FRF amplitude vector violates the abort threshold defined in MD32920 $MA_DYN_MATCH_FILTER and the cycle raises the amplitude-fluctuation alarm and ends tuning.
On dual measuring-system axes, this fault frequently masks a deeper mechanical or configuration problem: the secondary (linear-scale) actual value does not agree with the motor-encoder actual value during the dynamic maneuver, the controller sees a synthetic following error that is not actually present in the mechanics, and the FRF estimator rejects the result as invalid. Because MDA/AUTO and JOG still appear to position in some cases, the issue is often misclassified as a tuning software defect rather than a measuring-system or mechanics defect.
Typical System Configuration
Affected installations share a common mechanical and electrical profile. The configuration below is derived from the field failure under analysis and is representative of large-machine retrofits:
| Subsystem | Component | Notes |
|---|---|---|
| NCU | SINUMERIK 840D sl (NCU 710 / 720 / 730) | FW ≥ 4.5 SP2 recommended |
| Drive line-up | SINAMICS S120, Active Line Module + Motor Module | Booksize or chassis format |
| Servomotor | SIMOTICS 1FK6 (1FK7060 / 1FK7063) or 1FK7 | Resolver or sin/cos incremental encoder fitted |
| Direct measuring system (MS1) | Motor-mounted incremental encoder (e.g., ERN 1387, AM32, AM512) | 2048–32 768 lines/rev |
| Indirect measuring system (MS2) | Heidenhain LS 187 incremental linear scale | Signal period 20 µm, single reference mark |
| Sensor module | SMC30 (6SL3055-0AA00-5CA2) | 1 Vpp input, on DRIVE-CLiQ port X521 of the Motor Module |
| Mechanical coupling | Pneumatic / hydraulic clutch per axis | Open when de-energized, engaged only when axis is selected |
| Mechanical backlash | 1 – 3 mm static backlash at the gear or ballscrew stage | Typical of large mill/table retrofits |
| Machine | Union BFT 130 horizontal boring mill (or equivalent) | Retrofit from DC/SIMOREG to 840D sl |
The Union BFT 130 is a heavy horizontal boring machine with mechanically decoupled axes. Each linear axis is engaged by a clutch; when the axis is not selected, the drive can spin freely without moving the load. During commissioning the operator must command the clutch output to close before any motion takes place.
Symptom Description
The defect presents in three different operating modes, all of which point to the same underlying fault:
-
JOG with MS2 active: After the operator selects the linear scale via PLC axis-selection logic (or
DB31, ...DBX1.5 / 1.6measuring-system switch in the user interface), the axis creeps at low velocity without any traversing key pressed. The commanded velocity is approximately the hold-loop drift value and the position actual value advances continuously. This is a sign that the position controller is operating against a non-zero setpoint residual caused by the measuring-system switch-over. -
MDA / AUTO with MS2 active: The axis reaches the programmed target but oscillates around it. The torque actual value (monitored in the HMI Service display or in
DB31, ...DBW70) shows a stable oscillation of approximately ±2 to ±3 Nm peak-to-peak at low frequency. The position does not converge to the exact-stop window defined byMD36000 $MA_STOP_LIMIT_FINE/MD36010 $MA_STOP_LIMIT_COARSE. -
Automatic circularity test: The tuning routine raises "THE AMPLITUDE OF THE MEASURED FRF CONTAINS EXCESSIVE FLUCTUATIONS" and aborts. The default
Kvfactor and feedforward values are not updated and the drive reverts to safe defaults.
When the same axis is operated on the first measuring system only (motor encoder), the position loop closes properly, the torque settles to a static holding value (≈ +2 Nm), the standstill window is reached and the FRF test succeeds. This proves the drive, motor, motor-encoder, and closed-loop cabling are healthy and that the fault is localized to the second measuring-system path or to the mechanical coupling between motor and load.
Root Cause Analysis
The combination of (a) dual measuring system, (b) large static backlash, and (c) a clutch that decouples motor from load creates the conditions for the FRF error. Each of the three contributing factors is analysed below; in most field cases, two of the three are present and must be corrected before the FRF test will pass.
Contributing Factor 1 – Measuring-System Mismatch
If the linear-scale actual value disagrees with the motor-encoder actual value, the position controller interprets the difference as following error. After a motion command, the controller continues to integrate position error and outputs torque even when the load has mechanically reached the target. The result is a torque ripple of ±2 to ±3 Nm and a slow drift visible in JOG. The mismatch is typically caused by:
- Incorrect linear-scale resolution:
MD31010 $MA_ENC_GRID_POINT_DIST[1]must be set to 0.020 mm (20 µm) for the Heidenhain LS 187. A common mistake is to enter0.00002instead of0.020. - Missing or inverted reference:
MD34200 $MA_ENC_REFP_MODE[1]must allow referencing on a single-reference-mark scale.MD34310 $MA_ENC_MARKER_INC[1]andMD34320 $MA_ENC_INVERS[1]must match the wiring direction (X521 pin 1/2 vs 3/4). - Mechanical coupling error:
MD31050 $MA_DRIVE_AX_RATIO_DENOM[1]/MD31060 $MA_DRIVE_AX_RATIO_NUMERA[1]andMD31070 $MA_DRIVE_ENC_RATIO_DENOM[1]/MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[1]describe the load-side gear ratio. A sign error here creates a permanent offset between MS1 and MS2 that grows with travel. - Wrong measuring-circuit assignment:
MD30240 $MA_ENC_TYPE[1]must be1(incremental encoder),MD30244 $MA_ENC_MEAS_TYPE[1]must indicate direct load measurement, andMD31000 $MA_ENC_IS_LINEAR[1]must be1.
Contributing Factor 2 – Large Static Backlash
When the mechanical backlash at the gear, rack, or ballscrew stage is large (>1 mm), the position controller sees two different actual values depending on the direction of the previous motion. The backlash-compensation function (backlash/LEC) in 840D sl is implemented via MD32450 $MA_BACKLASH and the direction-dependent compensation is performed through the SSC / LEC table. If the compensation is missing, undersized, or in the wrong direction, every direction reversal produces a step in the position error and the torque ripple repeats. The FRF estimator sees this as noise on the actual value and aborts.
For axes with >1 mm backlash, the standard MD32450 $MA_BACKLASH value must be measured during commissioning (use the HMI Set Backlash routine under Commissioning → Compensations) and the MD32452 $MA_BACKLASH_MODE must be set to the value defined by the actual mechanics.
Contributing Factor 3 – Clutch Engagement
Because the clutch is open when the axis is de-selected, the motor encoder counts motion that is not transmitted to the load. When the measuring-system switch-over (MS1 → MS2) is performed while the clutch is not yet closed, or if the PLC interface DB31, ...DBX24.0 ... 24.7 (clutch state) reports an inconsistent state, the controller sees the load in a different position than the motor reports. The FRF routine will fail because the measured mechanical transfer function is not consistent. The clutch must be commanded closed and the controller must verify the engagement signal before any motion is initiated on MS2.
Service Display Diagnostics
Before changing any machine data, capture the dynamic actual-value display with both measuring systems active. The procedure below must be performed in MDA / JOG with the axis on MS2 and the clutch engaged:
- Select operating area Commissioning → Service display on the HMI.
- Open the axis-specific service display for the affected axis (e.g., AX1).
- Read and record:
- Position actual value MS1 (motor encoder)
- Position actual value MS2 (linear scale)
- Following error actual value
- Position-controller output / torque setpoint
- Position setpoint
- Command a 1 mm incremental JOG motion with the traversing keys.
- Read the same values during the motion and 2 s after the standstill.
- Repeat the motion in the opposite direction.
The two MS actual values must be identical to within the resolution of the linear scale (≤ 1 µm). If a difference is visible after standstill, the load-side configuration in MD31010 ... MD31080 is wrong. If the difference depends on direction, backlash compensation is missing. If the torque oscillates between direction reversals even when both MS values agree, the issue is mechanical (gear play, defective coupling, clutch slippage).
Machine Data Verification
The following MDs must be checked against the documented mechanical design values. They are the minimum data set for a dual measuring-system axis on an 840D sl. None of the values below should be left at commissioning default.
| Machine data | Index [0] = MS1 (motor) | Index [1] = MS2 (linear scale) | Field value for LS 187 |
|---|---|---|---|
MD30200 $MA_NUM_ENCS |
global | 2 |
|
MD30230 $MA_ENC_INPUT_NR |
1 | 2 | MS1 = 1, MS2 = 2 |
MD30240 $MA_ENC_TYPE |
1 (incremental) | 1 (incremental) | 1 |
MD31000 $MA_ENC_IS_LINEAR |
0 | 1 |
1 for MS2 |
MD31010 $MA_ENC_GRID_POINT_DIST |
encoder-dependent | 0.020 | 0.020 mm (LS 187) |
MD31020 $MA_ENC_RESOL |
2048…32768 | — | Per motor data sheet |
MD31030 $MA_LEADSCREW_PITCH |
global | Per ballscrew (mm/rev) | |
MD31040 $MA_ENC_IS_DIRECT |
1 | 1 | Both direct on motor/load |
MD31050 $MA_DRIVE_AX_RATIO_DENOM |
gear ratio | Per mechanics | |
MD31060 $MA_DRIVE_AX_RATIO_NUMERA |
gear ratio | Per mechanics (signed) | |
MD31070 $MA_DRIVE_ENC_RATIO_DENOM |
encoder ratio | Per mechanics | |
MD31080 $MA_DRIVE_ENC_RATIO_NUMERA |
encoder ratio | Per mechanics (signed) | |
MD32110 $MA_ENC_FEEDBACK_POL |
-1 or +1 | -1 or +1 | Sign must match direction |
MD34200 $MA_ENC_REFP_MODE |
1 | 1 | Reference mode per scale |
MD34320 $MA_ENC_INVERS |
0 | 0 | 0/1 per wiring direction |
The values for MD31010 $MA_ENC_GRID_POINT_DIST[1] must be entered as 0.020 for the LS 187 signal period. A common field defect is to enter the period as a multiple of the µm value (e.g., 0.000020), which makes the position controller read the scale as 1000 times finer than it actually is; the result is a sustained following error and torque drift immediately after MS2 is activated.
Dynamic Response and Closed-Loop Data
| MD | Description | Typical value at first commissioning |
|---|---|---|
MD32200 $MA_POSCTRL_GAIN |
Kv factor (1/min) | 1.0 (start), tune later |
MD32210 $MA_POSCTRL_INTEGRATOR_TIME |
Integral action time (s) | 0.0 (disabled until FRF test passes) |
MD32450 $MA_BACKLASH |
Backlash (mm) | measured, do not leave at 0 |
MD32452 $MA_BACKLASH_MODE |
Backlash compensation mode | per SSC / LEC table |
MD36000 $MA_STOP_LIMIT_FINE |
Exact-stop fine (mm) | 0.040 |
MD36010 $MA_STOP_LIMIT_COARSE |
Exact-stop coarse (mm) | 0.200 |
MD36030 $MA_STANDSTILL_POS_TOL |
Standstill tolerance (mm) | 0.200 |
MD36200 $MA_AX_VELO_LIMIT |
Axis velocity limit (mm/min) | per machine data sheet |
MD36400 $MA_CONTOUR_TOL |
Contour tolerance (mm) | 1.000 (relaxed for first test) |
MD32900 $MA_DYN_MATCH_ENABLE |
Dynamic response adaptation | 1 (FRF allowed) |
MD32920 $MA_DYN_MATCH_FILTER |
FRF amplitude filter | use Siemens default, do not lower |
The values above are starting points. They must be tuned once the FRF test passes successfully. Lowering MD32920 $MA_DYN_MATCH_FILTER artificially to suppress the FRF alarm is not an acceptable workaround; it masks the underlying mechanical or wiring defect.
Heidenhain LS 187 Wiring and Parameters
The LS 187 incremental linear scale is a single-reference-mark exposed-scale with a 20 µm signal period. The head outputs differential 1 Vpp signals on pins A+ / A-, B+ / B-, and a reference pulse on R+ / R-. The scale is wired to the SINAMICS SMC30 sensor module (article number 6SL3055-0AA00-5CA2) on the Motor Module's DRIVE-CLiQ port X521.
| SMC30 terminal X521 | Signal | Heidenhain LS 187 wire colour |
|---|---|---|
| 1 | A+ | green |
| 2 | A- | yellow |
| 3 | B+ | blue |
| 4 | B- | red |
| 5 | R+ | white |
| 6 | R- | brown |
| 7 | +5 V | red (supply) |
| 8 | GND | blue (supply) |
Wire colour assignments vary by Heidenhain cable generation; refer to the LS 187 Mounting Instructions for the specific variant. Common field defects are reversed A/B (causing inverted count direction), missed shielding (causing noise on the actual value), and 0 V reference shared with motor-cable ground (causing ground loops).
The SMC30 must be parameterised through the SINAMICS commissioning software (STARTER / Startdrive) under Encoder configuration:
- Encoder type:
1 Vpp incremental - Line number / signal period: 20 000 counts per signal period (1 Vpp interpolation)
- Reference mark: One (1) — not distance-coded
- Fine resolution: x 4096 via SINAMICS internal interpolation
Backlash and LEC Compensation
For an axis with ≥1 mm static backlash, the compensation must be commissioned before the FRF test is run. The procedure is:
- Move the axis to a defined home position in JOG at low feed (≤ 1000 mm/min).
- Close the clutch and command the axis to the same position from the positive direction and from the negative direction.
- Read the MS2 actual value at standstill after each approach.
- The arithmetic difference between the two readings is the static backlash. Enter the value into
MD32450 $MA_BACKLASHin mm. - Verify that the LEC/SSC table covers the full travel range with sub-tables for any spindle-position-dependent correction.
- Repeat the JOG direction reversal and confirm that the position actual value of MS2 is now direction-independent within the resolution of the scale.
Clutch and Mechanical Coupling Checks
Before running the FRF test on MS2, confirm that:
- The clutch signal
DB31, ...DBX24.0(clutch closed) andDB31, ...DBX24.1(clutch open) are mutually exclusive. - The clutch pressure is at the rated value — pneumatic clutches in particular lose torque capacity with age and pressure drop.
- The clutch engagement is verified at the PLC by torque-feedback check: command a low setpoint torque and confirm that the load physically moves.
- The motion guard (e.g., hardware limit switch on the clutch output) is correctly wired and acknowledged by the NC.
If the clutch slips or engages late, the FRF estimator sees a system with non-stationary gain; the amplitude fluctuation alarm is the immediate consequence.
Step-by-Step Resolution Procedure
The corrective procedure must be executed in the order shown; skipping steps will leave the FRF test inconclusive.
- Confirm the hardware is healthy. With the axis on MS1 (motor encoder only), run a closed-loop JOG in both directions. The torque actual value must settle to a static value and the position actual value must equal the commanded position. If not, fix the drive / motor / encoder cabling first.
- Verify the linear-scale wiring. Move the axis 10 mm in JOG on MS1 and confirm that the MS2 service display value follows the MS1 value exactly (within ±1 µm). If MS2 jumps by ±20 µm or remains constant, the scale wiring or MD31010 is wrong.
-
Verify the linear-scale reference. Run the reference-point approach in JOG. The axis must decelerate to the reference marker and stop. If the axis passes the marker without decelerating,
MD34200 $MA_ENC_REFP_MODE[1]orMD34310 $MA_ENC_MARKER_INC[1]is wrong. -
Measure and enter backlash. Use the procedure in the section Backlash and LEC Compensation to populate
MD32450 $MA_BACKLASH. - Confirm the clutch engagement. In the Service display, monitor the clutch signal during a JOG motion on MS2. The motion must only be commanded after the clutch-close signal is true.
- Run the FRF test with MS2 only. In the HMI, select Commissioning → Tuning → Circularity Test, choose the linear scale as the active measuring system, and start the test. The cycle must complete without raising the amplitude-fluctuation alarm.
- Accept the values and save the NC data. When the test passes, the Kv factor and feedforward values are written to the drive automatically. Save the NC data with Commissioning → Machine Data → Save and archive the series-commissioning file.
Verification
After the corrective procedure the following checks must all pass before the axis is released for production:
- The FRF tuning routine completes on MS2 without raising the FRF amplitude fluctuation alarm.
- A 100 mm incremental JOG motion on MS2 reaches the exact-stop fine window within the time defined in
MD36020 $MA_POSITIONING_TIME. - The torque actual value at standstill is a flat trace (no oscillation) on the service display.
- A multi-block MDA program with multiple direction reversals maintains the contour tolerance defined in
MD36400 $MA_CONTOUR_TOL. - The reference-point approach on MS2 works repeatedly without re-initialising the encoder.
Related Field Cautions
- Do not switch measuring systems during the FRF test. The test assumes a stationary active system and the abort threshold is sensitive to MS switch-over transients.
- Do not lower
MD32920 $MA_DYN_MATCH_FILTERor raiseMD36400 $MA_CONTOUR_TOLto suppress the alarm without fixing the underlying defect; the alarm is a hard constraint on the closed-loop stability and is raised for a reason. - If the axis uses an absolute scale (EnDat), reference is held through power off; the FRF test still requires the clutch and backlash compensation to be correct.
- If the machine uses a linear torque motor on the linear scale (no clutch), the same MDs apply but the backlash compensation is replaced by friction compensation through
MD32490 $MA_FRICT_COMP_MODE. - For 1FK6 / 1FK7 motors with DRIVE-CLiQ encoders, the MS1 path is digital; in that case the MS2 wiring must still be verified through the SMC30 service display.
Documentation Pointers
The detailed commissioning procedure for the FRF test and dual measuring-system axes is documented in the official Siemens references below. Use them as the authoritative source for the MD descriptions and the operator interface.
- SINUMERIK 840D sl Commissioning Manual (programming and operating)
- SINUMERIK 840D sl Function Manual Axes and Spindles
- SINUMERIK 840D sl Lists Manual (machine data)
- SINUMERIK 840D sl Diagnostics Manual
- Heidenhain LS 187 product page and mounting instructions
- SINAMICS S120 Function Manual Sensor Module Cabinet-Mounted SMC30
FAQ
Why does the FRF amplitude fluctuation alarm appear only with the second measuring system?
The circularity test computes the FRF from the active measuring system. If the linear scale actual value disagrees with the motor encoder due to wrong MD31010 $MA_ENC_GRID_POINT_DIST[1], missing backlash compensation in MD32450 $MA_BACKLASH, or a slipping clutch, the measured transfer function is incoherent and the cycle aborts. With MS1 only the controller sees the motor encoder and the path is consistent.
Can the FRF test be passed on MS1 alone?
Yes — running the circularity test on the motor encoder alone is a legitimate diagnostic step. It confirms that the drive, motor, and primary encoder are healthy. Final production tuning must still be performed on MS2 because the linear scale is the position-control actual value used during machining.
What service display screens help diagnose a dual-encoder mismatch?
Open Commissioning → Service display and read MS1 actual value, MS2 actual value, following error, position setpoint and torque setpoint simultaneously on the affected axis. Compare MS1 and MS2 during and after a 1 mm JOG motion in both directions; any permanent offset or direction-dependent step indicates a configuration or backlash defect.
How is the Heidenhain LS 187 wired to the SINAMICS SMC30?
The differential 1 Vpp outputs (A+/A-, B+/B-, R+/R-) and the 5 V supply are connected to SMC30 terminal block X521. Wire colours and pin assignments vary by LS 187 cable generation; refer to the Heidenhain LS 187 mounting instructions and verify against the SMC30 pin map in the SINAMICS S120 Function Manual before energising.
Does large backlash require LEC compensation before FRF tuning?
Yes. For axes with static backlash ≥1 mm, MD32450 $MA_BACKLASH must be measured and entered, and any direction- or position-dependent component must be defined in the SSC / LEC table before the FRF test is started. Without this compensation the position controller sees a different actual value on every direction reversal and the FRF estimator rejects the result.