MC_MoveDirAbs

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 movement of an axes group to an absolute positionClosed 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. regardless of 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..

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 directClosed The orientation components of a vector in space. 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

Reference to an axes group.

Position[]

LREAL

0, Number of axes in group - 1

N/A

No default

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

CoordSystem

SINT

One of these enumeration values:

N/A

No default

The coordinate system used when commanding the direct absolute move.

BufferMode

SINT

One of these enumeration values:

  • MC_BUFFER_MODE_ABORTING = 0 = Abort
  • MC_BUFFER_MODE_BUFFERED = 1 = Buffered

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.

See Buffer Modes.

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.
  • See Function Blocks - General Rules about how inputs and outputs work.
  • When all motion has completed successfully, the axes group state is GroupStandby.
  • MC_MoveDirAbs commands the movement of an axes group to a specified absolute position in the specified coordinate system regardless of how (on which path) the target position is reached.

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

Figure 1: MC_MoveDirAbs

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_MoveDirAbs( DirectMove, Group1_Ref, PositionList, MC_COORD_SYSTEM_ACS, MC_BUFFER_MODE_ABORTING)
END_IL

ST Language Example

Inst_MC_MoveDirAbs( DirectMove, Group1_Ref, PositionList, MC_COORDSYSTEM_ACS, MC_BUFFER_MODE_ABORTING);

See Also