Siemens
Digital Industries, Motion Control, Machine Tool Systems
8843
Follower:innenschleife mit sinumerik 810M, code
17.11.2004, 15:46 Uhr
hallo
ich mache zur zeit eine umschulung vom fachinformatiker zum feinwerkmechaniker. ich habe das glück, dass bei uns in der werkstatt eine cnc-fräse (sinumerik 810m) steht, an der ich mich versuchen darf (autodidaktisch mit hilfe von den maschinenunterlagen und winnc32 zwecks fräsersparen). leider will ich sachen wissen, die mir vor ort keiner erklären kann ....
meine frage:
kann mir jemand erklären, wie das mit den schleifen funktioniert (bsp.: @14y <var> <Wert> <Const>). wie so ne schleife funktioniert hab ich vom prinzip her verstanden (hab schon c, c++, perl, ... programmiert). mir wird aus den maschinenunterlagen nicht wirklich klar, wie die struktur der programme auszusehen hat (vorinstallierte zyklen sind für mich nur extrem schwer nachzuvollziehen und mir ist nicht klar ersichtlich, warum die so geschrieben sind wie sie sind ... bsp: zeilennummern nicht in der reihenfolge der wertigkeit im code). auszug aus den unterlagen: [...] Datentransfer allgemein: in Vorbereitung [...] :-(
... vielleicht versteht mich ja jemand (ich würds nich ;-) und kann mir vielleicht mal ein kleines beispiel mit erklärungen schicken/posten oder mir einfach weiterführende links/literatur empfehlen ....
ich mache zur zeit eine umschulung vom fachinformatiker zum feinwerkmechaniker. ich habe das glück, dass bei uns in der werkstatt eine cnc-fräse (sinumerik 810m) steht, an der ich mich versuchen darf (autodidaktisch mit hilfe von den maschinenunterlagen und winnc32 zwecks fräsersparen). leider will ich sachen wissen, die mir vor ort keiner erklären kann ....
meine frage:
kann mir jemand erklären, wie das mit den schleifen funktioniert (bsp.: @14y <var> <Wert> <Const>). wie so ne schleife funktioniert hab ich vom prinzip her verstanden (hab schon c, c++, perl, ... programmiert). mir wird aus den maschinenunterlagen nicht wirklich klar, wie die struktur der programme auszusehen hat (vorinstallierte zyklen sind für mich nur extrem schwer nachzuvollziehen und mir ist nicht klar ersichtlich, warum die so geschrieben sind wie sie sind ... bsp: zeilennummern nicht in der reihenfolge der wertigkeit im code). auszug aus den unterlagen: [...] Datentransfer allgemein: in Vorbereitung [...] :-(
... vielleicht versteht mich ja jemand (ich würds nich ;-) und kann mir vielleicht mal ein kleines beispiel mit erklärungen schicken/posten oder mir einfach weiterführende links/literatur empfehlen ....
17.11.2004, 15:50 Uhr
uli12us
Level 8 = Community-Ehrenmitglied
Gruppe: Mitglied
Mitglied seit: 20.04.2002
Beiträge: 5.008
Mitglied seit: 20.04.2002
Beiträge: 5.008
Sinnvoller wärs umgekehrt. Du postet das wasdu nicht verstehst hier rein und findest hoffentlich jemand der damit umgehen kann. Am Anfang könntest du dir ja mal den Bohrzyklus G83 mit Spanbrechen vornehmen. Da drin gibts etliche verschachtelte Schleifen.
Gruss Uli
Gruss Uli
18.11.2004, 06:01 Uhr
Hallo Gp,
Hauptgruppe 1/Untergruppe 4: REPEAT-Schleife
@14x <Var> <Wert> <Const>
Die REPEAT-Schleife ist eine Wiederholungsanweisung mit Abfrage der Wiederholungsbedingungen
am Ende der Schleife. Die Vergleichsoperatoren entsprechen denen der IF-THENELSE-
Verzweigung. Solange der Vergleich nicht erfüllt ist, wird zu dem unter <Const> definierten
Satz zurückgesprungen. Ist die Bedingung erfüllt, wird die Schleife verlassen und das
Programm fortgesetzt.
Beispiele:
N400 Wiederhole die folgenden Anweisungen solange bis
Bedingung R13 = R27 erfüllt.
@141 R13 R27 K-400
N400 Wiederhole die folgenden Anweisungen solange bis
Bedingung R13 > R27 erfüllt.
@143 R13 R27 K-400
Nochmals ein Beispiel:
N400 .. LF (Wiederhole die folgenden Anweisungen, solange bis Bedienung R13=R27 erfüllt ist)
.
.
@141 R13 R27 K-400 LF
.
,oder..
N400 .. LF (Wiederhole die folgenden Anweisungen, solange bis Bedienung R13>R27 erfüllt ist)
.
.
@143 R13 R27 K-400 LF
.
Tschuss Bob
P.S.: CL800 ist meines Hobby
Hauptgruppe 1/Untergruppe 4: REPEAT-Schleife
@14x <Var> <Wert> <Const>
Die REPEAT-Schleife ist eine Wiederholungsanweisung mit Abfrage der Wiederholungsbedingungen
am Ende der Schleife. Die Vergleichsoperatoren entsprechen denen der IF-THENELSE-
Verzweigung. Solange der Vergleich nicht erfüllt ist, wird zu dem unter <Const> definierten
Satz zurückgesprungen. Ist die Bedingung erfüllt, wird die Schleife verlassen und das
Programm fortgesetzt.
Beispiele:
N400 Wiederhole die folgenden Anweisungen solange bis
Bedingung R13 = R27 erfüllt.
@141 R13 R27 K-400
N400 Wiederhole die folgenden Anweisungen solange bis
Bedingung R13 > R27 erfüllt.
@143 R13 R27 K-400
Nochmals ein Beispiel:
N400 .. LF (Wiederhole die folgenden Anweisungen, solange bis Bedienung R13=R27 erfüllt ist)
.
.
@141 R13 R27 K-400 LF
.
,oder..
N400 .. LF (Wiederhole die folgenden Anweisungen, solange bis Bedienung R13>R27 erfüllt ist)
.
.
@143 R13 R27 K-400 LF
.
Tschuss Bob
P.S.: CL800 ist meines Hobby
--------------------
Práce není penis, postojí i dva dny!
Die Arbeit ist kein P...., sie kann auch 2 Tage stehen.
Die Arbeit ist kein P...., sie kann auch 2 Tage stehen.
18.11.2004, 17:00 Uhr
danke schonmal, ich denke dass mich das erstma weiter bringt .... ich finde leider nicht so oft zeit, dem hobby zu fröhnen ;-)
05.12.2004, 10:31 Uhr
ich habe jetzt mal ausprobiert, ne einfache schleife zum laufen zu bekommen:
wenn ich das im winnc32 laufen lasse, macht der genau einmal den kreis (is ja auch logisch; abfrage am ende der schleife ...)
liegt das jetzt an dem programm oder an dem winnc32 ??
CODE
%300
N10 G90 G54 T1 D1 F100 SIOOO M03
N20 GOO X100 YO Z2
N30 R20=-100 R15=2
N40 G01 R16= R15 R15= R16-2 Z= R15
N50 G03 X100 YO I0 J100 F80
N100 @145 R20 R15 K-40
N900 GOO Z50
N910 GOO X300 Y300
N999 M30
N10 G90 G54 T1 D1 F100 SIOOO M03
N20 GOO X100 YO Z2
N30 R20=-100 R15=2
N40 G01 R16= R15 R15= R16-2 Z= R15
N50 G03 X100 YO I0 J100 F80
N100 @145 R20 R15 K-40
N900 GOO Z50
N910 GOO X300 Y300
N999 M30
wenn ich das im winnc32 laufen lasse, macht der genau einmal den kreis (is ja auch logisch; abfrage am ende der schleife ...)
liegt das jetzt an dem programm oder an dem winnc32 ??
06.12.2004, 07:04 Uhr
Hallo Gemeindepfarrer,
Was möchtest Du programmieren? Ich verstehe den Programm nicht.
Möchtest Du einen Kreis wiederholen, eine Schraubenlinie programmieren, oder was?
orig:
%300
N10 G90 G54 T1 D1 F100 SIOOO M03
N20 GOO X100 YO Z2
N30 R20=-100 R15=2
N40 G01 R16= R15 R15= R16-2 Z= R15 (warum R15 R16?!)
N50 G03 X100 YO I0 J100 F80 (I-100!)
N100 @145 R20 R15 K-40 (O.K.)
N900 GOO Z50
N910 GOO X300 Y300
N999 M30
Kreis: Ohne Anfang?!
%300
N10 G90 G54 T1 D1 F100 S1OOO M03
N20 GOO X100 YO Z2 (Anfahrt in 3 Achsen!)
N30 R20=-100 R15=2 R16= R15 (Parameterdef)
N40 R16= R16-2 G01 Z= R16
N50 G03 X100 YO I0 J-100 F80
N100 @145 R20 R16 K-40
N900 GOO Z50 (Ausfahrt im Z ohne Verlassung die Linie!?)
N910 GOO X300 Y300 (Zur Wkzgwechselpos)
N999 M30
Schraubenlinie:
%300
N10 G90 G54 T1 D1 F100 S1OOO M03
N20 GOO X100 YO Z2 (Anfahrt in 3 Achsen!)
N30 R20=-100 R15=2 R16= R15 (Parameterdef)
N40 R16= R16-2 G03 X100 YO Z= R16 I0 J-100 F80
N100 @145 R20 R16 K-40
N900 GOO Z50 (Ausfahrt im Z ohne Verlassung die Linie!?)
N910 GOO X300 Y300 (Zur Wkzgwechselpos)
N999 M30
Tschuss Bob
Was möchtest Du programmieren? Ich verstehe den Programm nicht.
Möchtest Du einen Kreis wiederholen, eine Schraubenlinie programmieren, oder was?
orig:
%300
N10 G90 G54 T1 D1 F100 SIOOO M03
N20 GOO X100 YO Z2
N30 R20=-100 R15=2
N40 G01 R16= R15 R15= R16-2 Z= R15 (warum R15 R16?!)
N50 G03 X100 YO I0 J100 F80 (I-100!)
N100 @145 R20 R15 K-40 (O.K.)
N900 GOO Z50
N910 GOO X300 Y300
N999 M30
Kreis: Ohne Anfang?!
%300
N10 G90 G54 T1 D1 F100 S1OOO M03
N20 GOO X100 YO Z2 (Anfahrt in 3 Achsen!)
N30 R20=-100 R15=2 R16= R15 (Parameterdef)
N40 R16= R16-2 G01 Z= R16
N50 G03 X100 YO I0 J-100 F80
N100 @145 R20 R16 K-40
N900 GOO Z50 (Ausfahrt im Z ohne Verlassung die Linie!?)
N910 GOO X300 Y300 (Zur Wkzgwechselpos)
N999 M30
Schraubenlinie:
%300
N10 G90 G54 T1 D1 F100 S1OOO M03
N20 GOO X100 YO Z2 (Anfahrt in 3 Achsen!)
N30 R20=-100 R15=2 R16= R15 (Parameterdef)
N40 R16= R16-2 G03 X100 YO Z= R16 I0 J-100 F80
N100 @145 R20 R16 K-40
N900 GOO Z50 (Ausfahrt im Z ohne Verlassung die Linie!?)
N910 GOO X300 Y300 (Zur Wkzgwechselpos)
N999 M30
Tschuss Bob
--------------------
Práce není penis, postojí i dva dny!
Die Arbeit ist kein P...., sie kann auch 2 Tage stehen.
Die Arbeit ist kein P...., sie kann auch 2 Tage stehen.
06.12.2004, 17:27 Uhr
das programm ich eigendlich nur ma geschrieben, um mal an was einfaches als beispiel zu haben. das prog soll eigendlich nur den kreis wiederholen und zwischen drin soll auf z 2mm zugestellt werden, bis R15=R20=-100 erreicht ist. als werkstück hab ich einfach mal nen würfel angenommen, der ne kantenlänge von 200 hat (ohne wirklichen sinn, ich will ja nur lernen ;-). wenn ich dann später mal was mit sinn programmiere, hab ich natürlich vor g41/g42 mit ein zu bauen, was ich aber diesmal der übersicht wegen weg gelassen hab.
N40 G01 R16= R15 R15= R16-2 Z= R15 (warum R15 R16?!) --> da war ich mir nich wirklich sicher ob R=R-x geht
N50 G03 X100 YO I0 J100 F80 (I-100!) --> der kreismittelpunkt liegt auf x=100 y=100; quasi gleiche x-koordinate
N100 @145 R20 R15 K-40 (O.K.) --> macht auch keine fehlermeldung, aber leider durchläuft winnc32 die schleife nur einmal (springt keinmal nach n40 zurück :-/
kann das sein, dass das an der simulationssoftware liegt? womit könnte man das denn noch simulieren?
danke schonmal Bobis, für deine rege anteilname :-D
N40 G01 R16= R15 R15= R16-2 Z= R15 (warum R15 R16?!) --> da war ich mir nich wirklich sicher ob R=R-x geht
N50 G03 X100 YO I0 J100 F80 (I-100!) --> der kreismittelpunkt liegt auf x=100 y=100; quasi gleiche x-koordinate
N100 @145 R20 R15 K-40 (O.K.) --> macht auch keine fehlermeldung, aber leider durchläuft winnc32 die schleife nur einmal (springt keinmal nach n40 zurück :-/
kann das sein, dass das an der simulationssoftware liegt? womit könnte man das denn noch simulieren?
danke schonmal Bobis, für deine rege anteilname :-D
07.04.2005, 14:44 Uhr
Hallo
Der Fehler ist doch einfach:
@145 R20 R15 K-40
Heißt:
Wenn R20 < R15 dann bearbeite den nächsten Satz ELSE Rücksprung auf N40
Der Trick ist, das bei ELSE gesprungen wird, und nicht bei Erfüllung der Bedingung.
Ich benutze eigentlich nur die @12x Gruppe. Mit denen kann man alles machen, ohne irgendwie durcheinander zu kommen.
Höchstens die Case-Anweisungen machen ansonsten noch Sinn.
mfg. Hugo Vogelsang
Der Fehler ist doch einfach:
@145 R20 R15 K-40
Heißt:
Wenn R20 < R15 dann bearbeite den nächsten Satz ELSE Rücksprung auf N40
Der Trick ist, das bei ELSE gesprungen wird, und nicht bei Erfüllung der Bedingung.
Ich benutze eigentlich nur die @12x Gruppe. Mit denen kann man alles machen, ohne irgendwie durcheinander zu kommen.
Höchstens die Case-Anweisungen machen ansonsten noch Sinn.
mfg. Hugo Vogelsang
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: