L_MC4P_MoveEllipticalRelative

This function block is used to carry out a travel for an axes group along an elliptic path towards a relative position in the specified coordinates system.

  • In case of the ellipse interpolation, a relatively given target position alrEndPoint is approached on an ellipse arc. The starting position is the target position of the FB instructed last or the current position if the axes group is in the "GroupStandby" state.
  • The ellipse is programmed via the alrAuxPoint centre and alrEndPoint end point.
    For the MC_MoveCircularRelative function block, this corresponds to the programming via
    CircMode := L_MC4P_CircMode.Center;
  • This programming is currently not supported:
    CircMode := L_MC4P_CircMode.Border
  • Ellipse arcs with 180° and 360° must be composed of several commands.
  • For defining the ellipse arc, the end point and centre must be defined as relative positions.
  • For a clear description of the ellipse geometry, the dimensions of the two lrSemiMajorAxis semi-axes (semi-major axis of the ellipse) and lrSemiMinorAxis (semi-minor axis of the ellipse) have to be given.
  • After the target positions have been reached, the axes group is in the "GroupStandby" state if no further motion commands are pending.
Danger!

All paths have to be first tested with override or in the simulation mode with virtual axes!

Note!

Cartesian path movements can only be executed if all drive axes are referenced to the zero positions defined in the " Supported kinematics " section.

 

 

 

L_MC4P_MoveEllipticalRelative

 

 

 

AXES_GROUP_KIN

-

AxesGroup

AxesRef

-

AXES_GROUP_KIN

BOOL

-

xExecute

xDone

-

BOOL

ARRAY [1..12] OF LREAL

-

alrAuxPoint

xBusy

-

BOOL

ARRAY [1..12] OF LREAL

-

alrEndPoint

xActive

-

BOOL

LREAL

-

lrSemiMajorAxis

xCommandAborted

-

BOOL

LREAL

-

lrSemiMinorAxis

xError

-

BOOL

MC_CIRC_PATHCHOICE

ePathChoice

xErrorID

-

L_IE1P_Error

LREAL

-

lrVelocity

LREAL

-

lrAcceleration

LREAL

-

lrDeceleration

LREAL

-

lrJerk

L_MC4P_CoordSystem

-

eCoordSystem

MC_BUFFER_MODE

-

eBufferMode

MC_TRANSITION_MODE

-

eTransitionMode

ARRAY [ 1..12 ] OF LREAL

-

alrTransitionParameter

ARRAY [1..6] OF
L_MC4P_AuxMode

-

aeAuxMode

L_MC4P_Orientation_Mode

-

eOrientationMode

ARRAY[4..6] OF MC_DIRECTION

-

aeDirection

 

 

 

 

 

 

 

 

Inputs

Name

Data type

Information/possible settings

AxesGroup

AXES_GROUP_KIN

axes group reference

xExecute

BOOL

FALSE ä TRUE

Start execution of the function block

alrAuxPoint

ARRAY [1..12] OF LREAL

Array with relative centre position in [unit] for each dimension in the specified coordinate system

Note: In the case of alrAuxPoint , only the position (X, Y, Z) is used for calculating the ellipse geometry. alAuxPoint has no influence on the interpolation of the orientation axes and the auxiliary axes.

alrEndPoint

ARRAY [1..12] OF LREAL

Array with relative end point coordinates in [unit] for each dimension in the specified coordinate system.

Target point of the ellipse

  • [1; 6]
    • Coordsystem = ACS : Target point of the drive axes
    • Coordsystem = WCS , MCS or PCS : Target point of the TCP in the selected coordinate system
  • Index 7 ... 12:
    • Target point of the optionally available auxiliary axes

lrSemiMajorAxis

LREAL

Semi-major axis of the ellipse

lrSemiMinorAxis

LREAL

Semi-minor axis of the ellipse

ePathChoice

MC_CIRC_PATHCHOICE

