Fanuc Programmierung mit Variablen und Offset Geometrie

Guten Tag,
Ich habe ein hoffentlich kleines Problem.

Ich habe bei meiner Maschine 1 Werkzeug für Aussen und Innenkontur an einem Teil. Dieses habe ich wegen unterschiedlichen Durchmesser und Verschleiß über 2 Werkzeuganwahlen Laufen (T1 und T2).

Wenn ich eine Korrektur in der Z-Achse machen will, muss ich immer die Offset Werte von T1 und T2 gleichzeitig verstellen, um keinen Absatz auf einer Planfläche oder so zu bekommen.

Ich möchte es aber gern so haben das ich nur einen Wert korrigieren muss und sich der zweite Wert über Abfragen im Programm automatisch anpassen tut.

Ich habe jetzt auch im Internet (noch nicht an der Maschine nachgeschaut) gefunden das die Offset Werte der einzelenen Werkzeuge und Achsen in Variablen wiedergegeben werden. Also wäre das Offset von T1 der Z-Achse unter Variable #2101 zu finden und das Offset von T2 der Z-Achse unter Variable #2102.

Ich würde es gern wie folgt Lösen:
Nehmen wir an in T1 und T2 Z-Achse stehen jeweils 0,01mm. Ich mache in T1 eine Korrektur von +0,005mm
dann würde es bei mir im Programm so aussehen:

#101=#2101 - #2102 (0,015-0,01)
-> ergibt in #101 = 0,005

dann Abfragen:
IF[#2101 LT#2102] GOTO10
IF[#2101 GT#2102] GOTO10
IF[#2101 EQ#2102] GOTO20
.
.
N10
müsste es dann #101 (in diesem Fall 0,005mm) in Offset T2 in der z-Achse draufrechnen.
geht es wenn ich schreibe: #2102 = #2102 + #101 ???

N20
ganz normal im Programm weiter

Hoffe ich habe es halbwegs verständlich geschrieben :smile:

kann ich nach N10 jetzt den errechneten Betrag auf den Offset Wert rechnen lassen wie geschrieben oder gibt es eine bestimmte Funktion oder geht es auch über G10 Befehl?
Hoffe das mir einer Helfen kann.
Mfg Sumpfbiber

Hallo Sumpfbiber,

Prinzipiell müsste das so funktionieren. 

Warum verwendest du eine so hohe Zwischenvariable (#101)? Ich fange immer bei #1 an, da ab #100 einige Nummern durch die Maschine verwendet werden.

Die IF-Befehle mit GOTO 10 sind überflüssig,  da er das Programm eh in der Reihenfolge abarbeitet,  wenn er nicht zu N20 springen soll.

Anstatt der ganzen Rechnerei und den Sprüngen kannst Du auch einfach immer den Befehl #2102 = #2101 ausführen.

Alternativ zu Offsetveränderung könntest Du auch den Nullpunkt verschieben.  Das wirkt sich immer auf alle WWerkzeue aus.

Ich hoffe, ich konnte Dir helfen. 

Liebe Grüße
Jonas

PS. Sind bei dir T1 und T2 genau gleich lang, da sie den selben Z-Offset haben sollen?

Hi Jonas,
Vielen Dank für deine Antwort.
Die Variablen fangen bei meiner Maschine erst bei #100 an. die Variablen ab #100 sind welche die Nach jedem Maschinenneustart wieder auf 0 gesetzt werden, die gehen glaub bei mir bis 300. Dann geht es erst wieder bei #500 weiter mit welchen die auch nach Maschinenneustart so bleiben wie etwas eingetragen worden ist.
Ja das mit den GOTO10 hab ich erstmal reingeschrieben falls ich noch etwas schieben muss. Ansonsten hast du recht das man es in der Reihenfolge weglassen könnte.
Die Nullpunktverschiebung kann ich nicht machen, da ich auch noch ein 2tes Werkzeug aufgebaut (als T3) habe.

Und ja, T1 und T2 sind genau gleich lang und haben (müssen) genau den selben Z-Offset haben.
Ich habe bestimmte Werkzeuge wegen Zeitersparniss mit denen Ich z.b. Innen oder Außenkontur gleichzeitig bearbeiten kann. Es sind ziemlich Kniffelige :smile:
Bei einem Teil habe ich auch die Außenkontur in 2 Korrekturwerte aufgeteilt da es an 2 Stellen an der Kontur mit unterschiedlichen Winkeln der Verschleiß der Platte so wandert das sich nur eine der beiden Konturen wandert und ich dadurch diese in der Z-Achse Variieren kann ohne die andere zu beeinflussen. In diesen Fall muss ich dann die X-Werte immer zusammen verstellen. aber die Lösung dort sollte dann genau so gehen.

Vielen Dank für deine Antwort.
Ich werde es nachher gleich mal testen.

mfg Sumpfbiber

Hi Ich nochmal,
wollt nur mal kurz Fazit senden.
Also hat super funktioniert.
Variablen fangen doch bei 1 an und gehen erst nur bis knapp 70, dann wieder von 100-300 und von 500-1000.
Wollte erst die Variable #2001 suchen und habe sie nicht gefunden. Dachte dann erst das es die gar net gibt. Habe es dann aber einfach mal Programmiert in einem Unterprogramm.

O9011 (Offset Berechnung)
(#2001 = X-Achse T1)
(#2002 = X-Achse T2)
IF [#2001 EQ #2002] GOTO10
#1 = #2002 - #2001
#2001 = #2001 + #1
N10
M01
M99
%

Hier kann man halt nur in T2 X-Achse die Korrektur machen.
Habe Unterprogramm ganz am Anfang des Programmes drin das es sich immer Anpasst.
Wenn in T1 X-Achse etwas korrigiert wird, tut er es halt wieder zurücksetzen.
Habe mir überlegt ob es machbar ist so zu schreiben das es egal ist ob man es in T1 oder T2 schreibt aber meiner Meinung nach auch egal weil man so ein festen Offset hat.

Vielen Dank

mfg Sumpfbiber