MC_MoveDirRel
Description
MC_MoveDirRel commands a movement of an axes group to a relative position in the specified coordinate system without taking care 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 JerkIn physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time arguments. These are set using MC_AxisSetDefaults.
- The maximum number of axes is set by the MaxNumberOfAxes input set in the MC_CreateAxesGrp function block.
- S-Curve motion is not currently supported. The Jerk input is currently ignored. S-Curve motion and the Jerk argument will be supported in a future release. .
When all motion has completed successfully, the state of the axes group goes to GroupStandby.
Related Functions
MC_MoveDirAbs, MC_ErrorDescription
Coordinated Motion, the top-level topic for Coordinated Motion.
Arguments
For more detail on how inputs and outputs work, refer to PLCopen Function Blocks - General Rules
Input
Execute | Description |
On the rising edgeA rising edge is the transition of a digital signal from low to high. It is also called positive edge request to perform a direct relative move. |
Data type | BOOL | |
Range | 0, 1 | |
Unit | N/A | |
Default | — | |
AxesGroup | Description | Reference to an axes group |
Data type | AXES_GROUP_REF | |
Range | — | |
Unit | N/A | |
Default | — | |
Distance[ ] | Description | An array containing the distance for each axis in the group. |
Data type | LREAL | |
Range | [0, Number of axes in group - 1] | |
Unit | N/A | |
Default | — | |
CoordSystem | Description |
The coordinate system used when commanding the direct relative move. Currently, only the ACS coordinate system is supported. See Coordinate Systems to learn more. |
Data type | SINT | |
Range |
|
|
Unit | N/A | |
Default | — | |
BufferMode | Description |
Defines the chronological sequence of the function block relative to the previous block. See the table in Buffer Modes |
Data type |
SINT MC_BUFFER_MODE_ABORTING = 0 = Abort |
|
Range | — | |
Unit | N/A | |
Default | — |
Output
Done | Description |
If True, then the command completed successfully. |
Data type | BOOL | |
Busy | Description |
If True, then the function block is executing. . |
Data type | BOOL | |
Active | Description |
If True, then the function block is controlling motion. |
Data type | BOOL | |
CommandAborted | Description |
If True, command was aborted by another function block. |
Data type | BOOL | |
Error | Description | If True, an error has occurred. |
Data type | BOOL | |
ErrorID | Description | Indicates the error if Error output is set to TRUE. See table in PLCopen Function Block ErrorID Output. |
Data type | INT |
Example
Structure Text
Inst_MC_MoveDirRel( ExecuteMove, Group1_Ref, DistanceList, MC_COORDINATE_SYSTEM_ACS, MC_BUFFER_MODE_ABORTING );
IL
BEGIN_IL"Instruction list" This is a low-level language and resembles assembly CAL Inst_MC_MoveDirRel( ExecuteMove, Group1_Ref, DistanceList, MC_COORDINATE_SYSTEM_ACS, MC_BUFFER_MODE_ABORTING ) END_IL
Function Block Diagram
Ladder Diagram