Passage direction (Cw / Ccw)

  • CLOCKWISE: Shortest path (<180°)
  • COUNTERCLOCKWISE: Longer path (>180°)

lrVelocity

LREAL

Maximum velocity in [unit/s] for approaching the target position

  • Depending on the profile parameters Position , Acceleration , Deceleration and Jerk the drive may not reach the maximum velocity.

lrAcceleration

LREAL

Maximum acceleration in [unit/s 2 ]

lrDeceleration

LREAL

Maximum deceleration in [unit/s 2 ]

lrJerk

LREAL

Maximum jerk in [unit/s 3 ]

eCoordSystem

L_MC4P_CoordSystem

Selection of the coordinate system to be used:

  • WCS: World Coordinate System
  • MCS: Machine Coordinate System
  • ACS: Axes Coordinate System
  • PCS_1 ... PCS_16: Product Coordinate System (1 ... 16)

Coordinate systems and transformations

eBufferMode

MC_BUFFER_MODE

Mode for processing successive motion commands

BufferMode

eTransitionMode

MC_TRANSITION_MODE

Mode for the path behaviour at the motion end

TransitionMode and TransitionParameter

alrTransitionParameter

ARRAY [1..12] OF LREAL

Description of the alrTransitionParameter parameter

Parameters for "Overloops"

Only relevant if eTransitionMode = TMCornerDistance has been selected.

* alrTransitionParameter[1]

  • Specification of the grinding radius of the starting point or to the previous movement as a symmetrical distance in [mm].
  • Value is used if alrTransitionParameter[1] > 0

* alrTransitionParameter[2]

  • Specification of the blending radius of the starting point or the previous movement relative to half the path length of the movements in [%].
  • Value is used if alrTransitionParameter[1] = 0 and alrTransitionParameter[2] > 0

* alrTransitionParameter[3..12]

  • Reserved for future functional enhancements

aeAuxMode

ARRAY [1..6] OF L_MC4P_AuxMode

Mode for the auxiliary axes:

  • Inactive: Auxiliary axis coordinates are ignored.
  • Continuous: Smoothing the auxiliary axis via several MC_Move blocks.
  • DiscreteAbsolute: Auxiliary axis position is set at the end of each motion segment (similar to the main axes).
  • DiscreteRelative: Auxiliary axis position is set at the end of each motion segment (similar to the main axes).

Auxiliary axes

eOrientationMode

L_MC4P_Orientation_Mode

Specification of the orientation interpolation for the WCS axes

  • ShortestSpacialWay : The target orientation is approached so that the shortest possible spatial angle results for the sum of movements. For 4D kinematics this is equivalent to mcShortestWay for the C axis. (default)
  • AxisIndividual : The direction of movement can be specified independently for each orientation axis via the Direction input.

See also: Direction selection for Modulo axes

aeDirection

ARRAY[4..6] OF MC_DIRECTION

Direction select for orientation axes (WCS axes) parameterised as "Modulo". The input is only evaluated with
OrientationMode:= L_MC4P_Orientation_Mode.AxisIndividual .

Index 4 ... 6: Main axes A, B, C

Permitted selection:

  • mcPositiveDirection : Positive direction
  • mcNegativeDirection : Negative direction
  • mcShortestWay : Shortest way (default)

Modes mcCurrentDirection , mcPositiveCycle and mcNegativeCycle are not supported.

See also: Direction selection for Modulo axes

Outputs

Name

Data type

Value/meaning

xDone

BOOL

TRUE

Positioning completed successfully.

xBusy

BOOL

TRUE

Processing is running.

  • The Busy output matters if a motion control is carried out by several FBs (BufferMode).

xActive

BOOL

TRUE

The command of the FB is currently executed.

xCommandAborted

BOOL

TRUE

The command was aborted by another FB.

xError

BOOL

TRUE

An error has occurred. For details see ErrorID .

eErrorID

L_IE1P_Error

If Error = TRUE: Error number for the error that has occurred.