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. | |||
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. |
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: