Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Helix Fräsen, Langloch mit konstanter Z-Zustellung

Beitrag 21.01.2009, 15:07 Uhr
Potti
Potti
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 16.01.2007
Beiträge: 332
Hallo Leute

hat jemand von euch einen Zyklus oder ein Parameterprogramm für eine 810D
mit dem man eine Nut mit konstanter Helixzustellung für die Tiefe fräsen kann?

Die Nutlänge und Breite sowie die Tiefe und Zustellung sollte variabel sein.

Danke schon mal im voraus.

MfG
Potti


--------------------
Aus dem Chaos sprach eine Stimme „lächle und sei froh denn es könnte schlimmer kommen“ ich lächelte und war froh, und es kam schlimmer!

HyperMill_2013_HyperCAD 5X
HyperMill_2013_Inventor
Siemens 840D
iTnc530
   
Beitrag 28.01.2009, 19:56 Uhr
el0103
el0103
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 19.04.2005
Beiträge: 13
Tach auch

Kann die 810D das auch so?
( oder Du kannst es umschreiben )

Wir arbeiten bei uns (840D) mit eigenen Macro`s
Macros im Anwenderverzeichniss
Parameter bei den UGUD´s

ANZ= Anzahl (INT)
BR= BREITE (REAL)
LA=LÄNGE (REAL)
WI=WINKEL (REAL)
TI= TIEFE (REAL)
SI=SICHERHEIT (REAL)
RU=RÜCKZUG (REAL)
ZU=ZUSTELLUNG (REAL) in mm (wird auf glatte Anzahl hochgerechnet)
Die U_VAR.. Parameter sind von Siemens oder vom Hersteller


Aufruf bsp.:
BR=10 LA=20 WI=45 TI=-11 SI=1 ZU=5 RU=20
MCALL HNUT
REPEAT UP01 END
oder Positionen
MCALL

Als Pos. X/Y Radius Zentrum
Winkel wie WKS

Die Nut wird NICHT ausgeräumt!!
heißt:
LL 20*30 mit 12er Fraeser OK
LL 20*30 mit 10er Fraeser theoretisch
LL 20*30 mit 8er Fraeser lässt einen kern stehen


%_N_HNUT_SPF
PROC HNUT SAVE DISPLOF
MSG(" HNUT BR="<<BR<<" LA="<<LA<<" TI="<<TI<<" WI="<<WI<<" ZU="<<ZU<<" SI="<<SI<<" RU="<<RU<<"")
IF BR/2<$P_TOOLR GOTOF BR_TR
IF LA<BR GOTOF BR_LA
IF WI<0 GOTOF WINKEL
IF SI<TI GOTOF SI_TI
IF RU<SI GOTOF RU_SI
ANZ=(SI-TI)/ZU;ANZAHL ZUSTELLUNGEN
STOPRE
IF ANZ<(SI-TI)/ZU GOTOF ANZAHL1
IF ANZ>=(SI-TI)/ZU GOTOF ANZAHL0
ANZAHL1:ANZ=ANZ+1
ANZAHL0:
U_VAR2=LA-BR; LAENGE ZWISCHEN RADIEN
U_VAR3=((BR-2*$P_TOOLR)*3.1416)/2;STRECKE SPINDEL MITTE IM RADIUS
STOPRE
IF ANZ==0 GOTOF ANFANG
U_VAR1=ABS(((SI-TI)/ANZ)/((U_VAR2+U_VAR3)*2)); ZU AUF 1MM BAHN
STOPRE
GOTOF ANFANG
BAHNZ:
G01 X=U_VAR2*COS(WI) Y=U_VAR2*SIN(WI) Z=-U_VAR1*U_VAR2
G03 X=BR*COS(90+WI) Y=BR*SIN(90+WI) Z=-U_VAR3*U_VAR1 CR=BR/2
G01 X=U_VAR2*COS(180+WI) Y=U_VAR2*SIN(180+WI) Z=-U_VAR1*U_VAR2
G03 X=BR*COS(270+WI) Y=BR*SIN(270+WI) Z=-U_VAR3*U_VAR1 CR=BR/2
END:
ANFANG:
G0 Z=SI
SBLOF; Einzelsatz aus
G64
G91 G1
G41 G247 DISR=((BR/2)-$P_TOOLR)/2 X=(BR/2)*COS(270+WI) Y=(BR/2)*SIN(270+WI); RKORR ANWAHL
IF ANZ==0 GOTOF BODEN
REPEAT BAHNZ END P=ANZ
BODEN:
G01 X=U_VAR2*COS(WI) Y=U_VAR2*SIN(WI)
G03 X=BR*COS(90+WI) Y=BR*SIN(90+WI) CR=BR/2
G01 X=U_VAR2*COS(180+WI) Y=U_VAR2*SIN(180+WI)
G03 X=BR*COS(270+WI) Y=BR*SIN(270+WI) CR=BR/2
G0
G40 G248 DISR=((BR/2)-$P_TOOLR)/2 X=(BR/2)*COS(90+WI) Y=(BR/2)*SIN(90+WI)
G90 Z=RU
GOTOF END
BR_TR:
M00; BREITE KLEINER WKZ-D
BR_LA:
M00; BREITE KLEINER LAENGE
WINKEL:
M00; WINKELFEHLER
SI_TI:
M00; SI KLEINER TI FEHLER
RU_SI:
M00; RU KLEINER SI FEHLER
END:
G60
MSG("")
M17



Wie Immer: Your owen Risk

mfg.
   
Beitrag 18.02.2009, 17:44 Uhr
Sit22
Sit22
Level 5 = Community-Ingenieur
*****
Gruppe: Mitglied
Mitglied seit: 21.10.2005
Beiträge: 675
%_N_CYCLENUT_SPF
;$PATH=/_N_CUS_DIR
PROC CYCLENUT (REAL R_EBENE, REAL S_EBENE, REAL REF_EBENE, REAL N_LAENGE, REAL N_BREITE, REAL N_TIEFE, REAL SCHNITTE, REAL SICH_ABSTAND, REAL XY_AUFMASS, REAL Z_AUFMASS, REAL F_TAUCH, REAL F_SCHRUPP, REAL F_SCHLICHT) SAVE DISPLOF
DEF REAL POSX, POSY, ZAEHLER, WZ_RAD, WZ_TYP
;***************************************************************
;V 22.04.2008 NUT
;***************************************************************
;R_EBENE RUECKZUGSEBENE
;S_EBENE SICHERHEITSEBENE
;REF_EBENE REFERENZEBENE
;NUTLAENGE NUTLAENGE
;NUTBREITE NUTBREITE
;NUTTIEFE NUTTIEFE
;SICH_ABSTAND ANFAHREN AN KONTUR
;SCHNITTE SCHNITTE, AUFTEILUNG
;XY_AUFMASS SCHLICHTAUFMASS XY
;Z_AUFMASS SCHLICHTAUFMASS Z
;F_TAUCH VORSCHUB EINTAUCHEN
;F_SCHRUPP VORSCHUB SCHRUPPEN
;F_SCHLICHT VORSCHUB SCHLICHTEN
;***************************************************************

;VARIABLEN WERTE ZUWEISEN
ZAEHLER=0 ;ZAEHLER IMMER 0
POSX=$AA_IW [X] ;AKTUELLE POS IN X
POSY=$AA_IW [Y] ;AKTUELLE POS IN Y
SCHNITTE=TRUNC(SCHNITTE) ;RUNDEN AUF GANZEN ZAHLEN
WZ_RAD=$P_TOOLR ;AKTUELLER RADIUS DES AKTIVEN WZ
WZ_TYP=$TC_DP1[$P_ToolNo,1] ;WERKZEUGTYP
;***************************************************************

;WERTE PRUEFUNG
IF (WZ_TYP <100) OR (WZ_TYP >160) GOTOF FEHLER_WERKZEUGTYP
IF R_EBENE < S_EBENE GOTOF FEHLER_RUECKZUGSEBENE
IF S_EBENE <= REF_EBENE GOTOF FEHLER_SICHERHEITSEBENE
IF (REF_EBENE > S_EBENE) OR (REF_EBENE > R_EBENE) GOTOF FEHLER_REFERENZEBENE
IF N_LAENGE <=0 GOTOF FEHLER_NUTLAENGE
IF N_BREITE <=0 GOTOF FEHLER_NUTBREITE
IF N_TIEFE <=0 GOTOF FEHLER_NUTTIEFE
IF SCHNITTE <=0 GOTOF FEHLER_SCHNITTE
IF SICH_ABSTAND <=0 GOTOF FEHLER_SICH_ABSTAND
IF XY_AUFMASS <0 GOTOF FEHLER_XY_AUFMASS
IF Z_AUFMASS <0 GOTOF FEHLER_Z_AUFMASS
IF F_TAUCH <=0 GOTOF FEHLER_F_TAUCH
IF F_SCHRUPP <=0 GOTOF FEHLER_F_SCHRUPP
IF F_SCHLICHT <=0 GOTOF FEHLER_F_SCHLICHT
;**************************************************************

CASE (TRUNC($P_AD[25]/1024)MOD 4) OF 0 Gotof Aussen0 1 Gotof Aussen1 2 Gotof Innen2 3 Gotof Innen3 DEFAULT Gotof WASSER
Aussen0: MSG("KUEHLUNG AUS")
M9
Gotof WASSER
Aussen1: MSG("AUSSEN AN")
M8
Gotof WASSER
Innen2: MSG("INNENKUEHLUNG AN")
M7 M53
Gotof WASSER
Innen3: MSG("AUSSEN-INNEN KUEHLUNG AN")
M8 M7 M53
WASSER:
;**************************************************************

G90
G95
G64 CFIN
FFWON

G0 Z=R_EBENE
G0 X=-(POSX+WZ_RAD+SICH_ABSTAND) Y=POSY+N_BREITE/2-WZ_RAD ;links Y+
G0 Z=S_EBENE
G0 Z=REF_EBENE

IF (XY_AUFMASS == 0) AND (Z_AUFMASS == 0) GOTOF SCHRUPPEN
IF (XY_AUFMASS > 0) AND (Z_AUFMASS > 0) GOTOF SCHLICHTEN

SCHRUPPEN:
STOPRE
ZAEHLER=ZAEHLER+1
MSG("NUT FRAESEN / LAENGE "<<N_LAENGE<<" / BREITE "<<N_BREITE<<" / Z-"<<N_TIEFE<<"")
G91 G1 Z=-(N_TIEFE/SCHNITTE) F=F_TAUCH*_TEETH ;Z-
G90 G1 X=POSX+N_LAENGE+WZ_RAD+SICH_ABSTAND Y=POSY+N_BREITE/2-WZ_RAD F=F_SCHRUPP*_TEETH ;von links nach rechts Y+
G90 G0 Y=POSY-N_BREITE/2+WZ_RAD ;rechts Y-
G90 G1 X=-(POSX+WZ_RAD+SICH_ABSTAND) Y=POSY-N_BREITE/2+WZ_RAD F=F_SCHRUPP*_TEETH ;von rechts nach links Y-
G90 G0 X=-(POSX+WZ_RAD+SICH_ABSTAND) Y=POSY+N_BREITE/2-WZ_RAD ;links Y+
IF ZAEHLER>=SCHNITTE GOTOF WEITER1
GOTOB SCHRUPPEN

SCHLICHTEN:
G90 G0 X=-(POSX+WZ_RAD+SICH_ABSTAND) Y=POSY+N_BREITE/2-WZ_RAD-XY_AUFMASS ;links Y+
STOPRE
ZAEHLER=ZAEHLER+1
MSG("NUT SCHRUPPEN / LAENGE "<<N_LAENGE<<" / BREITE "<<N_BREITE-XY_AUFMASS<<" / Z-"<<N_TIEFE-Z_AUFMASS<<"")
G91 G1 Z=-((N_TIEFE-Z_AUFMASS)/SCHNITTE) F=F_TAUCH*_TEETH ;Z-
G90 G1 X=POSX+N_LAENGE+WZ_RAD+SICH_ABSTAND Y=POSY+N_BREITE/2-WZ_RAD-XY_AUFMASS F=F_SCHRUPP*_TEETH ;von links nach rechts Y+
G90 G0 Y=POSY-N_BREITE/2+WZ_RAD+XY_AUFMASS ;rechts Y-
G90 G1 X=-(POSX+WZ_RAD+SICH_ABSTAND) Y=POSY-N_BREITE/2+WZ_RAD+XY_AUFMASS F=F_SCHRUPP*_TEETH ;von rechts nach links Y-
IF ZAEHLER>=SCHNITTE GOTOF WEITER2
GOTOB SCHLICHTEN

WEITER2:

MSG("NUT SCHLICHTEN / LAENGE "<<N_LAENGE<<" / BREITE "<<N_BREITE<<" / Z-"<<N_TIEFE<<"")
G90 G0 X=-(POSX+WZ_RAD+SICH_ABSTAND) Y=POSY+N_BREITE/2-WZ_RAD ;links Y+
G90 G1 Z=-N_TIEFE F=F_TAUCH*_TEETH ;Z-
G90 G1 X=POSX+N_LAENGE+WZ_RAD+SICH_ABSTAND Y=POSY+N_BREITE/2-WZ_RAD F=F_SCHLICHT*_TEETH ;von links nach rechts Y+
G90 G0 Y=POSY-N_BREITE/2+WZ_RAD ;rechts Y-
G90 G1 X=-(POSX+WZ_RAD+SICH_ABSTAND) Y=POSY-N_BREITE/2+WZ_RAD F=F_SCHLICHT*_TEETH ;von rechts nach links Y-

WEITER1:

G0 Z=S_EBENE
G0 Z=R_EBENE

GOTOF ENDE
;#######################################################
Fehler_WERKZEUGTYP:
MSG (" WERKZEUGTYP IST KEIN FRAESER ")
G4 F2
M0
Gotob Fehler_WERKZEUGTYP

FEHLER_RUECKZUGSEBENE:
MSG("RUECKZUGSEBENE IST "<<R_EBENE<<" ,KLEINER ALS DIE SICHERHEITSEBENE")
G4 F2
M0
GOTOB FEHLER_RUECKZUGSEBENE

FEHLER_SICHERHEITSEBENE:
MSG("SICHERHEITSEBENE IST "<<S_EBENE<<" ,KLEINER ALS DIE REFERENZEBENE")
G4 F2
M0
GOTOB FEHLER_SICHERHEITSEBENE

FEHLER_REFERENZEBENE:
MSG("REFERENZEBENE IST "<<REF_EBENE<<" ,ZU GROSS / RFT"<<R_EBENE<<" / SDIS"<<S_EBENE<<"")
G4 F2
M0
GOTOB FEHLER_REFERENZEBENE

Fehler_NUTLAENGE:
MSG("NUTLAENGE IST "<<N_LAENGE<<" ,POSITIV ANGEBEN")
G4 F2
M0
Gotob Fehler_NUTLAENGE

Fehler_NUTBREITE:
MSG("NUTBREITE IST "<<N_BREITE<<" ,POSITIV ANGEBEN")
G4 F2
M0
Gotob Fehler_NUTBREITE

Fehler_NUTTIEFE:
MSG("NUTTIEFE IST "<<N_TIEFE<<" ,ABSOLUT ANGEBEN")
G4 F2
M0
Gotob Fehler_NUTTIEFE

FEHLER_SCHNITTE:
MSG("SCHNITTE IST "<<SCHNITTE<<" ,POSITIV ANGEBEN")
G4 F2
M0
GOTOB FEHLER_SCHNITTE

FEHLER_SICH_ABSTAND:
MSG("SICHERHEITSABSTAND IST "<<SICH_ABSTAND<<" ,POSITIV ANGEBEN")
G4 F2
M0
GOTOB FEHLER_SICH_ABSTAND

FEHLER_XY_AUFMASS:
MSG("SCHLICHTAUFMASS XY IST "<<XY_AUFMASS<<" ,POSITIV ANGEBEN")
G4 F2
M0
GOTOB FEHLER_XY_AUFMASS

FEHLER_Z_AUFMASS:
MSG("SCHLICHTAUFMASS Z IST "<<Z_AUFMASS<<" ,POSITIV ANGEBEN")
G4 F2
M0
GOTOB FEHLER_Z_AUFMASS

FEHLER_F_TAUCH:
MSG("EINTAUCHVORSCHUB IST "<<F_TAUCH<<" ,POSITIV ANGEBEN")
G4 F2
M0
GOTOB FEHLER_F_TAUCH

FEHLER_F_SCHRUPP:
MSG("SCHRUPPVORSCHUB IST "<<F_SCHRUPP<<" ,POSITIV ANGEBEN")
G4 F2
M0
GOTOB FEHLER_F_SCHRUPP

FEHLER_F_SCHLICHT:
MSG("SCHLICHTVORSCHUB IST "<<F_SCHLICHT<<" ,POSITIV ANGEBEN")
G4 F2
M0
GOTOB FEHLER_F_SCHLICHT
;################################################
ENDE:

M17
Angehängte Datei(en)
Angehängte Datei  Wichtig.doc ( 25.5KB ) Anzahl der Downloads: 71
 


--------------------
Mit freundlichen Grüßen

*Lieber zu Kopf als zu Fuß*
   
Beitrag 18.02.2009, 17:46 Uhr
Sit22
Sit22
Level 5 = Community-Ingenieur
*****
Gruppe: Mitglied
Mitglied seit: 21.10.2005
Beiträge: 675
oder Trochiodale Nut
Angehängte Datei(en)
Angehängte Datei  Trochiodale_Nut.zip ( 73.81KB ) Anzahl der Downloads: 82
 


--------------------
Mit freundlichen Grüßen

*Lieber zu Kopf als zu Fuß*
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: