Lade. Bitte warten...
| |
 08.03.2010, 09:53 Uhr
|
|
| |
Hallo zusammen, suche vergebens eine Möglichkeit, dass der Bediener die Werkzeugparameter beeinflussen kann im Programm, ohne die Werkzeugdaten zu ändern. Es handelt sich um eine Siemens 840D Steuerung für die DMC 125FD, die über DIN- ISO programmiert wird. In den Programmen für die Heidenhain-Steuerung habe ich immer DL (Werkzeuglänge) und DR (Werkzeugradius) eingegeben. Siehe Programm: 34 TOOL CALL 410 Z S6000 DL+0.05 DR+0.05 35 *------- 36 *-TOOL 410 / SF_D16 37 *-------- 38 *-D30.5 / FRAESEN 39 M08 40 CALL LBL 19 41 CYCL DEF 7.0 NULLPUNKT 42 CYCL DEF 7.1 #60 43 CYCL DEF 19.0 BEARBEITUNGSEBENE 44 CYCL DEF 19.1 B0. C0. 45 L B+Q121 C+Q122 FMAXWäre Euch für eine schnelle Antwort sehr dankbar, da es mir die Arbeit bei der CAM-Programmierung um einiges erleichtern tät.  schon mal Gruß Stefan
|
|
|
|
|
 |
 |
 |
| |
 08.03.2010, 11:23 Uhr
|
|
| |
suche vergebens eine Möglichkeit, dass der Bediener die Werkzeugparameter beeinflussen kann im Programm, ohne die Werkzeugdaten zu ändern. Es handelt sich um eine Siemens 840D Steuerung für die DMC 125FD, die über DIN-ISO programmiert wirdHallo Stefan Habe die selbe Frage schon im Forum gestellt, und auch super Antworten bekommen schau hier nach http://www.cnc-arena.com/forum/werkzeugauf...erik-51447.htmlgruss hubert
|
|
|
|
|
 |
 |
 |
| |
 08.03.2010, 11:38 Uhr
|
|
| |
Hallo Hubert, vielen Dank für deine schnelle Antwort. habe in einen Kaufprogramm noch folgendes entdeckt mit L_39(0,0,0) Leider kann ich als Siemensneuling damit noch nicht viel anfangen. hier ein kurzer Auszug aus dem Programm: N18 MSG("KUGELFRAESER D3") N19 M6 N20 L_FREI N21 G0 SUPA Z-1 D0 N22 G0 SUPA Y-1 N23 D1 N24 L_39(0.2,0) ; OFFSET:L,RN25 M0 ; Achtung es wurde ein Offset in der Laenge von 0.2 M M gesetzt) N27 R102=2000 ; XY VORSCHUBN28 R103=2000 ; Z VORSCHUB N29 CYCLE800 (1,"TC1",0,57,0,0,0,14.071,31.221,352.598,0,0,0,1) N30 CYCLE800 N31 TRAORI N32 G54 Programmende: N6750 D1 N6751 CYCLE800 N6752 L_39(0,0) ; OFFSET:L,RN6753 ;M91 N6756 M17 Gruß Stefan
|
|
|
|
|
 |
 |
 |
| |
 08.03.2010, 12:07 Uhr
|
|
| |
Wage ich zu bezweifeln, dass das geht, L ist der Bezeichner von Siemens für ne M-Fuktion. Also wenn du Mxx eingibst steht irgendwo eine Schaltfunktion die Lxx heisst. Wenn also irgendwo, wahrscheinlich unter den Anwenderzyklen dieses L_39 zu finden ist, dann haut das hin, sonst leider nicht. Ich mach sowas lieber mit Trans, was halt den Nachteil hat, dass es von jeder frame Funktion die nachher ausgewählt wird gelöscht wird.
|
|
|
|
|
 |
 |
 |
| |
 08.03.2010, 12:52 Uhr
