SMC_ControlAxisByPos (FB)

 

FUNCTION_BLOCK SMC_ControlAxisByPos

The function block writes the set position fSetPosition to the drive struc­ture 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

SMC_INT_STATUS

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