505.933 aktive Mitglieder
3.951 Besucher online
Kostenfrei registrieren
Einloggen Registrieren
FANUC Forum

Makro-Programierung, Rechtecktasche für 32i-Model B

Beitrag 09.10.2019, 15:26 Uhr
Daily7
Daily7
Level 1 = IndustryArena-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 08.10.2019
Beiträge: 8

Hallo,

Dieses Programm ist für eine TSUGAMI und soll im Kanal 1 eine Rechtecktasche fräsen.
Die Steuerung ist eine 32i-Model B
Ich hoffe es wurden keine Fehler gemacht, ich bin neu in der Makroprogrammierung.
Ich freue mich um jede Hilfe und Tipps.

+++WERKZEUGNUMMER+++=
+++DREHZAHL+++=
+++VORSCHUB FRAESERN+++=
+++VORSCHUB ZUSTELLEN+++=
+++SICHERHEITSABSTAND Z-ACHSE+++=
+++ZUSTELLUNG Z-ACHSE+++=
+++ANSTELLPOSITION Z-ACHSE+++=
+++NULLPUNKT X-ACHSE+++=
+++NULLPUNKT Y-ACHSE+++=
+++TASCHENBREITE+++=
+++TASCHENLAENGE+++=
+++TASCHENTIEFE+++=
+++AUFMASS Z-ACHSE+++=
+++RADIUS+++=
+++SCHRUPPEN SCHLICHTEN+++= (Schruppen1 Schlichten2)
+++DREHUNG+++=
+++ZUSTELLUNG XY+++=
+++AUFMASS XY+++=
+++STARTPUNKT Z+++=

#################################### Kanal1:

%
O1200 ( RECHTECKTASCHE )

#5201=0
#5202=0
#5203=0

#501=+++TASCHENLAENGE+++
#502=+++TASCHENBREITE+++
#503=+++RADIUS+++

#504=+++DREHUNG+++
#505=+++TASCHENTIEFE+++
#506=+++ZUSTELLUNG Z-ACHSE+++
#507=+++AUFMASS Z-ACHSE+++
#508=+++ZUSTELLUNG XY+++
#509=+++AUFMASS XY+++

#530=+++SCHRUPPEN SCHLICHTEN+++ ( 1-SCHRUPPEN, 2-SCHLICHTEN )

#550=+++WERKZEUGNUMMER+++
#551=+++VORSCHUB ZUSTELLEN+++
#552=+++VORSCHUB FRAESERN+++
#553=+++DREHZAHL+++
#554=54 ( NULLPUNKT )
#555=+++STARTPUNKT Z+++
#556=+++SICHERHEITSABSTAND Z-ACHSE+++
M98 P1201

#5201=0
#5202=0
#5203=0

M30
%

---------------------------------------

%
O1201

#571=#501/2-#509
#572=#502/2-#509
#576=#506
#578=2*#508

G91 G28 Z0 A0 C0
G00 G90 G#554 X0 Y0
G68 X0 Y0 Z0 R#504
G00 G43.4 H#550 Z#556
G5.1 Q1
G01 T#550 Z#555 F#551 M3 S#553
M98 P1202

G69
G50.1 X0 Y0
G5.1 Q0
G91 G28 Z0
G90 G49
M05
M09
M99
%

---------------------------------------

%
O1202

IF [#530 EQ 2] GOTO 200

WHILE [#576 LT [#505-#507]] DO 1
M98 P1203
#576=#576+#506
END 1

IF [#507 EQ 0] GOTO 100
#576=#505-#507
M98 P1203
N100

IF [#530 EQ 1] GOTO 300

N200
#576=#505
M98 P1203

G41 D[#550+50]
G01 X[#501/2] Y0
Y[[#502/2]-#503]
G03 X[[#501/2]-#503] Y[#502/2] R#503
G01 X-[[#501/2]-#503]
G03 X-[#501/2] Y[[#502/2]-#503] R#503
G01 Y-[[#502/2]-#503]
G03 X-[[#501/2]-#503] Y-[#502/2] R#503
G01 X[[#501/2]-#503]
G03 X[#501/2] Y-[[#502/2]-#503] R#503
G01 Y0
G01 G40 X0 Y0

N300
M99
%

---------------------------------------

%
O1203

#518=#508
#528=#508

IF [#508 GT #571] GOTO 200
#518=#571
N200

IF [#508 GT #572] GOTO 300
#528=#572
N300

IF [#508 GE [2*#503]] GOTO 500

G41 D[#550+50]
G01 X#518 Y0 Z-#576 F#551
Y#528 F#552
X-#518
Y-#528
X#518
Y0
G01 G40 X0 Y0

GOTO 600

N500

G41 D[#550+50]
G01 X#518 Y0 Z-#576 F#551
Y[#528-#503] F#552
G03 X[#518-#503] Y#528 R#503
G01 X-[#518-#503]
G03 X-#518 Y[#528-#503] R#503
G01 Y-[#528-#503]
G03 X-[#518-#503] Y-#528 R#503
G01 X[#518-#503]
G03 X#518 Y-[#528-#503] R#503
G01 Y0
G01 G40 X0 Y0

N600

WHILE [[#578 LT [2*#503]] AND [#578 LT #571] AND [#578 LT #572]] DO 2

G41 D[#550+50]
G01 X#578 Y0
Y#578
X-#578
Y-#578
X#578
Y0
G01 G40 X[#578-#508] Y0

#578=#578+#508

END 2


#581=#578-#508

WHILE [[#578 LT [2*#503]] AND [#578 LT #571]] DO 2

G41 D[#550+50]
G01 X#578 Y0
Y#581
X-#578
Y-#581
X#578
Y0
G01 G40 X[#578-#508] Y0

#578=#578+#508

END 2


#582=#578-#508

WHILE [[#578 LT [2*#503]] AND [#578 LT #572]] DO 2

G41 D[#550+50]
G01 X#582 Y0
Y#578
X-#582
Y-#578
X#582
Y0
G01 G40 X[#578-#508] Y0

#578=#578+#508

END 2

WHILE [[#578 LT #571] AND [#578 LT #572]] DO 2

G41 D[#550+50]
G01 X#578 Y0
Y[#578-#503]
G03 X[#578-#503] Y#578 R#503
G01 X-[#578-#503]
G03 X-#578 Y[#578-#503] R#503
G01 Y-[#578-#503]
G03 X-[#578-#503] Y-#578 R#503
G01 X[#578-#503]
G03 X#578 Y-[#578-#503] R#503
G01 Y0
G01 G40 X[#578-#508] Y0

#578=#578+#508

END 2

#583=#578-#508

WHILE [#578 LT #571] DO 2

G41 D[#550+50]
G01 X#578 Y0
Y[#583-#503]
G03 X[#578-#503] Y#583 R#503
G01 X-[#578-#503]
G03 X-#578 Y[#583-#503] R#503
G01 Y-[#583-#503]
G03 X-[#578-#503] Y-#583 R#503
G01 X[#578-#503]
G03 X#578 Y-[#583-#503] R#503
G01 Y0
G01 G40 X[#578-#508] Y0

#578=#578+#508

END 2

#584=#578-#508

WHILE [#578 LT #572] DO 2

G41 D[#550+50]
G01 X#584 Y0
Y[#578-#503]
G03 X[#584-#503] Y#578 R#503
G01 X-[#584-#503]
G03 X-#584 Y[#578-#503] R#503
G01 Y-[#578-#503]
G03 X-[#584-#503] Y-#578 R#503
G01 X[#584-#503]
G03 X#584 Y-[#578-#503] R#503
G01 Y0
G01 G40 X[#578-#508] Y0

#578=#578+#508

END 2

#578=2*#508

IF [#576 EQ #505] GOTO 200
IF [#509 EQ 0] GOTO 200

G41 D[#550+50]
G01 X#571 Y0
Y[#572-#503]
G03 X[#571-#503] Y#572 R#503
G01 X-[#571-#503]
G03 X-#571 Y[#572-#503] R#503
G01 Y-[#572-#503]
G03 X-[#571-#503] Y-#572 R#503
G01 X[#571-#503]
G03 X#571 Y-[#572-#503] R#503
G01 Y0
G01 G40 X0 Y0

N200

M99
%
TOP    
Beitrag 09.10.2019, 16:40 Uhr
nico1991
nico1991
Level 4 = IndustryArena-Meister
****
Gruppe: Mitglied
Mitglied seit: 01.11.2012
Beiträge: 448

Hallo Daily,

es ist natürlich sehr schwer ein Programm dieser Länge zu Überblicken, gerade im Bezug auf die Unterprogramme smile.gif

Ich schreibe auch oft solche Programme und möchte dir ein paar allgemeine Hinweise geben, die dir vielleicht helfen.

1. Bitte überprüfe ausnahmslos jede Variable die eingeben wird auf Plausibilität.Wenn die Eingabe nicht stimmen kann oder eine Grenze überschreitet eine Fehlermeldung ausgeben.

2. Koordinatensystemdrehung G68: Du drehst um den festen Punkt X0. Y0. - Das ist ok, bitte beachte aber, dass viele Benutzer auch gerne den Mittelpunkt der Tasche Programmieren und dann um diesen Mittelpunkt drehen möchten. Es kommt drauf an wie die Rechtecktasche bemaßt ist.

Es wäre sinnvoll zu prüfen ob G68 X<NULLPUNKT X-ACHSE> Y<NULLPUNKT X-ACHSE> R#504 nicht eher das ist, was du möchtest. Außer du schiebst vorher den Nullpunkt, G54 in deinem Fall, auf die Lage der Tasche, dann kannst du natürlich um X0 Y0 drehen smile.gif


Ich hoffe dir zumindest ein paar Anreize gegeben zu haben. Wenn du eine konkrete Frage hast immer raus damit.

Beste Grüße,

Nico
TOP    
Beitrag 10.10.2019, 12:01 Uhr
Daily7
Daily7
Level 1 = IndustryArena-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 08.10.2019
Beiträge: 8

Hey,
Danke für deine Antwort. Ich werde das auf jeden Fall mal checken.
So ganz allgemein das ist mit diesen Zeilen gemeint?:

G91 G28 Z0 A0 C0
G00 G90 G#554 X0 Y0
G68 X0 Y0 Z0 R#504
G00 G43.4 H#550 Z#556
G5.1 Q1
G01 T#550 Z#555 F#551 M3 S#553
M98 P1202

G69
G50.1 X0 Y0
G5.1 Q0
G91 G28 Z0
G90 G49
M05
M09
M99

Sind das alles G-Befehle für die Nullpunkte. Ich versteh das nicht so recht.
Reicht nicht einmal G28 X0 Y0 Z0
Und warum G91 und dann im nächsten Satz G90.
Kannst du mir vllt die einzelnen Punkte erklären?

LG



ZITAT(nico1991 @ 09.10.2019, 17:40 Uhr) *
Hallo Daily,

es ist natürlich sehr schwer ein Programm dieser Länge zu Überblicken, gerade im Bezug auf die Unterprogramme smile.gif

Ich schreibe auch oft solche Programme und möchte dir ein paar allgemeine Hinweise geben, die dir vielleicht helfen.

1. Bitte überprüfe ausnahmslos jede Variable die eingeben wird auf Plausibilität.Wenn die Eingabe nicht stimmen kann oder eine Grenze überschreitet eine Fehlermeldung ausgeben.

2. Koordinatensystemdrehung G68: Du drehst um den festen Punkt X0. Y0. - Das ist ok, bitte beachte aber, dass viele Benutzer auch gerne den Mittelpunkt der Tasche Programmieren und dann um diesen Mittelpunkt drehen möchten. Es kommt drauf an wie die Rechtecktasche bemaßt ist.

Es wäre sinnvoll zu prüfen ob G68 X<NULLPUNKT X-ACHSE> Y<NULLPUNKT X-ACHSE> R#504 nicht eher das ist, was du möchtest. Außer du schiebst vorher den Nullpunkt, G54 in deinem Fall, auf die Lage der Tasche, dann kannst du natürlich um X0 Y0 drehen smile.gif


Ich hoffe dir zumindest ein paar Anreize gegeben zu haben. Wenn du eine konkrete Frage hast immer raus damit.

Beste Grüße,

Nico

TOP    
Beitrag 10.10.2019, 12:06 Uhr
Techniker_HSC
Techniker_HSC
Level 3 = IndustryArena-Techniker
***
Gruppe: Mitglied
Mitglied seit: 02.01.2009
Beiträge: 158

Hallo Daily,

erstmal Respekt das schreibt nicht jeder.

Hast du Dir schon den G65 - Befehl angesehen? Hier kannst du Argumente mitgeben, dies macht die Verwendung von Variablen un deren Übergabe in verschachtelte Unterprogramme komfortabler.
Du setzt den Externer Werkstücknullpunkt-Korrekturwert Array auf Null. Ist dies so gewollt? wenn ja warum?
Benötigt Fanuc nicht H- und D - für die komplette WZ - Info?

Gruss
TOP    
Beitrag 10.10.2019, 12:14 Uhr
Techniker_HSC
Techniker_HSC
Level 3 = IndustryArena-Techniker
***
Gruppe: Mitglied
Mitglied seit: 02.01.2009
Beiträge: 158

G28 Anfahren des Referenzpunkts --> dies inkrementell sonst landest du an einer falschen pos.

G90 nicht vergessen
TOP    
Beitrag 10.10.2019, 12:42 Uhr
nico1991
nico1991
Level 4 = IndustryArena-Meister
****
Gruppe: Mitglied
Mitglied seit: 01.11.2012
Beiträge: 448

Hallo Daily,

ist das komplette Programm jetzt von dir oder gab es das schon in eurer Firma und du versuchst es nachzuvollziehen?

Das habe ich jetzt nicht so richtig verstanden.

Das Programm soll dann auf einer Mehrkanal Drehmaschine laufen? Oder ist es da schonmal gelaufen?

Beste Grüße,

Nico
TOP    
Beitrag 10.10.2019, 13:34 Uhr
Daily7
Daily7
Level 1 = IndustryArena-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 08.10.2019
Beiträge: 8

Hallo Techniker_HSC,

Danke für deine Antwort.
Was meinst du mit "Respekt das schreibt nicht jeder"? biggrin.gif
"Du setzt den Externer Werkstücknullpunkt-Korrekturwert Array auf Null. Ist dies so gewollt? wenn ja warum?" mit dem G28? nein, der Nullpunkt soll im Werkstückmittelpunkt liegen.
Ob FANUC H und D genötigt bin ich mir unsicher. Ich glaub man kann es mitangeben. Aber das muss ich mal in Erfahrung bringen.

Gruss


ZITAT(Techniker_HSC @ 10.10.2019, 13:06 Uhr) *
Hallo Daily,

erstmal Respekt das schreibt nicht jeder.

Hast du Dir schon den G65 - Befehl angesehen? Hier kannst du Argumente mitgeben, dies macht die Verwendung von Variablen un deren Übergabe in verschachtelte Unterprogramme komfortabler.
Du setzt den Externer Werkstücknullpunkt-Korrekturwert Array auf Null. Ist dies so gewollt? wenn ja warum?
Benötigt Fanuc nicht H- und D - für die komplette WZ - Info?

Gruss

TOP    
Beitrag 10.10.2019, 13:37 Uhr
Daily7
Daily7
Level 1 = IndustryArena-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 08.10.2019
Beiträge: 8

Hallo nico1991,

Nein das Programm habe ich im Internet gefunden. Ich versuche es zu verstehen und die Programmierung zu lernen.
Ja das Programm soll auf einer 2 Kanal Drehmaschine laufen. Das Programm wurde meines Wissens nach nie getestet.

Gruss

ZITAT(nico1991 @ 10.10.2019, 13:42 Uhr) *
Hallo Daily,

ist das komplette Programm jetzt von dir oder gab es das schon in eurer Firma und du versuchst es nachzuvollziehen?

Das habe ich jetzt nicht so richtig verstanden.

Das Programm soll dann auf einer Mehrkanal Drehmaschine laufen? Oder ist es da schonmal gelaufen?

Beste Grüße,

Nico

TOP    
Beitrag 10.10.2019, 14:31 Uhr
Techniker_HSC
Techniker_HSC
Level 3 = IndustryArena-Techniker
***
Gruppe: Mitglied
Mitglied seit: 02.01.2009
Beiträge: 158

#5201 ext. X WNP
#5202 ext. Y WNP
#5203 ext. Z WNP
diese werden in deinem Programm auf Null gesetzt!

#5221 G54 X-Array
#5222 G54 Y-Array
#5223 G54 Z-Array
--> nur Array beschreiben, ohne Aktivierung!!!
TOP    
Beitrag 10.10.2019, 14:49 Uhr
nico1991
nico1991
Level 4 = IndustryArena-Meister
****
Gruppe: Mitglied
Mitglied seit: 01.11.2012
Beiträge: 448

ZITAT(Daily7 @ 10.10.2019, 14:37 Uhr) *
Hallo nico1991,

Nein das Programm habe ich im Internet gefunden. Ich versuche es zu verstehen und die Programmierung zu lernen.
Ja das Programm soll auf einer 2 Kanal Drehmaschine laufen. Das Programm wurde meines Wissens nach nie getestet.

Gruss


Ok, jetzt kommen wir der Sache näher!

Das Programm war mal für eine Fräsmaschine geschrieben. Da sind doch einige Änderungen dran zu tätigen, bevor es auf einer Drehmaschine läuft. Eine Drehmaschine wird nicht mit G90 und G91 absolut und inkremental programmiert sondern über die Eingabe von Inkrementaladressen

Auf der Fräsmaschine:
G00G91G28Z0.

Auf der Drehmaschine:
G00G28W0.

G91 X --> U
G91 Y --> V
G91 Z --> W

Auch die Rotationachsen werden inkremental anders angesprochen. es ist fast ein unmögliches Unterfangen für einen Programmierneuling so ein Programm, gerade wenn man es nicht selber schreiben kann, von der Fräsmaschine auf die Drehmaschine zu konvertieren!

Beste Grüße,

Nico


TOP    
Beitrag 10.10.2019, 14:50 Uhr
Daily7
Daily7
Level 1 = IndustryArena-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 08.10.2019
Beiträge: 8

also kann ich das (#5201=0 #5202=0 #5203=0) raus löschen und ist nicht wichtig.

G41 D[#550+50]
Was macht dieser Befehl? Also mit G41 fahre ich von links die Kontur an. Was macht das D[Fräserauswahl+50]? Das verstehe ich nicht. Kann man D H G und W nicht einfach beim Werkzeug Aufruf dabei schreiben?
Und ist G50.1 und G5.1 überhaupt nötig? Wenn ja warum?

ZITAT(Techniker_HSC @ 10.10.2019, 15:31 Uhr) *
#5201 ext. X WNP
#5202 ext. Y WNP
#5203 ext. Z WNP
diese werden in deinem Programm auf Null gesetzt!

#5221 G54 X-Array
#5222 G54 Y-Array
#5223 G54 Z-Array
--> nur Array beschreiben, ohne Aktivierung!!!

TOP    
Beitrag 10.10.2019, 14:52 Uhr
nico1991
nico1991
Level 4 = IndustryArena-Meister
****
Gruppe: Mitglied
Mitglied seit: 01.11.2012
Beiträge: 448

Ich betone nochmal:

Das Programm kommt von einer 5-Achs Fräsmaschine mit A-C Kinematik und hat nichts auf einer Revolverdrehmaschine zu suchen smile.gif


Wenn ihr ein Makro Programm zum Fräsen von Rechtecktaschen braucht bitte ich euch, eins von Grund auf neu zu schreiben!
TOP    
Beitrag 10.10.2019, 14:54 Uhr
Daily7
Daily7
Level 1 = IndustryArena-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 08.10.2019
Beiträge: 8

Okey, besten Dank für die Hilfe.
Das erklärt schon mal einiges.
Ich glaube ich sollte anfangen so ein Programm selbst zu schreiben. Leider ist in meiner Firma auch keine Experten, da wir noch ein kleines Unternehmen sind.
Wenn ich ein erstellt habe werde ich es nochmal in das Forum stellen.
Gibt es sonst noch gestimmte Befehle die nur auf eine Drehmaschine funktionieren.

ZITAT(nico1991 @ 10.10.2019, 15:49 Uhr) *
Ok, jetzt kommen wir der Sache näher!

Das Programm war mal für eine Fräsmaschine geschrieben. Da sind doch einige Änderungen dran zu tätigen, bevor es auf einer Drehmaschine läuft. Eine Drehmaschine wird nicht mit G90 und G91 absolut und inkremental programmiert sondern über die Eingabe von Inkrementaladressen

Auf der Fräsmaschine:
G00G91G28Z0.

Auf der Drehmaschine:
G00G28W0.

G91 X --> U
G91 Y --> V
G91 Z --> W

Auch die Rotationachsen werden inkremental anders angesprochen. es ist fast ein unmögliches Unterfangen für einen Programmierneuling so ein Programm, gerade wenn man es nicht selber schreiben kann, von der Fräsmaschine auf die Drehmaschine zu konvertieren!

Beste Grüße,

Nico

TOP    
Beitrag 11.10.2019, 10:49 Uhr
Daily7
Daily7
Level 1 = IndustryArena-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 08.10.2019
Beiträge: 8

Ist das Programm so machbar auf einer TSUGAMI HS 327?
Ich bin mir bei den Schleifen etwas unsicher.
Wie kann man den die Verfahrwege in X und Y Richtung so programmieren, dass man beliebig oft in xy zustellt, bis die Breite und Länge der Tasche erreicht wird? Ohne das der Fräser bei G41 stoppt, da er nicht mindestens seinen Durchmesser verfährt.

Besten Dank. smile.gif



O1200 ( RECHTECKTASCHE )

#501=+++TASCHENLAENGE+++
#502=+++TASCHENBREITE+++
#503=+++RADIUS+++

#504=+++DREHUNG+++
#505=+++TASCHENTIEFE+++
#506=+++ZUSTELLUNG Z-ACHSE+++
#507=+++AUFMASS Z-ACHSE+++
#508=+++ZUSTELLUNG XY+++
#509=+++AUFMASS XY+++

#530=+++SCHRUPPEN SCHLICHTEN+++ ( 1-SCHRUPPEN, 2-SCHLICHTEN )

#550=+++WERKZEUGNUMMER+++
#551=+++VORSCHUB ZUSTELLEN+++
#552=+++VORSCHUB FRAESEN+++
#553=+++DREHZAHL+++
#554=54 ( NULLPUNKT )
#555=+++STARTPUNKT Z+++
#556=+++SICHERHEITSABSTAND Z-ACHSE+++
M98 P1201

#5201=0
#5202=0
#5203=0
M30
O1201

#571=#501/2-#509
#572=#502/2-#509
#576=#506
#578=2*#508

G00 G28W0.
G00 G30 U0 V0 C0
G00 G28 G#554 X0 Y0
G68 X0 Y0 Z0 R#504
(G00 G43.4 T#550 Z#556)
G01 T#550 F#551 M3 S#553
M98 P1202
G01 Z#555
G69
M05
M09
M99

O1202

IF [#530 EQ 2] GOTO 200

WHILE [#576 LT [#505-#507]] DO 1
M98 P1203
#576=#576+#506
END 1

IF [#507 EQ 0] GOTO 100
#576=#505-#507
M98 P1203

N100
IF [#530 EQ 1] GOTO 300

N200
#576=#505
M98 P1203

G41 D[#550+50]
G01 X[#501/2] Y0
Y[[#502/2]-#503]
G03 X[[#501/2]-#503] Y[#502/2] R#503
G01 X-[[#501/2]-#503]
G03 X-[#501/2] Y[[#502/2]-#503] R#503
G01 Y-[[#502/2]-#503]
G03 X-[[#501/2]-#503] Y-[#502/2] R#503
G01 X[[#501/2]-#503]
G03 X[#501/2] Y-[[#502/2]-#503] R#503
G01 Y0
G01 G40 X0 Y0

N300
M99

O1203
#518=#508
#528=#508

IF [#508 GT #571] GOTO 200
#518=#571

N200
IF [#508 GT #572] GOTO 300
#528=#572

N300
IF [#508 GE [2*#503]] GOTO 500

G41 D[#550+50]
G01 X#518 Y0 Z-#576 F#551
Y#528 F#552
X-#518
Y-#528
X#518
Y0
G01 G40 X0 Y0

GOTO 600

N500
G41 D[#550+50]
G01 X#518 Y0 Z-#576 F#551
Y[#528-#503] F#552
G03 X[#518-#503] Y#528 R#503
G01 X-[#518-#503]
G03 X-#518 Y[#528-#503] R#503
G01 Y-[#528-#503]
G03 X-[#518-#503] Y-#528 R#503
G01 X[#518-#503]
G03 X#518 Y-[#528-#503] R#503
G01 Y0
G01 G40 X0 Y0

N600
WHILE [[#578 LT [2*#503]] AND [#578 LT #571] AND [#578 LT #572]] DO 2

G41 D[#550+50]
G01 X#578 Y0
Y#578
X-#578
Y-#578
X#578
Y0
G01 G40 X[#578-#508] Y0

#578=#578+#508

END 2


#581=#578-#508

WHILE [[#578 LT [2*#503]] AND [#578 LT #571]] DO 2

G41 D[#550+50]
G01 X#578 Y0
Y#581
X-#578
Y-#581
X#578
Y0
G01 G40 X[#578-#508] Y0

#578=#578+#508
END 2

#582=#578-#508

WHILE [[#578 LT [2*#503]] AND [#578 LT #572]] DO 2

G41 D[#550+50]
G01 X#582 Y0
Y#578
X-#582
Y-#578
X#582
Y0
G01 G40 X[#578-#508] Y0

#578=#578+#508
END 2

WHILE [[#578 LT #571] AND [#578 LT #572]] DO 2

G41 D[#550+50]
G01 X#578 Y0
Y[#578-#503]
G03 X[#578-#503] Y#578 R#503
G01 X-[#578-#503]
G03 X-#578 Y[#578-#503] R#503
G01 Y-[#578-#503]
G03 X-[#578-#503] Y-#578 R#503
G01 X[#578-#503]
G03 X#578 Y-[#578-#503] R#503
G01 Y0
G01 G40 X[#578-#508] Y0

#578=#578+#508
END 2

#583=#578-#508

WHILE [#578 LT #571] DO 2

G41 D[#550+50]
G01 X#578 Y0
Y[#583-#503]
G03 X[#578-#503] Y#583 R#503
G01 X-[#578-#503]
G03 X-#578 Y[#583-#503] R#503
G01 Y-[#583-#503]
G03 X-[#578-#503] Y-#583 R#503
G01 X[#578-#503]
G03 X#578 Y-[#583-#503] R#503
G01 Y0
G01 G40 X[#578-#508] Y0
#578=#578+#508
END 2
#584=#578-#508

WHILE [#578 LT #572] DO 2

G41 D[#550+50]
G01 X#584 Y0
Y[#578-#503]
G03 X[#584-#503] Y#578 R#503
G01 X-[#584-#503]
G03 X-#584 Y[#578-#503] R#503
G01 Y-[#578-#503]
G03 X-[#584-#503] Y-#578 R#503
G01 X[#584-#503]
G03 X#584 Y-[#578-#503] R#503
G01 Y0
G01 G40 X[#578-#508] Y0

#578=#578+#508
END 2

#578=2*#508

IF [#576 EQ #505] GOTO 200
IF [#509 EQ 0] GOTO 200

G41 D[#550+50]
G01 X#571 Y0
Y[#572-#503]
G03 X[#571-#503] Y#572 R#503
G01 X-[#571-#503]
G03 X-#571 Y[#572-#503] R#503
G01 Y-[#572-#503]
G03 X-[#571-#503] Y-#572 R#503
G01 X[#571-#503]
G03 X#571 Y-[#572-#503] R#503
G01 Y0
G01 G40 X0 Y0

N200
M99
TOP    
Beitrag 11.10.2019, 20:39 Uhr
Techniker_HSC
Techniker_HSC
Level 3 = IndustryArena-Techniker
***
Gruppe: Mitglied
Mitglied seit: 02.01.2009
Beiträge: 158

Kleiner gutgemeinter Rat .
Lerne Fanuc von der Basis auf. Mach weiter mit Kleinen Macros (G65 P......)
TOP    



2 Besucher lesen dieses Thema (Gäste: 2)
0 Mitglieder: