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.

Inputs

Input

Data Type

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 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 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 unit/sec

No default

Maximum velocity of the defined path.

See Limitations on Acceleration and Jerk.

Acceleration

LREAL

Acceleration > (Velocity / 20)

User unit/sec2

No default

Maximum acceleration.

See Limitations on Acceleration and Jerk.

Deceleration

LREAL

Deceleration > (Velocity / 20)

User unit/sec2

No default

Maximum deceleration.

See Limitations on Acceleration and Jerk.

Jerk

LREAL

Trapezoidal velocity profiles:
   0 (zero)

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

User unit/sec3

No default

Maximum jerk.

See Limitations on Acceleration and Jerk.

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.
  • See Transition Between Moves.
  • 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

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

Indicates the error if Error output is TRUE.

See PLCopen Function Block ErrorIDs.

Remarks


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

Figure 1: MC_MoveCircAbs

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