Siemens
Digital Industries, Motion Control, Machine Tool Systems
Probleme bei Werkzeugradiuskorrektur
17.02.2023, 08:46 Uhr
Hallo zusammen,
leider bin ich gerade total verwirrt bezüglich G41 G42 und brauch einen Erfahrungsaustausch.
Fräsmaschine: DMF 260 mit Rundtisch (C-Achse) und Schwenkkopf (B-Achse). Steuerung 840D. Werkzeug VHM Schaftfräser D20 R05
Aufgabe: Ein Drehteil, vereinfacht gesagt ein Ring, soll auf den Rundtisch hergestellt werden. Damit keine Rundlaufungenauigkeiten einfließen soll die C-Achse sozusagen die Vorschubbewegung ausführen. Also alles soll mit der C-Achse gemacht werden. Die Bohrung in der Mitte soll eine Passung werden D195 mm -0,22 -0,24. Aufmaß ist 0.5 mm. Tiefe der Bohrung ist 54 mm. Der Ablauf soll sein, Vorschlichten mit 0,25 mm Aufmaß -> Messen -> Korrigieren -> Schlichten -> Passung fertig.
Problem: Wenn ich in meinem CAM-System (Siemens NX) die G41 mit ausgebe wird mir in der Simulation eine Kollision angezeigt. Der Werkzeugradius wird nicht verrechnet und der Fräser stellt sich mit seinen Mittelpunkt auf die Bahn und steht voll im Teil. So auch das Verhalten an der Maschine. Mir ist aufgefallen das kein Y-Wert ausgegeben wird. Ich will ja nur in X die Korrektur und in Y soll der Fräser ja in Fräsermitte sein. Wenn wir Y0 schreiben dann wird mir in der Positionsanzeige Y10 angezeigt und gefühlt ist der Fräser dabei deutlich aus der Mitte, eben 10 mm.
An der Maschine haben wir dann ein bisschen rumgespielt bis wir einigermaßen zufrieden waren, aber so richtig sicher sind wir uns nicht. Hier wäre jetzt eine 200er Bohrung.
G1 Z-75. F800
G1 G41 X100
G1 G41 Y0.001
C=IC(360)
G1 G41 X90
G0 G40 Z50
Kann mir einer ein Programmbeispiel geben wie das auszusehen hat? Wie kann ich die Bohrung Programmieren, bzw. auch der Bediener sich an das Sollmaß rantasten?
BG
leider bin ich gerade total verwirrt bezüglich G41 G42 und brauch einen Erfahrungsaustausch.
Fräsmaschine: DMF 260 mit Rundtisch (C-Achse) und Schwenkkopf (B-Achse). Steuerung 840D. Werkzeug VHM Schaftfräser D20 R05
Aufgabe: Ein Drehteil, vereinfacht gesagt ein Ring, soll auf den Rundtisch hergestellt werden. Damit keine Rundlaufungenauigkeiten einfließen soll die C-Achse sozusagen die Vorschubbewegung ausführen. Also alles soll mit der C-Achse gemacht werden. Die Bohrung in der Mitte soll eine Passung werden D195 mm -0,22 -0,24. Aufmaß ist 0.5 mm. Tiefe der Bohrung ist 54 mm. Der Ablauf soll sein, Vorschlichten mit 0,25 mm Aufmaß -> Messen -> Korrigieren -> Schlichten -> Passung fertig.
Problem: Wenn ich in meinem CAM-System (Siemens NX) die G41 mit ausgebe wird mir in der Simulation eine Kollision angezeigt. Der Werkzeugradius wird nicht verrechnet und der Fräser stellt sich mit seinen Mittelpunkt auf die Bahn und steht voll im Teil. So auch das Verhalten an der Maschine. Mir ist aufgefallen das kein Y-Wert ausgegeben wird. Ich will ja nur in X die Korrektur und in Y soll der Fräser ja in Fräsermitte sein. Wenn wir Y0 schreiben dann wird mir in der Positionsanzeige Y10 angezeigt und gefühlt ist der Fräser dabei deutlich aus der Mitte, eben 10 mm.
An der Maschine haben wir dann ein bisschen rumgespielt bis wir einigermaßen zufrieden waren, aber so richtig sicher sind wir uns nicht. Hier wäre jetzt eine 200er Bohrung.
G1 Z-75. F800
G1 G41 X100
G1 G41 Y0.001
C=IC(360)
G1 G41 X90
G0 G40 Z50
Kann mir einer ein Programmbeispiel geben wie das auszusehen hat? Wie kann ich die Bohrung Programmieren, bzw. auch der Bediener sich an das Sollmaß rantasten?
BG
17.02.2023, 09:54 Uhr
Hallo SOFLOW,
Wenn wir Y0 schreiben dann wird mir in der Positionsanzeige Y10 angezeigt und gefühlt ist der Fräser dabei deutlich aus der Mitte, eben 10 mm.
Die Maschine macht genau das was sie soll. G41 X100 Y0 mit einem Fräser DM 20 steht sie dann auf X100 und Y10. Die 10m in Y kommen aufgrund G41.
Erst wenn du wie in deinem Beispiel danach Y0.001 eingibst ergibt sich eine "Richtige" Kontur und die Maschine weiß was du willst.
Vorher ist es nur eine Gerade und keine Kontur. Das Bedeutet das der Fräser mit seiner Tangente an dieser Geraden entlang fährt. Deswegen Y10 und der Durchmesser deiner Bohrung sollte auch 20mm zu groß werden. Deswegen die Kollision aus dem CAM-System.
Ist nicht so elegant aber auch eine Möglichkeit für dich.
G1 Z-75. F800
G1 X=100-($TC_DP6[$P_TOOLNO,$P_TOOL]+$TC_DP12[$P_TOOLNO,$P_TOOL]) ; Es wird der Fräser Radius und der Verschleiß abgezogen
C=IC(360)
G1 X=90-($TC_DP6[$P_TOOLNO,$P_TOOL]+$TC_DP12[$P_TOOLNO,$P_TOOL])
G0 Z50
Gruß
Tobi
Der Beitrag wurde von Tobe87 bearbeitet: 17.02.2023, 09:55 Uhr
Wenn wir Y0 schreiben dann wird mir in der Positionsanzeige Y10 angezeigt und gefühlt ist der Fräser dabei deutlich aus der Mitte, eben 10 mm.
Die Maschine macht genau das was sie soll. G41 X100 Y0 mit einem Fräser DM 20 steht sie dann auf X100 und Y10. Die 10m in Y kommen aufgrund G41.
Erst wenn du wie in deinem Beispiel danach Y0.001 eingibst ergibt sich eine "Richtige" Kontur und die Maschine weiß was du willst.
Vorher ist es nur eine Gerade und keine Kontur. Das Bedeutet das der Fräser mit seiner Tangente an dieser Geraden entlang fährt. Deswegen Y10 und der Durchmesser deiner Bohrung sollte auch 20mm zu groß werden. Deswegen die Kollision aus dem CAM-System.
Ist nicht so elegant aber auch eine Möglichkeit für dich.
G1 Z-75. F800
G1 X=100-($TC_DP6[$P_TOOLNO,$P_TOOL]+$TC_DP12[$P_TOOLNO,$P_TOOL]) ; Es wird der Fräser Radius und der Verschleiß abgezogen
C=IC(360)
G1 X=90-($TC_DP6[$P_TOOLNO,$P_TOOL]+$TC_DP12[$P_TOOLNO,$P_TOOL])
G0 Z50
Gruß
Tobi
Der Beitrag wurde von Tobe87 bearbeitet: 17.02.2023, 09:55 Uhr
17.02.2023, 10:50 Uhr
Hallo Tobi,
ok kann mir vorstellen das eine Gerade nicht ausreicht und erst durch einen Y-Wert auch erst der richtige X-Wert angefahren wird.
Leider kann ich das im meiner Simulation nicht so nachstellen der Fehler bleibt der selbe und er fährt voll ins Teil. Fehlermeldung, siehe Bild.
Müsste man dann nicht den Y-Wert einfach den Fräserradius eintragen, also Y-10 und schon würde der Fräser mittig in der Bohrung stehen? Dann wäre ja Y0,001 auch falsch obwohl das rein optisch schon ganz gut aussah?
Danke für dein Programmierbeispiel, aber das Versteh ich leider nicht. Sieht aus wie das die Variablen verrechnet werden die bei Radius und Verschleiß eingetragen sind? Richtig?
BG
ok kann mir vorstellen das eine Gerade nicht ausreicht und erst durch einen Y-Wert auch erst der richtige X-Wert angefahren wird.
Leider kann ich das im meiner Simulation nicht so nachstellen der Fehler bleibt der selbe und er fährt voll ins Teil. Fehlermeldung, siehe Bild.
Müsste man dann nicht den Y-Wert einfach den Fräserradius eintragen, also Y-10 und schon würde der Fräser mittig in der Bohrung stehen? Dann wäre ja Y0,001 auch falsch obwohl das rein optisch schon ganz gut aussah?
Danke für dein Programmierbeispiel, aber das Versteh ich leider nicht. Sieht aus wie das die Variablen verrechnet werden die bei Radius und Verschleiß eingetragen sind? Richtig?
BG
Angehängte Datei(en)
17.02.2023, 10:52 Uhr
@SOFLOW:
Die Werkzeugradiuskorrektur weiß nichts von einer Bewegung der C-Achse, sie verrechnet ausschließlich X und Y (falls G17 aktiv ist).
Weiterhin: Du schreibst in jedem Satz, der korrigiert werden soll G41. Das führt nicht zu dem Ergebnis, das du dir wünschst. Es führt dazu, dass die WRK in jedem dieser Sätze versucht einen neuen Anfahrsatz zu generieren.
Deshalb beim Beginn der WRK einmal G41 bzw. G42 schreiben, am Ende einmal G40 (G40 könntest du beliebig oft wiederholen, aber es ist dann einfach redundant).
Den alleinstehenden Satz in der Mitte der des Programms mit der Drehung der Rundachse müsste so funktionieren wie du dir das vorstellst. Das funktioniert sozusagen aber nur zufällig, weil du die Achse um 360 Grad drehst, die Maschine also an Satzende geometrisch am gleichen Punkt steht wie am Satzanfang. Wenn das nicht gegeben ist, wird dabei nichts Vernünftiges herauskommen.
Die Werkzeugradiuskorrektur weiß nichts von einer Bewegung der C-Achse, sie verrechnet ausschließlich X und Y (falls G17 aktiv ist).
Weiterhin: Du schreibst in jedem Satz, der korrigiert werden soll G41. Das führt nicht zu dem Ergebnis, das du dir wünschst. Es führt dazu, dass die WRK in jedem dieser Sätze versucht einen neuen Anfahrsatz zu generieren.
Deshalb beim Beginn der WRK einmal G41 bzw. G42 schreiben, am Ende einmal G40 (G40 könntest du beliebig oft wiederholen, aber es ist dann einfach redundant).
Den alleinstehenden Satz in der Mitte der des Programms mit der Drehung der Rundachse müsste so funktionieren wie du dir das vorstellst. Das funktioniert sozusagen aber nur zufällig, weil du die Achse um 360 Grad drehst, die Maschine also an Satzende geometrisch am gleichen Punkt steht wie am Satzanfang. Wenn das nicht gegeben ist, wird dabei nichts Vernünftiges herauskommen.
17.02.2023, 11:14 Uhr
@SOFLOW:
Die Werkzeugradiuskorrektur weiß nichts von einer Bewegung der C-Achse, sie verrechnet ausschließlich X und Y (falls G17 aktiv ist).
Weiterhin: Du schreibst in jedem Satz, der korrigiert werden soll G41. Das führt nicht zu dem Ergebnis, das du dir wünschst. Es führt dazu, dass die WRK in jedem dieser Sätze versucht einen neuen Anfahrsatz zu generieren.
Deshalb beim Beginn der WRK einmal G41 bzw. G42 schreiben, am Ende einmal G40 (G40 könntest du beliebig oft wiederholen, aber es ist dann einfach redundant).
Den alleinstehenden Satz in der Mitte der des Programms mit der Drehung der Rundachse müsste so funktionieren wie du dir das vorstellst. Das funktioniert sozusagen aber nur zufällig, weil du die Achse um 360 Grad drehst, die Maschine also an Satzende geometrisch am gleichen Punkt steht wie am Satzanfang. Wenn das nicht gegeben ist, wird dabei nichts Vernünftiges herauskommen.
Die Werkzeugradiuskorrektur weiß nichts von einer Bewegung der C-Achse, sie verrechnet ausschließlich X und Y (falls G17 aktiv ist).
Weiterhin: Du schreibst in jedem Satz, der korrigiert werden soll G41. Das führt nicht zu dem Ergebnis, das du dir wünschst. Es führt dazu, dass die WRK in jedem dieser Sätze versucht einen neuen Anfahrsatz zu generieren.
Deshalb beim Beginn der WRK einmal G41 bzw. G42 schreiben, am Ende einmal G40 (G40 könntest du beliebig oft wiederholen, aber es ist dann einfach redundant).
Den alleinstehenden Satz in der Mitte der des Programms mit der Drehung der Rundachse müsste so funktionieren wie du dir das vorstellst. Das funktioniert sozusagen aber nur zufällig, weil du die Achse um 360 Grad drehst, die Maschine also an Satzende geometrisch am gleichen Punkt steht wie am Satzanfang. Wenn das nicht gegeben ist, wird dabei nichts Vernünftiges herauskommen.
G17 ist aktiv
ok G41 nur einmal schreiben
17.02.2023, 12:12 Uhr
Geht auch ohne G41
G0 X=90-$P_TOOLR Y0
G1 Z-75. F800
X=100-$P_TOOLR
C=IC(360)
X=90-$P_TOOLR
G0 Z50
VG
G0 X=90-$P_TOOLR Y0
G1 Z-75. F800
X=100-$P_TOOLR
C=IC(360)
X=90-$P_TOOLR
G0 Z50
VG
17.02.2023, 12:44 Uhr
Das ist in diesem Fall wohl die einfachste Lösung.
17.02.2023, 13:57 Uhr
Danke für eure Hilfe.
die $P_ Sätze wo kommt das denn her? Wo lernt man sowas? Es scheint ja für einige völlig Verständlich zu sein, ich habe dazu Null wissen. Das interessiert mich =)
BG
die $P_ Sätze wo kommt das denn her? Wo lernt man sowas? Es scheint ja für einige völlig Verständlich zu sein, ich habe dazu Null wissen. Das interessiert mich =)
BG
17.02.2023, 14:45 Uhr
Danke für eure Hilfe.
die $P_ Sätze wo kommt das denn her? Wo lernt man sowas? Es scheint ja für einige völlig Verständlich zu sein, ich habe dazu Null wissen. Das interessiert mich =)
BG
die $P_ Sätze wo kommt das denn her? Wo lernt man sowas? Es scheint ja für einige völlig Verständlich zu sein, ich habe dazu Null wissen. Das interessiert mich =)
BG
Das sind sogenannte Systemvariable, erkennbar daran, dass sie mit einem $-Zeichen beginnen.
Davon gibt es Hunderte, wenn nicht Tausende. Dokumentiert sind sind sie im Handbuch "Systemvariable".
Mit der von TOKAKA verwendeten Variable wird beispielsweise der Radius des aktiven Werkzeugs gelesen.
17.02.2023, 14:52 Uhr
Das sind sogenannte Systemvariable, erkennbar daran, dass sie mit einem $-Zeichen beginnen.
Davon gibt es Hunderte, wenn nicht Tausende. Dokumentiert sind sind sie im Handbuch "Systemvariable".
Mit der von TOKAKA verwendeten Variable wird beispielsweise der Radius des aktiven Werkzeugs gelesen.
Davon gibt es Hunderte, wenn nicht Tausende. Dokumentiert sind sind sie im Handbuch "Systemvariable".
Mit der von TOKAKA verwendeten Variable wird beispielsweise der Radius des aktiven Werkzeugs gelesen.
Danke, genau so ist es. Besser hätte ich es nicht formulieren können.
Vieles schnappt man irgendwann irgendwo auf und verwendet es dann.
VG
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: