MC_MoveDirRel

PLCopen motion icon Pipe Network motion icon

 Function Block - Commands movement of an axes group to a relative position regardless of path.

Inputs

Input

Data Type

Range

Unit

Default

Description

Execute

BOOL

FALSE, TRUE

N/A

No default

On the rising edge, request to perform a direct relative move.

AxesGroup

AXES_GROUP_REF

No range

N/A

No default

Reference to an axes group.

Distance

LREAL[ ]

Dimension: The number of axes in the AxesGroup.

No range

User units

No default

An array containing the distance for each axis in the group.

CoordSystem

SINT

Enumerated

N/A

No default

The coordinate system used when commanding the direct relative 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.
  • Blending buffer modes are not supported by direct moves.

These are the valid buffer modes for this function block:

Value

Description

BM_ABORTING

Aborting Mode

BM_BUFFERED

Buffered Mode

See Buffer Modes for detailed information.

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

  • See Coordinated Motion, the top-level topic for Coordinated Motion.
  • See Function Blocks - General Rules about how inputs and outputs work.
  • When all motion has completed successfully, the axes group state is GroupStandby.
  • MC_MoveDirRel commands a movement of an axes group to a relative position in the specified coordinate system regardless of how (on which path) the target position is reached.

    • An error is returned if the group is in the GroupDisabled state.
    • This function block does not have its own Acceleration, Deceleration, Velocity, and Jerk arguments.
    • The maximum number of axes is set by the MaxNumberOfAxes input set in the MC_CreateAxesGrp function block.


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

Figure 1: MC_MoveDirRel

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

Inst_MC_MoveDirRel(ExecuteMove, Group1_Ref, DistanceList, , CS_ACS, BM_ABORTING);

See Also