Übersicht
Aktivierung
Die Aktivierung der Nickkompensation erfolgt im Achsmaschinendatensatz der Slaveachse über P-AXIS-00789 (lr_param.crosstalk)
Programmierbeispiel
Auszug aus einer Achsparameterliste:
:
lr_param.crosstalk 1
:
Hinweis
Die Nickkompensation kann auch bei einem Gantry-Achsverbund eingesetzt werden. Hierbei wird in jeder Achse des Gantryverbunds (Slave der Nickkompensation) eine individuelle Korrekturwerttabelle angegeben.
Diese Korrekturwerttabellen können für jede Gantryachse unterschiedlich eingestellt werden.
Ein-/Auskoppeln
Die Nickkompensation (EIN, falls Kompensation aktiviert ist) kann jederzeit bei Stillstand der Slaveachse ein- bzw. ausgeschaltet werden. Dabei werden die angezeigten Sollpositionen der Slaveachse mit den Korrekturwerten verrechnet.
Filter
Diese Korrekturwerte können über einen Sinusquadrat-Filter geglättet werden. Die Ordnung des Filters und damit seine Aktivierung wird über den Parameter P-COMP-00064 (n_cycles) geschaltet.
Richtungsabhängigkeit der Kompensation
Sind die Positionsfehler abhängig von der Verfahrrichtung, kann die Kompensation über den Parameter P-COMP-00084 richtungsabhängig konfiguriert werden.
Modi der Nickkompensation
Es stehen drei Modi für die Nickkompensation zur Verfügung.
Modus 1
Es wird eine Beschleunigung und eine dazugehöriger Korrekturwert angegeben. Bei Beschleunigungen kleiner als die angegebene, wird der Korrekturwert linear interpoliert.
Modus 2
Die Kompensation wird mit Hilfe einer Adaptionsachse berechnet. Hierfür müssen vom Anwender drei Messversuche durchgeführt werden. Die Messversuche werden an verschiedenen Positionen der Adaptionsachse durchgeführt. Mit Hilfe der Position der Adaptionsachse und der aktuellen Beschleunigung wird die Kompensation berechnet.
Modus 3
Es können zwei Adaptionsachsen angegeben werden. Es können vom Anwender bis zu 15 Messversuche in die Korrekturwertliste eingetragen werden. Die Nickkompensation berechnet mit Hilfe einer Flächeninterpolation die Kompensationswerte.
Hierbei ist zu beachten, dass die Messungen den kompletten Arbeitsraum abdecken müssen. Ist dies nicht der Fall, können bei Positionen außerhalb des angegebenen Messbereiches falsche Kompensationswerte auftreten.
Verwaltungsdaten der Nickkompensationstabelle
Die allgemeinen Daten des Listenrumpfes werden unter der Struktur kw.crosstalk.* eingetragen. Sie enthält folgende Elemente:
Elemente der Verwaltungsdaten
Variablenname | Typ | Bedeutung |
mode | UNS08 | Modus der Kompensation. |
master_dyn_ax_nr | UNS16 | Logische Achsnummer der Masterachse, deren Beschleunigung als Eingangsgröße der Kompensationstabelle dient. |
master_pos1_ax_nr | UNS16 | Logische Achsnummer der ersten Adaptionsachse. |
master_pos2_ax_nr | UNS16 | Logische Achsnummer der zweiten Adaptionsachse. |
n_cycles | UNS16 | Anzahl der Zyklen des Sinusquadrat-Filters. |
manual_activation | BOOLEAN | 0: (Standard) Die CNC schaltet die Nickkompensation automatisch ein, sobald die Voraussetzungen erfüllt sind. |
max_points | UNS32 | Anzahl an Messversuchen in der Korrekturwerttabelle. |
acceleration | SGN32 | Beschleunigung [mm/s²] bei Auslenkung der Achse. |
deceleration | SGN32 | Negative Beschleunigung [mm/s²] bei Auslenkung der Achse. |
velocity_dependent | BOOLEAN | Unterschiedliche Korrekturwerte bei unterschiedlichen Verfahrrichtungen. |
|
|
|
Korrekturwerte der Nickkompensation
Für jede Beschleunigung wird in der Tabelle kw.crosstalk.table[i].* der entsprechende Korrekturwert der Slaveachse eingetragen. Die Kompensationstabelle gilt in positiver und in negativer Beschleunigungsrichtung.
Korrekturwerttabelle
Variablenname | Typ | Bedeutung |
position[i].ax_1 | SGN64 | Position der ersten Adpationsachse bei Beschleunigsungsversuch i |
position[i].ax_2 | SGN64 | Position der zweiten Adpationsachse bei Beschleunigsungsversuch i |
position[i].correction_accelerate_dir_pos | SGN64 | Korrekturwert bei Beschleunigung in positiver Verfahrrichtung |
position[i].correction_decelerate_dir_pos | SGN64 | Korrekturwert bei Bremsen in positiver Verfahrrichtung |
position[i].correction_accelerate_dir_neg | SGN64 | Korrekturwert bei Beschleunigung in negativer Verfahrrichtung |
position[i].correction_decelerate_dir_neg | SGN64 | Korrekturwert bei Bremsen in negativer Verfahrrichtung |