MC_MoveLinAbs

PLCopen motion icon Pipe Network motion icon

 Function BlockClosed A function block groups an algorithm and a set of private data. It has inputs and outputs. - Commands interpolated linear movement on an axes group to the specified absolute positionsClosed Position means a point in space which is described by different coordinates. Depending on the used system and transformation it can consist of a maximum of six dimensions (coordinates).This means three Cartesian coordinates in space and coordinates for the orientation. In ACS there can be even more than six coordinates. If the same position is described in different coordinate systems the values of the coordinates are different..

Inputs

Input

Data Type

Range

Unit

Default

Description

Execute

BOOL

FALSE, TRUE

N/A

No default

On the rising edgeClosed The transition of a digital signal from low to high. AKA: positive edge., request to perform a linear absolute moveClosed A positioning movement referenced to a fixed original position. Example: If a stage is positioned at +500 mm, an absolute move to +300 mm would result in a move of 200 mm towards the origin (in the negative direction)..

AxesGroup

AXES_GROUP_REF

No range

N/A

No default

The axis group that performs the linear absolute move.

Position[]

LREAL

No range

User units

No default

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

VelocityClosed For a group of axes this means: In ACS the velocities of the different axes. In MCS and PCS it provides the velocity of the TCP

LREAL

0 < Velocity < (20 * AccelerationClosed A change in velocity over time. Because velocity is a vector, it can change in two ways: a change in magnitude and/or a change in direction. In one dimension, acceleration is the rate at which something speeds up or slows down. However, more generally, acceleration is a vector quantity expressing the change with time of the velocity both in magnitude and in direction. See these Wikipedia articles for more information: http://en.wikipedia.org/wiki/Velocity http://en.wikipedia.org/wiki/Euclidean_vector http://en.wikipedia.org/wiki/Rate_(mathematics)) and
0 < Velocity < (20 * Deceleration)

User unit/sec

No default

Maximum velocity of the defined pathClosed Set of continuous positions and orientation information in multi-dimensional space. Geometrical description of a space curve that the TCP of an axesgroup moves along..

See Limitations on Acceleration and Jerk.

Acceleration

LREAL

0 < Velocity < (20 * Acceleration)

User unit/sec2

No default

Maximum acceleration.

See Limitations on Acceleration and Jerk.

Deceleration

LREAL

0 < Velocity < (20 * Deceleration)

User unit/sec2

No default

Maximum deceleration.

See Limitations on Acceleration and Jerk.

Jerk

LREAL

Trapezoidal velocity profiles:
   0 (zero)

S-Curve velocity profiles:
   (Velocity / 20) < Acceleration < (2 * Jerk) and
   (Velocity / 20) < Deceleration < (2 * Jerk)

User unit/sec3

No default

Maximum jerk.

See Limitations on Acceleration and Jerk.

CoordSystem

SINT

One of these enumeration values:

N/A

No default

The coordinate system used when commanding the linear absolute move.

BufferMode

SINT

One of these enumeration values:

N/A

No default

Defines the chronological sequence of the functionClosed A function calculates a result according to the current value of its inputs. A function has no internal data and is not linked to declared instances. block relative to the previous block.

  • The buffer mode is limited to MC_BUFFER_MODE_BUFFERED for groups with more than two axes.
  • See Buffer Modes.

TransitionMode

SINT

The value is limited to:

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 MC_TRANSITION_MODE_NONE for groups with more than three axes.
  • See Transition Between Moves.

TransitionParameter[ ]

LREAL

1, N

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 axis group.

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

-32768 to +32767

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.
  • When all motion has completed successfully, the axes group state is GroupStandby.
  • MC_MoveLinAbs commands interpolated linear movement on an axes group to the specified absolute positions in the coordinate system as specified by the CoordSystem argument.
    • The dimensionality of the move is determined by the number of axes mapped to the group.

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

FBD Language Example

FFLD Language Example

IL Language Example

      BEGIN_ILClosed Instruction list - This is a low-level language and resembles assembly.
     CAL Inst_MC_MoveLinAbs( ExecuteLinearMove, Group1_Ref, PositionList, Velocity, Acceleration, Deceleration, Jerk, CoordSystem, BufferMode, TransitionMode, TransitionParams )
END_IL

ST Language Example

      (* Inst_MC_MoveLinAbsST example *)
Inst_MC_MoveLinAbs( ExecuteLinearMove, Group1_Ref, PositionList, Velocity, Acceleration, Deceleration, Jerk, CoordSystem, BufferMode, TransitionMode, TransitionParams );

See Also