Siemens
Digital Industries, Motion Control, Machine Tool Systems
8840
Follower:innenASPLINE Fräsen aber wie ???, ASPLINE mit X/Y-Punkten (G17) geht. ASPLINE mit Z/Y (G17) geht nicht.
07.06.2017, 18:36 Uhr
Hallo, ich möchte eine Kontur eines Bauteils abtasten. Dabei Fahre ich mit dem Messtater entlang der Y-Achse und taste alle 10mm einen Z-Punkt
Steuerung: Siemens 840D Solutionline
Maschine DMC125FD
T9996 ; Messtaster 3mm
G17 G54
G0 X0 Y0 Z10
Tasten in Z und in R1 den Y-WERT ($AA_IW[Y]) und in R101 den Z-WERT (_OVR(4)) speichern.
G0 Y=IC(10)
Das ganze mache ich 50 mal und habe dann 50 Punkte mit jeweils Y- und Z-Wert.
Anschließen fräse ich eine Nut auf dieser Linie mit der Tiefe R200=1
T1 ; Kugel-Fräser 6mm
G17 G54
S1000 F500 M3
G0 X0 Y=R1 Z=R101-R200
ASPLINE
G1 X0 Y=R1 Z=R101-R200
G1 X0 Y=R2 Z=R102-R200
G1 X0 Y=R3 Z=R103-R200
G1 X0 Y=R4 Z=R104-R200
G1 X0 Y=R5 Z=R105-R200
G1 X0 Y=R6 Z=R106-R200
G1 X0 Y=R7 Z=R107-R200
G1 X0 Y=R8 Z=R108-R200
.
.
.
.
usw.
G0 Z200
M30
Jetzt meine Frage: Warum fährt er hier keine SPLINE????
Ich habe das Gefühl das das Ganze in der Z-Achse nicht funktioniert. Denn wenn ich mehrere Punkte in X/Y anfahre funktioniert das.
Nur mit meiner Y/Z-Werten geht das nicht. Es werden die Punkte nur DIREKT, also geradlinig angefahren. Normalerweise sollte doch eine Bahn mit
Tangentialen Übergängen enstehen (so wie es auch bei der X/Y-Variante der Fall ist.
Wer kann mir da helfen???
Liebe Grüße
Thorben
Steuerung: Siemens 840D Solutionline
Maschine DMC125FD
T9996 ; Messtaster 3mm
G17 G54
G0 X0 Y0 Z10
Tasten in Z und in R1 den Y-WERT ($AA_IW[Y]) und in R101 den Z-WERT (_OVR(4)) speichern.
G0 Y=IC(10)
Das ganze mache ich 50 mal und habe dann 50 Punkte mit jeweils Y- und Z-Wert.
Anschließen fräse ich eine Nut auf dieser Linie mit der Tiefe R200=1
T1 ; Kugel-Fräser 6mm
G17 G54
S1000 F500 M3
G0 X0 Y=R1 Z=R101-R200
ASPLINE
G1 X0 Y=R1 Z=R101-R200
G1 X0 Y=R2 Z=R102-R200
G1 X0 Y=R3 Z=R103-R200
G1 X0 Y=R4 Z=R104-R200
G1 X0 Y=R5 Z=R105-R200
G1 X0 Y=R6 Z=R106-R200
G1 X0 Y=R7 Z=R107-R200
G1 X0 Y=R8 Z=R108-R200
.
.
.
.
usw.
G0 Z200
M30
Jetzt meine Frage: Warum fährt er hier keine SPLINE????
Ich habe das Gefühl das das Ganze in der Z-Achse nicht funktioniert. Denn wenn ich mehrere Punkte in X/Y anfahre funktioniert das.
Nur mit meiner Y/Z-Werten geht das nicht. Es werden die Punkte nur DIREKT, also geradlinig angefahren. Normalerweise sollte doch eine Bahn mit
Tangentialen Übergängen enstehen (so wie es auch bei der X/Y-Variante der Fall ist.
Wer kann mir da helfen???
Liebe Grüße
Thorben
07.06.2017, 19:42 Uhr
Guten Abend
Weil Du innerhalb der SPLINE Bestimmung Wegbefehle verwendest ! Das G1 hat da nichts zu tun !
Hierfür solltest du Dir mal das Handbuich Arbeitsvorbereitung lesender weise hereinziehen
Schönen Abend
Weil Du innerhalb der SPLINE Bestimmung Wegbefehle verwendest ! Das G1 hat da nichts zu tun !
CODE
...Splinefunktionsaufruf mit Startkoordimate
X= Y= Z=
X= Y= Z=
usw
...Splinefunktionsabwahl
X= Y= Z=
X= Y= Z=
usw
...Splinefunktionsabwahl
Hierfür solltest du Dir mal das Handbuich Arbeitsvorbereitung lesender weise hereinziehen
Schönen Abend
08.06.2017, 18:01 Uhr
Super mit dem Streichen des G1 funktioniert es Jetzt !!!
Sind denn Befehle wie If, Goto, R-Parameter oder Berechnungen erlaubt?
Bzw. was darf noch aus keinen Fall rein?
Und wie Wähle ich den Spline bewußt ab? Gibt es da einen Befehl für?
Gruß Thorben
Der Beitrag wurde von butscheronie bearbeitet: 08.06.2017, 18:03 Uhr
Sind denn Befehle wie If, Goto, R-Parameter oder Berechnungen erlaubt?
Bzw. was darf noch aus keinen Fall rein?
Und wie Wähle ich den Spline bewußt ab? Gibt es da einen Befehl für?
Gruß Thorben
Der Beitrag wurde von butscheronie bearbeitet: 08.06.2017, 18:03 Uhr
08.06.2017, 18:13 Uhr
Weißt du nicht wie G-Codes funktionieren?
Es gibt modale und nichtmodale G-Codes.
Modale G-Codes sind in Gruppen organisiert.
Von G-Codes. die in einer Gruppe sind, kann immer nur einer aktiv sein.
Die erste G-Code-Gruppe, in der die die interpolationsartenbestimmenden G-Codes stehen, enthält u.a. G0, G1, G2 G3, ASPLINE, BSLINE, CSPLINE
Wenn du also wie zunächst ASPLINE schreibst und im folgenden Satz gleich wieder G1 ist eben G1 und nicht ASPLINE aktiv.
Und wenn du ASPLINE bewußt ausschlaten wills, musst du eifach irgen einen andderen G-Code der ersten Gruppe, z.B. G1 schreiben.
Anmerkung: ASPLINE usw. haben zwar nicht den klassischen Aufbau von G-Codes (Buchstabe G mit Zahl), sind aber im Verhalten völlig identisch zu klassichen G-Codes. Sie sind deshalb immer mitgemeint, wenn man allgemein von G-Codes spricht..
Es gibt modale und nichtmodale G-Codes.
Modale G-Codes sind in Gruppen organisiert.
Von G-Codes. die in einer Gruppe sind, kann immer nur einer aktiv sein.
Die erste G-Code-Gruppe, in der die die interpolationsartenbestimmenden G-Codes stehen, enthält u.a. G0, G1, G2 G3, ASPLINE, BSLINE, CSPLINE
Wenn du also wie zunächst ASPLINE schreibst und im folgenden Satz gleich wieder G1 ist eben G1 und nicht ASPLINE aktiv.
Und wenn du ASPLINE bewußt ausschlaten wills, musst du eifach irgen einen andderen G-Code der ersten Gruppe, z.B. G1 schreiben.
Anmerkung: ASPLINE usw. haben zwar nicht den klassischen Aufbau von G-Codes (Buchstabe G mit Zahl), sind aber im Verhalten völlig identisch zu klassichen G-Codes. Sie sind deshalb immer mitgemeint, wenn man allgemein von G-Codes spricht..
08.06.2017, 19:51 Uhr
Super mit dem Streichen des G1 funktioniert es Jetzt !!!
Sind denn Befehle wie If, Goto, R-Parameter oder Berechnungen erlaubt?
Bzw. was darf noch aus keinen Fall rein?
Und wie Wähle ich den Spline bewußt ab? Gibt es da einen Befehl für?
Gruß Thorben
Sind denn Befehle wie If, Goto, R-Parameter oder Berechnungen erlaubt?
Bzw. was darf noch aus keinen Fall rein?
Und wie Wähle ich den Spline bewußt ab? Gibt es da einen Befehl für?
Gruß Thorben
Hi
Teilen Wir mal deine Anfragen auf.
Berechnungen sind theoretisch möglich, auch mit R- Parameter. Ob Sprungbefehle mit Entscheidungen ( IF - / GOTO ENDIF ) möglich sind entzieht sich meiner Kenntnis. Würde ich aber nicht machen. Wenn dann würde ich auf Felder setze, und diese dann über eine Zählschleife (FOR - ENDFOR) laufen lassen. dass funktioniert dann einwandfrei, und ohne Fehlermeldungen.
Beispiel:
CODE
DEF REAL FELDER[150,2] = REP(0)
DEF iNT ZAEHLER, MITZAEHLER
MITZAEHLER = 0
IF R1 == 1
FOR ZAEHLER = 0 TO 50
MITZAEHLER = MITZAEHLER + 1
FELDER[MITZAEHLER,0] = "X-WERT"; wo hier die Koordinaten herkommen ist dir überlassen
FELDER[MITZAEHLER,1] = "Y-WERT"; - || -
ENDFOR
ENDIF
IF R2 == 1
FOR ZAEHLER = 0 TO 50
MITZAEHLER = MITZAEHLER + 1
FELDER[MITZAEHLER,0] = "X-WERT"; wo hier die Koordinaten herkommen ist dir überlassen
FELDER[MITZAEHLER,1] = "Y-WERT"; - || -
ENDFOR
ENDIF
....
; bis deine 150 Werte voll sind, oder wieviele benötigt werden;)
G0 G54 G64 X= FELDER[0,0] Y= FELDER[0,1]
BAUTO
FOR ZAEHLER =1 TO MITZAEHLER
X= FELDER[ZAEHLER,0] Y=FELDER[ZAEHLER,1]
ENDFOR
EAUTO; Hier wird der Spline abgewählt, und es geht normal weiter mit G- Wegbefehlen
G1 X = " WERT" Y= "WERT"
....
M30
DEF iNT ZAEHLER, MITZAEHLER
MITZAEHLER = 0
IF R1 == 1
FOR ZAEHLER = 0 TO 50
MITZAEHLER = MITZAEHLER + 1
FELDER[MITZAEHLER,0] = "X-WERT"; wo hier die Koordinaten herkommen ist dir überlassen
FELDER[MITZAEHLER,1] = "Y-WERT"; - || -
ENDFOR
ENDIF
IF R2 == 1
FOR ZAEHLER = 0 TO 50
MITZAEHLER = MITZAEHLER + 1
FELDER[MITZAEHLER,0] = "X-WERT"; wo hier die Koordinaten herkommen ist dir überlassen
FELDER[MITZAEHLER,1] = "Y-WERT"; - || -
ENDFOR
ENDIF
....
; bis deine 150 Werte voll sind, oder wieviele benötigt werden;)
G0 G54 G64 X= FELDER[0,0] Y= FELDER[0,1]
BAUTO
FOR ZAEHLER =1 TO MITZAEHLER
X= FELDER[ZAEHLER,0] Y=FELDER[ZAEHLER,1]
ENDFOR
EAUTO; Hier wird der Spline abgewählt, und es geht normal weiter mit G- Wegbefehlen
G1 X = " WERT" Y= "WERT"
....
M30
Werkzeugaufrufe usw. habe ich mal bewusst ausgelassen. Als Anfahrtsbedingungen stehen BAUTO, BNAT, BTAN zur Verfügung, aber das kannst du im Handbuch selber nachlesen !
--------------------
MfG
Andy
-------------------------------------------------------------------------------------------------------------------------
4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)
PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx
Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
Andy
-------------------------------------------------------------------------------------------------------------------------
4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)
PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx
Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
08.06.2017, 20:43 Uhr
Sind denn Befehle wie If, Goto, R-Parameter oder Berechnungen erlaubt?
Bzw. was darf noch aus keinen Fall rein?
Gruß Thorben
Bzw. was darf noch aus keinen Fall rein?
Gruß Thorben
Das ist alles erlaubt und stört nicht.
Was stört sind Voralufstops. Wenn im Programm ein Vorlaufstop auftritt, wird der Spline beendet und beginnt danach neu. Das bedeutet, dass man an dieser Stelle in der Regel eine Ecke bekommt.
Vorlaufstops können explizit programmiert werden (STOPRE), treten aber auch implizit auf, z.B. wenn man Systemvariable mit Vorlaufstop liest (z.B. aktuelle Achspositionen).
08.06.2017, 20:53 Uhr
Das ist alles erlaubt und stört nicht.
Was stört sind Voralufstops. Wenn im Programm ein Vorlaufstop auftritt, wird der Spline beendet und beginnt danach neu. Das bedeutet, dass man an dieser Stelle in der Regel eine Ecke bekommt.
Vorlaufstops können explizit programmiert werden (STOPRE), treten aber auch implizit auf, z.B. wenn man Systemvariable mit Vorlaufstop liest (z.B. aktuelle Achspositionen).
Was stört sind Voralufstops. Wenn im Programm ein Vorlaufstop auftritt, wird der Spline beendet und beginnt danach neu. Das bedeutet, dass man an dieser Stelle in der Regel eine Ecke bekommt.
Vorlaufstops können explizit programmiert werden (STOPRE), treten aber auch implizit auf, z.B. wenn man Systemvariable mit Vorlaufstop liest (z.B. aktuelle Achspositionen).
Hi
Dem kann ich so nicht ganz zustimmen. Aber die Erfahrung bezieht sich noch auf Maschinen Baujahr vor 2013 / 840 D -SL und Powerline !
Bei wiederholten und komplizierten Punktberechungen ua. mit ständig wiederholten Aufrufen von Winkel- und Wurzel- Berechnungen kommt ab einer gewissen Punktanzahl das System ins straucheln. Aber das ist natürlich abhängig gewesen, von der Anzahl der Punkte die im oder mit diesem Spline angefahren werden sollten.
--------------------
MfG
Andy
-------------------------------------------------------------------------------------------------------------------------
4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)
PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx
Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
Andy
-------------------------------------------------------------------------------------------------------------------------
4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)
PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx
Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
29.06.2017, 09:27 Uhr
Ich danke Euch.
So komme ich damit erstmal klar.
Liebe Grüße
So komme ich damit erstmal klar.
Liebe Grüße
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: