FUNCTION_BLOCK SMC_ControlAxisByPos
The function block writes the set position fSetPosition to the drive structure Axis and monitors Axis for jumps. SMC_ControlAxisByPos is mostly used with CNC and an instance of the SMC_Interpolator.
InOut:
Scope |
Name |
Type |
Initial |
Comment |
Inout |
Axis |
AXIS_REF_SM3 |
Reference to axis See also: AXIS_REF_SM3 |
|
Input |
iStatus |
Status of the instance of SMC_Interpolator |
||
bEnable |
BOOL |
TRUE: Starts execution |
||
bAvoidGaps |
BOOL |
TRUE |
TRUE: Starts the monitoring of the position If the velocity exceeds the limit value which is set in AXIS_REF_SM3.fSWMaxVelocity and configured in the drive dialog with the Maximum Values setting, then the bStopIpo output is set. The axis is moved to the position with the values fGapVelocity, fGapAcceleration and fGapDeceleration. On reaching the set position, bStopIpo is set to FALSE. |
|
fSetPosition |
LREAL |
Set position of the axis in [u]. Typically connected to the output of the transformation block |
||
fGapVelocity |
LREAL |
1 |
Velocity for the bypassing of the jump in [u/s] |
|
fGapAcceleration |
LREAL |
1 |
Acceleration for the bypassing of the jump in [u/s2] |
|
fGapDeceleration |
LREAL |
1E+15 |
Deceleration for the bypassing of the jump in [u/s2] Note: Also used if bAvoidGaps is FALSE, for stopping when disabled |
|
fGapJerk |
LREAL |
1E+16 |
Jerk for the bypassing of the jump in [u/s3] Note: also used if bAvoidGaps is FALSE, for stopping when disabled |
|
Output |
bBusy |
BOOL |
TRUE: Function block operating |
|
bCommandAborted |
BOOL |
TRUE: Execution was interrupted by another function block instance operating on axis. |
||
bError |
BOOL |
TRUE: Error has occurred |
||
iErrorID |
SMC_ERROR |
Error identification |
||
bStopIpo |
BOOL |
TRUE: Jump in velocity or position occurred and adaptation to new position is running. If bStopIpo is connected to the EmergencyStop input of the SMC_Interpolator instance, the interpolator waits until the axis is correctly positioned. See also: SMC_ERROR |