Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Nuten stoßen - Unterprogramm?

Beitrag 05.09.2012, 08:01 Uhr
steph163
Level 1 = Community-Lehrling
*
Guten Morgen,

für unsere EMCO-Drehmaschinen haben wir uns ein Nutenstoßwerkzeug angeschafft. Das Stoßen klappt auch wunderbar, allerdings sind mir persönlich die Programme dafür viel zu lang. Ich würde den ganzen Stoß-Prozess gerne mit einem Unterprogramm mittels R-Parametern lösen.

Dabei sollen der Anfangsdurchmesser, der Enddurchmesser, die Zustellung und die Tiefe in Z über die R-Parameter im Vorfeld festgelegt werden.

Nun habe ich gestern versucht, ein Programm zu schreiben und dieses dann im ShopTurn-Programm aufzurufen. Der Programmablauf sähe wie folgt aus:

-> Werkzeugaufruf Stoßwerkzeug
-> Aufruf Unterprogramm:

N5 MSG ("Stossen")
N10 ;R25=STARTDURCHMESSER
N15 ;R26=ENDDURCHMESSER
N20 ;R27=TIEFE IN Z
N25 ;R28=ZUSTELLUNG IN X
N30 G0 X=R25 Z=2
N35 G94
N40 G90
N45 G1 Z=-R27 F500
N50 G0 X=AC(-R50)
N55 G0 Z=2
N60 G0 X=AC(R50+R28)
N65 IF (X>=R26) GOTOF N75
N70 IF NOT R26 GOTOB N30
N75 G90 G0 Z50
N80 G0 X240
N85 G90
N90 M17

Bsp:
Startdurchmesser 30mm, Enddurchmesser 35mm, Zustellung pro Hub: 0,1mm, Tiefe in Z-: 10mm
Nach jedem Hub soll in X- inkremental um 1mm abgehoben (R50), auf Z+2 gefahren und anschließend wieder in X+ inkremental 1mm zugestellt werden + 0,1mm Zustellung (R28).
Wenn ø35mm erreicht, dann Abfahrbewegung, sonst wiederholen so lange bis ø35mm erreicht ist.

Leider bekomme ich immer einen Syntax-Fehler bei N65 und N70.

Hat jemand zufällig einen ähnlichen Fall und/oder vielleicht sogar ein fertiges Programm dafür?
   
Beitrag 05.09.2012, 11:19 Uhr
Guest_guest_*
Themenstarter
N5 MSG ("Stossen")
N10 R25=30 ;STARTDURCHMESSER
N15 R26=35 ;ENDDURCHMESSER
N20 R27=10 ;TIEFE IN Z
N25 R28=0.05 ;ZUSTELLUNG IN X

N30 G0 X=R25 Z=2
N35 G94
N40 G90

ANFANG:
N45 G1 Z=-R27 F500
N50 G0 X=AC(-R50)
N55 G0 Z=2
N60 G0 X=AC(R50+R28)
N65 IF ($AA_IW[X]<=R26) GOTOB ANFANG

N75 G90 G0 Z50
N80 G0 X240
N85 G90
N90 M17

So sollte es gehen... wink.gif
   
Beitrag 05.09.2012, 11:49 Uhr
steph163
Level 1 = Community-Lehrling
*
Gleich mal testen. Danke smile.gif
   
Beitrag 05.09.2012, 12:14 Uhr
steph163
Level 1 = Community-Lehrling
*
Also ich habe gerade mal die Simulation getestet. Das Werkzeuge hatte ich vorher als Schlichter definiert, da die Steuerung kein Stoßwerkzeug kennt. Der Werkzeugtyp in der Werkzeugliste sollte aber in dem Fall egal sein.

Jedenfalls fährt das Werkzeug leider nicht so wie erhofft. Zum Einen fährt es direkt auf den Enddurchmesser und hebt dann auf X absolut -5 ab, fährt dann noch ein Stück in X hoch und anschließend auf den Wechselpunkt.
   
Beitrag 05.09.2012, 12:31 Uhr
Guest_guest_*
Themenstarter
Mit was simulierst du?

Mit Sinutrain sollte der Ablauf recht gut sichtbar sein. Mit der EMCO-Software kann es sein, wie du es beschreibst. Viel mehr als direkte Wegbefehle schafft die EMCO-Software nicht. Sie ist ja auch nur zum lernen der Grundlagen gedacht.
Wenn du öfter Parameterprogramme simulieren willst, lohnt sich die Vollversion von Sinutrain.

In der Arena wirbt auch CG-Tech für seine Simulation. Ob aber alle Funktionen der 840D 100%ig abgebildet werden, kann dir nur einer sagen, der täglich damit arbeitet.
   
Beitrag 05.09.2012, 13:09 Uhr
steph163
Level 1 = Community-Lehrling
*
Habe das Programm direkt auf der Maschine simuliert. Ist eine E45 mit 810D-Steuerung, BJ 2010. Vermute mal, dass die Maschine mit der Bedingung nicht klar kommt. Sinutrain benutzen wir in der Firma gar nicht.
   
Beitrag 05.09.2012, 13:31 Uhr
Guest_guest_*
Themenstarter
Versuch mal den Ablauf im AUTO direkt an der Maschine. Natürlich ohne Werkzeug und weit genug weg von der Spindel, damit nichts irgendwo im Blech verhakt. Vorschubregler fest im Griff und ein Auge auf Restweg und Richtung!
Je nach Softwarestand und Maschinenkonfiguration werden manche Sachen nicht simuliert, oder in der Grafik einfach übersprungen.
Dat mutt!
   
Beitrag 05.09.2012, 14:17 Uhr
InTex
Level 7 = Community-Professor
*******
Hallo

Es sind beide Programme lauffähig.

Das von guest läuft unter Sinutrain, aber nicht auf Emco.

Das Programm vom steph läuft auf der Emco Simulation. Jedoch nur auf der neuen Version. In Sinutrain hab ich das nun nicht getestet.
Wird dort aber wohl auch laufen.

Wahrscheinlich ist der Softwarestand an der Maschine vom steph veraltet. Darum auch die Syntaxfehler bei "If".


--------------------
Eine Schraube ohne Gewinde ist ein Nagel

Grüsse aus dem Harz - InTex
   
Beitrag 05.09.2012, 15:52 Uhr
Guest_guest_*
Themenstarter
QUOTE
N60 G0 X=AC(R50+R28)
N65 IF (X>=R26) GOTOF N75
N70 IF NOT R26 GOTOB N30
N75 G90 G0 Z50

In Satz 65 sind 2 Fehler: X als Achsadresse kann nicht direkt abgefragr werden. N75 ist keine Sprungmarke.
(Ausser, Satz 75 beginnt mit "N75: "
In Satz 70 sind auch 2 Fehler. "IF NOT R26" läuft bestenfalls ins Leere, weil R26 immer existiert. Die Sprungmarke N30 ist wie bei N75.

Übrigens ein Tip am Rande:

Den Weg, wenn möglich etwas großzügiger anlegen und den so geschaffenen "Überlauf" zum Bremsen und Beschleunigen nutzen.

Mit G641 ADISPOS=5 bei je 5mm Vor- und Überlauf und 10mm Abhebebetrag gibt's eine sensationell ruhige aber schnelle Bewegung, ohne die Achsen zu überlasten.

Der Beitrag wurde von guest bearbeitet: 05.09.2012, 16:00 Uhr
   
Beitrag 05.09.2012, 17:33 Uhr
DMC635V
Level 6 = Community-Doktor
******
Wenn er es in der Simulation getestet hat könnte das
$AA_IW[X]
ein Problem Darstellen, da der X Wert der wirklichen Achse im Parameter steht, und nicht der der Simulationsposition.
(Ist auf jeden Fall bei uns so)


--------------------
Freundliche Grüsse
DMC635V
   
Beitrag 06.09.2012, 05:49 Uhr
steph163
Level 1 = Community-Lehrling
*
Also wir haben es aktuell so gelöst:

N5 MSG ("STOSSEN")
;---------------------------
N10 ;R24=VORSCHUB
N15 ;R25=STARTDURCHMESSER
N20 ;R26=ENDDURCHMESSER
N25 ;R27=TIEFE IN Z
N30 ;R28=ZUSTELLUNG
;---------------------------
N35 R29=R25
N40 R30=R25-1
N45 G0 X=R25 Z=2
N50 G94
N55 G90
N60 R29=R29+R28
N65 G1 X=R29 F=R24
N70 G1 Z=-R27
N75 G1 X=R30
N80 G0 Z=2
N85 IF R29<R26 GOTOB N60
N90 IF R29>R26 GOTOF N95
N95 G90
N100 G0 Z10
N105 G0 X100 Z50
N110 M17


Das Programm läuft auch, allerdings gibt's bei den Eilgangbewegungen immer ziemliche Belastungen auf die Achsen, bedingt durch die kurzen Wege. Werde den Tipp von guest mal mit einbauen, da mir das auf Dauer zu stark auf die Spindeln geht.
Position des G-Befehls im Programm egal?
   
Beitrag 06.09.2012, 06:51 Uhr
Berlin13409
Level 1 = Community-Lehrling
*
Wunderbar wenns läuft ;-)

Ich habs bei mir übrigens so gemacht, das ich selbst im Makro zum Abheben immer auf den Durchmesser der Vorbohrung minus 1mm gefahren bin und eine Abfrage eingebaut habe ob die Verzahnung/Nut bis zum Ende gefahren wurde, sodass bei einem flaschen Einstieg nur ein Alarm kommt und der Vorgang an der richtigen Stelle begonnen werden muss.
Auszug aus meinem PRG:
IF (R12<>R11) GOTOF MARKE_4 ; (VERZAHNUNG WURDE NICHT ZU ENDE GEFAHREN)
IF (R16==1)
R11=26.8
ELSE
R11=28.9
ENDIF
R12=R11
WHILE (R12<=(R17-R14))
   
