Siemens
Digital Industries, Motion Control, Machine Tool Systems
8840
Follower:innen810d drehen - Hauptprogramm/Unterprogramm
27.12.2020, 19:26 Uhr
Schreibt man ein Hauptprogramm mit einem Zyklus (in meinem Fall Cycle 95), so kommen die Konturdaten dafür in ein Unterprogramm.
Jetzt meine Frage: besteht die Möglichkeit diese Konturdaten auch in das Hauptprogramm zu schreiben um Unterprogramme zu vermeiden ?
Jetzt meine Frage: besteht die Möglichkeit diese Konturdaten auch in das Hauptprogramm zu schreiben um Unterprogramme zu vermeiden ?
28.12.2020, 16:44 Uhr
Hallo Mike
Ja das geht natürlich , im g-Code Guide nach dem Programmende (M30) oder auch im Shop Turn !
Ja das geht natürlich , im g-Code Guide nach dem Programmende (M30) oder auch im Shop Turn !
28.12.2020, 19:51 Uhr
Hallo Mike
Ja das geht natürlich , im g-Code Guide nach dem Programmende (M30) oder auch im Shop Turn !
Ja das geht natürlich , im g-Code Guide nach dem Programmende (M30) oder auch im Shop Turn !
Was schreibt man dann nach M30 rein ? Beispiel: Cycle 95.
Kurzes simples Beispiel reicht, dann probier ich mich durch.
Laut Siemens Handbuch muss es ins Unterprogramm aber wenn es auch im Hauptprogramm gehen würde wäre es für meinen Fall ideal.
28.12.2020, 22:30 Uhr
Was schreibt man dann nach M30 rein ? Beispiel: Cycle 95.
Kurzes simples Beispiel reicht, dann probier ich mich durch.
Laut Siemens Handbuch muss es ins Unterprogramm aber wenn es auch im Hauptprogramm gehen würde wäre es für meinen Fall ideal.
Kurzes simples Beispiel reicht, dann probier ich mich durch.
Laut Siemens Handbuch muss es ins Unterprogramm aber wenn es auch im Hauptprogramm gehen würde wäre es für meinen Fall ideal.
Nix...nach M30 ist Feierabend mit Rücksprung zum Programmanfang.
Was ist eigentlich das Problem ein Unterprogramm anzulegen?
--------------------
Eine Schraube ohne Gewinde ist ein Nagel
Grüsse aus dem Harz - InTex
Grüsse aus dem Harz - InTex
29.12.2020, 10:05 Uhr
Nix...nach M30 ist Feierabend mit Rücksprung zum Programmanfang.
Was ist eigentlich das Problem ein Unterprogramm anzulegen?
Was ist eigentlich das Problem ein Unterprogramm anzulegen?
Alles in einem Programm wäre einfacher zu handhaben wenn man sehr viele einfache Drehteile gespeichert hat.
Wenn es gehen würde, wäre für mich eine deutliche Verbesserung.
29.12.2020, 12:31 Uhr
Alles in einem Programm wäre einfacher zu handhaben wenn man sehr viele einfache Drehteile gespeichert hat.
Wenn es gehen würde, wäre für mich eine deutliche Verbesserung.
Wenn es gehen würde, wäre für mich eine deutliche Verbesserung.
Man kann es sich einfach gestalten, oder auch das Leben schwer machen.
Wenn die Teile sich ähneln, würde ich im Unterprogramm alles über R- Parameter schreiben.
Dann braucht man nur die Werte ändern.
Aber jeder so wie er es mag.
--------------------
Eine Schraube ohne Gewinde ist ein Nagel
Grüsse aus dem Harz - InTex
Grüsse aus dem Harz - InTex
29.12.2020, 14:23 Uhr
Man kann es sich einfach gestalten, oder auch das Leben schwer machen.
Wenn die Teile sich ähneln, würde ich im Unterprogramm alles über R- Parameter schreiben.
Dann braucht man nur die Werte ändern.
Aber jeder so wie er es mag.
Wenn die Teile sich ähneln, würde ich im Unterprogramm alles über R- Parameter schreiben.
Dann braucht man nur die Werte ändern.
Aber jeder so wie er es mag.
Bei mir nichts ähnlich und aktuell schon über 100 Unterprogramme.
Deshalb die Idee die Unterprogramme in die Hauptprogramme zu bekommen.
Weist du ob und wie das geht ? Simples Beispiel mit Cycle 95 damit ich das testen kann ?
29.12.2020, 15:01 Uhr
Das sagt die Programmieranleitung:
==========================================================================
Die Abspankontur kann auch ein Abschnitt des aufrufenden oder eines beliebigen anderen
Programms sein. Der Abschnitt wird durch Anfangs- oder Endlabel bzw. Satznummern
gekennzeichnet. Programmname und Labels/Satznummer werden dabei durch ":"
gekennzeichnet.
Beispiele:
NPP="KONTUR_1" ;Die Abspankontur ist das
;vollständige Programm Kontur_1.
NPP="ANFANG:ENDE ;Die Abspankontur ist als Abschnitt
;vom Satz mit Label ANFANG bis zum
;Satz mit Label ENDE im aufrufenden
;Programm definiert.
NPP="/_N_SPF_DIR/_N_KONTUR_1_SPF:N130:N210" ;Die Abspankontur ist in den Sätzen
;N130 bis N210 des Programms
;KONTUR_1 definiert.
;Der Programmname muss
;vollständig mit Pfad und Extension
;geschrieben werden, siehe
:Beschreibung CALL in Literatur:
/PGA/
;Programmieranleitung
;Arbeitsvorbereitung.
=======================================================================
Der (von mir) fett hervorgehobene Teil sollte doch zu deiner Anforderung passen.
==========================================================================
Die Abspankontur kann auch ein Abschnitt des aufrufenden oder eines beliebigen anderen
Programms sein. Der Abschnitt wird durch Anfangs- oder Endlabel bzw. Satznummern
gekennzeichnet. Programmname und Labels/Satznummer werden dabei durch ":"
gekennzeichnet.
Beispiele:
NPP="KONTUR_1" ;Die Abspankontur ist das
;vollständige Programm Kontur_1.
NPP="ANFANG:ENDE ;Die Abspankontur ist als Abschnitt
;vom Satz mit Label ANFANG bis zum
;Satz mit Label ENDE im aufrufenden
;Programm definiert.
NPP="/_N_SPF_DIR/_N_KONTUR_1_SPF:N130:N210" ;Die Abspankontur ist in den Sätzen
;N130 bis N210 des Programms
;KONTUR_1 definiert.
;Der Programmname muss
;vollständig mit Pfad und Extension
;geschrieben werden, siehe
:Beschreibung CALL in Literatur:
/PGA/
;Programmieranleitung
;Arbeitsvorbereitung.
=======================================================================
Der (von mir) fett hervorgehobene Teil sollte doch zu deiner Anforderung passen.
29.12.2020, 16:02 Uhr
Das sagt die Programmieranleitung:
==========================================================================
Die Abspankontur kann auch ein Abschnitt des aufrufenden oder eines beliebigen anderen
Programms sein. Der Abschnitt wird durch Anfangs- oder Endlabel bzw. Satznummern
gekennzeichnet. Programmname und Labels/Satznummer werden dabei durch ":"
gekennzeichnet.
Beispiele:
NPP="KONTUR_1" ;Die Abspankontur ist das
;vollständige Programm Kontur_1.
NPP="ANFANG:ENDE ;Die Abspankontur ist als Abschnitt
;vom Satz mit Label ANFANG bis zum
;Satz mit Label ENDE im aufrufenden
;Programm definiert.
NPP="/_N_SPF_DIR/_N_KONTUR_1_SPF:N130:N210" ;Die Abspankontur ist in den Sätzen
;N130 bis N210 des Programms
;KONTUR_1 definiert.
;Der Programmname muss
;vollständig mit Pfad und Extension
;geschrieben werden, siehe
:Beschreibung CALL in Literatur:
/PGA/
;Programmieranleitung
;Arbeitsvorbereitung.
=======================================================================
Der (von mir) fett hervorgehobene Teil sollte doch zu deiner Anforderung passen.
==========================================================================
Die Abspankontur kann auch ein Abschnitt des aufrufenden oder eines beliebigen anderen
Programms sein. Der Abschnitt wird durch Anfangs- oder Endlabel bzw. Satznummern
gekennzeichnet. Programmname und Labels/Satznummer werden dabei durch ":"
gekennzeichnet.
Beispiele:
NPP="KONTUR_1" ;Die Abspankontur ist das
;vollständige Programm Kontur_1.
NPP="ANFANG:ENDE ;Die Abspankontur ist als Abschnitt
;vom Satz mit Label ANFANG bis zum
;Satz mit Label ENDE im aufrufenden
;Programm definiert.
NPP="/_N_SPF_DIR/_N_KONTUR_1_SPF:N130:N210" ;Die Abspankontur ist in den Sätzen
;N130 bis N210 des Programms
;KONTUR_1 definiert.
;Der Programmname muss
;vollständig mit Pfad und Extension
;geschrieben werden, siehe
:Beschreibung CALL in Literatur:
/PGA/
;Programmieranleitung
;Arbeitsvorbereitung.
=======================================================================
Der (von mir) fett hervorgehobene Teil sollte doch zu deiner Anforderung passen.
Also im Hauptprogramm schreib ich beispielsweise folgendes rein:
Statt: Cycle95("CONT1".....usw
CONT1 verweist bei mir derzeit auf das Unterprogramm
Cycle95("/_N_SPF_DIR/_N_KONTUR_1_SPF:N130:N210".....usw
was auf die Zeilen N120 bis N210 im Hauptprogramm verweist wo die Konturgeometrie steht ?
Muss man am Anfang und Ende der Konturgeometrie noch was dazuschreiben damit es nur als Konturgeometrie für den Cycle95 genutzt wird oder kommt das nach M30 ?
Der Beitrag wurde von MikeE25 bearbeitet: 29.12.2020, 16:04 Uhr
29.12.2020, 16:13 Uhr
Ich verstehe es so (hab's nicht ausprobiert):
In dem kopierten Teil der Programmieranleitung fehlen offensichtlich die abschließenden Gänsefüßchen nach "ANFANG:ENDE. Ich habe die mal einfach eingefügt.
Der Beitrag wurde von CNCFr bearbeitet: 29.12.2020, 16:13 Uhr
CODE
Cycle95("ANFANG:ENDE", .......)
ANFANG:
; hier steht die Kontur (im gleichen Programm wie der Cycle95, also z.B. unmittelbar danach).
ENDE:
M30
ANFANG:
; hier steht die Kontur (im gleichen Programm wie der Cycle95, also z.B. unmittelbar danach).
ENDE:
M30
In dem kopierten Teil der Programmieranleitung fehlen offensichtlich die abschließenden Gänsefüßchen nach "ANFANG:ENDE. Ich habe die mal einfach eingefügt.
Der Beitrag wurde von CNCFr bearbeitet: 29.12.2020, 16:13 Uhr
29.12.2020, 16:42 Uhr
Ich verstehe es so (hab's nicht ausprobiert):
In dem kopierten Teil der Programmieranleitung fehlen offensichtlich die abschließenden Gänsefüßchen nach "ANFANG:ENDE. Ich habe die mal einfach eingefügt.
CODE
Cycle95("ANFANG:ENDE", .......)
ANFANG:
; hier steht die Kontur (im gleichen Programm wie der Cycle95, also z.B. unmittelbar danach).
ENDE:
M30
ANFANG:
; hier steht die Kontur (im gleichen Programm wie der Cycle95, also z.B. unmittelbar danach).
ENDE:
M30
In dem kopierten Teil der Programmieranleitung fehlen offensichtlich die abschließenden Gänsefüßchen nach "ANFANG:ENDE. Ich habe die mal einfach eingefügt.
Für Anfang:Ende schreib ich die Zeile rein oder ?
Ich werde mal rumprobieren und melde mich wenns geklappt hat
Auf jedenfall schon mal Danke für die Hilfe. In meinen Unterlagen steht leider nur die Haupt Unterprogrammvariante.
29.12.2020, 17:18 Uhr
Ich verstehe deine Frage nicht ganz. Du musst es (meiner Meinung nach) genau so schreiben, wie ich es angegeben habe.
Das heißt insbesondere, dass im ersten Parameter, in dem bisher der Name des Unterprogramms stand, jetzt der String "ANFANG:ENDE" stehen muss, und dann weiter die anderen Parameter für den Cycle95.
Danach muss dann die Kontur im Programm zwischen die beiden Labels ANFANG: und ENDE: eingeschlossen werden. Die Labels aber ohne " ".
Das heißt insbesondere, dass im ersten Parameter, in dem bisher der Name des Unterprogramms stand, jetzt der String "ANFANG:ENDE" stehen muss, und dann weiter die anderen Parameter für den Cycle95.
Danach muss dann die Kontur im Programm zwischen die beiden Labels ANFANG: und ENDE: eingeschlossen werden. Die Labels aber ohne " ".
30.12.2020, 18:06 Uhr
Ich verstehe deine Frage nicht ganz. Du musst es (meiner Meinung nach) genau so schreiben, wie ich es angegeben habe.
Das heißt insbesondere, dass im ersten Parameter, in dem bisher der Name des Unterprogramms stand, jetzt der String "ANFANG:ENDE" stehen muss, und dann weiter die anderen Parameter für den Cycle95.
Danach muss dann die Kontur im Programm zwischen die beiden Labels ANFANG: und ENDE: eingeschlossen werden. Die Labels aber ohne " ".
Das heißt insbesondere, dass im ersten Parameter, in dem bisher der Name des Unterprogramms stand, jetzt der String "ANFANG:ENDE" stehen muss, und dann weiter die anderen Parameter für den Cycle95.
Danach muss dann die Kontur im Programm zwischen die beiden Labels ANFANG: und ENDE: eingeschlossen werden. Die Labels aber ohne " ".
Habs gerade getestet: Funktioniert !
Vielen Vielen Dank !
04.01.2021, 16:39 Uhr
Jetzt habe ich noch ein Problem, villeicht kann jemand helfen.
Bei "Vari" habe ich "1" gesetzt. Also Längs Schruppen.
Wenn ich es mit dem Unterprogramm abarbeite, funktioniert alles einwandfrei.
Wenn ich das Unterprogramm mit "Anfang:Ende" ins Hauptprogramm schreibe, fährt der Zyklus jedes Mal einen Schlichtgang den ich aber separat mit einem anderen Werkzeug und Radienkorrektur danach ausführen will.
Ich habe schon alles ausprobiert und komm nicht darauf wie ich diese Schlichtfahrt wegbekomme. Auch nicht mit 001 oder 201. Auch die anderen Werte habe ich probehalber auf 0 oder "" gesetzt - ich komm nicht darauf.
Bei "Vari" habe ich "1" gesetzt. Also Längs Schruppen.
Wenn ich es mit dem Unterprogramm abarbeite, funktioniert alles einwandfrei.
Wenn ich das Unterprogramm mit "Anfang:Ende" ins Hauptprogramm schreibe, fährt der Zyklus jedes Mal einen Schlichtgang den ich aber separat mit einem anderen Werkzeug und Radienkorrektur danach ausführen will.
Ich habe schon alles ausprobiert und komm nicht darauf wie ich diese Schlichtfahrt wegbekomme. Auch nicht mit 001 oder 201. Auch die anderen Werte habe ich probehalber auf 0 oder "" gesetzt - ich komm nicht darauf.
04.01.2021, 17:08 Uhr
Nur ein Vermutung:
Der zwischen Anfang und Ende eingeschlossene Programmteil ist ja auch ein ganz normaler Teil des Programms. Der wird wahrscheinlich nach Beendigung des Zyklus einfach nochmals durchlaufen.
Du könntest mal probieren, unmittelbar nach dem Zyklenaufruf ein M30 zu schreiben. Nur mal um zu sehen, ob das dein Möglichkeit ist, den letzten Bearbeitungsvorgang zu verhindern,
Falls du im realen Betrieb an dieser Stelle kein M30 gebrauchen kannst, muss man das natürlich anders lösen. Aber eins nach dem andern.
Der zwischen Anfang und Ende eingeschlossene Programmteil ist ja auch ein ganz normaler Teil des Programms. Der wird wahrscheinlich nach Beendigung des Zyklus einfach nochmals durchlaufen.
Du könntest mal probieren, unmittelbar nach dem Zyklenaufruf ein M30 zu schreiben. Nur mal um zu sehen, ob das dein Möglichkeit ist, den letzten Bearbeitungsvorgang zu verhindern,
Falls du im realen Betrieb an dieser Stelle kein M30 gebrauchen kannst, muss man das natürlich anders lösen. Aber eins nach dem andern.
04.01.2021, 18:10 Uhr
Nur ein Vermutung:
Der zwischen Anfang und Ende eingeschlossene Programmteil ist ja auch ein ganz normaler Teil des Programms. Der wird wahrscheinlich nach Beendigung des Zyklus einfach nochmals durchlaufen.
Du könntest mal probieren, unmittelbar nach dem Zyklenaufruf ein M30 zu schreiben. Nur mal um zu sehen, ob das dein Möglichkeit ist, den letzten Bearbeitungsvorgang zu verhindern,
Falls du im realen Betrieb an dieser Stelle kein M30 gebrauchen kannst, muss man das natürlich anders lösen. Aber eins nach dem andern.
Der zwischen Anfang und Ende eingeschlossene Programmteil ist ja auch ein ganz normaler Teil des Programms. Der wird wahrscheinlich nach Beendigung des Zyklus einfach nochmals durchlaufen.
Du könntest mal probieren, unmittelbar nach dem Zyklenaufruf ein M30 zu schreiben. Nur mal um zu sehen, ob das dein Möglichkeit ist, den letzten Bearbeitungsvorgang zu verhindern,
Falls du im realen Betrieb an dieser Stelle kein M30 gebrauchen kannst, muss man das natürlich anders lösen. Aber eins nach dem andern.
Ich hab mal an div Stellen M30 eingefügt und im Shopturn getestet. Kein Erfolg. M30 ist bei mir auch nicht zielführend weil danach ja noch jede Menge kommt.
Ich konnte aber im Shopturn herausfinden was passiert.
Erst dreht er wie gewünscht den Cycle 95, dann springt er auf die Konturbeschreibung und dreht die nach.
Ich habe jetzt schon mal getestet die Konturbeschreibung in Klammern usw zu setzen aber das klappt natürlich nicht.
Es muss also einen Weg geben die Konturbeschreibung zusätzlich zu "Anfang und Ende" irgendwie von der Bearbeitung auszuklammern, trotzdem muss der Cycle 95 es noch erkennen. Macht man beispielweise Klammern, erkennt der Cycle es nicht mehr.
Irgendeine Idee ?
04.01.2021, 18:26 Uhr
Noch ein Versuch: Nach dem Zyklenaufruf (an Stelle des M30) ein GOTOF ENDE.
05.01.2021, 11:58 Uhr
Noch ein Versuch: Nach dem Zyklenaufruf (an Stelle des M30) ein GOTOF ENDE.
FUNKTIONIERT !
Cycle95(Anfang:Ende,bla bla...)
GOTOF ENDE
Anfang:
Konturbeschreibung
Ende:
....und danach die restlichen Bearbeitungen (schlichten, bohren, abstechen etc).
Vielen Dank für die Hilfe.
Damit erspare ich mir jetzt die Unterprogramme und die Datensicherung usw wird auch deutlich vereinfacht.
Schade, dass die Siemens Unterlagen sowas nicht hergeben. Und Sinumerik für Dummies gibts leider auch nicht in Buchform
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: