Y_SlaveOffset
This Function Block applies an offset to the slave position when camming.
Parameters
| * | Parameter | Data Type | Description | Default |
|---|---|---|---|---|
| VAR_IN_OUT | ||||
| B | Master | AXIS_REF | A logical reference to the master axis. | |
| B | Slave | AXIS_REF | A logical reference to the slave axis. | |
| 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 |
| V | Offset | LREAL | Absolute offset to be applied to the cam profile. Units are those of the slave. | LREAL#0.0 |
| V | AdjustMode | Yt_AdjustMode |
Y_AdjustMode#MasterDistance: The adjustment starts immediately and completes when the master has travelled the specified MasterDistance. Y_AdjustMode#ElapsedTime: The adjustment starts immediately and completes within the specified Time. Y_AdjustMode#WithinRange: The adjustment starts when the master first crosses the StartPosition and completes when the master reaches the EndPosition. An ENUM for TIME or range of master correction, with the following values: |
Yt_AdjustMode#MasterDistance |
| V | MasterDistance | LREAL | Relative amount the master will travel (in cam master units) from when the function block first executes until the correction is complete. Only used if AdjustMode = Y_AdjustMode#MasterDistance. | LREAL#0.0 |
| V | Duration | LREAL | Only used if AdjustMode = Y_AdjustMode#ElapsedTime. Units are seconds. | LREAL#0.0 |
| V | StartPosition | LREAL | Only used if AdjustMode = Y_AdjustMode#WithinRange. The initial position of the master where it is possible to start making the adjustment. Units are those of the cam master. | LREAL#0.0 |
| V | EndPosition | LREAL | Only used if AdjustMode = Y_AdjustMode#WithinRange. The final position of the master where the adjustment must be completed. Units are those of the cam master. | LREAL#0.0 |
| B | BufferMode | MC_BufferMode |
MC_BufferMode#Aborting
MC_BufferMode#Buffered
MC_BufferMode#BlendingLow
MC_BufferMode#BlendingPrevious
MC_BufferMode#BlendingNext
MC_BufferMode#BlendingHigh
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 Offsets provided by this function are not related to any initial offset the slave may have had when engaged with Yt_Start_Mode.SlaveAbsolute:=FALSE.
- The Offset input absolute. If the current Offset is at 15 mm, and this function block is executed with an Offset input parameter value of 22 mm, this function will increase the Offset by an additional 7 mm.
- 0.0 Offset will cause no offset of the cam data, however the initial slave offset (discrepancy between slave commanded position and first data used from the table) when Yt_Start_Mode.SlaveAbsolute:=FALSE will remain.
- This function uses a modified sine pattern to ‘meter in’ the change from 0 to 100% of the adjustment change required as described above.
- A master/slave relationship is defined the first time a , , , or Y_SlaveOffset block completes (Done output is TRUE.) The "first time" is defined as power up or after completion of. If the master/slave relationship is already defined, then it is checked for consistency, and if not correct, the block produces an error (Invalid master slave combination).Y_CamInY_CamShiftY_CamScaleY_CamOut
- Only BufferMode=MC_BufferMode#Aborting or MC_BufferMode#Buffered is supported. If MC_BufferMode#Aborting, then the function block will abort any phase shifts, cam shifts, cam scaling that are currently taking place; it will not abort the underlying Cam or gearing. If MC_BufferMode#Buffered, then the phase shift will occur after all previous phase shifts, cam shifts, cam scalings complete.
- For more information on slave offset behavior, see the Cam Transitions Matrix.
- For more information on how slave offset applies to camming, see the Camming Block Diagram.
Error Description
Example