Gliederung der Werkzeugdaten

Die Werkzeugdaten bestehen für jedes Werkzeug aus der Angabe von Werkzeuglänge, Werkzeugradius, Werkzeugachsversätzen, einer Gültigkennung, der Werkzeug-maßeinheit und Werkzeugdynamikdaten. Der für die Werkzeugachsversätze anzu-gebende Feldindex entspricht der kanalinternen Achsindizierung (Bild 1.1, dec_achs_nr). Die Anfangs-Achskonfiguration des NC-Kanals wird in der Kanalparameterliste festgelegt [CHAN].

Bild 1.1: Zuordnung von Werkzeugachsversätzen zu den logischen Achsen

Wird die Achskonfiguration durch Achstauschbefehle (#CALL AX, #PUT AX, SET AX [PROG]) geändert, so ändert sich auch die Zuordnung der Werkzeugachsversätze zu den logischen Achsen (Bild 1.2).

Bild 1.2: Zuordnung der Werkzeugachsversätze zu den logischen Achsen.

Die Zuordnung der Werkzeuglänge zu einer Achse ist in [4] beschrieben.

Momentan sind nur Achskonfigurationen mit einer Gruppe möglich [CHAN], so daß gilt:"dec_achs_nr" = "achsen_idx"

Wertebereiche von Parametern werden ggf. auch durch Angabe einer Grenze, die sich aufgrund des Datenformats ergibt, z.B. mit MAX(UNS32) etc., definiert.


Syntax und Interpretation des Werkzeugdaten-ASCII-Files

Die Werkzeugdaten werden in einem ASCII-File definiert und von einem ASCII-Interpreter interpretiert und in den entsprechenden Strukturen gespeichert.

Danach werden für die Werkzeugdaten Plausibilitätsprüfungen durchgeführt.

Dieses Dokument definiert Inhalt und Syntax des ASCII-Files (Beispiel "werkz_d*.lis") sowie die Elemente der Werkzeugdaten.

Für Werkzeugdaten vom Typ BOOLEAN gilt folgende Vereinbarung:

Wert | Bedeutung
0 | Definition von FALSE
1 | Definition von TRUE


Kommentar im ASCII-File

Kommentare können ganzzeilig, oder am Ende einer Zeile eingefügt werden.

Bei ganzzeiligem Kommentar muß am Zeilenanfang das Kommentarzeichen "'#", gefolgt von einem Leerzeichen eingefügt werden.

Soll am Ende einer Zeile ein Kommentar eingefügt werden, so muß vor dem Kommentar lediglich ein Leerzeichen vorhanden sein. Wurde in der Zeile jedoch ein String definiert, so muß dem Kommentar das Kommentarzeichen "(" vorangestellt werden.

Leerzeilen sind ebenfalls möglich.

Beispiel:

# ************************************************************************

# Daten

# ************************************************************************

#

# Auflistung

dummy[1] 1 Kommentar

dummy[2] 1 # Kommentar

dummy[3] 1 ( Kommentar

dummy[4] 1 /* Kommentar

...

...

beispiel[0].bezeichnung STRING_2 (Kommentar, hier Kommentarklammer nötig!)


Daten eines Werkzeugs (wz[i].*)

TwinCAT CNC: Überblick

Daten eines Werkzeugs (wz[i] .*)

In der Struktur "wz[i]" werden die Daten eines Werkzeugs mit der Nummer "i" festgelegt.

Variablenname | Typ | Index | Dimension
wz[i] | WERKZEUG | i = 0 ... [DEC_WZ_DATA_ANZ-1] | ----

Value DEC_WZ_DATA_ANZ | Bedeutung
applikationsabhängig | Anzahl der Werkzeugdatensätze

Es besteht folgender Zusammenhang zwischen D-Funktion und Werkzeugdaten-index "i".

D-Funktion | Werkzeugdatenindex "i"
D 0 | 0
D 1 | 1
D 2 | 2
D 3 | 3
D 4 | 4
D 5 | 5
D 6 | 6
D 7 | 7

Der Werkzeugdatenindex "i" entspricht also der im NC-Programm mit dem D-Befehl programmierten Werkzeugnummer.

Die Daten des Werkzeugs mit dem Werkzeugdatenindex "0" werden nach Interpretation des ASCII-Files mit "0" belegt. Damit können mit Programmierung von "D0" im NC-Programm alle Werkzeugachsversätze aus den Verfahrbewegungen herausgerechnet werden.

Mehr:

button Typ (P-TOOL-00001)

button Schneidenlage (P-TOOL-00002)

button Werkzeuglänge (P-TOOL-00003)

button Werkzeugradius (P-TOOL-00004)

button Gültigkennung (P-TOOL-00005)

button Achsversatzmaße (P-TOOL-00006)

button Zusätzliche Werkzeugparameter (P-TOOL-00007)

button Maßeinheit der Werkzeugdaten (P-TOOL-00008)

button Kinematikparameter (P-TOOL-00009)

button Werkzeug feststehend / ausrichtbar (P-TOOL-00010)

button Kinematik-ID (P-TOOL-00011)

button Dynamik und Getriebedaten

button Daten für Schleifapplikationen

button Daten zur Visualisierung und Kollisionsüberwachung


Typ (P-TOOL-00001)

Zur Unterscheidung von Fräs- ,Dreh- und Schleifwerkzeugen wird der Parameter "wz[i].typ" belegt.

Variablenname | Typ | erlaubter Bereich | Dimension
typ | UNS16 | 0/1 | ----

Wert | Bedeutung
0 | Fräswerkzeug
1 | Drehwerkzeug
2 | Schleifwerkzeug

BEISPIEL: Das Werkzeug 5 ist vom Typ Fräswerkzeug.

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

wz[5].typ 0 # Fräswerkzeug

..........


Schneidenlage (P-TOOL-00002)

Bei Drehwerkzeugen (wz[i].typ = 1) ist die Lage der Werkzeugschneide bezüglich der Bearbeitungs-ebene über den Parameter "wz[i].srk_lage" anzugeben (Bild 2.1).

Variablenname | Typ | erlaubter Bereich | Dimension
srk_lage | UNS16 | 0 < srk_lage <= 9 | ----

Detaillierte Informationen zur Bearbeitung mit Drehwerkzeugen in [PROG]

Bild 2.1: Kennung 1..9 für die Lage der Drehwerkzeugschneide in der Bearbeitungsebene.

BEISPIEL: Die Lage der Werkzeugschneide des Werkzeugs 6 wird durch die Kennung 3 beschrieben.

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 6

# ==========================================================================

wz[6].srk_lage 3 # Schneidenlage 3

..........


Werkzeuglänge (P-TOOL-00003)

Die Werkzeuglänge wird im Parameter "wz[i].laenge" eingetragen.

Variablenname | Typ | erlaubter Bereich | Dimension
laenge | SGN32 | MIN(SGN32) .< laenge <. MAX(SGN32) | 0,1 µm bzw. 0,0001 inch

Die Werkzeuglänge wird in der Einheit [0,1µm] bzw. [0,0001 inch] erwartet.

BEISPIEL: Die Länge des Werkzeugs 5 ist 60 mm.

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

wz[5].laenge 600000 # Werkzeuglänge 60 mm

........


Werkzeugradius (P-TOOL-00004)

Der Werkzeugradius wird im Parameter "wz[i].radius" eingetragen.

Variablenname | Typ | erlaubter Bereich | Dimension
radius | SGN32 | MIN(SGN32) <= radius < MAX(SGN32) | 0,1 µm bzw. 0,0001 inch

Der Werkzeugradius wird in der Einheit [0,1µm] bzw. [0,0001 inch] erwartet.

BEISPIEL: Die Radius des Werkzeugs 5 ist 20 mm.

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

wz[5].radius 200000 # Werkzeugradius 20 mm

............


Gültigkennung (P-TOOL-00005)

Wenn die Daten eines Werkzeugs eingerechnet werden dürfen, muß die Gültigkennung "wz[i].gueltig" im ASCII-File auf TRUE gesetzt werden.

Variablenname | Typ | erlaubter Bereich | Dimension
gültig | BOOLEAN | 0/1 | ----

Beispiel: Die Daten des Werkzeugs 5 sollen gültig gesetzt werden.

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

wz[5].gueltig 1 # Werkzeuggültigkennung TRUE

..........


Achsversatzmaße (P-TOOL-00006)

Pro Werkzeug "i" ist für jede Achse "j" ein Achsversatzparameter "wz[i].ax_versatz[j]" reserviert.

Variablenname | Typ | erlaubter Bereich | Dimension
ax_versatz[j] | SGN32 | MIN(SGN32) < ax_versatz[j] < MAX(SGN32) | 0,1 µm bzw. 0,0001 inch
j | UNS16 | 0 ... [SDA_GRPMAX * SDA_AXMAX -1] | ----

Konstante | Wert | Bedeutung
SDA_GRPMAX | 1 | Maximale Anzahl der Gruppen, momentan ist nur der Wert 1 erlaubt
SDA_AXMAX | applikationsabhängig | Maximale Anzahl der Achsen je Gruppe

Die Werkzeugachsversätze werden in der Einheit [0,1µm] bzw. [0,0001 inch] erwartet.

Bei aktiver kinematischer Transformation werden achsspezifische Werkzeugversätze aus "ax_versatz[j]" nur in den Achsen berücksichtigt, die nicht von der Transformationsfunktion beeinflusst werden!

Abhängig vom Transformationstyp sind dies z.B. bei RTCP typischerweise alle Achsen oberhalb der ersten drei Achsen mit Index 0.. 2.

BEISPIEL: Die Werkzeugachsversätze sind 205 mm für die erste Achse, 206 mm für die zweite, 307 mm für die dritte und - 408 mm für die 4. Achse.

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

wz[5].ax_versatz[0] 2050000 # Versatz 1. Achse 205 mm

wz[5].ax_versatz[1] 2060000 # Versatz 2. Achse 206 mm

wz[5].ax_versatz[2] 3070000 # Versatz 3. Achse 307 mm

wz[5].ax_versatz[3] -4080000 # Versatz 4. Achse -408 mm

........


Zusätzliche Werkzeugparameter (P-TOOL-00007)

Über den Parameter "wz[i].param[j]" können zusätzliche Parameter pro Werkzeug applikationsabhängig definiert werden.

Variablenname | Typ | erlaubter Bereich | Dimension
param[j] | REAL64 | MIN(REAL64) ≤ param[j] ≤ MAX(REAL64) | ----
j | UNS16 | 0 ... [ WZ_PARAM_ANZ - 1 ] | ----

Wert WZ_PARAM_ANZ | Bedeutung
applikationsabhängig | Anzahl der Infovariablen pro Werkzeug

Beispiel: Die Werkzeugparameter des Werkzeugs 5 sollen folgendermaßen belegt werden:

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

wz[5].param[0] 1 # zusätzliche

wz[5].param[1] 20.5 # Werkzeugparameter

wz[5].param[2] 120 # für Werkzeug 5

..........


Maßeinheit der Werkzeugdaten (P-TOOL-00008)

Der Parameter "wz[i].mass_einheit" definiert, in welcher Maßeinheit die Werkzeugdaten angegeben werden.

Variablenname | Typ | erlaubter Bereich | Dimension
mass_einheit | UNS16 | 0/1 | ----

Wert | Bedeutung
0 | Maßeinheit ist Millimeter
1 | Maßeinheit ist Inch

BEISPIEL: Die Werkzeugdaten werden in der Maßeinheit "Millimeter" programmiert.

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

wz[5].mass_einheit 0 # Werkzeugmaßeinheit MM

........


Kinematikparameter (P-TOOL-00009)

Die Parameter "wz[i].kinematic.param[j]" dienen zur werkzeugabhängigen Parametrierung der kinematischen Transformation (RTCP / TLC / TOOL ORI CS [PROG]). Ihre Belegung wird applikationsspezifisch festgelegt.

Parametername ab V263:

Variablenname | Typ | erlaubter Bereich | Dimension
kinematic.param[j] | SGN32 | MIN(SGN32) < kinematic.param[j] < MAX(SGN32) | 0,1 µm bzw. 0,0001 inch
j | UNS16 | 0 ... [KOPF_VERSATZ_MAX - 1] | ----

Parametername bis V260:

wz_kopf_versatz[j] | SGN32 | MIN(SGN32) < wz_kopf_versatz[j] < MAX(SGN32) | 0,1 µm bzw. 0,0001 inch
j | UNS16 | 0 ... [KOPF_VERSATZ_MAX - 1] | ----

Wert KOPF_VERSATZ_MAX | Bedeutung
applikationsabhängig | Maximale Anzahl der Kopfvertsatzparameter

Es besteht zusätzlich die Möglichkeit die Versätze für jede Kinematik in den Kanalparametern P-CHAN-00094 einzutragen. Ist ein Element in beiden Listen belegt, so erfolgt in der CNC eine Addition der angegebenen Werte.

Detaillierte Informationen zur 5-achsigen Bearbeitung finden sich in [PROG].

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

wz[5].kinematic.param[0] 1538000 # Kopfversatz 1: 153,8 mm

wz[5].kinematic.param[1] 25000 # Kopfversatz 2: 2,5 mm

wz[5].kinematic.param[2] 0 # Kopfversatz 3: 0 mm

wz[5].kinematic.param[5] 900000 # Kopfversatz 6; 90 mm

..........


Werkzeug feststehend / ausrichtbar (P-TOOL-00010)

Der Parameter "wz[i].tool_fixed" wird mit TRUE belegt, wenn in Verbindung mit der Funktionalität "Bearbeitungskoordinatensystem" [PROG] das Werkzeug in seiner Orientierung bzgl. des Maschinenkoordinatensystems nicht verändert werden kann (z.B. aufgrund fehlender rotatorischer Achsen) oder soll. Die Werkzeugachsversätze ("wz[i].ax_versatz[j]") als Komponenten des Werkzeugversatzvektors beziehen sich in diesem Fall immer auf die Maschinenachsen.

Variablenname | Typ | erlaubter Bereich | Dimension
tool_fixed | BOOLEAN | 0/1 | ----

Für das Messen im Bearbeitungskoordinatensystem [PROG] wird über den Parameter "tool_fixed" angegeben, ob der Meßtaster parallel zu den Achsen des gedrehten Koordinatensystems ausgerichtet ist.

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

wz[5].tool_fixed 1 # Werkzeug feststehend

..........


Kinematik-ID (P-TOOL-00011)

Die Kinematik-ID dient zur Identifizierung der in der Steuerung implementierten, maschinen- bzw. werkzeugkopfspezifischen Kinematiktypen.

Über das Element "wz[i].kin_id" wird die für das Werkzeug zu verwendende Kinematik-Transformation festgelegt. Bei Belegung mit dem Wert 0 ergibt sich die Kinematik-ID aus der Defaulteinstellung gemäß [CHAN] bzw. aus der Programmierung im NC-Programm.

Variablenname | Typ | erlaubter Bereich | Dimension
kin_id | UNS16 | 0 <= kin_id <= MAX(UNS16) | ----

Nähere Informationen zu Maschinenkinematik und 5-Achs-Bearbeitung finden sich in [PROG].

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

wz[5].kin_id 6 # Kinematik-ID

..........


Dynamik und Getriebedaten

Je nach Applikation kann es erforderlich sein, für bestimmte Werkzeuge spezifische Dynamikdaten festzulegen. Diese werden in der Spindel während der Bearbeitung zur Begrenzung von Drehzahl und Beschleunigung verwendet. Damit die Dynamikdaten an die Spindel mit dem zugehörigen Werkzeug weitergeleitet werden können, ist die zusätzliche Angabe der logischen Achsnummer der Spindel erforderlich.

Mehr:

button Logische Spindelachsnummer (P-TOOL-00012)

button Min./Max. Drehgeschwindigleit (P-TOOL-00013 / P-TOOL-00014)

button Maximale Beschleunigung (P-TOOL-00015)

button Getriebeübersetzung des Werkzeugs (P-TOOL-00016 / P-TOOL-00017)

button Drehrichtungsumkehr durch Getriebe (P-TOOL-00018)

button Drehrichtungsumkehr ohne Spindelstillstand (P-TOOL-00019)


Logische Spindelachsnummer (P-TOOL-00012)

Die Dynamikdaten des Werkzeuges sind über die logische Achsnummer der Spindel zugeordnet, die das Werkzeug nach dem Einwechseln tragen soll. Wird die logische Achsnummer mit Null belegt, so werden beim Werkzeugwechsel keine Dynamikdaten an die Spindel weitergeleitet.

Variablenname | Typ | erlaubter Bereich | Dimension
log_ax_nr_spdl | UNS16 | 0 <= log_ax_nr_spdl <= MAX(UNS16) | ----


Min./Max. Drehgeschwindigleit (P-TOOL-00013 / P-TOOL-00014)

Variablenname | Typ | erlaubter Bereich | Dimension
vb_min/vb_max | UNS32 | 0 <= vb_min/vb_max <= MAX(UNS32) | 0,001°/s

Die Begrenzung auf die minimale Drehgeschwindigleit vb_min erfolgt nur beim Endlosdrehen.


Maximale Beschleunigung (P-TOOL-00015)

Variablenname | Typ | erlaubter Bereich | Dimension
a_max | UNS32 | 0 <= a_max <= MAX(UNS32) | °/s2

Auszug aus "werkz_d.lis":

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

..........

wz[5].log_ax_nr_spdl 6 # Logische Achsnummer der Spindel

wz[5].vb_min 60000 # Minimale Drehgeschwindigkeit

wz[5].vb_max 3000000 # Maximale Drehgeschwindigkeit

wz[5].a_max 3000 # Maximale Beschleunigung

..........


Getriebeübersetzung des Werkzeugs (P-TOOL-00016 / P-TOOL-00017)

Falls das Werkzeug ein Getriebe besitzt, kann in dem Parameter gear_ratio_num und gear_ratio_denom die Getriebeübersetzung angegeben werden. Sobald das Werkzeug ein- bzw. ausgewechselt wird, findet dann im Lageregler ein Getriebeschalten statt. Dadurch muss die Getriebeübersetzung bei der Programmierung der Werkzeugdrehzahl nicht berücksichtigt werden. Das Wechseln eines Werkzeugs mit einer Getriebestufe ist nur bei Stillstand der Spindel (P-TOOL-00012) erlaubt. Falls der Zähler oder Nenner des Getriebefaktors mit 0 belegt ist, findet kein Getriebeschalten statt.

P-TOOL-00016:

Variablenname | Typ | erlaubter Bereich | Dimension
gear_ratio_num | SGN32 | 0 <= gear_ratio_num <= MAX(SGN32) | ----

P-TOOL-00017:

Variablenname | Typ | erlaubter Bereich | Dimension
gear_ratio_denom | SGN32 | 0 <= gear_ratio_denom <= MAX(SGN32) | ----


Drehrichtungsumkehr durch Getriebe (P-TOOL-00018)

Falls sich die Bewegungsrichtung durch das Werkzeuggetriebe umkehrt, kann durch Setzen des Parameters gear_inv_direction = 1 eine Änderung der Bewegungsrichtung im Lageregler veranlasst werden, sobald das entsprechende Werkzeug ein- bzw. ausgewechselt wird.

Variablenname | Typ | erlaubter Bereich | Dimension
gear_inv_direction | BOOLEAN | 0/1 | ----


Drehrichtungsumkehr ohne Spindelstillstand (P-TOOL-00019)

Beim Einwechseln eines Werkzeugs mit Werkzeuggetriebe, bei dem sich die Drehrichtung ändert (s. P-TOOL-00018) muss die Spindel stehen, ansonsten erzeugt die CNC die Fehlermeldung P-ERR-60290. Falls der Parameter gear_inv_direction_no_stop = 1 gesetzt ist, wird die Drehrichtungsänderung des Werkzeugs erst bei einem programmierten Wechsel der Spindeldrehrichtung (M03/M04 bzw. M04/M03) ausgewertet. Die Spindel hält dabei nicht an! Dies ist z.B. bei einem Aggregat mit mehreren, gleichzeitig rotierenden Werkzeugen sinnvoll. Die Defaulteinstellung ist gear_inv_direction_no_stop = 0.

Variablenname | Typ | erlaubter Bereich | Dimension
gear_inv_direction_no_stop | BOOLEAN | 0/1 | ----

Dieser Parameter darf nur verwendet werden, falls mit dem D/T-Wort kein physikalischer Werkzeugwechsel verbunden ist (z.B. mehrere Bohrer/Fräser an einem Aggregat)!


Daten für Schleifapplikationen

Für die Schleifbearbeitung und die damit verbundene Berücksichtigung und Überwachung des Werkzeugverschleißes (z.B. Schleifscheibe) stehen die folgenden Parameter zur Verfügung.

Mehr:

button Verschleißkonstante (P-TOOL-00030)

button Neigungswinkel der Schleifscheibe (P-TOOL-00032)


Verschleißkonstante (P-TOOL-00030)

Die Verschleißkonstante wird zur kontinuierlichen Ermittlung des Verschleißes verwendet. Sie kann alternativ auch im NC-Programm programmiert werden.

Variablenname | Typ | erlaubter Bereich | Dimension
grinding_wear_const | REAL64 | 0 ≤ grinding_wear_const | 0,1µm /m

Die Verschleißkonstante sollte relativ kleine Werte haben, da keine spezielle dynamische Betrachtung aufgrund des entstandenen Verschleißes durchgeführt wird.

Variablenname | Typ | erlaubter Bereich | Dimension
grinding_max_infeed | REAL64 | MIN(SGN32) ≤ grinding_max_infeed ≤ MAX(SGN32) | 0,1µm


Neigungswinkel der Schleifscheibe (P-TOOL-00032)

Der Parameter bestimmt bei geneigten Schleifscheiben den Winkel zwischen der Mittelachse der Schleifscheibe und der 3.Hauptachse.

Variablenname | Typ | erlaubter Bereich | Dimension
grinding_tilt_angle | REAL64 | -45°≤ grinding_tilt_angle ≤ 45° | 0,0001°

Abbildung 2- 1 : Neigungswinkel der Schleifscheibe

Variablenname | Typ | erlaubter Bereich | Dimension
grinding_disc_min_width | REAL64 | 0 < grinding_disc_min_width ≤ MAX(SGN32) | 0,1µm


Daten zur Visualisierung und Kollisionsüberwachung

Im Rahmen der Bearbeitungssimulation können die Werkzeuge und der Werkzeugkopf als grafische Objekte angezeigt werden. Zur Visualisierung wird als zusätzliches Glied der kinematischen Kette ein sog. Linkpoint mit den verbundenen grafischen Werkzeugobjekten angehängt. Die dazu erforderlichen spezifischen Daten werden beim Werkzeugwechsel in den Werkzeugdaten übertragen und durch entsprechenden Befehle (#SCENE ..., V.G.WZ_AKT.LINKPOINT... [PROG]) im NC-Programm der Bearbeitungssimulation bekanntgemacht.

Die Verfügbarkeit dieser Funktionalität ist von der Konfiguration und dem Versionsumfang abhängig.

Mehr:

button Linkpointdaten (wz[i].linkpoint_data.*)

button Objektdaten (wz[i].gobject_data[j].*)


Linkpointdaten (wz[i].linkpoint_data.*)

In dieser Struktur werden die Daten des Knotenpunktes (LINKPOINT) der kinematischen Kette eingetragen, an welchen die grafischen Werkzeugobjekte gehängt werden.

Mehr:

button Name (P-TOOL-00100)

button Mountpoint (P-TOOL-00101)

button Translation der Hauptachsen (P-TOOL-00102)

button Rotation der Hauptachsen (P-TOOL-00103)

button Achsnummer (P-TOOL-00104)

button Translation/Rotation des Knotenpunktes (P-TOOL-00105)

button Wirkung der Bewegung auf den Knotenpunkt (P-TOOL-00106)

button Verwendung des Knotenpunktes (P-TOOL-00107)

button Position des Knotenpunktes nach Achstausch (P-TOOL-00108)

button Maximale Hebelarmlänge (P-TOOL-00109)


Name (P-TOOL-00100)

Name des neuen Knotenpunkts der kinematischen Kette.

Variablenname | Typ | erlaubter Bereich | Dimension
name | TYP_STRING | String (Max. Länge CSG_MAX_STRING_LENGTH, applikationsabhängig) | ----


Mountpoint (P-TOOL-00101)

Name des existierenden Knotens der kinematischen Kette, an welchen der neue Knoten gehängt wird.

Variablenname | Typ | erlaubter Bereich | Dimension
mountpoint | TYP_STRING | String (Max. Länge CSG_MAX_STRING_LENGTH, applikationsabhängig) | ----


Translation der Hauptachsen (P-TOOL-00102)

Verschiebung des Linkpoints in den Hauptachsen bzgl. des Mountpoints.

Variablenname | Typ | erlaubter Bereich | Dimension
translation[k] | SGN32 | MIN(SGN32) < translation[k] < MAX(SGN32) mit k=0, 1, 2 | 0,1 µm bzw. 0,0001 inch


Rotation der Hauptachsen (P-TOOL-00103)

Eulerwinkel, über welche die aktuelle Drehung des Linkpoints bezüglich des Mountpoints angegeben wird.

Variablenname | Typ | erlaubter Bereich | Dimension
rotation[k] | SGN32 | -360° < rotation[k] < 360° mit k=1, 2, 3 | 0,001°


Achsnummer (P-TOOL-00104)

Logische Achsnummer der Achse, welche zu einer Bewegung des neuen Linkpoints führt.

Variablenname | Typ | erlaubter Bereich | Dimension
ax_nr | UNS16 | 0 < ax_nr < MAX(UNS16) | ----


Translation/Rotation des Knotenpunktes (P-TOOL-00105)

Angabe, ob Bewegung der Achse führt zu einer Translation in X / Y / Z oder einer Rotation um X / Y / Z: 1-TRANS_X, 2-TRANS_Y, ..., 6-ROT_Z

Variablenname | Typ | erlaubter Bereich | Dimension
trans_rot | SGN32 | MIN(SGN32) < trans_rot < MAX(SGN32) | ----


Wirkung der Bewegung auf den Knotenpunkt (P-TOOL-00106)

Parameter gibt an, ob die programmierten Achsbewegungen invers auf die Translation bzw. Rotation des Linkpoints wirken sollen.

Variablenname | Typ | erlaubter Bereich | Dimension
inverse | BOOLEAN | 0/1 | ----

0 | Achsbewegung wirkt nicht invertiert auf den Linkpoint
1 | Achsbewegung wirkt invertiert auf den Linkpoint


Verwendung des Knotenpunktes (P-TOOL-00107)

Parameter gibt an, wie der Linkpoint bei der Visualisierung zu behandeln ist.

Variablenname | Typ | erlaubter Bereich | Dimension
visible | BOOLEAN | 0/1 | ----

0 | Linkpoints dienen nur zur internen Berechnung der Kette. Das heisst bei Hinzufügen wird der Linkpoint einmal übertragen, aber nicht zyklisch.
1 | Bewegungen des Linkpoints werden bei Protokollierung (z.B. über Data Factory) zyklisch angezeigt.


Position des Knotenpunktes nach Achstausch (P-TOOL-00108)

Parameter gibt an, wie der mit einer Achse verbundene Linkpoint bei einer Kollisionsbetrachtung zu behandeln ist, wenn diese Achse durch Achstausch nicht mehr im NC-Kanal vorhanden ist.

Variablenname | Typ | erlaubter Bereich | Dimension
fixed | BOOLEAN | 0/1 | ----

0 | Kollisionsbetrachtung für diesen Linkpoint kann nicht mehr sicher durchgeführt werden .
1 | Linkpoint-Position bleibt nach Achstausch konstant. Kollisionsbetrachtung kann durchgeführt werden .


Maximale Hebelarmlänge (P-TOOL-00109)

Maximale Hebelarmlänge der am (rotatorischen) Linkpoint angebrachten grafischen Objekte. Dient zur Segmentierung bei rotatorischen Achsen.

Variablenname | Typ | erlaubter Bereich | Dimension
arm_len | SGN32 | MIN(SGN32) < arm_len < MAX(SGN32) | 0,1 µm bzw. 0,0001 inch


Objektdaten (wz[i].gobject_data[j].*)

In dieser Struktur werden die Daten der grafischen Objekte eingetragen, welche mit dem Knotenpunkt (LINKPOINT) verbunden sind. Es können applikationsspezifisch <j> Objekte definiert werden.

Mehr:

button Name (P-TOOL-00120)

button Knotenpunktname (P-TOOL-00121)

button Gruppenname (P-TOOL-00122)

button Translation des Objektes (P-TOOL-00123)

button Rotation des Objektes (P-TOOL-00124)

button Wirkung von Verschiebung und Rotation (P-TOOL-00125)

button Datei mit Beschreibung der Objektdaten (P-TOOL-00126)

button Schlüssel-/Wertpaare (P-TOOL-00127/ P-TOOL-00128)

button Angabe einer Änderung (P-TOOL-00129)


Name (P-TOOL-00120)

Name des grafischen Objekts.

Variablenname | Typ | erlaubter Bereich | Dimension
name | TYP_STRING | String (Max. Länge CSG_MAX_STRING_LENGTH, applikationsabhängig) | ----


Knotenpunktname (P-TOOL-00121)

Name des Knotens (LINKPOINT) der kinematischen Kette, an welchen das grafische Objekt gehängt wird.

Variablenname | Typ | erlaubter Bereich | Dimension
linkpoint | TYP_STRING | String (Max. Länge CSG_MAX_STRING_LENGTH, applikationsabhängig) | ----


Gruppenname (P-TOOL-00122)

Name der Gruppe (zusammengefaßte grafische Objekte), die zusätzlich an das neue grafische Objekt gehängt wird.

Variablenname | Typ | erlaubter Bereich | Dimension
group[j] | TYP_STRING | String (Max. Länge CSG_MAX_STRING_LENGTH) | ----
j | UNS16 | 0 ... [ CSG_MAX_NBR_GROUP - 1 ] |

Wert | Bedeutung
CSG_MAX_NBR_GROUP | Anzahl der Objektgruppen pro Werkzeug, applikationsabhängig
CSG_MAX_STRING_LENGTH | Länge eines Gruppennamens, applikationsabhängig


Translation des Objektes (P-TOOL-00123)

Verschiebung des grafischen Objekts bzw. der Gruppe bezüglich des Knotenpunkts (LINKPOINT) bei absoluter Angabe bzw. bezüglich der vorherigen Koordinaten bei relativer Angabe (P-TOOL-00125).

Variablenname | Typ | erlaubter Bereich | Dimension
translation[k] | SGN32 | MIN(SGN32) < translation[k] < MAX(SGN32) mit k=0, 1, 2 | 0,1 µm bzw. 0,0001 inch


Rotation des Objektes (P-TOOL-00124)

Eulerwinkel, über welche die statische Drehung des grafischen Objekts bezüglich des Knotenpunkts (LINKPOINT) angegeben wird.

Variablenname | Typ | erlaubter Bereich | Dimension
rotation[k] | SGN32 | -360° < rotation[k] < 360° mit k=1, 2, 3 | 0,001°


Wirkung von Verschiebung und Rotation (P-TOOL-00125)

Parameter gibt an, wie die programmierten Verschiebungen und Rotationen zu den aktuellen Verschiebungen und Rotationen wirken sollen.

Variablenname | Typ | erlaubter Bereich | Dimension
relative | BOOLEAN | 0/1 | ----

0 | Angegebene Verschiebung / Drehung ersetzt alle vorher aktivierten Verschiebungen / Drehungen.
1 | Verschiebung und Rotation wirken additiv zur aktuellen Verschiebung bzw. Rotation.


Datei mit Beschreibung der Objektdaten (P-TOOL-00126)

Name der Datei, über welche das grafische Objekt zusätzlich beschrieben wird (z.B. VRML-Datei).

Variablenname | Typ | erlaubter Bereich | Dimension
file | TYP_STRING | String (Max. Länge CSG_MAX_STRING_LENGTH, applikationsabhängig) | ----


Schlüssel-/Wertpaare (P-TOOL-00127/ P-TOOL-00128)

Schlüssel-/ Wertepaare, über welche das grafische Objekt zusätzlich beschrieben wird.

P-TOOL-00127:

Variablenname | Typ | erlaubter Bereich | Dimension
key[j] | TYP_STRING | String (Max. Länge CSG_MAX_STRING_LENGTH) | ----
j | UNS16 | 0 ... [ CSG_MAX_VAL_KEY_IDX - 1 ] |

P-TOOL-00128:

Variablenname | Typ | erlaubter Bereich | Dimension
value[j] | TYP_STRING | String (Max. CSG_MAX_STRING_LENGTH) | ----
j | UNS16 | 0 ... [ CSG_MAX_VAL_KEY_IDX - 1 ] |

Wert | Bedeutung
CSG_MAX_VAL_KEY_IDX | Anzahl der Key/Value-Paare pro Werkzeug, applikationsabhängig
CSG_MAX_STRING_LENGTH | Länge eines Key/Value-Namens, applikationsabhängig


Angabe einer Änderung (P-TOOL-00129)

Dieser Parameter zeigt die Angabe einer Änderung durch die Werkzeugverwaltung an. Die Auswertung dieser Information bleibt hierbei dem Anwender überlassen.

Variablenname | Typ | erlaubter Bereich | Dimension
changed | BOOLEAN | 0/1 | ----

0 | Keine Änderung von Daten.
1 | Änderung von Daten durch Werkzeugverwaltung.


Beispiel für die Belegung der Werkzeugdaten

#***************************************************************************

# Werkzeug-Daten

# **************************************************************************

# Wichtiger Hinweis: Hinter dem Kommentarzeichen ´# ´muß

# unbedingt ein Leerzeichen (Space) eingefügt werden.

# ACHTUNG: Die Werkzeugmaße werden in der Einheit

# 0,1 µm bzw. 0,0001 inch erwartet.

# **************************************************************************

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 5

# ==========================================================================

wz[5].laenge 6000 # Werkzeuglänge

wz[5].radius 54000 # Werkzeugradius

wz[5].gueltig 1 # Werkzeuggültigkennung TRUE

wz[5].mass_einheit 0 # Werkzeugmasseinheit MM

wz[5].ax_versatz[0] 205000 # Versatz 1. Achse

wz[5].ax_versatz[1] 206000 # Versatz 2. Achse

wz[5].ax_versatz[2] 307000 # Versatz 3. Achse

wz[5].ax_versatz[3] 408000 # Versatz 4. Achse

wz[5].log_ax_nr_spdl 6 # Logische Achsnummer der Spindel

wz[5].vb_min 60000 # Minimale Drehgeschwindigkeit

wz[5].vb_max 3000000 # Maximale Drehgeschwindigkeit

wz[5].a_max 3000 # Maximale Beschleunigung

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 8

# ==========================================================================

wz[8].laenge 8000 # Werkzeuglänge

wz[8].radius 45000 # Werkzeugradius

wz[8].gueltig 1 # Werkzeuggültigkennung TRUE

wz[8].mass_einheit 0 # Werkzeugmasseinheit MM

wz[8].ax_versatz[0] 225000 # Versatz 1. Achse

wz[8].ax_versatz[1] -336000 # Versatz 2. Achse

wz[8].ax_versatz[2] -457000 # Versatz 3. Achse

wz[8].ax_versatz[3] 578000 # Versatz 4. Achse

wz[8].kinematic.param[0] 1538000 # Kopfversatz 1: 153,8 mm

wz[8].kinematic.param[1] 25000 # Kopfversatz 2: 2,5 mm

wz[8].kinematic.param[2] 0 # Kopfversatz 3: 0 mm

wz[8].kinematic.param[5] 900000 # Kopfversatz 6; 90 mm

wz[8].tool_fixed 1 # Werkzeug feststehend

wz[8].kin_id 6 # Kinematik 6

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 15

# ==========================================================================

wz[15].typ 1 # Drehwerkzeug

wz[15].srk_lage 5 # Schneidenlage

wz[15].laenge 8250 # Werkzeuglänge

wz[15].radius 200 # Werkzeugradius

wz[15].gueltig 1 # Werkzeuggültigkennung TRUE

wz[15].mass_einheit 0 # Werkzeugmasseinheit MM

wz[15].ax_versatz[0] 0 # Versatz 1. Achse

wz[15].ax_versatz[1] 0 # Versatz 2. Achse

wz[15].ax_versatz[2] 0 # Versatz 3. Achse

wz[15].ax_versatz[3] 0 # Versatz 4. Achse

# ==========================================================================

# Werkzeugdaten für Werkzeug Nr. 23

# ==========================================================================

wz[23].laenge 5000 # Werkzeuglänge

wz[23].radius 10000 # Werkzeugradius

wz[23].gueltig 1 # Werkzeuggültigkennung TRUE

wz[23].mass_einheit 0 # Werkzeugmasseinheit MM

wz[23].ax_versatz[0] 565000 # Versatz 1. Achse

wz[23].ax_versatz[1] 236000 # Versatz 2. Achse

wz[23].ax_versatz[2] -233000 # Versatz 3. Achse

wz[23].ax_versatz[3] 566400 # Versatz 4. Achse

#

# Example for GOBJECT-description in internal tool data base

#

wz[1].gobject[0].name GO_NAME

wz[1].gobject[0].linkpoint GO_LINKPOINT

wz[1].gobject[0].group[0] GO_GROUP

wz[1].gobject[0].group[1] GO_GROUP_1

wz[1].gobject[0].group[2] GO_GROUP_2

wz[1].gobject[0].group[3] GO_GROUP_3

wz[1].gobject[0].group[4] GO_GROUP_4

wz[1].gobject[0].translation[0] 10000 # integer in [0.1 um]

wz[1].gobject[0].translation[1] 20000

wz[1].gobject[0].translation[2] 30000

wz[1].gobject[0].rotation[0] 300000 # integer in [0.0001 degree]

wz[1].gobject[0].rotation[1] 600000

wz[1].gobject[0].rotation[2] 900000

wz[1].gobject[0].relative 1

wz[1].gobject[0].changed 1

wz[1].gobject[0].file GO_FILE

wz[1].gobject[0].key[0] GO_KEY

wz[1].gobject[0].key[1] GO_KEY_1

wz[1].gobject[0].key[2] GO_KEY_2

wz[1].gobject[0].key[3] GO_KEY_3

wz[1].gobject[0].key[4] GO_KEY_4

wz[1].gobject[0].value[0] GO_VALUE

wz[1].gobject[0].value[1] GO_VALUE_1

wz[1].gobject[0].value[2] GO_VALUE_2

wz[1].gobject[0].value[3] GO_VALUE_3

wz[1].gobject[0].value[4] GO_VALUE_4

#

wz[1].gobject[1].name GO_1_NAME

wz[1].gobject[1].file GO_1_FILE

:

wz[1].gobject[2].name GO_2_NAME

wz[1].gobject[2].file GO_2_FILE

:

wz[1].gobject[3].name GO_3_NAME

wz[1].gobject[3].file GO_3_FILE

:

wz[1].gobject[4].name GO_4_NAME

wz[1].gobject[4].file GO_4_FILE

#

# Example for LINKPOINT-description in internal tool data base

#

wz[1].linkpoint.name LP_NAME

wz[1].linkpoint.mountpoint LP_MOUNTPOINT

wz[1].linkpoint.translation[0] 1

wz[1].linkpoint.translation[1] 2

wz[1].linkpoint.translation[2] 3

wz[1].linkpoint.rotation[0] 30

wz[1].linkpoint.rotation[1] 60

wz[1].linkpoint.rotation[2] 90

wz[1].linkpoint.ax_nr 1

wz[1].linkpoint.trans_rot 1

wz[1].linkpoint.inverse 0

wz[1].linkpoint.visible 1

wz[1].linkpoint.fixed 0

wz[1].linkpoint.arm_len 1234

#

Ende