FANUC
FANUC

Ihr Spezialist für Fabrikautomation

Skala fräsen

Beitrag Gestern, 08:14 Uhr
wolfim1
Level 1 = Community-Lehrling
*
Guten Morgen zusammen,

ich möchte auf eine Stange die ich als Anschlag für meine Säge benutze eine 400mm Skala fräsen.

X1 Y-12
Z-0.2
G1 Y12.
G0 Z0.5
X2 Y-12
Z-0.2
G1 Y12
G0 Z0.5
X3 Y-12
Z-0.2
G1 Y12
Und so weiter bis X400

Da gibts doch sicher eine Vereinfachung, denk ich mal? Steuerung ist Fanuc 0MD

   
Beitrag Gestern, 09:04 Uhr
gram
Level 3 = Community-Techniker
***
Hallo,

das geht recht einfach über WHILE
G0 X1 Y-12
G0 Z-0.2
#10=0(ZAEHLER IST)
#20=400(ZAEHLER SOLL)
WHILE[#10LT#20]DO1
G1Y12
G0 Z0.5
G91G0X1
G90G0 Y-12
G0Z-0.2
#10=#10+1
END1
G0Z100...

Die Reihenfolge, wann die Schleife beginnt bzw. wo du inkremental zustellst, kannst du variieren. Aber so sollte es erst mal passen.

Viel Erfolg!
   
Beitrag Gestern, 09:34 Uhr
wolfim1
Level 1 = Community-Lehrling
*
Oh, das ging ja schnell.

Vielen Dank, Super das ist es.
Da könnte man ja dann in den Sätzen nach "WHILE" und vor G91 auch jede beliebige Kontur einsetzten, cool !!!
Das kann man brauchen!
DANKE!!!





   
Beitrag Heute, 09:37 Uhr
wolfim1
Level 1 = Community-Lehrling
*
Hallo Nochmal,

nochmal Danke, funktioniert soweit wunderbar.
Nur das END1 wird ignoriert. Die Maschine macht die Zustellung solange bis die X-Achse zu Ende ist obwohl die 400 von #20 schon längst erreicht sind.
Kann man sagen wieso das so ist?



ZITAT(gram @ 21.10.2024, 10:04 Uhr) *
Hallo,

das geht recht einfach über WHILE
G0 X1 Y-12
G0 Z-0.2
#10=0(ZAEHLER IST)
#20=400(ZAEHLER SOLL)
WHILE[#10LT#20]DO1
G1Y12
G0 Z0.5
G91G0X1
G90G0 Y-12
G0Z-0.2
#10=#10+1
END1
G0Z100...

Die Reihenfolge, wann die Schleife beginnt bzw. wo du inkremental zustellst, kannst du variieren. Aber so sollte es erst mal passen.

Viel Erfolg!

   
Beitrag Heute, 10:57 Uhr
nico1991
Level 5 = Community-Ingenieur
*****
Entweder ist deine While Bedingung oder dein Zähler falsch.

Poste einfach deinen ganzen Code, dann sollten wir den Fehler relativ schnell finden.
   
Beitrag Heute, 12:21 Uhr
wolfim1
Level 1 = Community-Lehrling
*
Hallo,

mein ganzer Code ist:

O0001
G90 G49 G40 G80
M6 T1
M8
G0 G54 G43 H1 Z50. X1. Y-12. M3 S12000 F200
G0 X1 Y-12.
G0 Z-0.2
#10=0(ZAEHLER IST)
#20=400(ZAEHLER SOLL)
WHILE[#10LT#20]DO1
G1Y12.
G0 Z0.5
G91 G0 X1.
G90 G0 Y-12.
G0 Z-0.2
#10=#10+1
END1
G0 G91 G28 Z0.
M30
%
   
Beitrag Heute, 13:47 Uhr
gram
Level 3 = Community-Techniker
***
Hallo,

der Code sollte eigentlich stimmen.
Setz doch #20 mal testweise auf 5 und schaue was passiert.
   
Beitrag Heute, 14:34 Uhr
wolfim1
Level 1 = Community-Lehrling
*
Hab schon alles mögliche probiert...sie macht immer weiter bis die rote Lampe angeht.

ZITAT(gram @ 22.10.2024, 14:47 Uhr) *
Hallo,

der Code sollte eigentlich stimmen.
Setz doch #20 mal testweise auf 5 und schaue was passiert.

   
Beitrag Heute, 15:36 Uhr
gram
Level 3 = Community-Techniker
***
Hast du den Code, den du hier rein gestellt hast, wirklich exakt so aus dem Programm kopiert? Der ist in Ordnung.
   
Beitrag vor 54 Minuten
gram
Level 3 = Community-Techniker
***
Alternativ kannst du es mit einer anderen Möglichkeit versuchen...

G0 X1 Y-12
G0 Z-0.2
#10=0(ZAEHLER IST)
#20=400(ZAEHLER SOLL)
N50IF[#10GE#20]GOTO100
G1Y12
G0 Z0.5
G91G0X1
G90G0 Y-12
G0Z-0.2
#10=#10+1
GOTO50
N100G0Z100...

Ich kann mir aber nicht vorstellen, dass mit der WHILE Funktion etwas nicht stimmt. Du kannst auch mal die #10 und #20 durch andere ersetzen, nicht dass einer zwischendurch beschrieben wird (kann ich mir aber auch nicht vorstellen). Oder du hast hier einen anderen Code stehen als in deinem Programm. Manchmal hat man schnell einen Parameter in einer falschen Zeile und nullt diesen immer wieder oder lässt ihn nicht hochzählen.
   
Beitrag vor 10 Minuten
wolfim1
Level 1 = Community-Lehrling
*
Keine Ahnung, eigentlich hab ich den Code hier rauskopiert und nur Programmstart, Punkte (braucht meine Maschine, sonst ist 1 = 0,001) und Programmende hinzugefügt.
Ich hab jetzt ewig hin und her probiert mit weniger Wiederholungen und anderen Abständen, sie macht immer weiter bis zum Achsenende, egal was ich eingebe. Aber ich hab jetzt abgeschaltet und probier morgen früh noch mal.
Ist jetzt aber auch nur noch die Frage wieso sie nicht stehen bleibt, für die Skala die ich machen wollte hat´s ja funktioniert.
Eins könnt ich mir noch vorstellen: Gibt´s vielleicht einen Parameter der die ganze While Do Sache erst aktiviert?


ZITAT(gram @ 22.10.2024, 16:52 Uhr) *
Alternativ kannst du es mit einer anderen Möglichkeit versuchen...

G0 X1 Y-12
G0 Z-0.2
#10=0(ZAEHLER IST)
#20=400(ZAEHLER SOLL)
N50IF[#10GE#20]GOTO100
G1Y12
G0 Z0.5
G91G0X1
G90G0 Y-12
G0Z-0.2
#10=#10+1
GOTO50
N100G0Z100...

Ich kann mir aber nicht vorstellen, dass mit der WHILE Funktion etwas nicht stimmt. Du kannst auch mal die #10 und #20 durch andere ersetzen, nicht dass einer zwischendurch beschrieben wird (kann ich mir aber auch nicht vorstellen). Oder du hast hier einen anderen Code stehen als in deinem Programm. Manchmal hat man schnell einen Parameter in einer falschen Zeile und nullt diesen immer wieder oder lässt ihn nicht hochzählen.

   
7 Besucher lesen dieses Thema (Gäste: 4)
3 Mitglieder: wolfim1, G00Z0, nico1991