MC_MoveCircRel
Function Block A function block groups an algorithm and a set of private data. It has inputs and outputs. - Commands interpolated circular movement on an axes group to the specified relative positions in the coordinate system as specified by the CoordSystem argument.
Inputs
Input |
Data Type |
Range |
Unit |
Default |
Description |
---|---|---|---|---|---|
Execute |
BOOL |
0, 1 |
N/A |
No default |
On the rising edge A 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. |
AxesGroup |
No range |
N/A |
No default |
The axis group that performs the circular relative move. |
|
CircMode |
SINT One of these enumeration values:
|
No range |
N/A |
No default |
Specifies the meaning of the AuxPoint[] input. |
AuxPoint[] |
LREAL |
0, Number of axes in group - 1 |
N/A |
No default |
Required Precision
Description Array of relative positions for each axis in the group. In all cases the points are relative to the starting point. The meaning depends on the value of the CircMode input:
|
EndPoint[] |
LREAL |
0, Number of axes in group - 1 |
N/A |
No default |
Required Precision
Description Array of relative end positions for each axis in the group. |
PathChoice |
SINT One of these enumeration values:
|
No range |
N/A |
No default |
Specifies the direction of the path. This argument is only relevant when CircMode is MC_CIRC_MODE_CENTER. |
Velocity |
LREAL |
0 < Velocity < (20 * Acceleration) and |
User unit/sec |
No default |
Maximum velocity of the defined path. See Limitations on Acceleration and Jerk for more information. |
Acceleration |
LREAL |
0 < Velocity < (20 * Acceleration) |
User unit/sec2 |
No default |
Maximum acceleration. See Limitations on Acceleration and Jerk for more information. |
Deceleration |
LREAL |
0 < Velocity < (20 * Deceleration) |
User unit/sec2 |
No default |
Maximum deceleration. See Limitations on Acceleration and Jerk for more information. |
Jerk |
LREAL |
Trapezoidal velocity profiles: S-Curve velocity profiles: |
User unit/sec3 |
No default |
See Limitations on Acceleration and Jerk for more information. |
CoordSystem |
SINT |
One of these enumeration values:
|
N/A |
No default |
The coordinate system used when commanding the circular relative move.
|
BufferMode |
SINT One of these enumeration values:
|
No range |
N/A |
No default |
Defines the chronological sequence of the function block relative to the previous block.
|
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. See Transition Between Moves for more information. |
TransitionParameter[ ] |
LREAL |
1, N |
N/A |
No default |
This array is dependent on the specified TransitionMode.
|
Outputs
Output |
Data Type |
Range |
Unit |
Description |
---|---|---|---|---|
Done |
BOOL |
No range |
N/A |
If TRUE, the command completed successfully. |
Busy |
BOOL |
No range |
N/A |
If TRUE, the function block is executing. |
Active |
BOOL |
No range |
N/A |
If TRUE, the function block is controlling motion. |
CommandAborted |
BOOL |
No range |
N/A |
If TRUE, the command was aborted by another function block. |
Error |
BOOL |
No range |
N/A |
If TRUE, an error has occurred. |
ErrorID |
INT |
No range |
N/A |
Indicates the error if Error output is TRUE. See the table in PLCopen Function Block ErrorIDs. |
Remarks
- See Coordinated Motion, the top-level topic for Coordinated Motion.
- See Circular Moves Diagrams for more information about movement options.
- An error is returned if the group is in the GroupDisabled state.
- When all motion has completed successfully, the axes group state is GroupStandby.
-
-
- Circular motion is only supported for axes groups with only two attached axes.
- 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.
Figure 6-149: MC_MoveCircRel
FBD Language Example
FFLD Language Example
IL Language Example
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
ST Language Example
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 );
See Also