Spindelsteigungsfehlerkompensation
Korrekturverfahren
Bei der Spindelsteigungsfehlerkompensation (nachfolgend als SSFK bezeichnet) handelt es sich um eine axiale Korrektur. Der Lagesollwert der kompensierten Achse wird im Lagereglertakt um einen Korrekturwert verändert um zum Beispiel Spindelsteigungsfehler zu kompensieren. Bei den gemessenen Lageistwerten wird diese Korrektur wieder herausgerechnet, so dass die durchgeführte Korrektur nicht in den Anzeigedaten der Steuerung in Erscheinung tritt.
Korrekturtabelle
Die Korrekturwerte werden dabei einer Tabelle entnommen, in welcher der Verlauf der Korrekturkurve in Abhängigkeit von der Achsposition abgelegt ist. Die in der Tabelle eingetragenen Achspositionen werden als Stützstellen, die zugehörigen Werte der Korrekturkurve als Korrekturwerte bezeichnet. Für Achspositionen die zwischen Stützstellen liegen, wird der Korrekturwert linear interpoliert. Die Tabelle mit Korrekturwerten wird im weiteren Korrekturtabelle bezeichnet.
Beidseitige/Einseitige SSFK
Es ist möglich für jede Bewegungsrichtung einer Achse eine separate Korrekturtabelle anzugeben; diese Art der Kompensation wird als doppelseitige Kompensation bezeichnet. Mit der doppelseitigen Spindelsteigungsfehlerkompensation kann auch eine eventuell vorhandene Lose kompensiert werden; eine zusätzliche Losekompensation s. [Losekompensation] ist daher nicht notwendig. Wird eine Tabelle für beide Bewegungsrichtungen einer Achse verwendet, spricht man von einseitiger Kompensation.
Die Korrekturtabellen werden achsspezifisch in einer Datei (Korrekturwertliste) abgelegt.
Die Dynamik der Achse wird bei der Ausgabe der Korrekturwerte nicht berücksichtigt.
Die folgende Grafik zeigt beispielhaft eine Korrekturwertkurve. Die Bedeutung der in der Grafik verwendeten Parameter wird später erläutert.
Eigenschaften
Diese Funktionalität weist folgende Eigenschaften auf:
- Bei der Verwendung der doppelseitigen Kompensation müssen für beide Wertetabellen dieselben Stützpunkt-Positionen verwendet werden.
- Es ist möglich eine Korrekturtabelle nur für einen Teilverfahrbereich einer Achse zu definieren. Für Achspositionen außerhalb der Korrekturtabelle wird der Wert am jeweiligen Ende der Tabelle weiterverwendet.
- Am Referenzpunkt kann ein beliebiger Korrekturwert ungleich Null vorhanden sein.
- Der Abstand der Stützpunkte in den Wertetabellen kann entweder äquidistant oder nicht äquidistant gewählt werden.
Wirksamkeit
Die SSFK ist unter den folgenden Voraussetzungen wirksam.
- Die SSFK wurde für die Achse aktiviert.
- Für die Achse muss der Steuerung eine Korrekturtabelle bereitgestellt werden.
- Die Achse wurde referenziert oder verwendet ein absolutes Meßsystem.
Aktivierung
Die Aktivierung der SSFK erfolgt im Achsmaschinendatensatz [AXIS] der entsprechenden Achse über P-AXIS-00175
Variablenname | Typ | Bedeutung |
---|---|---|
lr_param.ssfk | BOOLEAN | 0: keine SSFK |
Beispiel
Auszug aus einer Achsparameterliste:
:
lr_param.ssfk 1
:
Verwaltungsdaten der SSFK-Tabelle
In den allgemeinen Daten des Listenrumpfes wird die Arbeitsweise der Kompensation wie z. B. einseitig oder doppelseitig, parametriert. Die allgemeinen Daten werden unter der Struktur kw.ssfk.* eingetragen.Sie enthält folgende Elemente:
Variablenname | Typ | Bedeutung |
---|---|---|
unit | BOOLEAN | Einheit der Längenangaben: |
interval | SGN32 | Abstand der Stützpunkte der Korrekturtabelle bei Verwendung von äquidistanten Stützpunkten. Ist dieser Parameter = 0 so muss die Position jedes Stützpunktes separat angegeben werden. |
kw_startpos | SGN32 | Startposition der Korrekturtabelle |
kw_nr_max | SGN32 | Anzahl der Einträge der Korrekturtabelle |
bilateral | BOOLEAN | 0: Einseitige Kompensation |
modulo | BOOLEAN | Die Kompensation erfolgt für eine Moduloachse |
Korrekturwerte der SSFK
Die Angabe der Korrekturwerte erfolgt in der Tabelle kw.ssfk.table[i].*.
Der Feldindex i kann dabei die Werte 0 bis kw.ssfk.kw_nr_max 1 annehmen.
Die Angabe der Korrekturwerte erfolgt als absoluter Positionsfehler in der in kw.ssfk.unit angegebenen Einheit (metrisch in 0,1 µm oder inkremental).
Mit: i-ter Korrekturwert
i-ter Sollwert (Stützstelle der Korrekturtabelle)
i-ter Istwert (mit Referenzmesseinrichtung gemessen)
Die Tabelle enthält folgende Elemente:
Variablenname | Typ | Bedeutung |
---|---|---|
pos | SGN16 | Korrekturwert bei Bewegung in positiver Richtung (doppelseitige Kompensation) bzw. Korrekturwert bei Verwendung der einseitigen Kompensation. |
neg | SGN16 | Korrekturwert bei Bewegung in negativer Richtung, wird bei Verwendung der einsitigen SSFK nicht verwendet. |
setpoint | SGN32 | Stützstelle der Achse (programmierter Wert). Nur bei nicht äquidistanten Stützstellen. |
Bei Verwendung der doppelseitigen Kompensation sind im Eintrag pos die Positionsfehler bei Bewegung in positiver Richtung einzutragen. Die Angabe der Stützstellen ist für beide Richtungen gültig.
Bei Verwendung der einseitigen Kompensation sind die Positionsfehler ebenfalls im Eintrag pos einzutragen, der Eintrag neg entfällt.
Im Unterschied zur Angabe individueller Stützstellen, für die Korrekturtabelle kann auch eine feste Rasterung verwendet werden. Die Angabe der Stützstellen in der Variablen setpoint kann in diesem Falle entfallen.
Zur Verwendung eines festen Stützstellenrasters ist in der Variablen kw.ssfk.interval die Schrittweite des Stützstellenrasters anzugeben. Die Stützstellen werden dann intern aus der Startposition (kw.ssfk. kw_startpos) und der Schrittweite berechnet.
Besonderheiten für Moduloachsen
Wird eine Korrekturtabelle für eine Modulo-Achse konfiguriert (kw.ssfk.modulo = 1) so findet beim Moduloübergang der Achsposition auch ein Moduloübergang in der Korrekturtabelle statt.
Dies kann dazu verwendet werden, um z.B. Positionsfehler, die durch Getriebe verursacht werden, zu kompensieren.
Dabei sind folgende Besonderheiten zu beachten:
- Die Positionswerte des ersten und des letzten Eintrags in der Korrekturliste müssen gleich sein.
- Die Anzahl der Korrekturwerte ist auch hier gleich der Anzahl der Einträge in der Korrekturwerttabelle.