DRYRUN mode and all-pass filter

As of Build V3.1.3132.0, the DRYRUN mode can be activated in P-AXIS-00758 to support the enabling of the “Improved Position Control” function. This mode suppresses the output of the resulting additive speed to the drive.

Using the Dry Run mode is particularly useful as a first step in paramerterisation to compare the amplitude and phase of the calculated additive speed to the undistorted actual speed of the drive and adjust them as required.

The example below shows the parameterisation and the resulting response of the all-pass filter.

The aim is to filter a simulated drive vibration of 20 Hz. In the first step, the band-pass filter is activated in DRYRUN mode and the output signal from the Improved Position Control (green) is compared with the actual speed of the drive (red).

The following CNC objects are suitable for displaying the two variables:

DRYRUN mode and all-pass filter 1:
DRYRUN mode only with band-pass filter

The scope display shows that, although the amplitude of the output additive speed matches the amplitude of the drive vibration relatively well, the phase causes the drive frequency to be excited at certain points. The phase difference is approximately 90°.

In the second step, an all-pass filter of order 1 is activated and the result is again examined in DRYRUN mode:

DRYRUN mode and all-pass filter 2:
DRYRUN mode, with band-pass and all-pass filters.

Without affecting the amplitude of the additive speed, the all-pass filter was able to adjust the phase so that it is now almost perfectly inverted relative to the drive vibration. This improves the damping result.

The final step is to enable the “Improved Position Control” function and fine-tune the filters and gain factors.

Parameters used

lr_param.improved_position_control.enable                  DRYRUN
lr_param.improved_position_control.v_add_max_fact               1000
lr_param.improved_position_control.stage[0].mode                DIRECT
lr_param.improved_position_control.stage[0].filter[0].fg_f0     20
lr_param.improved_position_control.stage[0].filter[0].type      BANDPASS
lr_param.improved_position_control.stage[0].filter[0].order     2
lr_param.improved_position_control.stage[0].filter[0].q_factor  4
lr_param.improved_position_control.stage[0].filter[1].fg_f0     20
lr_param.improved_position_control.stage[0].filter[1].type      ALLPASS
lr_param.improved_position_control.stage[0].filter[1].order     1
lr_param.improved_position_control.stage[0].filter[1].q_factor  4
lr_param.improved_position_control.stage[0].weight_fact_num     100
lr_param.improved_position_control.stage[0].weight_fact_denom   200