Parametrierung

Aktivieren

Die Aktivierung der Temperaturkompensation erfolgt im Achsmaschinendatensatz [AXIS] der entsprechenden Achse über P-AXIS-00271:

kopf.achs_nr                    1

#

# temperature compensation on/off

lr_param.temp_comp              1

Die Kompensation kann auch über einen Schreibzugriff auf das CNC Objekt über die Task GEO aktiviert werden:

TEMPC::is_active                             Indexgruppe = 0x120300, Indexoffset = 0x10041

Referenzmessung

Um die Parameter der Temperaturkompensation vorgeben zu können, muss zunächst eine Referenzmessung mit einem externen Lagemesssystem gemacht werden. Hierbei werden bei verschiedenen Temperaturen die Abweichungen der Achspositionen zwischen internem und externem Messsystem ermittelt.

Referenzmessung bei unterschiedlichen Temperaturen
Abb.: Referenzmessung bei unterschiedlichen Temperaturen

Bestimmung der Parameter

Die Parameter Bezugsposition, Offset und Koeffizient können den Messkurven entnommen werden. Hieraus können die Werte bei einer gegebenen Temperatur später eingestellt werden. Nichtgemessene Temperaturen können aus den gemessenen Temperaturverläufen inter- bzw. extrapoliert werden.

Wird als Bezugsposition der virtuelle Schnittpunkt der angenäherten linearen Kurven gewählt, so ist der Offset temperaturunabhängig. Für die unterschiedlichen Temperaturen muss in diesem Falle nur der Koeffizient neu eingestellt werden.

Einfluss der Temperatur

Die einzelnen Parameter können durch die SPS in Abhängigkeit der aktuellen Temperatur eingestellt werden. Hierzu wird ein entsprechendes Temperatursignal (Sensor) an die SPS übertragen, woraus diese die Parameter ableitet.

Explizites Aktivieren im NC-Programm

lr_param.temp_comp_manual_activation         0

Die Kompensation wird wieder ausgeschaltet:

Parameter ändern

Die einzelnen Parameter können über einen Download der Achsliste geändert werden:

kopf.achs_nr                                 1

#

# temperature compensation on/off

lr_param.temp_comp          1

# reference position

lr_param.temp_comp_position_0              100 [0.1µm]

# reference offset

lr_param.temp_comp_offset_0                 40 [0.1µm]

lr_param.temp_comp_coefficient            4000 [µm/m]

#

Neben der Möglichkeit des Downloads existiert auch die Möglichkeit, die Parameter über einen direkten Zugriff über CNC Objekte auf die Task GEO zu schreiben und zu lesen. Beispielhaft kann die erste Achse über folgenden Indexgroup und Indexoffset adressiert werden:

Zugriff auf CNC Objekte der Temperaturkompensation
Abb.: Zugriff auf CNC Objekte der Temperaturkompensation

Überwachung und Ein-/Auskoppeln

Die Kompensationswerte werden für jeden Interpolationstakt neu berechnet. Überschreitet die Änderung pro Takt die vorgegebene maximale Achsbeschleunigung, so kann diese Änderung über mehrere Takte gefiltert ausgegeben werden.

Hierzu kann die Taktanzahl des sin²-förmigen Filters in der Achsliste eingestellt werden. Standardmäßig ist dieser auf einen Takt eingestellt.

kopf.achs_nr                          1

#

# Taktzahl des sin²-Filters

lr_param.temp_comp_n_cycles          20

Anzeige der Kompensation

Neben der Möglichkeit des Downloads existiert die Möglichkeit, Parameter über einen direkten Zugriff auf CNC Objekte der Task GEO zu schreiben oder zu lesen. Beispielhaft kann die 1. Achse über folgende Indexgruppe und Indexoffset adressiert werden:

TEMPC::is_active                         Indexgruppe = 0x120300, Indexoffset = 0x10041

TEMPC:: actual_offset                    Indexgruppe = 0x120300, Indexoffset = 0x10042

Anzeige der Achsposition

Bei eingeschalteter Temperaturkompensation werden die normalen Soll- und Istpositionen der Achse unverändert angezeigt.

Die Korrekturen werden erst vor der Ausgabe auf den Antriebsbus ein-/ausgerechnet und können also bei den Positionswerten des Antriebsbus (dig_cmd_pos, dig_act_pos) eingesehen werden.