The use of this FB is recommended if high-precision positioning has to be carried out where the position error of one axis has to be compensated depending on the position of two other axes.
WARNiNG!
The combination of area compensation with position control on an external encoder is not permitted. The FB L_CT1P_PlaneComp does not support modulo axes.
Please note when using this setpoint-correcting FB:
The PLCopen status "Standstill" is entered as soon as the uncompensated setpoint specification has reached standstill. The motion FBs (e.g. MC_MoveAbsolute, MC_MoveVelocity, L_MC1P_AxisBasicControl) also switch their status outputs (x)Busy, (x)Done etc. on the basis of the uncompensated setpoints.
The compensation has an additive effect on the setpoint and is subtracted from the actual value.
The corrected setpoints are output on the FB for analysis purposes.
|
|
|
|
L_CT1P_PlaneComp |
|
|
|
|
|---|---|---|---|---|---|---|---|
|
AXIS_REF |
- |
|
Axis |
xBusy |
|
- |
BOOL |
|
BOOL |
- |
|
xEnable |
xActive |
|
- |
BOOL |
|
- |
|
eExecutionIndex |
xError |
|
- |
BOOL |
|
|
AXIS_REF |
- |
|
Base1 |
eErrorID |
|
- |
L_IE1P_Error |
|
AXIS_REF |
- |
|
Base2 |
lrSetPosOut |
|
- |
LREAL |
|
ARRAY[*] OF LREAL |
- |
|
alrBase1Position |
lrSetVelOut |
|
- |
LREAL |
|
ARRAY[*] OF LREAL |
|
|
alrBase2Position |
lrSetAccOut |
|
- |
LREAL |
|
ARRAY[*,*] OF LREAL |
|
|
alrAxisCorrection |
lrSetTorqueOut |
|
- |
LREAL |
|
|
|
|
|
lrActCorrection |
|
- |
LREAL |
|
|
|
|
|
|
|
|
|
Inputs
|
Name Data type |
Info/adjustment options |
|
|---|---|---|
|
Axis AXIS_REF |
Transfer of the axis data structure |
|
|
xEnable BOOL |
FALSE -> TRUE |
Activation of the FB |
|
Activation or deactivation (TRUE <-> FALSE) can only take place when the axis is locked ("Disabled" status).. |
||
|
eExecutionIndex |
Execution index A maximum of two setpoint-correcting 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 |
|
|
Base1 AXIS_REF |
Transfer of the axis data structure of the Base1 axis |
|
|
Base2 AXIS_REF |
Transfer of the axis data structure of the Base2 axis |
|
|
alrBase1Position ARRAY[*] OF LREAL |
Position vector of the AxisRef Base1 for determining the position correction |
|
|
alrBase2Position ARRAY[*] OF LREAL |
Position vector of the AxisRef Base2 for determining the position correction |
|
|
alrAxisCorrection ARRAY[*,*] OF LREAL |
Correction values of the AxisRef Axis at the positions alrBase1Position, alrBase2Position The number of values in alrBase1Position, alrBase2Position and alrAxisCorrection must be consistent with each other. |
|
Outputs
|
Name Data type |
Value/meaning |
|
|---|---|---|
|
xBusy BOOL |
TRUE |
The FB was added to the AXIS_REF setpoint path. |
|
xActive BOOL |
TRUE |
Area compensation is active. |
|
xError BOOL |
TRUE |
An error has occurred. For details, see eErrorID . |
|
eErrorID |
If xError = TRUE: Error number for the error that has occurred. |
|
|
lrSetPosOut LREAL |
Modified target position This output is used for analysis. It is not necessary to connect the output. |
|
|
lrSetVelOut LREAL |
Modified target speed This output is used for diagnostics. It is not necessary to switch the output. |
|
|
lrSetAccOut LREAL |
Modified target acceleration This output is used for diagnostics. It is not necessary to switch the output. |
|
|
lrSetTorqueOut LREAL |
Modified target torque This output is used for diagnostics. It is not necessary to switch the output. |
|
|
lrActCorrection LREAL |
Current correction value This output is used for diagnostics.It isnot necessary to switch the output. |
|