MC_MoveLinRel

PLCopen motion icon Pipe Network motion icon

 Function Block - Commands interpolated linear movement on an axes group to the specified relative positions.

Inputs

Input

Data Type

Range

Unit

Default

Description

Execute

BOOL

FALSE, TRUE

N/A

No default

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

AxesGroup

AXES_GROUP_REF

No range

N/A

No default

The axis group that performs the linear relative move.

Distance

LREAL[ ]

Dimension: The number of axes in the AxesGroup.

No range

User units

No default

Array of distances for each axis in the group.

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 linear 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.

  • 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.

  • The transition mode is limited to TM_NONE or TM_SCURVE_CORNER for groups with more than three axes.
  • See Transition Between Moves.

One of these enumeration values:

Value

Description

TM_NONE

No transition.

TM_CORNER_DISTANCE

Corner distance transition.

TM_SCURVE_CORNER

S-Curve corner transition.

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

  • See Coordinated Motion, the top-level topic for Coordinated Motion.
  • The dimensionality of the move is determined by the number of axes mapped to the group.
  • When all motion has completed successfully, the axes group state is GroupStandby.
  • MC_MoveLinRel commands interpolated linear movement of an axes group to the specified relative positions.

    • An error is returned if the group is in the GroupDisabled state.
    • 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_MoveLinRel

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

(* Inst_MC_MoveLinRelST example *)
Inst_MC_MoveLinRel( ExecuteLinearMove, Group1_Ref, DistanceList, Velocity, Acceleration, Deceleration, Jerk, CoordSystem, BufferMode, TranstionMode, TransitionParams );

See Also