MC_MoveCircRel
Description
MC_MoveCircRel commands interpolated circular movement on an axes group to the specified relative positions in the coordinate system as specified by the 'CoordSystem' argument. See Circular Moves Diagrams for detailed information on the movement options.
-
-
An error is returned if the group is in the GroupDisabled state.
-
-
- Circular motion is only supported for axes groups with only two attached axes
- S-Curve motion is not currently supported. The JerkIn physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time 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_MoveCircAbs, MC_ErrorDescription
Coordinated Motion, the top-level topic for Coordinated Motion.
Arguments
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 circular relative move. |
Data type | BOOL | |
Range | 0, 1 | |
Unit | N/A | |
Default | — | |
AxesGroup | Description | The axis group that will perform the circular relative move |
Data type | AXIS_GROUP_REF | |
Range | N/A | |
Unit | N/A | |
Default | — | |
CircMode | Description | Specifies the meaning of the AuxPoint[ ] input (see AuxPoint[ ] below). |
Data type |
SINT One of the following enumeration values:
|
|
Range | N/A | |
Unit | N/A | |
Default | — | |
AuxPoint[] | Description |
Array of relative positions for each axis in the group. The meaning depends on the value of the CircMode input:
In all cases the points are relative to the starting point. |
Data type | LREAL | |
Range | [0, Number of axes in group - 1] | |
Unit | N/A | |
Default | — | |
Required Precision | 1 part in 100,000. See Precision Requirements for Circular Move Input Parameters. | |
EndPoint[] | Description | Array of relative end positions for each axis in the group. |
Data type | LREAL | |
Range | [0, Number of axes in group - 1] | |
Unit | N/A | |
Default | — | |
Required Precision | 1 part in 100,000. See Precision Requirements for Circular Move Input Parameters. | |
PathChoice | Description | Specifies the direction of the path. This argument is only relevant when CircMode is MC_CIRC_MODE_CENTER. |
Data type |
SINT One of the following enumeration values:
|
|
Range | N/A | |
Unit | N/A | |
Default | — | |
Velocity | Description | Maximum velocity of the defined path |
Data type | LREAL | |
Range |
0 < Velocity < ( 20 * Acceleration ) and 0 < Velocity < ( 20 * Deceleration) See Limitations on Acceleration and Jerk for more information. |
|
Unit | user units per second | |
Default | — | |
Acceleration | Description | Maximum acceleration |
Data type | LREAL | |
Range |
0 < Velocity < ( 20 * Acceleration ) See Limitations on Acceleration and Jerk for more information. |
|
Unit | user units per second2 | |
Default | — | |
Deceleration | Description | Maximum Deceleration |
Data type | LREAL | |
Range |
0 < Velocity < ( 20 * Deceleration ) See Limitations on Acceleration and Jerk for more information. |
|
Unit | user units per second2 | |
Default | — | |
Jerk | Description | Maximum jerkIn physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time |
Data type | LREAL | |
Range |
For trapezoidal velocity profiles: 0 For S-Curve velocity profiles: ( Velocity / 20 ) < Acceleration < ( 2 * Jerk ) and ( Velocity / 20 ) < Deceleration < ( 2 * Jerk ) See Limitations on Acceleration and Jerk for more information.
|
|
Unit | user units per second3 | |
Default | — | |
CoordSystem | Description |
The coordinate system used when commanding the circular relative move Currently, only the ACS coordinate system is supported. See Coordinate Systems to learn more. |
Data type | SINT | |
Range |
One of the following enumeration values:
|
|
Unit | N/A | |
Default | — | |
BufferMode | Description |
Defines the chronological sequence of the function block relative to the previous block. The blending modes (2, 3, 4, & 5) match the path velocity at the active move's endpoint. Some individual axis velocities may make an abrupt change if the path of the next move travels in a different direction. A transition move may be programmed at the See the table in Buffer Modes. |
Data type |
SINT One of the following enumeration values:
|
|
Range | — | |
Unit | N/A | |
Default | — | |
TransitionMode | Description |
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. See Transition Between Moves for additional information. |
Data type | SINT | |
Range |
The value is limited to the following:
|
|
Unit | N/A | |
Default | — | |
TransitionParameter[ ] | Description |
This array is dependent on the TransitionMode specified. The transition parameter values are applied to the axis group. See Transition Mode Parameters for details. |
Data type | LREAL | |
Range |
[1, N ] N values are supplier specified dependent on the TransitionMode selected. |
|
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
ST
Inst_MC_MoveCircRel( ExecuteMove, Group1_Ref, MC_CIRC_MODE_BORDER, AuxPoints, EndPoints, MC_CIRC_PATHCHOICE_CLOCKWISE, Velocity, Acceleration, Deceleration, Jerk, MC_COORDINATE_SYSTEM_ACS, MC_BUFFER_MODE_ABORTING, MC_TRANSITION_MODE_NONE, TransitionParams );
IL
BEGIN_IL"Instruction list" This is a low-level language and resembles assembly
CAL Inst_MC_MoveCircRel( ExecuteMove, Group1_Ref, MC_CIRC_MODE_BORDER, AuxPoints, EndPoints, MC_CIRC_PATHCHOICE_CLOCKWISE, Velocity, Acceleration, Deceleration, Jerk, MC_COORDINATE_SYSTEM_ACS, MC_BUFFER_MODE_ABORTING, MC_TRANSITION_MODE_NONE, TransitionParams )
END_IL
FBD
FFLD