MC_MoveCircAbs

PLCopen motion icon Pipe Network motion icon

 Function Block - Commands interpolated circular movement on an axes group to the specified absolute positions in the coordinate system as specified by the CoordSystem argument.


    • Circular motion is only supported for axes groups with only two attached axes.

Inputs

Input

Data Type

See Data Types.

Range

Unit

Default

Description

Execute

BOOL

FALSE, TRUE

N/A

No default

On the rising edge, request to perform a circular absolute move.

AxesGroup

AXES_GROUP_REF

No range

N/A

No default

The axis group that performs the circular absolute move.

CircMode

SINT

Enumerated

N/A

No default

  • Specifies the meaning of the AuxPoint[ ] input.
  • One of these enumeration values:

Value

Description

CIRC_MODE_BORDER

The specified point lies on the border of the circle.

CIRC_MODE_CENTER

The specified point is the center of the circle.

AuxPoint

LREAL[ ]

Dimension: The number of axes mapped in the AxesGroup.

No range

N/A

No default

Required Precision

Description

  • Array of absolute positions for each axis in the group.
  • The meaning depends on the value of the CircMode input:
  • CIRC_MODE_BORDER
    • AuxPoint defines a point on the circle which is crossed on the path from the starting to the end point.
  • CIRC_MODE_CENTER
    • AuxPoint defines the center point of the circle.

EndPoint

LREAL[ ]

Dimension: The number of axes mapped in the AxesGroup.

No range

N/A

No default

Required Precision

Description

Array of absolute end positions for each axis in the group.

PathChoice

SINT

Enumerated

N/A

No default

  • Specifies the direction of the path.
  • This argument is only relevant when CircMode is CIRC_MODE_CENTER.

One of these enumeration values:

Value

Description

CIRC_PATH_CLKWISE

Move in the clockwise direction.

CIRC_PATH_COUNTERCLKWISE

Move in the counter clockwise direction.

Velocity

LREAL

0 < Velocity < (20 * Acceleration) and
0 < Velocity < (20 * Deceleration)

User units / sec

No default

Acceleration

LREAL

Acceleration > (Velocity / 20)

User units / sec2

No default

Deceleration

LREAL

Deceleration > (Velocity / 20)

User units / sec2

No default

Jerk

LREAL

Trapezoidal velocity profiles:
   0 (zero)

S-Curve velocity profiles:
   Jerk > (Acceleration / 2)
and
   Jerk > (Deceleration / 2)

User units / sec3

No default

CoordSystem

SINT

Enumerated

N/A

No default

The coordinate system used when commanding the circular absolute move.

One of these enumeration values:

Value

Description

CS_ACS

Axes Coordinate System

CS_MCS

Machine Coordinate System

CS_PCS

Product Coordinate System

BufferMode

SINT

Enumerated

N/A

No default

Defines the chronological sequence of the function block relative to the previous block.

  • BM_ABORTING is not allowed with this function block.
  • Some individual axis velocities can make an abrupt change if the path of the next move travels in a different direction.
    • A transition move can be programmed in the TransitionMode input to avoid this.

TransitionMode

SINT

Enumerated

N/A

No default

  • Coupled with the TransitionParameter, this input defines the shape and dynamics of the inserted contour to connect the current motion with the next motion in the queue.
  • Circular moves do not support the TransitionMode TM_SCURVE_CORNER.
  • One of these enumeration values:

Value

Description

TM_NONE

No transition.

TM_CORNER_DISTANCE

The velocity value of the transition segment.

TransitionParameter

LREAL[ ]

Dimension: 1 to N

No range

N/A

No default

This array is dependent on the specified TransitionMode.

  • N values are supplier specified dependent on the selected TransitionMode.
  • Transition parameter values are applied to the AxesGroup.

Outputs

Output

Data Type

See Data Types.

Range

Unit

Description

Done

BOOL

FALSE, TRUE

N/A

If TRUE, the command completed successfully.

Busy

BOOL

FALSE, TRUE

N/A

If TRUE, the function block is executing.

Active

BOOL

FALSE, TRUE

N/A

If TRUE, the function block is controlling motion.

CommandAborted

BOOL

FALSE, TRUE

N/A

If TRUE, the command was aborted by another function block.

Error

BOOL

FALSE, TRUE

N/A

If TRUE, an error has occurred.

ErrorID

INT

Enumerated

N/A

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

Inst_MC_MoveCircAbs(ExecuteMove, Group1_Ref, MC_CIRC_MODE_BORDER, AuxPoints, EndPoints, CIRC_PATH_CLKWISE, Velocity, Acceleration, Deceleration, Jerk, CS_ACS, BM_ABORTING, TM_NONE, TransitionParams);

See Also