Siemens
Digital Industries, Motion Control, Machine Tool Systems
8832
Follower:innenAbzeilen ShopMill, Parameter
27.11.2013, 18:12 Uhr
Hi
ich habe mal eine frage,und zwar wollte ich ein Parameterprogramm erstellen mit dem ich schrägen abzeilen kann,bis jetzt mache ich das einfach mit G90 und G91 über Mark1 und Mark2.Da man aber mit dieser weiße nur 200 wiederholungen machen kann wollte ich mal was neues ausprobieren.Ich stelle hier mal ein Prog rein mit dem ich so meine probleme habe.Vielleicht kann sich mal jemand das prog anschauen und mir weiterhelfen.
Ab Satz N15 beginnt das prog,
N16 Tiefe Z
N18 Y -56
N19 Y 2
N20 berechnung x
N21 berechnung z
So und jetzt mein problem,wie kann ich eine schleife einbauen so das das prog bis entwerte zuende fährt.
bitte nicht lachen aber ich bin noch nicht so fitt mit parameter,
N3 S10000 M3 M8
N4 ;Parametereingabe:
N5 R1=0;Startpunkt X Abs
N6 R2=6;Startpunkt Y Abs
N7 R3=0;Startpunkt Z Abs
N8 R4=10;Tiefe Z
N9 R5=56;Abzeillaenge Y
N10 R6=6;Fraeserradius
N11 R7=COS(45)*10
N12 R8=SIN(45)/10
N13 R9=10;Endpunkt X
N14 R10=100;Anzahl wiedeholungen
N15 G0 X=R1-R6 Y=R2 Z=R3 F2000
N16 G1 Z=-R4
N17
N18 G1 Y=-R5
N19 G1 Y=R2
N20 G1 X=R7/100-R6
N21 G1 Z=R8-R4
N22
N23 G0 Z200 M30
SCHRAEGE__1.MPF ( 598Byte ) Anzahl der Downloads: 72
M.f.g.
ich habe mal eine frage,und zwar wollte ich ein Parameterprogramm erstellen mit dem ich schrägen abzeilen kann,bis jetzt mache ich das einfach mit G90 und G91 über Mark1 und Mark2.Da man aber mit dieser weiße nur 200 wiederholungen machen kann wollte ich mal was neues ausprobieren.Ich stelle hier mal ein Prog rein mit dem ich so meine probleme habe.Vielleicht kann sich mal jemand das prog anschauen und mir weiterhelfen.
Ab Satz N15 beginnt das prog,
N16 Tiefe Z
N18 Y -56
N19 Y 2
N20 berechnung x
N21 berechnung z
So und jetzt mein problem,wie kann ich eine schleife einbauen so das das prog bis entwerte zuende fährt.
bitte nicht lachen aber ich bin noch nicht so fitt mit parameter,
N3 S10000 M3 M8
N4 ;Parametereingabe:
N5 R1=0;Startpunkt X Abs
N6 R2=6;Startpunkt Y Abs
N7 R3=0;Startpunkt Z Abs
N8 R4=10;Tiefe Z
N9 R5=56;Abzeillaenge Y
N10 R6=6;Fraeserradius
N11 R7=COS(45)*10
N12 R8=SIN(45)/10
N13 R9=10;Endpunkt X
N14 R10=100;Anzahl wiedeholungen
N15 G0 X=R1-R6 Y=R2 Z=R3 F2000
N16 G1 Z=-R4
N17
N18 G1 Y=-R5
N19 G1 Y=R2
N20 G1 X=R7/100-R6
N21 G1 Z=R8-R4
N22
N23 G0 Z200 M30
SCHRAEGE__1.MPF ( 598Byte ) Anzahl der Downloads: 72
M.f.g.
27.11.2013, 20:25 Uhr
Grundsätzlich gibt es 6 Möglichkeiten für solche Wiederholungen
- REPEAT mit Label
- IF mit Rücksprung (2Arten)
- WHILE
- REPEAT UNTIL
- FOR
FOR, WHILE und REPEAT UNTIL sind die eleganteren Lösungen, da Sprünge nicht übersichtlich sind.
REPEAT mit Label kennst du ja schon.
Funktionsweise IF mit Rücksprung 1:
Wenn die Bedingung erfüllt ist wird der Teil im IF durchgeführt, am Ende kann wieder vor die IF Abfrage zurückgesprungen werden. Die Funktion entspricht genau dem WHILE, ist aber weniger elegant.
Funktionsweise WHILE:
Solange die Bedingung erfüllt ist wird die Schleife durchalufen:
Wenn also beim Schleifenanfang die Bedingung erfüllt ist läuft die Schleife durch. Am Ende der Schleife wird wieder zur Abfrage zurückgesprungen und das ganze beginnt von vorne, bis die Bedingung nicht mehr erfüllt ist.
Funktionsweise IF mit Rücksprung 2:
Die Schleife wird einmal durchlaufen, danach wird die Bedingung geprüft und zurückgesprungen. Selbe Funktionsweise wie REPEAT UNTIL
Funktionsweise REPEAT UNTIL:
Die Schleife wird durchgelaufen und am Ende die Bedingung geprüft. ACHTUNG hier muss die umgekehrte Bedingung gewählt werden, da gesprungen wird wenn die Bedingung nicht erfüllt wird.
Funktionsweise FOR:
Die Schleife wird eine Bestimmte Anzahl mal wiederholt und der Zähler jedes mal um 1 hochgezählt. FOR kann jedoch nur mit Ganzzahlen umgehen. Auf älteren Versionen funktioniert es deshalb nicht mit R-Parametern.
Einsatz:
IF wird normalerweise ohne Sprünge benutzt für eine einmalige Aktion.
WHILE wird benutzt wenn die Anzahl Schritte nicht bekannt ist
REPEAT UNTIL ist wie WHILE, nur dass die Schleife vor der Abfrage durchlaufen wird und die Bedingung umgekehrt ist. Vorteil: Die Schleife wird also mindestens einmal durchlaufen.
FOR wird benutzt wenn die Anzahl Schritte bekannt/berechnet ist
Für deine Aufgabe bietet sich FOR an, da du eine bestimmte Anzahl Wiederholungen hast.
Kleiner Tipp: leg dir ein G-Code Unterprogramm im Unterprogrammordner an, dieses kannst du dann für mehrere Teile verwenden. Zudem hast du den Vorteil, dass du dir eigene Variablen mit Namen anlegen kannst und somit auf die nicht aussagekräftigen R-Parameter weitgehend verzichten kannst. Der Fräserradius kann übrigens mit $P_TOOLR direkt abgefragt werden.
- REPEAT mit Label
- IF mit Rücksprung (2Arten)
- WHILE
- REPEAT UNTIL
- FOR
FOR, WHILE und REPEAT UNTIL sind die eleganteren Lösungen, da Sprünge nicht übersichtlich sind.
REPEAT mit Label kennst du ja schon.
Funktionsweise IF mit Rücksprung 1:
Wenn die Bedingung erfüllt ist wird der Teil im IF durchgeführt, am Ende kann wieder vor die IF Abfrage zurückgesprungen werden. Die Funktion entspricht genau dem WHILE, ist aber weniger elegant.
CODE
...
R1=0
R2=10
ANFANG:
IF R1<=R2
G0 Z=R1
R1=R1+1
GOTOB ANFANG
ENDIF
...
R1=0
R2=10
ANFANG:
IF R1<=R2
G0 Z=R1
R1=R1+1
GOTOB ANFANG
ENDIF
...
Funktionsweise WHILE:
Solange die Bedingung erfüllt ist wird die Schleife durchalufen:
CODE
...
R1=0
R2=10
WHILE R1<=R2
G0 Z=R1
R1=R1+1
ENDWHILE
...
R1=0
R2=10
WHILE R1<=R2
G0 Z=R1
R1=R1+1
ENDWHILE
...
Wenn also beim Schleifenanfang die Bedingung erfüllt ist läuft die Schleife durch. Am Ende der Schleife wird wieder zur Abfrage zurückgesprungen und das ganze beginnt von vorne, bis die Bedingung nicht mehr erfüllt ist.
Funktionsweise IF mit Rücksprung 2:
Die Schleife wird einmal durchlaufen, danach wird die Bedingung geprüft und zurückgesprungen. Selbe Funktionsweise wie REPEAT UNTIL
CODE
...
R1=0
R2=10
ANFANG:
G0 Z=R1
R1=R1+1
IF R1<=R2 GOTOB ANFANG
...
R1=0
R2=10
ANFANG:
G0 Z=R1
R1=R1+1
IF R1<=R2 GOTOB ANFANG
...
Funktionsweise REPEAT UNTIL:
Die Schleife wird durchgelaufen und am Ende die Bedingung geprüft. ACHTUNG hier muss die umgekehrte Bedingung gewählt werden, da gesprungen wird wenn die Bedingung nicht erfüllt wird.
CODE
...
R1=0
R2=10
REPEAT
G0 Z=R1
R1=R1+1
UNTIL R1>R2
...
R1=0
R2=10
REPEAT
G0 Z=R1
R1=R1+1
UNTIL R1>R2
...
Funktionsweise FOR:
Die Schleife wird eine Bestimmte Anzahl mal wiederholt und der Zähler jedes mal um 1 hochgezählt. FOR kann jedoch nur mit Ganzzahlen umgehen. Auf älteren Versionen funktioniert es deshalb nicht mit R-Parametern.
CODE
...
R2=10
FOR R1=0 TO R2
G0 Z=R1
ENDFOR
R2=10
FOR R1=0 TO R2
G0 Z=R1
ENDFOR
Einsatz:
IF wird normalerweise ohne Sprünge benutzt für eine einmalige Aktion.
WHILE wird benutzt wenn die Anzahl Schritte nicht bekannt ist
REPEAT UNTIL ist wie WHILE, nur dass die Schleife vor der Abfrage durchlaufen wird und die Bedingung umgekehrt ist. Vorteil: Die Schleife wird also mindestens einmal durchlaufen.
FOR wird benutzt wenn die Anzahl Schritte bekannt/berechnet ist
Für deine Aufgabe bietet sich FOR an, da du eine bestimmte Anzahl Wiederholungen hast.
Kleiner Tipp: leg dir ein G-Code Unterprogramm im Unterprogrammordner an, dieses kannst du dann für mehrere Teile verwenden. Zudem hast du den Vorteil, dass du dir eigene Variablen mit Namen anlegen kannst und somit auf die nicht aussagekräftigen R-Parameter weitgehend verzichten kannst. Der Fräserradius kann übrigens mit $P_TOOLR direkt abgefragt werden.
--------------------
Freundliche Grüsse
DMC635V
DMC635V
27.11.2013, 20:50 Uhr
hi
vielen daank für die hilfe,werde mich mal daran machen und die verschiedenen methoden ausprobieren.
ich meld mich wenn ich ein ergebnis habe.
M.f.g.
vielen daank für die hilfe,werde mich mal daran machen und die verschiedenen methoden ausprobieren.
ich meld mich wenn ich ein ergebnis habe.
M.f.g.
27.11.2013, 22:21 Uhr
Hallo,
hier mal von mir ein kleines Beispiel:
N2 T="CUTTER 4"
D1 M6
G0 G54
N3 S10000 M3 M8
N10 R20=-7.90 ; X Mass
N20 R21=-9.20 ; Y Mass
N30 R25=-35.70 ; 2. Y Mass
N40 R22=0 ; Z Mass Start
N50 R23=0.1 ; Z Versatz
N60 R24=0.1 ; XY Versatz
N70 G64 G94
N80 OFFN=0.05 ; Aufmaß Schruppen
N90 START_FASE_1:
N100 G0 X5 Y-12
N110 G0 Z=R22
N120 G1 G41 X0 Y=R21 F1000
N130 G1 X=R20 RND=2 F143
N140 G1 Y=R25 RND=2
N150 G1 X2
N160 G0 G40 X5 Y-28
N170 G0 Z2
N180 R20=R20+R24
N190 R21=R21-R24
N200 R25=R25+R24
N210 R22=R22-R23
N220 END_FASE_1:
N230 REPEAT START_FASE_1 END_FASE_1 P7
N240 OFFN=0.0
M30
FASE_ABZEILEN.pdf ( 21.37KB ) Anzahl der Downloads: 104
Gruß Boern
hier mal von mir ein kleines Beispiel:
N2 T="CUTTER 4"
D1 M6
G0 G54
N3 S10000 M3 M8
N10 R20=-7.90 ; X Mass
N20 R21=-9.20 ; Y Mass
N30 R25=-35.70 ; 2. Y Mass
N40 R22=0 ; Z Mass Start
N50 R23=0.1 ; Z Versatz
N60 R24=0.1 ; XY Versatz
N70 G64 G94
N80 OFFN=0.05 ; Aufmaß Schruppen
N90 START_FASE_1:
N100 G0 X5 Y-12
N110 G0 Z=R22
N120 G1 G41 X0 Y=R21 F1000
N130 G1 X=R20 RND=2 F143
N140 G1 Y=R25 RND=2
N150 G1 X2
N160 G0 G40 X5 Y-28
N170 G0 Z2
N180 R20=R20+R24
N190 R21=R21-R24
N200 R25=R25+R24
N210 R22=R22-R23
N220 END_FASE_1:
N230 REPEAT START_FASE_1 END_FASE_1 P7
N240 OFFN=0.0
M30
FASE_ABZEILEN.pdf ( 21.37KB ) Anzahl der Downloads: 104
Gruß Boern
--------------------
Das dringendste Problem der Technologie von heute ist nicht mehr die Befriedigung von Grundbedürfnissen und uralten Wünschen der Menschen, sondern die Beseitigung von Übeln und Schäden, welche uns die Technologie von gestern hinterlassen hat.
Dennis Gabor (1900-79), ungar.-brit. Physiker, Entwickler der Holographie, 1971 Nobelpr.
28.11.2013, 20:00 Uhr
Hi
Wollte mich ertmal für die schnelle hilfe und vielen beispelen bedanken,habe heute schon mal versucht die ein oder ander schleife einzubauen aber leider noch ohne erfolg,ich hatte auch noch nicht richtig die zeit dazu,ich kann immer nur auf der arbeit ab und zu mal schnell was versuchen aber ich denk das ich es noch hinbekommen werde.
M.f.g.
Wollte mich ertmal für die schnelle hilfe und vielen beispelen bedanken,habe heute schon mal versucht die ein oder ander schleife einzubauen aber leider noch ohne erfolg,ich hatte auch noch nicht richtig die zeit dazu,ich kann immer nur auf der arbeit ab und zu mal schnell was versuchen aber ich denk das ich es noch hinbekommen werde.
M.f.g.
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: