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.
This abrupt stop can trigger the following error monitoring system! See reversal of the master axis movement / backstop

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.

ST_SyncMode 1:

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: