MC_GroupSetPosition
This Function Block sets the position of all axes in a group without moving the axes. MC_GroupSetPosition is a maintenance mode operation only to be used when commissioning a robot group, or after maintenance operations. Only the Axes Coordinate System is supported, but affects the higher level coordinate systems.
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 | Position | 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 | Relative | BOOL | Not supported; reserved for future use. |
FALSE |
| E | CoordSystem | MC_CoordinateSystem | Only the ACS is supported. |
MC_CoordinateSystem#ACS |
| V | SetMode | INT |
Mode = 0: Sets the motor position directly. New motor feedback position will equal Position vector. Supported for FMK hosted groups only.
Mode =1: Sets the current motor position to zero. It is assumed that the user has moved all motors to the home position usually marked by a jig or reference lines on the robot, which is motor angle 0. This operation sets the current motor position to zero, and generates new position offsets. This is equivalent to executing MC_SetPosition with Position = zero. This mode ignores the Position input. Mode =2 : Sets the motor offset. The resulting feedback position equals the previous feedback position plus the difference between the old and new motor offsets. For FMK hosted groups, set Position input in user units. For remote hosted groups, set the Position input in encoder pulses. |
INT#0 |
| E | BufferMode | MC_BufferMode | Defines the behavior of the axis - allowable modes are Aborting, Buffered, BlendingLow, BlendingPrevious, BlendingNext, and BlendingHigh. |
MC_BufferMode#Aborting |
| 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. | |
| E | 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) | |
| E | 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. | |
| E | 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
- The offset set by the function block can be verified by reading group parameter 2500 or 2501 with Y_GroupReadVectorParam .
Error Description
See the Function Block ErrorID List.