|
|
| |
Hallo zusammen, vielen Dank für die schnelle Hilfe von Euch. Habe jetzt auch zeitgleich eine Antwort von der DMG Trainings-Akademie bekommen. Hier für alle die nach dem selben gesucht haben, bzw. suchen.L_39 entspricht eigentlich genau dem von Heidenhain DL, DR
L_39(0.04,0,1) bedeutet: Der 1. Wert, hier 0,04 ist eine Längenkorrektur, der 2. Wert, 0,1 ist eine Radiuskorrektur !!! Beide Werte können positiv und negativ geschrieben werden! Aber aufgepasst: Die Werte werden in der Werkzeugtabelle unter Verschleiß eingetragen!! Also, bevor das Werkzeug ausgewechselt wird die Werte mit L_39(0,0) wieder auf 0 setzen.
Beispiel:
T1234 L_39(0.1,0.05) Längenaufmaß 0.1, Radiusaufmaß 0.05 ... ...
... L_39(0,0)  , und vielen Dank Gruß Stefan
|
|
|
|
|
 |
 |
 |
| |
 08.03.2010, 13:12 Uhr
|
|
| |
Hallo Stefam_H  für das Feedback. Macht ja nicht jeder. Das ist mal eine eindeutige Aussage. Gruß InTex
|
|
|
|
|
 |
 |
 |
| |
 09.03.2010, 07:27 Uhr
|
|
| |
Hallo Gemeinde, das Unterprogramm L_39 gibt es aber nur bei Maschinen von Deckel Maho, wobei hierbei sogar noch zwischen den Lieferwerken und Maschinenbaureihen unterschieden werden muss. Es handelt sich hier um einen sogenannten Herstellerzyklus. Nach meiner Erfahrung kann es vorkommen, dass Herstellerzyklen aus dem Lieferwerk Pfronten nicht auf Maschinen aus dem Lieferwerk Seebach vorhanden sind. Vielleicht liegt dies an den unterschiedlichen Maschinenbaureihen, ich weiß es nicht. Wer das Unterprogramm L_39 hat, kann damit die Werkzeugaufmaße im Programm verändern. Wenn nicht, müssen anderer Lösungswege, z. B. der von "trollrne" her.
|
|
|
|
|
 |
 |
 |
| |
 09.03.2010, 10:07 Uhr
|
|
| |
ZITAT(Mariteam @ 09.03.2010, 09:06) index.php?act=findpost&pid=313256 Hallo Leute, schaut doch einfach mal in das Programm bzw. den Anwender- oder Herstellerzyklus L_39 rein und postet den Inhalt hier. Da wird nicht viel drin stehen. Ist wirklich kein Hexenwerk: ZITAT ;VERSION: $Revision: 1.3 $ $Date: 2006/10/25 10:19:21CEST $ ;+-------------------------------------------------------+ ;! Deckel Maho Pfronten ! ;+-------------------------------------------------------+ ;********************************************************* ; ;letzte Aenderung von ; $Author: hgc $ ; Projektname : $Projectname$ ; Projektrevision : $ProjectRevision: Last Checkpoint: 1.223 $ ; ;********************************************************* ; ; Ersteller:AB/BOH ; Datum  8.01.2002 ; ;+-------------------------------------------------------+ ; Maschine/n:DMU-C 60-125 ; Funktion : ; ;+-------------------------------------------------------+ ;Stand 14.11.2001 BOH N10 PROC L_39(REAL D_L,REAL D_R) Save DISPLOF SBLOF N20 Def Real _DD N30 _DD=$P_TOOL N40 $TC_DP12[$P_TOOLNO,_DD]=D_L N50 $TC_DP15[$P_TOOLNO,_DD]=D_R N60 D=_DD N70 M17
|
|
|
|
|
 |
 |
 |
| |
 09.03.2010, 11:06 Uhr
|
|
| |
|
Und man sieht auch die Gefahr: wird das aufrufende Hauptprogramm abgebrochen, bleiben die Werte für den Verschleiß in den WZ-Daten drin, falls der Bediener nicht daran denkt, sie von Hand auf den Ausgangswert zurück zu setzen.
Außerdem soll es Leute geben, die den Verschleiß in den WZ-Daten schon benutzen, um Korrekturen auszuführen, für die wäre so ein Zyklus u. U. auch verheerend, zumindest, wenn sie nichts von ihm und seiner Funktion wüssten. Allerdings - wenn jemand nicht weiß, was er tut kann es immer gefährlich werden... Egal. Danke für den Code.
mfg, Mariteam
|
|
|
|
|
 |
 |
 |
