584.866 aktive Mitglieder*
4.950 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
DMG MORI Forum

Global One - Integration. Innovation. Quality.

Programmwiederholung mit NPV-Verschiebung NTX1000

Beitrag 22.05.2014, 18:51 Uhr
Gun
Gun
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 21.05.2014
Beiträge: 4

Hallo zusammen,
ich bin neu hier und wollte mal nachfragen ob mir jemand weiterhelfen kann.
Wir haben seit ca. 3 Wochen die MoriSeiki NTX1000 in Betrieb. Wir produzieren Lagerkäfige auf der Maschine. Das klappt auch wirklich sehr gut. Zur Zeit programmiere ich über mapps direkt an der Maschine.
Wir arbeiten von Rohlingen mit längen von ca. 100mm unsere Käfige ab. Das heisst, das ich nach jedem Käfig die NPV (in meinen Fall G54) des Rohlings und die der Gegenspindel(ich benutze sie als Teilefänger) anpassen muss. Ist also sehr mühsam und natürlich Fehlerbehaftet.
Nun zu meiner frage! Ich möchte gerne 5 Käfige hintereinander durchlaufen lassen. Ich stelle mir einen Programmblock am ende des Programms vor, in dem die beiden Npv's um die Verschiebung automatisch verkürzt werden und das Programm dann wieder von vorne beginnt. Wenn 5 Teile gefertigt sind soll die Maschine anhalten. Neuen Rohling rein und wieder auf ein neues.
Im Moment habe ich eine Lösung über den Stückzähler. Wenn ich diesn aber vergesse zu Reseten, dann läuft das Programm in einer Endlosschleife und somit würde es spätestens beim 6 oder 7 Teil knallen.
Ich hoffe das mir jrmand helfen kann und bin gespannt auf die Antworten.
Gruss Gun
TOP    
Beitrag 22.05.2014, 19:54 Uhr
Stinger.CoD
Stinger.CoD
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 10.03.2005
Beiträge: 64

Hallo GUN!

Willkommen im Forum!

Ich denke die beste alternative wäre es, dass ganze mit einer
Makro-Programmierung umzusetzen.

Du hast wahrscheinlich die automatische Nullpunktverschiebung mit G10... umgesetzt...!?
Jetzt könntest du einen "Werkstückzähler" mit makros programmieren, welcher dir nach 5 teilen auf M30 springt und vorher noch deinen Nullpunkt auf dein Ursprungsmaß zurücksetzt.

Mfg Sven
TOP    
Beitrag 22.05.2014, 20:00 Uhr
Gun
Gun
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 21.05.2014
Beiträge: 4

QUOTE (Stinger.CoD @ 22.05.2014, 18:54 Uhr) *
Hallo GUN!

Willkommen im Forum!

Ich denke die beste alternative wäre es, dass ganze mit einer
Makro-Programmierung umzusetzen.

Du hast wahrscheinlich die automatische Nullpunktverschiebung mit G10... umgesetzt...!?
Jetzt könntest du einen "Werkstückzähler" mit makros programmieren, welcher dir nach 5 teilen auf M30 springt und vorher noch deinen Nullpunkt auf dein Ursprungsmaß zurücksetzt.

Mfg Sven
TOP    
Beitrag 22.05.2014, 20:06 Uhr
Gun
Gun
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 21.05.2014
Beiträge: 4

QUOTE (Stinger.CoD @ 22.05.2014, 18:54 Uhr) *
Hallo GUN!

Willkommen im Forum!

Ich denke die beste alternative wäre es, dass ganze mit einer
Makro-Programmierung umzusetzen.

Du hast wahrscheinlich die automatische Nullpunktverschiebung mit G10... umgesetzt...!?
Jetzt könntest du einen "Werkstückzähler" mit makros programmieren, welcher dir nach 5 teilen auf M30 springt und vorher noch deinen Nullpunkt auf dein Ursprungsmaß zurücksetzt.

Mfg Sven

