Approaching an absolute Cartesian position with a circular motion

Description

The function block MC_MoveCircularAbsolute executes a circular motion to a Cartesian end position. In order for the robot controller to be able to calculate the circular motion, an auxiliary position must be specified in addition to the end position.

The coordinates of the auxiliary position and end position are absolute. The auxiliary position cannot be approximated. The motion always stops exactly at this point.

Approaching an absolute Cartesian position with a circular motion 1:
Function block MC_MoveCircularAbsolute

Inputs

Parameter

Type

Description

AxisGroupIdx

INT

Index of axis group

  • 1 … 5

Execute

BOOL

Starts/buffers the motion in the case of a rising edge of the signal.

Position

E6POS

Coordinates of the Cartesian end position

(>>> E6POS)

The data structure E6POS contains all components of the end position (= position of the TCP relative to the origin of the BASE coordinate system).

CircHP

E6POS

Coordinates of the Cartesian auxiliary position

(>>> E6POS)

The data structure E6POS contains all components of the auxiliary position (= position of the TCP relative to the origin of the BASE coordinate system).

Angle

REAL

Circular angle (= overall angle of the circular motion)

The circular angle makes it possible to extend the motion beyond the programmed end point or to shorten it. The actual end point thus no longer corresponds to the programmed end point.

The circular angle is not limited, i.e. a circular angle greater than ±360° can be specified:

  • > 0.0°: In the case of a positive angle, the motion is carried out from the start point via CircHP towards Position.
  • < 0.0°: In the case of a negative angle, the motion is carried out from the start point via Position towards CircHP.
  • = 0.0°: The circular angle is ignored. End position is Position. The radius of the circle is calculated on the basis of the start position, CircHP and Position.

Default: 0.0°

Velocity

REAL

Velocity for the path motion

  • 0 … 2 m/s

The maximum value is dependent on the robot type and refers to the value of DEF_VEL_CP of the robot system.

Default: 0 m/s (= velocity is not changed)

Acceleration

REAL

Acceleration for the path motion

  • 0 … 2.3 m/s2

The maximum value is dependent on the robot type and refers to the value of DEF_ACC_CP of the robot system.

Default: 0 m/s2 (= acceleration is not changed)

CoordinateSystem

COORDSYS

Coordinate system to which the Cartesian coordinates of the auxiliary or end position refer

(>>> COORDSYS)

Note: In the case of a circular motion, the Cartesian coordinates always refer to the BASE coordinate system.

OriType

INT

Orientation control of the TCP

  • 0: VAR
  • 1: CONSTANT
  • 2: JOINT

(>>> OriType)

CircType

INT

Orientation control during the circular motion

  • 0: BASE
  • 1: PATH

(>>> CircType)

Approximate

APO

Approximation parameter

(>>> APO)

QueueMode

INT

Mode in which the statement is executed

  • 1: ABORTING
  • 2: BUFFERED

(>>> QueueMode)

Outputs

Parameter

Type

Description

ComAcpt

BOOL

TRUE = statement was completely transferred and confirmed by the robot controller.

ComBusy

BOOL

TRUE = statement was transferred and confirmed by the robot controller, but has not yet been executed completely.

Busy

BOOL

TRUE = function block has not yet been executed completely.

Active

BOOL

TRUE = motion is currently being executed

Done

BOOL

TRUE = motion has stopped

CommandAborted

BOOL

TRUE = statement/motion has been aborted

Error

BOOL

TRUE = error in function block

ErrorID

DINT

Error number