MC_MoveAxisAbsolute

MC_MoveAxisAbsolute 1:

FUNCTION_BLOCK MC_MoveAxisAbsolute

This function block commands a joint interpolated movement to an end-position.The values specified for the end-position are interpreted as joint values. They represent the position of each axis in degrees.

The speed of the robot is calculated with both

The final robot speed is set by the most limiting of these parameters.When the speed of the object, carried by the robot, does not need to be handled with special care, parameters related to Tool Center Point can be ignored (kept to default values). The speed along the trajectory may change depending on the robot position in the space.

On the contrary, if a constant speed is required for the Tool Center Point, it shall be set with CartesianVel parameter.

Example: The speed of the object carried by the robot shall be 100mm/s.

Set the CartesianVel parameter to 100.However, axes related speed/acceleration parameters are still active.If you set the Velocity parameter too low (e.g 10%), the objet may not reach 100mm/s.

Syntax

Definition:

FUNCTION_BLOCK MC_MoveAxisAbsolute
VAR_INPUT
    Execute          : BOOL := FALSE;
    JointPosition    : T_JointPos;
    Velocity         : REAL := REAL#100;
    Acceleration     : REAL := REAL#100;
    Deceleration     : REAL := REAL#100;
    CartesianVel     : REAL := REAL#99999;
    RotationalVel    : REAL := REAL#99999;
    BufferMode       : eMC_BUFFER_MODE := Buffered;
    TransitionMode   : UINT := 0;
    TransitionParam  : MC_TransitionParameter;
END_VAR
VAR_OUTPUT
    Busy                : BOOL := FALSE;
    Done                : BOOL := FALSE;
    Active              : BOOL := FALSE;
    CommandTransferred  : BOOL := FALSE;
    CommandAborted      : BOOL := FALSE;
    Error               : BOOL := FALSE;
    ErrorID             : UDINT := 0;
    MovementID          : INT := -1;
END_VAR
VAR_IN_OUT
    AxesGroup  : T_StaeubliRobot;
END_VAR

MC_MoveAxisAbsolute 2: Inputs

Name

Type

Description

Execute

BOOL

Rising edge triggers function execution

JointPosition

T_JointPos

Absolute end position for each axis

Velocity

REAL

Joint velocity. Percentage of the nominal speed of the robot. Range [0.01 .. 500]

Acceleration

REAL

Joint acceleration. Percentage of the nominal acceleration of the robot. Range [0.01 .. 500]

Deceleration

REAL

Joint deceleration. Percentage of the nominal deceleration of the robot. Range [0.01 .. 500]

CartesianVel

REAL

Optional: Maximum cartesian velocity at Tool Center Point in mm/s

RotationalVel

REAL

Optional: Maximum rotational velocity at Tool Center Point in degree/s

BufferMode

eMC_BUFFER_MODE

0 = aborting / 1= buffered / 6-7 = blending

TransitionMode

UINT

Defines the profile of the robot trajectory nearby the set points. 0 = None / 3 = Corner distance / 10 = blending distances

TransitionParam

MC_TransitionParameter

MC_MoveAxisAbsolute 3: Outputs

Name

Type

Description

Busy

BOOL

Set when function block is executing. Reset when Done or Error is set

Done

BOOL

This output is set when function block has terminated with success

Active

BOOL

Set when commanded movement is currently executed by the robot

CommandTransferred

BOOL

Commanded motion is successfully buffered inside robot controler

CommandAborted

BOOL

Command is aborted by another command

Error

BOOL

This output is set when function block has terminated with error

ErrorID

UDINT

Error code

MovementID

INT

Identifier for this commanded movement

MC_MoveAxisAbsolute 4:/MC_MoveAxisAbsolute 5: Inputs/Outputs

Name

Type

Description

AxesGroup

T_StaeubliRobot

Data block for a robot