SMC_GroupJog2 (FB)

FUNCTION_BLOCK SMC_GroupJog2

Activates coordinated jogging of the axis group. This is the recommended function block to jog an axis group. It replaces SMC_GroupJog.

Jogging is performed in the coordinate system defined by input CoordSystem. To jog in machine coordinates, for example, use MCS here. Setting ABC_as_ACS allows to use a mixed interpretation of the reference axes, X/Y/Z as cartesian position and A/B/C as axis positions of the tool kinematics.

Jogging can be triggered by one or more rising edges in the Forward and Backward inputs. The function block will move all axes i whose inputs (Forward[i] XOR Backward[i]) evaluate to TRUE. Jogging can be stopped by one or more falling edges in the Forward and Backward inputs.

Note

  • A rising edge that results in both Backward[i] and Forward[i] being TRUE is interpreted as a falling edge.

  • If both rising and falling edges are detected, the former prevail.

Warning

Please make sure to set the inputs VelFactor, AccFactor, and JerkFactor to safe values. These values are crucial when jogging in the ACS or when jogging the orientation. In these cases, the movement of the axes may be limited only by the global axis limits muliplied by these factors. When setting the factors to 1 (corresponding to 100%), a very fast movement may result, which is not desirable for jogging. (Of course, the ancillary limits, axis limits set by SMC_GroupSetAxisLimitFactors, and the override are also considered.)

InOut:

Scope

Name

Type

Initial

Comment

Inout

AxisGroup

AXIS_GROUP_REF_SM3

Reference to a group of axes

Input

Enable

BOOL

Enables coordinated jogging of the axis group.

Forward

ARRAY [0..(SMRB.MAX_KIN_AXES - 1)] OF BOOL

Input to jog the respective coordinate forward.

Backward

ARRAY [0..(SMRB.MAX_KIN_AXES - 1)] OF BOOL

Input to jog the respective coordinate backward. Input to jog the respective additional axis forward.

AdditionalAxesForward

ARRAY [0..(ANY_TO_LINT(SMRB.MAX_ADD_AXES) - 1)] OF BOOL

AdditionalAxesBackward

ARRAY [0..(ANY_TO_LINT(SMRB.MAX_ADD_AXES) - 1)] OF BOOL

Input to jog the respective additional axis backward.

MaxLinearDistance

LREAL

The maximum linear distance a coordinate is jogged while no new rising edge is detected on the Forward/Backward inputs. The distance must be positive, otherwise an error is reported.

MaxAngularDistance

LREAL

The maximum angular distance a coordinate is jogged while no new rising edge is detected on the Forward/Backward inputs. The distance must be positive, otherwise an error is reported.

Velocity

LREAL

Maximum path velocity [u/s]. Always positive. Not necessarily reached.

Acceleration

LREAL

Maximum path acceleration [u/s²]. Always positive. Not necessarily reached.

Deceleration

LREAL

Maximum path deceleration [u/s²]. Always positive. Not necessarily reached.

Jerk

LREAL

Maximum path jerk [u/s³]. Always positive. Not necessarily reached.

VelFactor

LREAL

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

AccFactor

LREAL

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

JerkFactor

LREAL

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

TorqueFactor

LREAL

1

The maximum torque of each axis is multiplied by this factor, which must be in the range ]0, 1]. A dynamic model must have been set using SMC_GroupSetDynamics for this factor to have an effect.

CoordSystem

SMC_COORD_SYSTEM

The coordinate system in which to jog. Jogging in dynamic coordinate systems (e.g. while tracking a conveyor belt) is not supported.

ABC_as_ACS

BOOL

Mixed jogging. The position is jogged in cartesian space, the orientation axes are jogged in axis space. If the input CoordSystem equals ACS, then this input is ignored. Otherwise, if the input CoordSystem is a cartesian coordinate system, the orientation is jogged in ACS, while the position is jogged in the cartesian coordinate system.

Forward/Backward[3..5] control the axis positions of the orientation axes. Forward/Backward[0..2] control the (X,Y,Z) position of the TCP. When jogging the orientation axes, the robot will perform a compensating movement so that the TCP remains stationary.

If TRUE, the axis group’s kinematic transformation must be a so called coupled kinematics, composed of a positioning and an orientation kinematics. It must support SMC_ORIENTATION_MODE.Axis. If not, the error SMC_CP_AXIS_ORIENTATION_IPO_OFFSET2_NOT_IMPLEMENTED or SMC_CP_KIN_DOES_NOT_SUPPORT_AXIS_ORIENTATION_IPO is returned. The FB does not have to be restarted to clear this error, instead the input ABC_as_ACS can be set to FALSE.

If FALSE, then, depending on the input CoordSystem, either all axes are jogged in axis coordinates (ACS) or the position and orientation are jogged in cartesian space. In this case, Forward/Backward[3..5] rotate the TCP around the X-/Y-/Z-Axis of the cartesian coordinate system.

Name

STRING

‘SMC_GroupJog2’

The name of the movement.

Output

Active

BOOL

The FB is currently in control of the axis group.

Busy

BOOL

The FB is not finished

Error

BOOL

Signals that an error has occurred within the function block

ErrorID

SMC_ERROR

Error identification

CurrentPosition

SMC_POS_REF

The current position of the axis group

CurrentAdditionalAxesPositions

SMC_ADDITIONAL_AXES_VALUES_ARRAY

Current positions of the group’s additional axes.