ST_SyncMode
TYPE ST_SyncMode :
STRUCT
(* mode *)
GearInSyncMode : E_GearInSyncMode;
(* 32 bit check mask ... *)
GearInSync_CheckMask_MinPos : BOOL;
GearInSync_CheckMask_MaxPos : BOOL;
GearInSync_CheckMask_MaxVelo : BOOL;
GearInSync_CheckMask_MaxAcc : BOOL;
GearInSync_CheckMask_MaxDec : BOOL;
GearInSync_CheckMask_MaxJerk : BOOL;
GearInSync_CheckMask_OptionalMinPos : BOOL;
GearInSync_CheckMask_OptionalMaxPos : BOOL;
GearInSync_CheckMask_OvershootPos : BOOL;
GearInSync_CheckMask_UndershootPos : BOOL;
GearInSync_CheckMask_OvershootVelo : BOOL;
GearInSync_CheckMask_UndershootVelo : BOOL;
GearInSync_CheckMask_OvershootVeloZero : BOOL;
GearInSync_CheckMask_UndershootVeloZero : BOOL;
(* operation masks ... *)
GearInSync_OpMask_RollbackLock : BOOL;
GearInSync_OpMask_InstantStopOnRollback : BOOL;
GearInSync_OpMask_PreferConstVelo : BOOL;
GearInSync_OpMask_IgnoreMasterAcc : BOOL;
GearInSync_OpMask_IgnoreSlaveAcc : BOOL;
GearInSync_OpMask_DetailedErrorCodes : BOOL;
END_STRUCT
END_TYPE
Parameterisable boundary conditions, specifying the mode of operation
It is possible to specify a wide variety of boundary conditions for the slave movement in the synchronization phase of the Universal Flying Saw. These boundary conditions make it possible to specify limit values for the slave magnitudes listed in the table below. The SyncMode bit mask can be used to check whether the individual limit values are being observed. The boundary conditions specified for the synchronization phase also affect the set value profile for the synchronization. Whether, and in what way, the conditions affect the profile can be seen in the diagram in the attachment.
Name | Description |
---|---|
GearInSyncMode | See E_GearInSyncMode |
Bit masks for the SyncMode
Name | Value (dec) | Value (hex) | Description | Boundary condition |
---|---|---|---|---|
GearInSync_CheckMask_MinPos | 1 | 0x0000 0001 | Checks whether the slave axis has passed below its software minimum end position (machine data). See also ST_GearInPosOptions | posSlave ≥ posSlaveMin |
GearInSync_CheckMask_MaxPos | 2 | 0x0000 0002 | Checks whether the software maximum end position (machine data) of the slave axis has been exceeded. See also ST_GearInPosOptions | posSlave ≤ posSlaveMax |
GearInSync_CheckMask_MaxVelo | 4 | 0x0000 0004 | Checks whether the maximum permitted slave velocity (machine data) has been exceeded. See also ST_GearInVeloOptions | | vSlave | ≤ vSlaveMax |
GearInSync_CheckMask_MaxAcc | 8 | 0x0000 0008 | Checks whether the maximum slave acceleration (machine data) has been exceeded | accSlave ≤ accSlaveMax |
GearInSync_CheckMask_MaxDec | 16 | 0x0000 0010 | Checks whether the maximum slave deceleration (machine data) has been exceeded | decSlave ≤ decSlaveMax |
GearInSync_CheckMask_MaxJerk | 32 | 0x0000 0020 | Checks whether the maximum slave jerk (machine data) has been exceeded. | jSlave ≤ jSlaveMax |
GearInSync_CheckMask_OptionalMinPos |
|
| Check is also carried out to see if GearInSync_CheckMask_OptionalMinPos is set to TRUE. See also ST_GearInVeloOptions |
|
GearInSync_CheckMask_OptionalMaxPos |
|
| Check is also carried out if GearInSync_CheckMask_OptionalMaxPos is set to TRUE. See also ST_GearInVeloOptions |
|
GearInSync_CheckMask_OvershootPos | 256 | 0x0000 0100 | Checks for overshooting of slave position. |
|
GearInSync_CheckMask_UndershootPos | 512 | 0x0000 0200 | Checks for undershooting of slave position.´ |
|
GearInSync_CheckMask_OvershootVelo | 1024 | 0x0000 0400 | Checks for overshooting of slave acceleration. |
|
GearInSync_CheckMask_UndershootVelo | 2048 | 0x0000 0800 | Checks for undershooting of slave acceleration. |
|
GearInSync_CheckMask_OvershootVeloZero | 4096 | 0x0000 1000 | Checks whether the slave velocity has exceeded 0.0. |
|
GearInSync_CheckMask_UndershootVeloZero | 8192 | 0x0000 2000 | Checks whether the slave velocity is below 0.0 |
|
GearInSync_OptMask_DetailedErrorCodes |
|
| Enable detailed error codes for the checks. |
|
Bit masks for operation modes
Name | Value (dec) | Value (hex) | Description |
---|---|---|---|
GearInSync_OpMask_RollbackLock | 65536 | 0x0001 0000 | Bit = 0: (default) When the slave has achieved the synchronous phase, synchronous coupling of all the following master movements is maintained until the coupling is removed. This also applies if the master changes direction and moves backwards over the coupling position, see Reversal of the master axis movement / backstop. |
Bit = 1: Setting this bit activates the backstop, which causes the slave to stop when the master moves backwards beyond the coupling position after a motion reversal, see reversal of the master axis movement / backstop. | |||
GearInSync_OpMask_InstantStopOnRollback | 131072 | 0x0002 0000 | Bit = 0: (default) On reaching the coupling position, the slave velocity is reduced smoothly following a 5th order polynomial. The polynomial is optimized to halt the slave as quickly as possible, see reversal of the master axis movement / backstop. |
Bit = 1: In terms of the set value, the slave is halted within one NC tick of reaching the coupling position. The slave velocity is set to 0.0 and the position is maintained. | |||
GearInSync_OpMask_PreferConstVelo | 1048576 | 0x0010 0000 | Bit = 0: (default) Default setting |
Bit = 1: The system will try to use a phase with constant velocity, instead of just one 5th order polynomial. This can result in a combination of a 5th-order polynomial, a synchronous phase and another 5th-order polynomial (P5-P1-P5), see reversal of the master axis movement / backstop. The maximum given acceleration and deceleration is used. To control and limit the jerk it is recommended to set MAXJERK in the bit mask. | |||
GearInSync_OpMask_IgnoreSlaveAcc | 2097152 | 0x0020 0000 | Bit = 0: (default) Default setting |
Bit = 1: When calculating the coupling, the acceleration of the master is ignored, i.e. set to zero. This causes the use of internal optimizations. At moderate acceleration, this specification leads to tolerable following errors. After the following error has been reduced, the relative position accuracy is independent of this setting. |
![]() | The checks listed above apply only to the synchronization phase (GEARINSYNCSTATE_SYNCHRONIZING), not to the phase of synchronized movement. These calculations and checks are also only possible when the assumption is made that the master continues to move with constant velocity after the coupling time, i.e. that it is not subject to acceleration. Making other assumptions for the master makes no sense, since at the time of coupling it is generally not known how the master will move in the future. |
See also: