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

Bei TwinCAT kann die Kompensation auch über einen ADS-Schreibzugriff über die Task GEO (Port 551) aktiviert werden.

TEMPC::is_active IGrp = 0x20300, IOffs = 0x10041

Wirksamkeit

Die Temperaturkompensation ist wirksam, wenn:

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.

Parametrierung 1:
Abbildung 1-9: 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.

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 ADS-Zugriff auf die Task GEO (Port 551) zu schreiben und zu lesen. Beispielhaft kann die erste Achse über folgenden Indexgroup, Indexoffset addressiert werden.

TEMPC::is_active IGrp = 0x20300, IOffs = 0x10041
TEMPC::coefficient IGrp = 0x20300, IOffs = 0x10043
TEMPC::offset_0 IGrp = 0x20300, IOffs = 0x10044
TEMPC::position_0 IGrp = 0x20300, IOffs = 0x10045
Parametrierung 2:
Abbildung 1-10: ADS-Zugriff auf Parameter der Temperaturkompensation via Browser

Überwachung 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 mehre Takte gefiltert ausgegeben werden.

Hierzu kann die Taktanzahl des sin²-förmigen Filters in der Achliste eingestellt werden. Defaultmässig ist dieser auf einen Takt eingestellt.

kopf.achs_nr              1
##
Taktzahl des sin²-Filters
lr_param.temp_comp_n_cycles      20
Parametrierung 3:
Abbildung 1-11: Auskoppeln der Korrekturwerte mit einen sin²-Filter über 20 Takte beim kurzfristigen Ausschalten der Temperaturkompensation

Anzeige der Kompensation

Neben der Möglichkeit des Downloads existiert die Möglichkeit, Parameter über einen direkten ADS-Zugriff über die Taks GEO (Port 551) zu schreiben und zu lesen. Beispielhaft kann die erste Achse über folgende Indexgroup, Indexoffset addressiert werden.

TEMPC::is_active IGrp = 0x20300, IOffs = 0x10041
TEMPC::actual_offset IGrp = 0x20300, Ioffs = 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.