MC_MoveCircularRelative
This Function Block commands an interpolated arc movement on an AxesGroup from the commanded initial TCP position. The EndPoint and AuxPoint point must be defined in the specified coordinate system relatively from the initial commanded position.
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 about TransitionParameter . | 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 AXIS_REF. 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 with 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.