Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

810d drehen - Hauptprogramm/Unterprogramm

Beitrag 27.12.2020, 19:26 Uhr
MikeE25
MikeE25
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 14.01.2011
Beiträge: 1.708
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 ?
   
Beitrag 28.12.2020, 16:44 Uhr
htl72
htl72
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.09.2018
Beiträge: 4
Hallo Mike

Ja das geht natürlich , im g-Code Guide nach dem Programmende (M30) oder auch im Shop Turn !
   
Beitrag 28.12.2020, 19:51 Uhr
MikeE25
MikeE25
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 14.01.2011
Beiträge: 1.708
QUOTE (htl72 @ 28.12.2020, 17:44 Uhr) *
Hallo Mike

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.
   
Beitrag 28.12.2020, 22:30 Uhr
InTex
InTex
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 19.02.2007
Beiträge: 4.190
QUOTE (MikeE25 @ 28.12.2020, 19:51 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.


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
   
Beitrag 29.12.2020, 10:05 Uhr
MikeE25
MikeE25
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 14.01.2011
Beiträge: 1.708
QUOTE (InTex @ 28.12.2020, 23:30 Uhr) *
Nix...nach M30 ist Feierabend mit Rücksprung zum Programmanfang.
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.
   
Beitrag 29.12.2020, 12:31 Uhr
InTex
InTex
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 19.02.2007
Beiträge: 4.190
QUOTE (MikeE25 @ 29.12.2020, 10:05 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.


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
   
Beitrag 29.12.2020, 14:23 Uhr
MikeE25
MikeE25
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 14.01.2011
Beiträge: 1.708
QUOTE (InTex @ 29.12.2020, 13:31 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.


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 ?
   
Beitrag 29.12.2020, 15:01 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
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.
   
Beitrag 29.12.2020, 16:02 Uhr
MikeE25
MikeE25
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 14.01.2011
Beiträge: 1.708
QUOTE (CNCFr @ 29.12.2020, 16: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.


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
   
Beitrag 29.12.2020, 16:13 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
Ich verstehe es so (hab's nicht ausprobiert):

CODE
Cycle95("ANFANG:ENDE", .......)

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
   
Beitrag 29.12.2020, 16:42 Uhr
MikeE25
MikeE25
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 14.01.2011
Beiträge: 1.708
QUOTE (CNCFr @ 29.12.2020, 17:13 Uhr) *
Ich verstehe es so (hab's nicht ausprobiert):

CODE
Cycle95("ANFANG:ENDE", .......)

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 smile.gif
Auf jedenfall schon mal Danke für die Hilfe. In meinen Unterlagen steht leider nur die Haupt Unterprogrammvariante.
   
Beitrag 29.12.2020, 17:18 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
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 " ".
   
Beitrag 30.12.2020, 18:06 Uhr
MikeE25
MikeE25
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 14.01.2011
Beiträge: 1.708
QUOTE (CNCFr @ 29.12.2020, 18: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 " ".


Habs gerade getestet: Funktioniert !
Vielen Vielen Dank !
   
Beitrag 04.01.2021, 16:39 Uhr
MikeE25
MikeE25
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 14.01.2011
Beiträge: 1.708
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.
   
Beitrag 04.01.2021, 17:08 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
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.
   
Beitrag 04.01.2021, 18:10 Uhr
MikeE25
MikeE25
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 14.01.2011
Beiträge: 1.708
QUOTE (CNCFr @ 04.01.2021, 18: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.


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 ?
   
Beitrag 04.01.2021, 18:26 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
Noch ein Versuch: Nach dem Zyklenaufruf (an Stelle des M30) ein GOTOF ENDE.
   
Beitrag 05.01.2021, 11:58 Uhr
MikeE25
MikeE25
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 14.01.2011
Beiträge: 1.708
QUOTE (CNCFr @ 04.01.2021, 19:26 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. thumbs-up.gif
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 smile.gif
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: