SMC_GroupJog (FB)

FUNCTION_BLOCK SMC_GroupJog

This function block has been deprecated. Please don’t use it in new projects. See SMC_GroupJog2 for the recommended way to jog an axis group.

Warning

With SoftMotion version 4.11.0.0, the support for input ABC_as_ACS has been dropped. Please change to SMC_GroupJog2 if this feature is required.

Activates coordinated jogging of the axis group. When this function block is active, the axis group tracks the position (and orientation) given by the axes connected to the inputs AxisX, AxisY, AxisZ, AxisA, AxisB, and AxisC.

Initially, a movement to the current position of the axes is commanded. Once this movement is done, the output InitialPositionReached is TRUE.

The position of the axes is interpreted in the coordinate system defined by input CoordSystem. To jog in machine coordinates, for example, use MCS here.

Since the position is followed via tracking, one of the product coordinate systems is used for this purpose. This can be configured in input CoordSystemPCS. Note that this coordinate system of the axis group is changed.

To perform cartesian jogging, the function blocks MC_Jog or SMC_Inch can be used on the axes given as inputs to this function block. It is recommended to call the movement function blocks of the virtual axes _before_ SMC_GroupJog.

Before restarting this FB without changing CoordSystemPCS, you have to command an additional movement, like MC_GroupHalt. Otherwise, error SMC_AXIS_GROUP_PCS_STILL_IN_USE is returned.

Compared to SMC_GroupJog2, this function block has several disadvantages:

  • The input ABC_as_ACS is no longer supported (since SoftMotion 4.11.0.0).

  • It requires virtual axes for all jogged coordinates.

  • If the robot cannot follow the configured jogging velocity, jogging may leave the straight-line path, or move the TCP temporarily even if only the orientation is being jogged.

  • A path override commanded with MC_GroupSetOverride does not affect (cartesian) jogging.

InOut:

Scope

Name

Type

Initial

Comment

Inout

AxisGroup

AXIS_GROUP_REF_SM3

Reference to a group of axes

Input

Execute

BOOL

Start the action at the rising edge

CoordSystem

SMC_COORD_SYSTEM

The coordinate system in which the axis group is jogged.

CoordSystemPCS

SMC_COORD_SYSTEM

The coordinate system used internally for the jogging. Must be a PCS. This coordinate system is changed using SMC_SetDynCoordTransformEx.

VelFactor

LREAL

1

The maximum velocity of each axis is multiplied by this factor, which must be in the range ]0, 1].

AccFactor

LREAL

1

The maximum acceleration of each axis is multiplied by this factor, which must be in the range ]0, 1].

JerkFactor

LREAL

1

The maximum jerk of each axis is multiplied by this factor, which must be in the range ]0, 1].

AxisX

IAxisRef

The axis controlling the x-coordinate of the configured coordinate system or the first axis of the axis group in case of ACS.

AxisY

IAxisRef

The axis controlling the y-coordinate of the configured coordinate system or the second axis of the axis group in case of ACS. Set to 0 if not applicable.

AxisZ

IAxisRef

The axis controlling the z-coordinate of the configured coordinate system or the third axis of the axis group in case of ACS. Set to 0 if not applicable.

AxisA

IAxisRef

This axis controls
  • the fourth axis of the axis group, if the coordinate system is ACS or

  • the rotation around the x-axis of the configured cartesian coordinate system otherwise.

Set to 0 if not applicable.

AxisB

IAxisRef

This axis controls
  • the fifth axis of the axis group, if the coordinate system is ACS or

  • the rotation around the y-axis of the configured cartesian coordinate system otherwise.

Set to 0 if not applicable.

AxisC

IAxisRef

This axis controls

  • the sixth axis of the axis group, if the coordinate system is ACS or

  • the rotation around the z-axis of the configured cartesian coordinate system otherwise.

Set to 0 if not applicable.

ABC_as_ACS

BOOL

This input is no longer supported.

Output

Busy

BOOL

The FB is not finished

InitialPositionReached

BOOL

The position given by AxisX, …, AxisC has been reached initially, after the rising edge of Execute.

CommandAborted

BOOL

Command is aborted by another command

Error

BOOL

Signals that an error has occurred within the function block

ErrorID

SMC_ERROR

Error identification