L_CT1P_OscillationComp

The use of this FB is recommended if the setpoint motion of the axis causes an oscillatory and slightly dampened drive system to oscillate.

Oscillatory and slightly dampened drive systems are, for instance, drives with long shafts or long driving belts as well as machines with high dynamic performance in light-weight structures.

Oscillations caused by faults (e.g. stick-slip or static friction) cannot be suppressed.

Note!

Please observe the following when using this setpoint-manipulating FB:

  • PLCopen status "Standstill" is entered as soon as the unfiltered setpoint selection has reached a standstill. The motion FBs (e.g. MC_MoveAbsolute , MC_MoveVelocity , L_MC1P_AxisBasicControl ) also switch their status outputs (x)Busy , (x)Done etc. based on the unfiltered setpoint values.
  • For standstill detection in the application, the following can be used in addition if necessary: outputs xStandstillActVelocity and xInPosition in FBs MC_ReadMotionState or L_MC1P_AxisBasicControl, as well as output xInEqOut of this FB.
  • The filter function is active in the StandStill , Discrete Motion , Syncronized Motion and ContinuousMotion PLCopen statuses.
  • The filter function in the Stop PLCopen status is only active if xIgnoreFilterOnStop = FALSE.
  • The filter effect is (re-)activated when the axis is in a complete PLC cycle in the StandStill PLCopen status. This means that the filter function does not become active if a movement is requested directly after switch-on or directly after a homing process.

 

 

 

L_CT1P_OscillationComp

 

 

 

AXIS_REF

-

Axis

xBusy

-

BOOL

BOOL

-

xEnable

xActive

-

BOOL

L_MC1P_ExecutionIndex

-

eExecutionIndex

xError

-

BOOL

BOOL

-

xIgnoreFilterOnStop

eErrorID

-

L_IE1P_Error

BOOL

-

xContinuousUpdate

lrSetPosOut

-

LREAL

LREAL

-

lrAmpRatio

lrSetVelOut

-

LREAL

LREAL

-

lrEigenFreq

lrSetAccOut

-

LREAL

L_CT1P_OscCompMode

-

eCompMode

lrSetTorqueOut

-

LREAL

BOOL

-

xManipulateTorque

xInEqOut

-

BOOL

 

 

 

 

 

 

 

 

Inputs

Name

Data type

Information/possible settings

Axis

AXIS_REF

Transfer of the axis data structure

Motion axes (AXIS_REF)

xEnable

BOOL

FALSE ä TRUE

Start activation of the function block

The activation or deactivation (TRUE æ FALSE) can only take place when the axis is disabled ("Disabled" state).

eExecutionIndex

L_MC1P_ExecutionIndex

Ausführungsindex

A maximum of two setpoint-manipulating FBs can be connected to one axis. The call sequence is defined via this input.

Selection:

L_MC1P_ExecutionIndex.First := 1,

L_MC1P_ExecutionIndex.Second := 2

Note: The L_MC1P_AverageFilterSetValue module which is connected to the axis via the same execution indices also belongs to the class of setpoint-manipulating FBs.

xIgnoreFilterOnStop

BOOL

TRUE

Deactivation of the filter in the "Stopping" state

Axis states (state diagram)

A deactivation of the filter makes sense when the filter mechanism causes a long dead time in the system und thus the stop of the axis would be delayed considerably.

xContinuousUpdate

BOOL

TRUE

Explanations for the xContinuousUpdate input

lrAmpRatio

LREAL

Ratio of two successive amplitudes

  • Value range: 0 ... 1
    • A value outside the value range causes an error.
  • Initial value: 1

lrEigenFreq

LREAL

Natural frequency of the dampened system in [Hz]

  • Value range: 0.4 ... 40
    • A value outside the value range causes an error.
  • Initial value: 0

eCompMode

L_CT1P_OscCompMode

Oscillation compensation

0: Inactive

  • No oscillation compensation is active

1: Fast

  • Mode:
    • Shortest delay time (half an oscillation period)
    • Lower robustness compared to parameter insecurities
  • Requirements:
    • Knowledge of the natural frequency with an accuracy of 3 % ... 5 %
    • Knowledge of the amplitude ratio with an accuracy of approx. 5 %.

2: Medium

  • Mode:
    • Medium delay time (one full oscillation period)
    • Increased robustness (compared to the "Fast" mode) towards parameter insecurities
  • Requirements:
    • Knowledge of the natural frequency with an accuracy of 5 % ... 10 %
    • Knowledge of the amplitude ratio with an accuracy of approx. 10 %.

5: Robust

In contrast to the other modes, an exact parameter setting does not cause a complete suppression but a low residual oscillation.

  • Mode:
    • Medium delay time (one oscillation period)
    • Increased robustness (compared the "Medium" mode) towards parameter insecurities
  • Requirements:
    • Knowledge of the natural frequency with an accuracy of 10 % ... 20 %
    • Knowledge of the amplitude ratio with an accuracy of approx. 15 %

xManipulateTorque

BOOL

Filtering an additive feedforward control torque

Note: The additive pilot torque may only be filtered if the torque specification is made via the lrTorque input of the L_MC1P_SetTorqueOffset FB and the specified torque is based on filtered setpoints.

TRUE

When using L_MC1P_SetTorqueOffset the following applies:

xManipulateTorque :=TRUE if the calculation of L_MC1P_SetTorqueOffset.lrTorque is based on set values.

FALSE

xManipulateTorque :=FALSE,

  • if the calculation of L_MC1P_SetTorqueOffset.lrTorque is based on actual values
  • if the calculation of L_MC1P_SetTorqueOffset.lrTorque is based on filtered setpoints
Outputs

Name

Data type

Value/meaning

xBusy

BOOL

TRUE

The FB was linked into the setpoint path of AxisRef.

xActive

BOOL

TRUE

Oscillation compensation is active.

Note: If xActive := FALSE even though xBusy := TRUE, this may be due to the following causes:

  • The FB is waiting for the first standstill of the axis since activation

  • The axis is in the "Disabled", "Homing", "ErrorStop" state or the drive is in the QSP state

  • The axis is in the "Stopping" state and xIgnoreFilterOnStop is TRUE

xError

BOOL

TRUE

An error has occurred. For details see eErrorID .

eErrorID

L_IE1P_Error

If xError = TRUE: Error number for the error that has occurred.

lrSetPosOut

LREAL

Modified setpoint position

This output is used for analysis purposes. An interconnection of the output is not required.

lrSetVelOut

LREAL

Modified setpoint velocity

This output is used for diagnostics purposes. An interconnection of the output is not required.

lrSetAccOut

LREAL

Modified setpoint acceleration

This output is used for diagnostics purposes. An interconnection of the output is not required.

lrSetTorqueOut

LREAL

Modified setpoint torque

This output is used for diagnostics purposes. An interconnection of the output is not required.

xInEqOut

BOOL

TRUE

The setpoint manipulation is completed.

(Manipulated setpoints = setpoints of the application)