Allgemeine Konfiguration (obligatorisch)
Die Konfiguration der Volumetrischen Kompensation(en) findet
- in der Hochlaufliste "hochlauf.lis" [STUP//Kapitel Volumetrische Kompensation] und
- in den kompensationsspezifischen Listen [VOLC] statt.
Pro Steuerung können bis zu 5 Kompensationen konfiguriert werden. Die Konfiguration von mehr als nur einer Kompensation macht z.B. an mehrkanaligen Maschinen Sinn. Außerdem kann die Vermessungsstrategie beeinflussen, ob man mit einer oder mehreren Kompensationen arbeiten muss; siehe hierzu Kapitel „Einfluss der Vermessungsstrategie auf Konfiguration“.
Achszuordnung
Die Volumetrische Kompensation erfordert die Anwesenheit von
- 3 Translationsachsen und
- bis zu 3 Rotationsachsen.
Als Achsnamen sind die Buchstaben X, Y, Z, A, B, C vom ISO-Standard vorgegeben.
Über die logische Achsnummer wird zugeordnet, welche physikalische Achse die Rolle der X-Achse, der Y-Achse usw. übernimmt.
Achtung
Diese Achszuordnung muss mit der Identifikation der Achsen während der Vermessung der Maschine übereinstimmen. Ansonsten werden die Kompensationswerte auf die falschen Achsen beaufschlagt, was bei der Bearbeitung zu einer ungenauen TCP-Position führt.
Programmierbeispiel
Achszuordnung in Kompensationsliste
# Achszuordnung für 0-te Kompensation, über logische Achsnummer
X 1
Y 2
Z 3
C 7
A 19
Anzahl Datensätze
Für die Speicherallokierung muss eine Schranke für die Anzahl der zu lesenden Datensätze angegeben werden. Wird diese Anzahl beim Einlesen der Parameterdateien überschritten, so wird ein Fehler ausgegeben.
Programmierbeispiel
Anzahl Datensätze in "hochlauf.lis"
# obere Schranke für die Anzahl der Datensätze
vol_comp[0].max_records 2000
Parameterdateien
Für jede Kompensation können bis zu 10 Parameterdateien verwendet werden. Für jede Parameterdatei müssen ein Dateiname und das verwendete Dateiformat angegeben werden.
Für das Dateiformat stehen folgende Namen zur Verfügung:
Name | Dateiformat |
ISG_CSV | ISG CSV-Dateiformat, siehe Kapitel „ISG CSV-Format“ |
ETALON_EXCHANGE | Etalon Exchange Format, siehe Kapitel „Etalon Exchange Format“ |
Programmierbeispiel
2 Parameterdateien in Kompensationsliste
# erste Parameterdatei, ISG CSV Format
file[0] C:\volcomp\datei01.csv
file_format[0] ISG_CSV
# zweite Parameterdatei, Etalon Exchange Format
file[1] C:\volcomp\datei02.exc
file_format[1] ETALON_EXCHANGE
Kinematisches Modell
Um das kinematische Modell der Maschine komplett zu beschreiben, sind weitere Angaben notwendig. Insbesondere muss die Reihenfolge der Achsen in der kinematischen Kette definiert werden.
Unter Umständen muss angegeben werden, wie viele Achsen auf Werkstückseite liegen. Ob dieser Wert angegeben muss, hängt von der Vermessungsstrategie ab, siehe Kapitel „Einfluss der Vermessungsstrategie auf Konfiguration“.
Programmierbeispiel
Kinematisches Modell in Kompensationsliste
# Beispiel: eine 5-achsige CB-Maschine, Tisch-Tisch-Kinematik
# ID57 in der ISG-Bibliothek für Kinematische Transformationen
# die Reihenfolge der Achsen ist CBYXZ
chain CBYXZ
# auf Werkstückseite liegen (die ersten) zwei Achsen CA
workpiece_axes 2
Hinweis
Die Bestimmung der kinematischen Kette startet beim Werkstück und läuft dann entlang der Achsen bis zum Werkzeug. Die Reihenfolge, in der hierbei die Achsen auftreten, bestimmt die kinematische Kette. In diesem Beispiel handelt es sich um eine CBYXZ-Kinematik.
Grenzwert
Für jede der zu kompensierenden Achsen (bisher X, Y, Z) kann in den Achsparametern ein Grenzwert für den Korrekturwert angegeben werden.
Der Parameter lr_param.vol_comp.s_limit (P-AXIS-00525) definiert den maximal erlaubten Kompensationswert für diese Achse. Wird dieser Wert überschritten, dann wird ein Fehler ausgegeben und die Achse geführt gestoppt.
Achtung
Ist dieser Grenzwert nicht definiert, dann wird während des Einschaltens der Kompensation ein Fehler ausgegeben.
Programmierbeispiel
Grenzwerte in "achsmd1.lis"
# Grenzwert 1mm für Korrekturwerte, in 0.1um
lr_param.vol_comp.s_limit 10000
Achtung
Für Gantry-Achsen, deren Masterachsen an einer Volumetrischen Kompensation beteiligt sind, muss der Grenzwert s_limit ebenfalls definiert werden. Ansonsten wird beim Beaufschlagen eines Kompensationswertes ein Fehler ausgegeben.