| |
 09.03.2010, 11:24 Uhr
|
|
| |
ZITAT(CNCler @ 09.03.2010, 08:25) index.php?act=findpost&pid=313260 Wenn die die effektiven Werkzeugabemssungen geändert werden sollen, ohne die Daten im Werkzeugspeicher zu verändern, dann kann man das - wie schon mehrfach erwähnt - mit OFFN, TOOLR und TOFFL tun. Dazu gibt es folgendes zu sagen: TOFFL / TOFFR ist eine relativ neue Funktion, d.h. das gibt es erst seit etwa 2 bis 3 Jahren, davor (sozusagen schon immer) gab es nur OFFN (Veränderung des Werkzeugradius). Zwischen den Funktionen von TOFFR und OFFN gibt es nur im Fall der Nutwandkorrketur mit TRACYL Unterschiede. Im Normalfall verhalten sich OFFN und TOOLR völlig gleich. Habe mich hier 2mal verschrieben: Wenn da TOOLR steht, ist hier immer TOFFR gemeint.
|
|
|
|
|
 |
 |
 |
| |
 09.03.2010, 18:46 Uhr
|
|
| |
der Herstellerzyklus ist wirklich heiß Ich würde beim Gewindefräsen auf die Fr... fallen, weil da im Verschleiß halt so ziemlich immer was steht. wie Michi1965 schon sagt, sollte man U-GUDS bzw. R-Parameter benutzen. Zusätzlich müsste man sicherlich auch die Schneide und auch die interne T-Nummer noch irgendwo merken, denn es könnte ja sein, dass jemand RESET drückt und mit einem anderen Werkzeug wieder anfängt, welches auch dieses UP benutzt. Da müsste halt auch abgefragt werden, ob noch irgend eine Korrektur aktiv ist und erstmal die Werte des anderen Werkzuges wiederherstellen. Aber wie gesagt, radial gibt es OFFN und axial halt TOFFL oder ein schlichtes TRANS Z=... Hat bei mir bis jetzt immer gut geklappt. MfG
|
|
|
|
|
 |
 |
 |
| |
 09.03.2010, 19:36 Uhr
|
|
| |
ZITAT(Mariteam @ 09.03.2010, 11:06) index.php?act=findpost&pid=313277 Und man sieht auch die Gefahr: wird das aufrufende Hauptprogramm abgebrochen, bleiben die Werte für den Verschleiß in den WZ-Daten drin, falls der Bediener nicht daran denkt, sie von Hand auf den Ausgangswert zurück zu setzen. Hallo, ich benutze auch L_39 und dieser Fehler ist mir auch schon passiert. Danach habe ich die Maschine so eingestellt, dass bei jedem Werkzeugwechsel, Reset, oder M30 L_39 ausgeführt wird... Also Problem gelöst. ZITAT(Mariteam @ 09.03.2010, 11:06) index.php?act=findpost&pid=313277 Außerdem soll es Leute geben, die den Verschleiß in den WZ-Daten schon benutzen, um Korrekturen auszuführen, für die wäre so ein Zyklus u. U. auch verheerend Ich mache meine Verschleissdaten im Programm mit L_39  ZITAT(Mariteam @ 09.03.2010, 11:06) index.php?act=findpost&pid=313277 zumindest, wenn sie nichts von ihm und seiner Funktion wüssten. Allerdings - wenn jemand nicht weiß, was er tut kann es immer gefährlich werden... Dito  Möchte L_39 nicht mehr missen. Mein L_39 sieht im Moment so aus: QUELLTEXT PROC L_39(REAL D_L,REAL D_R) Save DISPLOF ;VERSION: 1.0.0 Aug 28, 2008 ;CHANGE : 1.0.0 Aug 28, 2008
;Funktion : Feinkorrekturen an Werkzeug ;L_39(Länge, Radius) ;L_39 um wieder aufzuheben
DEF REAL _DD
STOPRE
if ($TC_MPP6[9998,1]==0) or ($P_TOOL==0) ;msg("Kein oder nicht aktives Wekzeug in Spindel.") else _DD=$P_TOOL $TC_DP12[$P_TOOLNO,_DD]=D_L $TC_DP15[$P_TOOLNO,_DD]=D_R D=_DD STOPRE endif
M17 In der Datei PROG_EVENT.SPF oder CYCPE_MA.SPF habe ich dann L_39 eingefügt. Dort gibt es eine Abfrage: QUELLTEXT IF (($P_Prog_Event==2) OR ($P_Prog_Event==3)); End or reset l_39;Feinkorrekturen von aktivem Werkzeug loeschen Endif
|
|
|
|
|
 |
 |
 |
| |
 09.03.2010, 22:29 Uhr
|
|
| |
Hier ist mein Vorschlag, um eingetragenen Verschleiss mit den Werten im L_39 zu verrechnen. Vorraussetzung sind 3 Variablen, welche in der UGUD eingetragen werden: DEF CHAN INT L_39_AKTIV ; MERKER DEF CHAN REAL KORR_D_L ; URSPRÜNGLICHER VERSCHLEISS LAENGE DEF CHAN REAL KORR_D_L ; URSPRÜNGLICHER VERSCHLEISS RADIUS Wer sich das erstellen dieser globalen Variablen nicht zutraut, kann alternativ dafür auch den Zyklus entsprechend ändern und 3 R-Parameter verwenden. ZITAT N10 PROC L_39(REAL D_L,REAL D_R) Save DISPLOF SBLOF
N20 Def Real _DD
N30 _DD=$P_TOOL N35 IF ((D_L==0) AND (D_R==0)) GOTOF LOESCHEN ; BEI L_39(0,0) ERFOLGT SPRUNG
N45 IF ((D_L<>0) OR (D_R<>0)) AND (L_39_AKTIV==1) ; WENN KORREKTURWERTE UNGLEICH 0 UND MERKER SCHON GESETZT, ERFOLGT RUECKSPRUNG N50 RET N55 ENDIF
N50 KORR_D_L=$TC_DP12[$P_TOOLNO,_DD] ; URSPRUENGLICHEN VERSCHLEISS LAENGE SICHERN N55 KORR_D_R=$TC_DP15[$P_TOOLNO,_DD] ; URSPRUENGLICHEN VERSCHLEISS RADIUS SICHERN N60 STOPRE N65 $TC_DP12[$P_TOOLNO,_DD]=KORR_D_L+D_L ; KORREKTUR L + VERSCHLEISS ADDIEREN N70 $TC_DP15[$P_TOOLNO,_DD]=KORR_D_R+D_R ; KORREKTUR R + VERSCHLEISS ADDIEREN N75 D=_DD N80 STOPRE N85 L_39_AKTIV=1 ; MERKER FUER "KORRIGIERT" SETZEN N90 RET
N95 LOESCHEN: N100 $TC_DP12[$P_TOOLNO,_DD]=KORR_D_L ; URSPRUENGLICHEN VERSCHLEISS LAENGE SCHREIBEN N105 $TC_DP15[$P_TOOLNO,_DD]=KORR_D_R ; URSPRUENGLICHEN VERSCHLEISS RADIUS SCHREIBEN N110 D=_DD N115 STOPRE N120 L_39_AKTIV=0 ; MERKER LOESCHEN N125 RET Wenn dann noch, wie von Fonsi vorgeschlagen, die Zeile im PROG_EVENT.SPF eingetragen wird, dürfte das ganze recht brauchbar sein.
Der Beitrag wurde von Michi1965 bearbeitet: 09.03.2010, 22:47 Uhr
|
|
|
|
|
 |
 |
 |
| |
 10.03.2010, 10:33 Uhr
