Y_GroupDirectControl
At each task interval, this Function Block can directly manipulate the position, velocity, or torque for each axis in a group. When using this function block, the application is responsible for managing initialization of the position values to avoid excessive deviation from current position, and generating the proper acceleration ramps to provide smooth motion.
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 | Enable |
BOOL | The function will continue to execute every scan while Enable is held high and there are no errors. | FALSE |
| V |
ControlMode | INT | ControlMode: 1=Position, 2=Velocity, 3=Torque, 4=Position with Torque Feed Forward, 5=Velocity with Torque Feed Forward. | INT#0 |
| B |
Position | VECTOR | An array of absolute positions for each dimension in the specified coordinate system. | Array of LREAL#0.0 |
| B |
Velocity | VECTOR | An array of velocities for each dimension in the specified coordinate system. | Array of LREAL#0.0 |
| B | Acceleration |
VECTOR | An array of accelerations for each dimension in the specified coordinate system. | Array of LREAL#0.0 |
| E | Torque |
VECTOR | An array of torque values for each dimension in the specified coordinate system. | Array of LREAL#0.0 |
| V |
FilterTimeConstant |
LREAL | Moving average filter specified in seconds. See below for details. | LREAL#0.0 (No Filter) |
| 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 |
| B | BufferMode |
MC_BufferMode | Defines the behavior of the axis - allowable modes are Aborting, Buffered, BlendingLow, BlendingPrevious, BlendingNext, and BlendingHigh. | MC_BufferMode#Aborting |
| VAR_OUTPUT | ||||
| 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
- If using data in AXES_GROUP_REF structure associated with the AxesGroup for calculating new command data, unsure that the Hardware Configuration is set to synchronize the data with the task in which it is being referenced, or a faster task.
- CoordSystem determines which Coordinate System is to be considered for the control. If different than ACS, the Function Block will do the necessary calculations to move the group in the selected Coordinate System.
- Use the appropriate inputs for the selected ControlMode.
- In Position mode, Velocity input is the velocity feedforward. The Torque input is ignored.
- In Velocity Mode, the Torque input is the torque limit.
- In Torque Mode, the Velocity input is the velocity limit.
- The acceleration input is never used. The user must calculate the required command profile.
- The FilterTimeConstant is specified in seconds. This feature is applicable if the IEC application task rate in which this function is executing is slower than the Motion Engine update. (MECHATROLINK or Dual Port Ram.) Set the time constant to the IEC application scan interval (e.g. 0.01 for a 10 ms scan). The controller will calculate interpolated command data at each Motion Engine update, reaching the set point just before the next IEC application scan. If set to zero or not connected, the command is set to the user specified value only at the end of each IEC application task. If the application task is not updating at the same interval as the Motion network (or dual port ram update), a stair step response will result.
Error description
See the Function Block ErrorID List.