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

Parametrierbare Randbedingungen, Festlegung des Operation-Modes

Bei der Universellen Fliegenden Säge ist es möglich, verschiedenste Randbedingungen für die Slavebewegung in der Synchronisierungsphase anzugeben. Mit diesen Randbedingungen ist es möglich, für die in der folgenden Tabelle aufgeführten Slavegrößen Grenzwerte vorzugeben. Eine Überprüfung, ob die einzelnen Grenzwerte eingehalten werden, kann mit der Bitmaske SyncMode aktiviert werden. Mit den Randbedingungen, die für die Synchronisierungsphase angegeben werden, wird auch das Sollwertprofil für die Synchronisierung beeinflusst. Ob und wie die einzelnen Bedingungen das Profil beeinflussen, kann dem Diagramm im Anhang entnommen werden.

Name

Beschreibung

GearInSyncMode

Siehe E_GearInSyncMode

Bitmasken für den SyncMode

Name

Wert (dec)

Wert (hex)

Beschreibung

Randbedingung

GearInSync_CheckMask_MinPos

1

0x0000 0001

Prüft, ob die Software Endlage Min (Maschinendaten) der Slave-Achse unterschritten wird. Siehe auch ST_GearInPosOptions

posSlave ≥ posSlaveMin

GearInSync_CheckMask_MaxPos

2

0x0000 0002

Prüft, ob die Software Endlage Max (Maschinendaten) der Slave-Achse überschritten wird. Siehe auch ST_GearInPosOptions

posSlave ≤ posSlaveMax

GearInSync_CheckMask_MaxVelo

4

0x0000 0004

Prüft, ob die maximal erlaubte Slavegeschwindigkeit (Maschinendaten) überschritten wird. Siehe auch ST_GearInVeloOptions

| vSlave | ≤ vSlaveMax

GearInSync_CheckMask_MaxAcc

8

0x0000 0008

Prüft, ob die maximale Slavebeschleunigung (Maschinendaten) überschritten wird

accSlave ≤ accSlaveMax

GearInSync_CheckMask_MaxDec

16

0x0000 0010

Prüft, ob die maximale Slave-Verzögerung (Maschinendaten) überschritten wird

decSlave ≤ decSlaveMax

GearInSync_CheckMask_MaxJerk

32

0x0000 0020

Prüft, ob der maximale Slave-Ruck (Maschinendaten) überschritten wird.

jSlave ≤ jSlaveMax

GearInSync_CheckMask_OptionalMinPos

 

 

Wird zusätzlich geprüft, wenn GearInSync_CheckMask_OptionalMinPos auf TRUE gesetzt ist. Siehe auch ST_GearInVeloOptions

 

GearInSync_CheckMask_OptionalMaxPos

 

 

Wird zusätzlich geprüft, wenn GearInSync_CheckMask_OptionalMaxPos auf TRUE gesetzt ist. Siehe auch ST_GearInVeloOptions

 

GearInSync_CheckMask_OvershootPos

256

0x0000 0100

Prüft ein Überschwingen der Slaveposition.´

 

GearInSync_CheckMask_UndershootPos

512

0x0000 0200

Prüft ein Unterschwingen der Slaveposition.´

 

GearInSync_CheckMask_OvershootVelo

1024

0x0000 0400

Prüft ein Überschwingen der Slavegeschwindigkeit.

 

GearInSync_CheckMask_UndershootVelo

2048

0x0000 0800

Prüft ein Unterschwingen der Slavegeschwindigkeit.

 

GearInSync_CheckMask_OvershootVeloZero

4096

0x0000 1000

Prüft ein Überschreiten der Slavegeschwindigkeit über 0.0.

 

GearInSync_CheckMask_UndershootVeloZero

8192

0x0000 2000

Prüft ein Unterschreiten der Slavegeschwindigkeit unter 0.0

 

GearInSync_OptMask_DetailedErrorCodes

 

 

Detaillierte Fehlercodes für die Checks aktivieren.

 

Bitmasken für Operationsmodi

Name

Wert (dec)

Wert (hex)

Beschreibung

GearInSync_OpMask_RollbackLock

65536

0x0001 0000

Bit = 0: (default)

Wenn der Slave die Synchronphase erreicht hat, wird die synchrone Kopplung für alle folgenden Masterbewegungen beibehalten, bis die Kopplung aufgehoben wird. Dieses gilt somit auch für eine Bewegungsumkehr des Masters, wenn der Master rückwärts über die Koppelposition hinausfährt, siehe Bewegungsumkehr der Masterachse/Rücklaufsperre.

Bit = 1:

Das Setzen dieses Bits aktiviert die Rücklaufsperre, die ein Stillsetzen des Slaves bewirkt, wenn der Master nach einer Bewegungsumkehr rückwärts über die Koppelposition hinausfährt, siehe Bewegungsumkehr der Masterachse/Rücklaufsperre.

GearInSync_OpMask_InstantStopOnRollback

131072

0x0002 0000

Bit = 0: (default)

Bei Erreichen der Koppelposition wird die Slavegeschwindigkeit mit einem Polynom 5. Ordnung stetig abgebaut, wobei dieses Polynom auf ein möglichst schnelles Stillsetzen optimiert ist, siehe Bewegungsumkehr der Masterachse/Rücklaufsperre.

Bit = 1:

Bei Erreichen der Koppelposition wird der Slave innerhalb eines NC-Ticks sollwertseitig stillgesetzt. Die Slavegeschwindigkeit wird auf 0.0 gesetzt und die Position beibehalten.
Dieses abrupte Stillsetzen kann zum Ansprechen der Schleppabstandsüberwachung führen! Siehe Bewegungsumkehr der Masterachse/Rücklaufsperre

GearInSync_OpMask_PreferConstVelo

1048576

0x0010 0000

Bit = 0: (default)

Standardeinstellung

Bit = 1:

Es wird versucht anstatt nur eines Polynoms 5ter Ordnung eine Phase mit konstanter Geschwindigkeit zu verwenden. Dadurch kann sich eine Kombination aus einem Polynom 5ter Ordnung, einer Synchronphase und einem weiteren Polynom 5ter Ordnung ergeben (P5-P1-P5), siehe Bewegungsumkehr der Masterachse/Rücklaufsperre. Dabei wird die maximal gegebene Beschleunigung und Verzögerung verwendet. Zur Kontrolle und Beschränkung des Rucks wird empfohlen in der Bitmaske MAXJERK zu setzen.

GearInSync_OpMask_IgnoreSlaveAcc

2097152

0x0020 0000

Bit = 0: (default)

Standardeinstellung

Bit = 1:

Bei der Berechnung der Kopplung wird die Beschleunigung des Masters ignoriert, das heißt auf null gesetzt. Dadurch werden die internen Optimierungen verwendet. Bei moderater Beschleunigung führt diese Vorgabe zu tolerierbaren Schleppabständen. Nach dem Abbau des Schleppabstandes ist die relative Positionsgenauigkeit von dieser Einstellung unabhängig.

ST_SyncMode 1:

Die zuvor aufgeführten Checks beziehen sich nur auf die Synchornisierungsphase (GEARINSYNCSTATE_SYNCHRONIZING) und nicht auf die Synchronfahrphase.  Ferner sind diese Berechnungen und Checks nur unter der Annahme möglich, dass sich der Master ab dem Koppelzeitpunkt weiter mit konstanter Geschwindigkeit bewegt, also beschleunigungsfrei ist. Andere Annahmen für den Master zu treffen ergibt keinen Sinn, da zum Koppelzeitpunkt allgemein nicht bekannt ist, wie sich der Master in der Zukunft bewegen wird.

Siehe auch: