Beschreibung
Definitionen
Die Definition, wie die Bewegung einer Achse eine andere Achse beeinflusst, wird als Kopplungsvorschrift bezeichnet.
Im Folgenden wird die Achse, deren Achsposition durch eine Kopplungsvorschrift von anderen Achsen beeinflusst wird, als Zielachse bezeichnet.
Achsen, die andere Achsen über Kopplungsvorschriften beeinflussen, werden als Quellachsen bezeichnet.
In diesem Beispiel wirken mehrere Quellachsen auf eine physikalische Zielachse. Die Interpolatorachse, die die Zielachse normalerweise bewegt, muss nicht notwendigerweise zu den Quellachsen gehören.
Hinweis
Eine Aktivierung oder Änderung der Achskopplung muss bei Stillstand aller beteiligten Achsen erfolgen.
Ist dies nicht der Fall, so wird mit der Fehlermeldung P-ERR-70200 angehalten.
Stillstand aller beteiligten Achsen bedeutet, dass die Geschwindigkeit der Achsen 0 sein muss. Dies betrifft sowohl die Zielachse als auch alle eingekoppelten Quellachsen.
Hinweis
Soll eine gekoppelte Achse zusätzlich im NC-Programm programmiert werden, so muss diese Zielachse mit sich selbst als Quellachse gekoppelt sein.
Die Kopplungsvorschrift lautet: Quellachse = Zielachse mit Kopplungsfaktor 1.
Verhalten bei Sollwertanforderung
Eine aktive Getriebekopplung führt gemäß den Kopplungsvorschriften zu einer Verschiebung der Achspositionen auf Antriebsebene gegenüber den im Kanal programmierten Sollpositionen. Bei Programmneustart oder explizit programmierter Anforderung von Achspositionen (#CHANNEL INIT [CMDPOS]) werden die Achspositionen und die Programmkoordinaten des Kanals neu initialisiert. Standardmäßig wird hier die ACS-Position (Position auf Antriebsebene) zurückgegeben.
Wird unmittelbar nach Aktivierung einer Achskopplung der Sollwert der Zielachse angefordert, so entspricht der zurückgelieferte Wert dem der mechanischen Achsposition.
Durch den Achsparameter P-AXIS-00436 kann eingestellt werden, dass bei einer Sollwertanforderung die Eingangskoordinaten der Getriebekopplung durch eine Vorwärtsabbildung neu berechnet werden.
Falls durch den Parameter P-AXIS-00436 die Vorwärtsabbildung der Antriebsposition bei aktiver Achskopplung aktiviert wurde, wird standardmäßig die zurückgelieferte Position relativ zur Aktivierungsposition der Achskopplung berechnet.
Durch den Parameter P-AXIS-00460 kann eingestellt werden, dass bei der Sollwertanforderung die Achspositionen als Absolutkoordinaten betrachtet werden. D. h. es wird davon ausgegangen, dass die Achskopplung sowohl für Master als auch für die Slaveachse an der Achsposition 0 aktiviert wurde.
Einschränkungen bei der Verwendung von P-AXIS-00436
Wenn der Achsparameter P-AXIS-00436 gesetzt ist, darf die Zielachse weder direkt noch indirekt mit sich selbst als Quellachse verkoppelt sein.
Bei der Aktivierung der Kopplung wird auf solche Kopplungsschleifen geprüft. Wenn eine entdeckt wird, erfolgt die Ausgabe der Fehlermeldung P-ERR-70410 und die Kopplung wird nicht ausgeführt.
Hinweis
Bei Verwendung der Parameter P-AXIS-00436 und P-AXIS-00460 muss zwingend der Kanal initialisiert werden.
Schematische Darstellung einer Kopplung:
Zur Berechnung der IPO-Position der Achse 2 muss aber die IPO-Position der Achse 1 bereits bekannt sein. Diese Verklemmung kann nicht aufgelöst werden und führt zur Ausgabe der Fehlermeldung P-ERR-70410.
Allgemein
Die Definition der Kopplungsvorschriften einer Zielachse erfolgt über eine achsspezifische Control-Unit des HLI.
In dieser Control-Unit der Zielachse werden die Kopplungsvorschriften durch Angabe der logischen Achsnummer der Quellachse und des Kopplungsmodus definiert. Bei Verwendung des Kopplungsmode HLI_AXIS_COUPLING_FRACT ist zusätzlich der Kopplungsfaktor als Bruch anzugeben.
Es lassen sich mehrere Kopplungsvorschriften beauftragen. Diese sind als Feld im kommandierten Wert der Control-Unit definiert. Die Indizes der Feldelemente liegen im Intervall [0 -HLI_AX_COUPLING_MAXIDX]
Die Aktivierung der eingetragenen Kopplungsvorschriften erfolgt durch Setzen eines HLI-Signals.
Nach Auswertung der Kopplungsvorschriften und Fehlerüberprüfung wird das Triggersignal vom NC-Kern zurückgesetzt.
Aktivierung
Mit axis_idx = [0..HLI_SYS_AX_MAXIDX]
coupl_idx = [0..HLI_AX_COUPLING_MAXIDX]
Achsspezifische Control-Unit des HLI:
gpAx[axis_idx]^.lr_mc_control.axis_coupling
Definition der logischen Achsnummer der Quellachse:
gpAx[axis_idx]^.lr_mc_control.axis_coupling.command_w.desc[coupl_idx].ax_nr
Definition des Kopplungsmodus für diese Quellachse:
gpAx[axis_idx]^.lr_mc_control.axis_coupling.command_w.desc[coupl_idx].mode
Definition des Kopplungsfaktors:
gpAx[axis_idx]^.lr_mc_control.axis_coupling.command_w.desc[coupl_idx].fract_num
gpAx[axis_idx]^.lr_mc_control.axis_coupling.command_w.desc[coupl_idx].fract_denom
Aktivierendes Triggersignal:
gpAx[axis_idx]^.lr_mc_control.axis_coupling.command_w.semaphor_rw := TRUE
Programmierung der Zielachse
Bei der Verwendung von Achskopplungen müssen alle Quellachsen, die auf eine Zielachse wirken, angegeben werden. Wenn eine Zielachse auch in einem NC-Programm programmiert werden soll, so ist für die logische Achsnummer der Zielachse auf dem HLI eine Kopplungsvorschrift zu definieren. Für die programmierte Achse muss eine Kopplungsvorschrift zwischen eigener Quellachse zur eigenen Zielachse definiert sein.
(Siehe Beispiel 2)
Kopplungsmodi
Für eine Kopplungsvorschrift können die folgenden Kopplungsmodi angegeben werden:
Identifier für Kopplung | Wert | Bedeutung |
HLI_AXIS_COUPLING_INACTIVE | 0 | Die Kopplungsvorschrift ist inaktiv. Alle folgenden Kopplungsvorschriften sind ebenfalls inaktiv. Wird die 1. Kopplungsvorschrift als inaktiv definiert, so werden alle Kopplungsvorschriften deaktiviert |
HLI_AXIS_COUPLING_ZERO | 1 | Kopplungsfaktor 0 |
HLI_AXIS_COUPLING_DIRECT | 2 | Der Kopplungsfaktor zwischen Quell- und Zielachse ist 1 |
HLI_AXIS_COUPLING_MIRROR | 3 | Der Kopplungsfaktor zwischen Quell- und Zielachse ist -1 |
HLI_AXIS_COUPLING_FRACT | 4 | Der Kopplungsfaktor K ist ein Bruch und wird durch Zähler und Nenner definiert |
Kopplungsfaktor
Der Kopplungsfaktor K ist definiert als
Festlegung des Kopplungsfaktors:
Der zulässige Wertebereich für den Kopplungsfaktor-Zähler ist: [-32768 ... 32767]. Ein Wert von 0 hat dieselbe Wirkung wie der Kopplungsmode HLI_AXIS_COUPLING_ZERO.
Der zulässige Wertebereich für den Kopplungsfaktor-Nenner ist [-32768 ... 32767] ohne den Wert 0. Ein Wert von 0 führt zur Ausgabe der Fehlermeldung P-ERR-70396.
Der Absolutwert des Kopplungsfaktors ist auf den Wert HLI_AXIS_COUPLING_FACT_MAX begrenzt. Wenn der eingestellte Kopplungsfaktor diesen Wert übersteigt, wird die Fehlermeldung P-ERR-70397 ausgegeben.
Softwareendschalter
Bei Verwendung des Kopplungsmode HLI_AXIS_COUPLING_FRACT wird die sich durch die aktiven Achskopplungen ergebende Sollposition der Zielachse auf die eingestellten Softwareendschalter (P-AXIS-00177/P-AXIS-00178) überwacht - sofern die Achse referenziert ist.
Hierbei wird geprüft, ob von der aktuellen Achsgeschwindigkeit noch mit der Nothaltverzögerung (P-AXIS-00003) vor dem konfigurierten Softwareendschalter angehalten werden kann. Würde der Softwareendschalter überfahren, wird die Fehlermeldung P-ERR-70195 ausgegeben und die Achse angehalten.
Deaktivierung
Die Achskopplungen einer Achse können durch Setzen des Kopplungsmodus des ersten Koppeleintrages auf HLI_AXIS_COUPLING_INACTIVE deaktiviert werden.
Beispiel
Deaktivieren einer Kopplung bei mehreren Kopplungen auf eine Achse
Koppel-Nr. | Quellachse | Zielachse | Koppelmodus | Kopplung aktiv |
1 | X2 | X2 | 2 | Ja |
2 | X | X2 | 2 | Ja |
3 | Y | X2 | 0 | Nein |
4 | Z | X2 | 2 | Nein |
Im Beispiel wird die 3. Kopplung deaktiviert, dies hat zur Folge, dass alle nachfolgenden Kopplungen deaktiviert werden.
Statusanzeige
In der Control-Unit wird der Status der Achse bezüglich der Achskopplungen in der Struktur
gpAx[axis_idx]^.lr_mc_control.axis_coupling.state_r
angezeigt.
Über das Strukturelement active_r wird angezeigt, ob für die Achse eine Achskopplung aktiv ist. Bei aktiver Kopplung hat das Element den Wert TRUE.
Im Feld desc[] werden bei aktiver Achskopplung die für diese Achse definierten Kopplungen angezeigt.
Ein Element des Feldes desc[] stellt eine Kopplungsvorschrift dar und besteht aus den folgenden Unterelementen:
- ax_nr: logische Achsnummer der Quellachse
- mode: den für die Quellachse definierten Kopplungsmodus
Ändern der Achskopplung
Da das Ändern einer Achskopplung nur im Stillstand der Ziel- und der eingekoppelten Quellachse erfolgen kann, muss die SPS bei einer Änderung der Kopplung dies entsprechend sicherstellen.
Hierzu kann z.B. zunächst die aktuelle Sollgeschwindigkeit [10-3 mm/s oder 10-3 Grad/s] der Achse geprüft werden, bevor die Kopplung aktiviert wird.
gpAx[axis_idx]^.lr_state.active_rev_r