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.

Kreuzkompensation 1:

Die Daten der Kreuzkompensation werden in der Korrekturwertliste der Slaveachse angegeben.

Kreuzkompensation 2:
Abbildung 1-1: Anwendungsbeispiel für die Kreuzkompensation (Y: Master, Z: Slave).

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:

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
1: Kreuzkompensation aktiv

Beispiel

Auszug aus einer Achsparameterliste:

:
lr_param.crosscomp    
1
:
Kreuzkompensation 3:

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:

Elemente der Verwaltungsdaten

Variablenname

Typ

Bedeutung

unit

SGN32

Einheit der Längenangaben:
0: Encoder-Inkremente
1: Metrisch (in 0,1 µm)

last_index

SGN32

Letzter gültiger Index in der Tabelle der Slaveachse (Maximal 1000 Werte).
Die Tabelle beginnt immer mit Index 0

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.

Korrekturwerttabelle

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.