Jo Sven,
#das mit dem Stückzähler habe ich ja gemacht. Klappt auch soweit. Nur wenn dieser Vergessen wird zu Reseten, dann knallts.
Ich würde gerne etwas Programminternes machen. Bei Siemens geht das mir Repeat usw.!
Das Problem das ich mit dem Teilezähler habe ist, das das Programm auch die Schleife fährt, obwohl ich diesen nicht aktiviert habe. Das heisst, mach ich fünf Teile, dann bleibt die Maschine stehen und die NPV`s springen auf Ursprung zurück. Wenn ich diesen dann nicht Resete, zählt er ja weiter, und die abfrage nach fünf Teilen ist somit unwirksam. Also entlosschleife. Hast du ne Idee wie ich dieses Problem umgehen kann?
TOP    
Beitrag 22.05.2014, 20:10 Uhr
Stinger.CoD
Stinger.CoD
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 10.03.2005
Beiträge: 64

QUOTE (Gun @ 22.05.2014, 21:06 Uhr) *
Jo Sven,
#das mit dem Stückzähler habe ich ja gemacht. Klappt auch soweit. Nur wenn dieser Vergessen wird zu Reseten, dann knallts.
Ich würde gerne etwas Programminternes machen. Bei Siemens geht das mir Repeat usw.!
Das Problem das ich mit dem Teilezähler habe ist, das das Programm auch die Schleife fährt, obwohl ich diesen nicht aktiviert habe. Das heisst, mach ich fünf Teile, dann bleibt die Maschine stehen und die NPV`s springen auf Ursprung zurück. Wenn ich diesen dann nicht Resete, zählt er ja weiter, und die abfrage nach fünf Teilen ist somit unwirksam. Also entlosschleife. Hast du ne Idee wie ich dieses Problem umgehen kann?


Ja habe eine Idee!
habe dir eine nachricht geschrieben.

Ruf mich doch mal kurz an.
Dann kann ich dir das genauer erläutern.

Bin momentan nur mit dem handy online

Gruß Sven
TOP    
Beitrag 22.05.2014, 20:33 Uhr
Stinger.CoD
Stinger.CoD
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 10.03.2005
Beiträge: 64

Mit der Makroprogrammierung kannst du von der Steuerung Rechenoperationen automatisch ausführen lassen und die Ergebnisse dann in deinem Programm verwenden, es läuft alles im programm ab über variablen.
Bei einer Makrovariable z.Bsp.: #500
Bleibt selbst wenn du Reset drückst der wert erhalten, sogar die Steuerung könnte aus und eingeschalten werden.

Keine Nullpunktverschiebung von Hand oder über Wiederholungen.

So gut wie sicher das ganze... habe ich teilweise auch im einsatz.
Könnte einen kleinen Script schreiben bei interesse.

mfg Sven
TOP    
Beitrag 22.05.2014, 20:40 Uhr
Gun
Gun
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 21.05.2014
Beiträge: 4

QUOTE (Stinger.CoD @ 22.05.2014, 19:10 Uhr) *
Ja habe eine Idee!
habe dir eine nachricht geschrieben.

Ruf mich doch mal kurz an.
Dann kann ich dir das genauer erläutern.

Bin momentan nur mit dem handy online

Gruß Sven

Ich ruf dich morgen im laufe des Tages an.
Ist ja sowieso besser wenn ich an der Maschine stehe.
Schönen Abend noch
Cu
TOP    
Beitrag 27.05.2014, 11:49 Uhr
Red-Head-116
Red-Head-116
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 09.08.2013
Beiträge: 55

QUOTE (Gun @ 22.05.2014, 17:51 Uhr) *
Hallo zusammen,
ich bin neu hier und wollte mal nachfragen ob mir jemand weiterhelfen kann.
Wir haben seit ca. 3 Wochen die MoriSeiki NTX1000 in Betrieb. Wir produzieren Lagerkäfige auf der Maschine. Das klappt auch wirklich sehr gut. Zur Zeit programmiere ich über mapps direkt an der Maschine.
Wir arbeiten von Rohlingen mit längen von ca. 100mm unsere Käfige ab. Das heisst, das ich nach jedem Käfig die NPV (in meinen Fall G54) des Rohlings und die der Gegenspindel(ich benutze sie als Teilefänger) anpassen muss. Ist also sehr mühsam und natürlich Fehlerbehaftet.
Nun zu meiner frage! Ich möchte gerne 5 Käfige hintereinander durchlaufen lassen. Ich stelle mir einen Programmblock am ende des Programms vor, in dem die beiden Npv's um die Verschiebung automatisch verkürzt werden und das Programm dann wieder von vorne beginnt. Wenn 5 Teile gefertigt sind soll die Maschine anhalten. Neuen Rohling rein und wieder auf ein neues.
Im Moment habe ich eine Lösung über den Stückzähler. Wenn ich diesn aber vergesse zu Reseten, dann läuft das Programm in einer Endlosschleife und somit würde es spätestens beim 6 oder 7 Teil knallen.
Ich hoffe das mir jrmand helfen kann und bin gespannt auf die Antworten.
Gruss Gun


Hallo

also da du ja die Nullpunkte durch G10 setzen kannst würde ich das so machen:

#100 = 0
#101 = maximale Stückzahl (in deinem fall 5)

#110 = Startnullpunkt für neues rohteil
#111 = verschiebe wert des Np´s in z-richtung

#110 = #112



N2000 (start des PGM´s)
G10 L1 P1 Z#112 (nullpunkt setzen)
(ob das mit dem L1 und P1 bei dir stimmt weis ich nicht)

BEARBEITUNG