Beitrag 06.09.2012, 07:10 Uhr
reitstock
Level 2 = Community-Facharbeiter
**
Einen Guten Morgena an alle schufter,

bei dem letzten Prog hir kann der End-ø schwanken zwischen Soll-End-ø und End-ø+Zustelltiefe oder..... wink.gif
Gruß aus den Bergen
   
Beitrag 06.09.2012, 07:56 Uhr
Berlin13409
Level 1 = Community-Lehrling
*
QUOTE (reitstock @ 06.09.2012, 07:10 Uhr) *
Einen Guten Morgena an alle schufter,

bei dem letzten Prog hir kann der End-ø schwanken zwischen Soll-End-ø und End-ø+Zustelltiefe oder..... wink.gif
Gruß aus den Bergen





Wie gesagt, ist nur ein Auszug aus dem Prg, sogesehen magst du recht haben, aber ich fahr nachher nochmals auf die Endtiefe wenn die Positionen bis dahin gestimmt haben.
   
Beitrag 06.09.2012, 10:28 Uhr
reitstock
Level 2 = Community-Facharbeiter
**
Alles kann nur besser werden

N05 MSG ("STOSSEN")
N06 ; Starpunkt in X , Z ,Y und S anfahren und dann Unterprogramm starten
N07 ;
N15 ; R20 = Start-Punkt in X
N16 ; R21 = Start-Punkt in Z
N20 ; R22 = End-Punkt-Ø in X
N25 ; R23 = Stechtiefe-Ø in Z
N30 ; R24 = Zustellung in mm
N09 ; R25 = Abhebebetrag in mm
N10 ; R26 = Schnittgeschwindigkeit mm/min
N31 ; R27 = Anzahl der Leerschnitte
N32
N35 R28=R20 ; berechnug Anstellmass in X
N41 ;-----------------------------------------------
N45 G00 X=R20 Z=R21 ; Anfahrt Startpunkt
N50 G94 ; Vorschub in mm/min
N55 G90 ; Absolutmassprogrammierung
N56 Startpunkt_1:
N60 R28=R28+R24 ; Berechnung Anstell-Ø
N65 G00 X=R28 ; Zustellen in X
N70 G1 Z=-R23 F=R26 ; Stossen
N75 G1 G91 X=-R25 ; Abheben
N80 G0 G90 Z=R21 ; Start-Pkt. in Z
N85 IF R28<(R22-R24) GOTOB Startpunkt_1
N86
N87 START_Fertigmassbearbeitung:
N88 G00 G90 Z=R21
N89 G00 X=R22
N90 G01 Z=-R23 F=R26
N91 G1 G91 X=-R25 ; Abheben
N92 G0 G90 Z=R21 ; Start-Pkt. in Z
N93
N94 REPEAT START_Fertigmassbearbeitung P=R27
N95 G90
N11 M17
   
Beitrag 06.09.2012, 10:29 Uhr
Guest_guest_*
Themenstarter
QUOTE (steph @ 06.09.2012, 06:49 Uhr) *
Also wir haben es aktuell so gelöst:

N5 MSG ("STOSSEN")
;---------------------------
N10 ;R24=VORSCHUB
N15 ;R25=STARTDURCHMESSER
N20 ;R26=ENDDURCHMESSER
N25 ;R27=TIEFE IN Z
N30 ;R28=ZUSTELLUNG
;---------------------------
N35 R29=R25
N40 R30=R25-1
N45 G0 X=R25 Z=2
N50 G94
N55 G90
N60 R29=R29+R28
N65 G1 X=R29 F=R24
N70 G1 Z=-R27
N75 G1 X=R30
N80 G0 Z=2
N85 IF R29<R26 GOTOB N60
N90 IF R29>R26 GOTOF N95
N95 G90
N100 G0 Z10
N105 G0 X100 Z50
N110 M17

Das Programm läuft auch, allerdings gibt's bei den Eilgangbewegungen immer ziemliche Belastungen auf die Achsen, bedingt durch die kurzen Wege. Werde den Tipp von guest mal mit einbauen, da mir das auf Dauer zu stark auf die Spindeln geht.
Position des G-Befehls im Programm egal?



G641 bewirkt ein Eckenüberschleifen am Satzübergang und hat also nichts mit der Konturtreue zu tun.
G641 wirkt modal. Irgendwo vor der ersten Positionierung ist es bestimmt gut.
Der Parameter ADISPOS wirkt nur zwischen G0-Sätzen. ADIS wirkt zwischen Kontursätzen und am Übergang von und zu G0.
Mit "G641 ADIS=3 ADISPOS=5" dürfte das Abbremsen und Beschleunigen am Satzende schon deutlich geschmeidiger ablaufen
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: