Übersicht
Aktivierung
Die Aktivierung der Kreuzkompensation erfolgt im Achsmaschinendatensatz der Slaveachse über P-AXIS-00047:
Variablenname | Typ | Bedeutung |
lr_param.crosscomp | BOOLEAN | 0: keine Kreuzkompensation |
Programmierbeispiel
Auszug aus einer Achsparameterliste:
:
lr_param.crosscomp 1
:
Hinweis
Die Kreuzkompensation kann auch bei einem Gantry-Achsverbund eingesetzt werden. Hierbei wird in jeder Achse des Gantryverbunds (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 referenziert und Kompensation aktiviert ist) kann jederzeit bei stehender Slaveachse ein- bzw. ausgeschaltet 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 | BOOLEAN | Einheit der Längenangaben: |
last_index | SGN32 | Letzter gültiger Index in der Tabelle der Slaveachse. Ab CNC-Version V3.1.3079.06 kann über P-COMP-00060 die maximal mögliche Anzahl der Tabelleneinträge festgelegt werden. In vorangegangenen Versionen ist der Maximalwert 1000. Die Tabelle beginnt immer mit Index 0 |
master_ax_nr | UNS16 | Logische Achsnummer der Masterachse, deren Sollposition als Eingangsgröße der Kompensationstabelle dient. |
n_cycles | UNS16 | Anzahl der Zyklen des sin2-Filters. |
manual_activation | BOOLEAN | 0: (Standard) Die CNC schaltet die Kreuzkompensation automatisch ein, sobald die Voraussetzungen erfüllt sind (z.B. die Masterachse referenziert ist). 1: Die Kreuzkompensation muss explizit im NC-Programm mit dem COMP Befehl (s. Kapitel „Ein-/Ausschalten von Achskompensationen im NC-Programm“) eingeschaltet werden. Am Ende des NC-Programms, bei CNC-Reset oder bei Abgabe der Achse wird die Kompensation wieder ausgeschaltet. |
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 muss. |
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.