Kreuzkompensation
Korrekturverfahren
Die Kreuzkompensation (auch Durchhangkompensation genannt) ermöglicht die Korrektur einer Achsposition in Abhängigkeit der Sollposition einer anderen Achse.
Die Achse, bei der die Korrektur wirksam wird, heißt Slaveachse. Die Achse, deren Sollposition den Korrekturwert beeinflusst, heißt Masterachse.
Eine Masterachse kann auch die Slaveachse einer anderen Masterachse sein.
Die Daten der Kreuzkompensation werden in der Korrekturwertliste der Slaveachse angegeben. |
Eigenschaften
Eine Master-Achse besitzt eine oder mehrere Slave-Achsen.
Eine Slave-Achse besitzt genau eine Master-Achse.
Slave-Achsen können auch ein Gantryverbund sein.
Für jeden Stützpunkt kann ein Korrekturwert vorgegeben werden.
Zwischen den Stützpunkten wird linear interpoliert.
Die Kreuzkompensation ist für ±10Volt-Antriebe, für Simulationsantriebe mit relativem Meßsystem sowie für SERCOS-Antriebe verfügbar.
Die Korrekturen sind nur in den direkt auf den Antrieb ausgegebenen Positionen einzusehen (nicht in den normalen Anzeigedaten), da die Kompensation ausserhalb der normalen Berechnung erfolgt.
Wirksamkeit
Die Kreuzkompensation ist nur dann wirksam, wenn alle nachfolgenden Bedingungen erfüllt sind:
- Die Funktion wurde für die Slaveachse aktiviert.
- Die Korrekturwerttabelle wurde bereitgestellt.
- Master- und Slaveachsen sind Linearachsen. Ab der CNC-Version v263.1504 kann die Kreuzkompensation auch für rotatorische Achsen oder Spindeln verwendet werden.
- Die Masterachse wurde referenziert. Eine Referenzierung der Slaveachse ist nicht erforderlich.
Aktivierung
Die Aktivierung der Kreuzkompensation erfolgt im Achsmaschinendatensatz [AXIS] der Slaveachse über P-AXIS-00047:
Variablenname | Typ | Bedeutung |
---|---|---|
lr_param.crosscomp | BOOLEAN | 0: keine Kreuzkompensation |
Beispiel
Auszug aus einer Achsparameterliste:
:
lr_param.crosscomp
1
:
Die Kreuzkompensation kann auch bei einem Gantry-Achsverbund eingesetzt werden. Hierbei wird in jeder Achse des Gantryverbundes (Slave der Kreuzkompensation) eine individuelle Korrekturwerttabelle angegeben.Diese Korrekturwerttabellen können hierdurch für jede Gantryachse unterschiedlich eingestellt werden. |
Ein-/Auskoppeln
Die Kreuzkompensation (EIN, falls: Master ist referenziert und Kompensation aktiviert) kann jederzeit bei stehender Slaveachse ein- bzw. ausgekoppelt werden. Dabei werden die angezeigten Sollpositionen der Slaveachse mit den Korrekturwerten verrechnet.
Filter
Beim Referenzieren der Masterachse können sich im Korrekturwertverlauf bei bewegter Slaveachse Unstetigkeiten ergeben. Diese können über einen sin2-Filter geglättet werden. Die Ordnung des Filters und damit seine Aktivierung wird über den Parameter P-COMP-00026 (n_cycles) geschaltet.
Verwaltungsdaten der Kreuzkompensationstabelle
Die allgemeinen Daten des Listenrumpfes werden unter der Struktur kw.crosscomp.* eingetragen. Sie enthält folgende Elemente:
Variablenname | Typ | Bedeutung |
---|---|---|
unit | SGN32 | Einheit der Längenangaben: |
last_index | SGN32 | Letzter gültiger Index in der Tabelle der Slaveachse (Maximal 1000 Werte). |
master_ax_nr | UNS16 | Logische Achsnummer der Masterachse, deren Sollposition als Eingangsgrösse der Kompensationstabelle dient. |
n_cycles | UNS16 | Anzahl der Zyklen des sin2-Filters. |
Korrekturwerte der Kreuzkompensation
Für jeden Stützpunkt wird in der Tabelle kw.crosscomp.table[i].* der entsprechende Korrekturwert der Slaveachse eingetragen. Die Kompensationstabelle gilt in positiver und in negativer Bewegungsrichtung.
Variablenname | Typ | Bedeutung |
---|---|---|
table[i].setpoint | SGN32 | Stützpunkt der Masterachse bei dem die Slaveachse korrigiert werden muß. |
table[i].correction | SGN32 | Relativer Korrekturwert für die Slaveachse am Stützpunkt i |
Besonderheit rotatorische Masterachse
Ab der CNC-Version v263.1504 kann die Kreuzkompensation auch für rotatorische Achsen oder Spindeln verwendet werden. Für diese Achstypen wird im Lageregler eine Modulorechnung der Achsposition durchgeführt.
Falls die Masterachse der Kreuzkompensation eine Moduloachse ist, findet im Moduloübergang der Achsposition der Masterachse auch ein Moduloübergang in der Korrekturtabelle statt. Damit an dieser Stelle im Korrekturwertverlauf der Slaveachse kein Sprung auftritt, muss in der Korrekturtabelle am Moduloübergang der gleiche Korrekturwert angegeben werden.