|
|
| |
Für die FD`ler unter Euch: (wie dem Themenersteller und mir) Damit sollte das L_39 auch für Drehwerkzeuge funktionieren, jetzt werden 4 UGUD-Variablen, bzw. Parameter benötigt. KORR_D_L1 KORR_D_L2 KORR_D_R L_39_AKTIV ZITAT N10 PROC L_39(REAL D_L,REAL D_R) Save DISPLOF SBLOF
N15 Def Real _DD
N20 _DD=$P_TOOL N25 IF ((D_L==0) AND (D_R==0)) GOTOF LOESCHEN ; BEI L_39(0,0) ERFOLGT SPRUNG
N30 IF ((D_L<>0) OR (D_R<>0)) AND (L_39_AKTIV==1) ; WENN KORREKTURWERTE BEREITS EINGETRAGEN N35 RET ; ERFOLGT UP-PROGRAMMENDE N40 ENDIF
N45 KORR_D_L1=$TC_DP12[$P_TOOLNO,_DD] ; URSPRUENGLICHEN VERSCHLEISS LAENGE_1 SICHERN N50 KORR_D_L2=$TC_DP13[$P_TOOLNO,_DD] ; URSPRUENGLICHEN VERSCHLEISS LAENGE_2 SICHERN N55 KORR_D_R =$TC_DP15[$P_TOOLNO,_DD] ; URSPRUENGLICHEN VERSCHLEISS RADIUS SICHERN N60 STOPRE N65 $TC_DP12[$P_TOOLNO,_DD]=KORR_D_L1+D_L ; VERSCHLEISS + KORREKTUR L1 ADDIEREN
N70 IF ($TC_DP1[$P_TOOLNO,_DD] >=500) OR ($TC_DP1[$P_TOOLNO,_DD] <=540) ;BEI TYP = DREHWERKZEUG N75 $TC_DP13[$P_TOOLNO,_DD]=KORR_D_L2+D_R ; VERSCHLEISS + KORREKTUR L2 ADDIEREN N80 ELSE N85 $TC_DP15[$P_TOOLNO,_DD]=KORR_D_R +D_R ; VERSCHLEISS + KORREKTUR R ADDIEREN N90 ENDIF
N95 D=_DD N100 STOPRE N105 L_39_AKTIV=1 ; MERKER FUER "KORRIGIERT" SETZEN N110 RET
N95 LOESCHEN: N115 $TC_DP12[$P_TOOLNO,_DD]=KORR_D_L1 ; URSPRUENGLICHEN VERSCHLEISS LAENGE_1 SCHREIBEN N120 $TC_DP13[$P_TOOLNO,_DD]=KORR_D_L2 ; URSPRUENGLICHEN VERSCHLEISS LAENGE_2 SCHREIBEN N125 $TC_DP15[$P_TOOLNO,_DD]=KORR_D_R ; URSPRUENGLICHEN VERSCHLEISS RADIUS SCHREIBEN N130 D=_DD N135 STOPRE N140 L_39_AKTIV=0 ; MERKER LOESCHEN N145 RET
|
|
|
|
|
 |
 |
 |
| |
 11.03.2010, 22:21 Uhr
|
|
| |
Wie weiter oben schon erwähnt, hat Siemens die System-Variablen eingeführt: OFFN für den Normalenoffset/Konturoffset (also in der Bearbeitungsebene)bei aktivem G41/G42 TOFFL als programmierter Werkzeug-Längen-Offset in der Werkzeugachse TOFFR programmierter Werkzeugradius-Offset Warum also in der Werkzeugliste rumschreiben? Ist aber auch seltsam, daß ausgerechnet ein Hersteller auf diesen Trichter kommt.... ? Die Gefahr, nach einem Programmabbruch eine veränderte Werkzeugkorrektur zu haben macht mir Bauchschmerzen! Wenn ich mit OFFN und TOFFL arbeite, brauche ich nur beide am Programmanfang auf "0" setzen und alles ist wie es sein soll. Wenn ich mich nicht täusche, wird das auch mit M30 oder RESET erledigt. Im Zweifelsfall also einfach eine Sequenz mit M30 im MDA abstarten. TOFFL und TOFFR gibts erst ab SW7. Ich kenne Firmen, wo die Bediener unter keinen Umständen das Programm abändern dürfen! Werkzeugkorrekturen werden doch in der Werkzeugverwaltung gemacht. Oder? Wenn ich die Werkzeugverwaltung bestimmungsgemäß verwende, komme ich mit L_39 mächtig in die Sch***! Im Programm mache ich nur eine Korrektur, wenn ich von der programmierten Kontur abweichen muss. Beispiel: Bahnfräsen mit Nutwandkorrektur (OFFN) oder: Kugelfräser wird automatisch auf der Spitze vermessen, das CAM-Programm nimmt aber den Radiusmittelpunkt an. (TOFFL=-Radius) Auch bei HH ist das nicht anders.
|
|
|
|
|
 |
 |
 |
0 Mitglieder:
|
|
|