MC_MoveCircularAbsolute
Parameters
| * | Parameter | Data Type | Description | Default |
|---|---|---|---|---|
|
VAR_IN_OUT
|
||||
| B |
AxesGroup | AXES_GROUP_REF | A logical reference to a group of axes, which contains several additional substructures pertaining to the group. | |
| VAR_INPUT | ||||
| B | Execute |
BOOL | Upon the rising edge, all other function block inputs are read and the function is initiated. To modify an input, change the value and re-trigger the execute input. | FALSE |
| B | CircMode |
MC_CircleMode | Enumeration with the following values: 0 = Border, 1 = Center, 2 = Radius. Specifies the meaning of the inputs 'AuxPoint' and 'PathChoice' MC_CircleMode#Border MC_CircleMode#Center MC_CircleMode#Radius |
MC_CircleMode#Border |
| B | AuxPoint |
VECTOR | An array of values. The specific meaning of each value depends upon the Coordinate System specified and the mechanism, and the context. For example, the values could be world space positions or velocities. | Array of LREAL#0.0 |
| V | AuxPoint2 |
VECTOR |
An array of values. The specific meaning of each value depends upon the Coordinate System specified and the mechanism, and the context. For example, the values could be world space positions or velocities.
Only required for groups configured with three dimensions. This input is a position on the arc which specifies the plane. See notes below about AuxPoint2. |
Array of LREAL#0.0 |
| B | EndPoint |
VECTOR | An array of values. The specific meaning of each value depends upon the Coordinate System specified and the mechanism, and the context. For example, the values could be world space positions or velocities. |
Array of LREAL#0.0 |
| E | PathChoice |
MC_CirclePathChoice | Enumeration with the following values: 0 = ClockWise, 1 = CounterClockWise, 2 = Shortest, 3 = Longest. MC_CirclePathChoice#ClockWise MC_CirclePathChoice#CounterClockWise MC_CirclePathChoice#Shortest MC_CirclePathChoice#Longest | MC_CirclePathChoice#ClockWise |
| V | Turns |
UINT | Specifies the number of full circles to make, plus the arc specified by CircMode, AuxPoint, AuxPoint2 and EndPoint. | UINT#0 |
| B | Velocity |
LREAL | Absolute value of the velocity in user units/second. | LREAL#0.0 |
| B | Acceleration |
LREAL | Value of the acceleration in user units/second^2 (acceleration is applicable with same sign of torque and velocity) |
LREAL#0.0 |
| B | Deceleration |
LREAL | Value of the deceleration in user units/second^2 (deceleration is applicable with opposite signs of torque and velocity.) |
LREAL#0.0 |
| E | Jerk |
LREAL | Not supported; reserved for future use. Value of the jerk in [user units / second^3]. | LREAL#0.0 |
| E | CoordSystem |
MC_CoordinateSystem | Enumeration with the following values: 0 = ACS, 1 = MCS, 2 = PCS, 3 = TCS, 4 = WCS, 5 = TPCS. MC_CoordinateSystem#ACS MC_CoordinateSystem#MCS MC_CoordinateSystem#PCS MC_CoordinateSystem#TCS MC_CoordinateSystem#WCS MC_CoordinateSystem#TPCS | MC_CoordinateSystem#ACS |
| V | MoveOptions |
Yt_GroupMoveOptions | Commands to specify the pose of a robot mechanism, set Cartesian or rotational velocity, velocity units, etc. | All zeros in structure |
| E | BufferMode |
MC_BufferMode
|
Defines the behavior of the axis - allowable modes are Aborting, Buffered, BlendingLow, BlendingPrevious, BlendingNext, and BlendingHigh. MC_BufferMode#Aborting MC_BufferMode#Buffered MC_BufferMode#BlendingLow MC_BufferMode#BlendingPrevious MC_BufferMode#BlendingNext MC_BufferMode#BlendingHigh | MC_BufferMode#Aborting |
| E | TransitionMode |
MC_TransitionMode | Specifies how segments are blended together when multiple MC_MoveLinear and MC_MoveCircular function blocks are buffered.Please refer to MC_TransitionMode for more details. | MC_TransitionMode#TMNone |
| E |
TransitionParameter
|
VECTOR | Additional parameters for the selected TransitionMode. See detailed section aboutTransitionParameter. | Array of LREAL#0.0 |
| VAR_OUTPUT | ||||
| B | Done |
BOOL | Set high when the commanded action has completed successfully. If another block takes control before the action is completed, the Done output will not be set. This output is reset when Execute goes low. | |
| B | Busy |
BOOL | Set high upon the rising edge of the Execute input, and reset when Done, CommandAborted, or Error is true. In the case of a function block with an Enable input, a Busy output indicates the function is operating, but not ready to provide Valid information. (No Error) | |
| B | Active | BOOL | For buffered modes, this output is set high at the moment the block takes control of the axis. For non buffered modes, the outputs Busy and Active have the same value. | |
| B | CommandAborted | BOOL | Set high if motion is aborted by another motion command or MC_Stop. This output is cleared with the same behavior as the Done output. | |
| B | Error | BOOL | Set high if an error has occurred during the execution of the function block. This output is cleared when 'Execute' or 'Enable' goes low. |
|
| E |
ErrorID | UINT | If Error is true, this output provides the Error ID. This output is reset when 'Execute' or 'Enable' goes low. |
|
Notes
- AuxPoint2 in a 3Dimensions group is used only in the case that StartPoint = EndPoint (when doing exactly one turn). If (||StartPoint|| - ||Endpoint||) > 0.01 units (configurable via Y_GroupWriteParameter(2705)), then AuxPoint2 is ignored. This can lead to a trajectory in a completely different plane.
Error Description
See the Function Block ErrorID List.
Example 1
Example 2: Border Circle Mode (Arc with 0 turns)
An example of creating a 2D arc using Border mode is shown below. The number of turns is 0 because an arc of less than 360 degrees is required.
StartPoint= (0, 0, 0, 0, 0, 0)
AuxPoint = (0, -20, 0, 0, 0, 0)
EndPoint = (10, -10, 0, 0, 0, 0).
The logic analyzer plot of X, Y, and Z commanded positions of the TCP is shown below.
The XY plot traced by the TCP is shown below.
Example 3: Border Circle Mode (Full Circle)
An example of creating a 2D circle using border mode is shown below. The number of turns is 0.
StartPoint = (0, 0, 0, 0, 0, 0)
AuxPoint = (0, -20, 0, 0, 0, 0)
AuxPoint2 = (10, -10, 0, 0, 0, 0)
EndPoint = (0, 0, 0, 0, 0, 0).
The logic analyzer plot of X, Y, and Z commanded positions of the TCP is shown below.
The XY plot traced by the TCP is shown below.
Example 4: Border Circle Mode (2D Arc with 1 turn)
An example of creating a 2D arc with one turn using border mode is shown below. Since the number of turns is 1, the TCP goes through one full circle in addition to the arc specified. The function block inputs are the same as example 2 with the only difference being the Turns input.
StartPoint = (0, 0, 0, 0, 0, 0)
AuxPoint = (0, -20, 0, 0, 0, 0)
EndPoint = (10, -10, 0, 0, 0, 0).
The Logic analyzer plot of the X, Y, Z coordinates of the TCP is shown below.
The XY plot traced by the TCP is shown below.
Example 5: Border Circle Mode (3D Arc)
An example of creating a 3D arc using border mode. Note that the AuxPoint is not on the z= 0 plane.
StartPoint = (0, 0, 0, 0, 0, 0)
AuxPoint = (0, -20, 10, 0, 0, 0)
EndPoint = (10, -10, 0, 0, 0, 0).
The logic analyzer plot of the TCP's X, Y, Z coordinates is shown in the figure below.
The 3D path traced by the TCP, laid on the z = 0 plane is shown below.
Example 6: Center Circle Mode (2D Arc with shortest path)
StartPoint = (0, 0, 0, 0, 0, 0)
AuxPoint = (0, -10, 0, 0, 0, 0) (center point)
EndPoint = (10, -10, 0, 0, 0, 0)
The logic analyzer plot of the X, Y, Z coordinates of the TCP is shown below.
The XY plot of the TCP's path is shown below. Since shortest path was chosen, the TCP trajectory is clockwise in this case.
Example 7: Center Circle Mode (2D Arc with longest path)
StartPoint = (0, 0, 0, 0, 0, 0).
AuxPoint = (0, -10, 0, 0, 0, 0) (center point)
EndPoint = (10, -10, 0, 0, 0, 0).
The logic analyzer plot of the X, Y, Z coordinates of the TCP is shown below.
The XY plot of the TCP's path is shown below. Since longest path was chosen, the TCP trajectory is counter clockwise in this case.
Example 8: Radius Circle Mode (2D Arc with shortest path)
According to the definition of the AuxPoint in radius mode, the arc radius is 10 units and the arc rotates around and axis parallel to the +Z axis.
StartPoint = (0, 0, 0, 0, 0, 0).
AuxPoint = (0, 0, 10, 0, 0, 0) (radius)
EndPoint = (10, -10, 0, 0, 0, 0).
The logic analyzer plot of the X, Y, Z coordinates of the TCP is shown below.
The XY plot of the TCP's path is shown below.
Example 9: Radius Circle Mode (2D Arc with longest path)
According to the definition of the AuxPoint in radius mode, the arc radius is 10 units and the arc rotates around and axis parallel to the +Z axis.
CircleStart =(0, 0, 0, 0, 0, 0).
AuxPoint = (0, 0, 10, 0, 0, 0) (radius)
EndPoint = (10, -10, 0, 0, 0, 0).
The logic analyzer plot of the X, Y, Z coordinates of the TCP is shown below.
The XY plot of the TCP's path is shown below. It can be seen that the longest path from the start point to end point with a radius of 10 and a ccw orientation is traced by the TCP.
Example 10: Radius Circle Mode (2D Arc with longest path and 1 turn)
According to the definition of the AuxPoint in radius mode, the arc radius is 10 units and the arc rotates around and axis parallel to the +Z axis.
CircleStart = (0, 0, 0, 0, 0, 0).
AuxPoint = (0, 0, 10, 0, 0, 0) (radius)
EndPoint = (10, -10, 0, 0, 0, 0).
The logic analyzer plot of the X, Y, Z coordinates of the TCP is shown below.
The XY plot of the TCP is shown below. Since the number of commanded turns is 1, the TCP traces one full circle in addition to the specified arc.