dann am ende der bearbeitung eines käfiges
#100 = #100 + 1
#112 = #112 - #111 (da NP in z minues richtung geschoben werden muss)
if [#100 LT #101] goto 2000



M30



ich hoffe ich konnte helfen
TOP    
Beitrag 02.06.2014, 23:00 Uhr
Stinger.CoD
Stinger.CoD
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 10.03.2005
Beiträge: 64


Auflösung des ganzen, damit jeder die Lösung erfährt!
Der code beeinhaltet 2 programme einmal O0001 dahinter versteckt sich der code für das hauptprogramm und öffnet mit G65 das unterprogramm O8000 wo sich die ganze makro Geschichte versteckt!
O8000 kann dann schreibgeschützt werden, da das ganze dann dynamisch mit variablen hinter dem G65 arbeitet!

Ganz Wichtig ist, dass die nullpunkte nicht über den offset gesetzt werden sonder über den makro aufruf!!!


(*****WICHTIG!!! Bei Auftragsbeginn oder Erstlauf #500 auf -1 setzen, damit alle Variablen neu gesetzt werden*****)
(*************#502 und #503 haben keinen Einfluss auf Berechnungen und dienen nur zur Orientierung***************)
(**********Wiederholungs und Verschiebungsmakro ist nur zu benutzen unter G54 auf der ersten Spindel.***********)
(**Vorraussetzung des Makroprogramms ist es, dass der NP der A-Achse an der 1.Sp. liegt und nicht bei G28 A0*)


O0001(Hauptprogramm)

N1 (Makro-Unterprogrammaufruf)

(Z-Wert Entspricht G54 Z Ursprungsnullpunkt)
(A-Wert Entspricht G54 A Ursprungsnullpunkt)
(V-Wert Entspricht den Verschiebewert nach jedem Teil)
(W-Wert Entspricht die Anzahl der Wiederholungen)

G65 P8000 Z-400. A-700. V-10. W5.
M01

N2 (normaler Programmablauf)

/M30
M99
-------------------------------------------------------------------------

O8000(G54 - Wiederholungs und Verschiebungsmakro)

(Z = #26 = #502)
(A = #1 = #503)
(V = #22 = #501)
(W = #23 = #500)
(#504 zur Berechnung der A-Achse)

IF[#500EQ0]GOTO1
IF[#500EQ#23]GOTO2
IF[#500GT0]GOTO3
IF[#500EQ-1]GOTO4

(------------------------------------------------)

N1 (Programmende Reset G54 Z/A-NP und -1 setzen der #500)


G10 L2 P1 Z#26 A#1
#500=-1
M30

(------------------------------------------------)

N2 (Das erste Teil - Wiederholungszahl wird um 1 Reduziert)

#500=#500-1
M99

(------------------------------------------------)

N3 (Die Verschiebung)

#504=#504+#22
(Berechnung des neuen A-Achswertes)
(z.B.: -700.=-700.+-10. )(Ergebnis: -710.)

G10 L2 P1 W#22 A#504
#500=#500-1
M99

(------------------------------------------------)

N4 (Neu setzen der Variablen und zurücksetzen der Nullpunkte)

#502=#26 (G54 Z festlegen)
#503=#1 (G54 A festlegen)
#501=#22 (Verschiebungswert)
#500=#23 (Anzahl der Wiederholungen)
#504=#503 (Berechnung der A-Achs Koordinaten)

G10 L2 P1 Z#26 A#1
GOTO2



Bei fragen stehe ich gerne zur Verfügung!

Mfg Sven
TOP    
Beitrag 21.07.2014, 14:38 Uhr
Hexenmeister72
Hexenmeister72
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 20.10.2010
Beiträge: 69

Hallo Mori Gemeinde smile.gif

Wir haben das auch über Makro gelöst. Das erste Stück wird bei per Hand eingelegt, den Rest erledigt Roboter (Restmaterial entladen und neues Material beladen.

Es werden 4 Stk. von einer Mat. Ladung gefertigt

So sieht es bei mir in einer NL2000Y aus.

Programmanfang:

(Zähler)
#530=#530+1
(Nullpunktverschiebun)
G10L2P0Z[25.6*#530]


nach dem Abstechen:

(Stückzahl erreicht)
IF[#530GE4]GOTO145
M99



(*Bei neuem Stück hier anfangen)
(Zurückstellen Nullpunkt)
N145G10L2P0Z0
#530=#0

/M0 (wird bei mir ausgeblendet, weil ich ja nicht per Hand lade)

danach kommt Roboter

Hoffe euch ein wenig geholfen zu haben.
Bis demnächst

Der Beitrag wurde von Hexenmeister72 bearbeitet: 21.07.2014, 14:43 Uhr


--------------------
Gruß
Hexenmeister72
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: