FANUC
Ihr Spezialist für Fabrikautomation
Makro-Programierung, Rechtecktasche für 32i-Model B
09.10.2019, 15:26 Uhr
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
%
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
%
09.10.2019, 16:40 Uhr
Hallo Daily,
es ist natürlich sehr schwer ein Programm dieser Länge zu Überblicken, gerade im Bezug auf die Unterprogramme
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
Ich hoffe dir zumindest ein paar Anreize gegeben zu haben. Wenn du eine konkrete Frage hast immer raus damit.
Beste Grüße,
Nico
es ist natürlich sehr schwer ein Programm dieser Länge zu Überblicken, gerade im Bezug auf die Unterprogramme
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
Ich hoffe dir zumindest ein paar Anreize gegeben zu haben. Wenn du eine konkrete Frage hast immer raus damit.
Beste Grüße,
Nico
10.10.2019, 12:01 Uhr
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
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
Hallo Daily,
es ist natürlich sehr schwer ein Programm dieser Länge zu Überblicken, gerade im Bezug auf die Unterprogramme
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
Ich hoffe dir zumindest ein paar Anreize gegeben zu haben. Wenn du eine konkrete Frage hast immer raus damit.
Beste Grüße,
Nico
es ist natürlich sehr schwer ein Programm dieser Länge zu Überblicken, gerade im Bezug auf die Unterprogramme
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
Ich hoffe dir zumindest ein paar Anreize gegeben zu haben. Wenn du eine konkrete Frage hast immer raus damit.
Beste Grüße,
Nico
10.10.2019, 12:06 Uhr
Techniker_HSC
Level 3 = Community-Techniker
Gruppe: Mitglied
Mitglied seit: 02.01.2009
Beiträge: 160
Mitglied seit: 02.01.2009
Beiträge: 160
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
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
10.10.2019, 12:14 Uhr
Techniker_HSC
Level 3 = Community-Techniker
Gruppe: Mitglied
Mitglied seit: 02.01.2009
Beiträge: 160
Mitglied seit: 02.01.2009
Beiträge: 160
G28 Anfahren des Referenzpunkts --> dies inkrementell sonst landest du an einer falschen pos.
G90 nicht vergessen
G90 nicht vergessen
10.10.2019, 12: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
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
10.10.2019, 13:34 Uhr
Hallo Techniker_HSC,
Danke für deine Antwort.
Was meinst du mit "Respekt das schreibt nicht jeder"?
"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
Danke für deine Antwort.
Was meinst du mit "Respekt das schreibt nicht jeder"?
"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
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
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
10.10.2019, 13: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
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
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
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
10.10.2019, 14:31 Uhr
Techniker_HSC
Level 3 = Community-Techniker
Gruppe: Mitglied
Mitglied seit: 02.01.2009
Beiträge: 160
Mitglied seit: 02.01.2009
Beiträge: 160
#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!!!
#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!!!
10.10.2019, 14:49 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
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
10.10.2019, 14:50 Uhr
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?
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?
#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!!!
#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!!!
10.10.2019, 14:52 Uhr
Ich betone nochmal:
Das Programm kommt von einer 5-Achs Fräsmaschine mit A-C Kinematik und hat nichts auf einer Revolverdrehmaschine zu suchen
Wenn ihr ein Makro Programm zum Fräsen von Rechtecktaschen braucht bitte ich euch, eins von Grund auf neu zu schreiben!
Das Programm kommt von einer 5-Achs Fräsmaschine mit A-C Kinematik und hat nichts auf einer Revolverdrehmaschine zu suchen
Wenn ihr ein Makro Programm zum Fräsen von Rechtecktaschen braucht bitte ich euch, eins von Grund auf neu zu schreiben!
10.10.2019, 14:54 Uhr
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.
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.
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
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
11.10.2019, 10:49 Uhr
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.
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
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.
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
11.10.2019, 20:39 Uhr
Techniker_HSC
Level 3 = Community-Techniker
Gruppe: Mitglied
Mitglied seit: 02.01.2009
Beiträge: 160
Mitglied seit: 02.01.2009
Beiträge: 160
Kleiner gutgemeinter Rat .
Lerne Fanuc von der Basis auf. Mach weiter mit Kleinen Macros (G65 P......)
Lerne Fanuc von der Basis auf. Mach weiter mit Kleinen Macros (G65 P......)
9 Besucher lesen dieses Thema (Gäste: 9)
0 Mitglieder: