Programmera Heidenhain TNC 5-axligt med Valter Pettersson Isander

Uppdaterad 2022-06-21      Gå till slutet på sidan

Programmera TNC med Valter på Facebook

 

På denna sida kommer jag, eller du, att visa hur man kan programmera Heidenhain TNC530 med fem axlar.
  • 3+2-axl: Dels bearbeta med XYZ med stillastående (snedställda) vinkelaxlar, dvs med CYCL 19 eller den nyare PLANE, t ex planfräsa ett sned yta, dra av en plan släppning, borra snett. Maskinen ska kunna ställa in och låsa roterande axlar, varefter man bearbetar med XYZ. Typisk maskin har vridbart huvud, låst under bearbetningen.
     
  • Alla 5: Dels 5-axlig bearbetning, dvs XYZ + någon/några av ABC med samtidig bearbetningsrörelse, dvs M128 eller den smartare, nyare TCPM.
    T ex att fräsa en kon med en vanlig pinnfräs som vrider sig i två axlar när den kör XY runt konen. II exemplen nedan kallar jag denna typ för
    Alla 5: men jag menar att maskinen måste kunna mata en roterande axel med steglöst, dvs "fullts styrd NC-axel".

Ni skall se denna sida som en diskussion, inte säkert som färdiga fungerande program. Det beror alltid på maskinen och TNC-systemet om sådan här program fungerar. Man kan simulera programmen grafiskt i TNC:s programstation på PC:n, det är sådana bilder som jag lägger in.

Du kan enkelt markera de flesta programmen och kopiera dem till en fil (text), kalla den namn.h, skicka sedan in den i din TNC med TNCRemo eller TNC:s programhanterare som vanligt. Testa sedan grafiskt...

Skicka gärna in dina funderingar, program, skärmdumpar till denna sida: Valter.isander@telia.com            

My start page in German  or   This page in German (note - TNC-program word may be translated..! confusing you)

 

 

0 BEGIN PGM vriden kant Huron MM
1 ;Fräser kanten med variabel slappning
2 ;KINEMATIC ...Huron ab 45 graders huvud
3 ;Programmet visar korrekt grafik, VPI febr 2010...
4 BLK FORM 0.1 Z X-210 Y-210 Z-80
5 BLK FORM 0.2 X+210 Y+210 Z+0
6 TOOL CALL 40 Z S1000
7 L Z+100 R0 FMAX
8 L A+0 C+0 R0 FMAX
9 L X-150 Y-240 Z+10 R0 FMAX M3
10 FUNCTION TCPM F CONT AXIS SPAT PATHCTRL VECTOR
11 L A+0 B+0 F10000
12 L Z-75 R0 F1000
13 L X-150 Y-240 R0
14 L IX+150 IA-45
15 L IX+150 IA+45
16 L Z+50 R0 FMAX
17 FUNCTION RESET TCPM
18 L A+0 C+0 R0 FMAX M2
19 END PGM vriden kant Huron MM

 

 

Alla 5:
PGM1
Lutande kant 0-45 grader

Maskinen har 45 graders Huronhuvud AC, steglöst F i AC.

Med TCPM....AXIS SPAT... kan man programmera A som rymdvinkel, dvs verktyget ska luta A grader kring X-axeln (oberoende av om maskinens A finns - den kan vara en annan vinkel, t ex B).

Block 14-15 gör ytan, se bilden.

Valter Isander den 23 febr 2010

 

I programmet pendlar A-axeln  - + 45°.
I maskinen utförs detta av A och C.

 

 

0 BEGIN PGM kon 5 axl TCPM SPAT MM
1 ;Fräser kon 5 axl BC swivell table... med TCPM...SPAT
2 ;Programmet visar korrekt grafik, VPI febr 2010...
3 BLK FORM 0.1 Z X-100 Y-100 Z-100
4 BLK FORM 0.2 X+100 Y+100 Z+0
5 TOOL CALL 20 Z S1000
6 L Z+100 R0 FMAX
7 L X-100 Y+0 Z+10 R0 FMAX M3

8 FUNCTION TCPM F CONT AXIS SPAT PATHCTRL VECTOR ;obs SPAT så funkar rymdvinkel AB, även för Huron huvuden
9 L A+0 B+0 C+0 F10000 ;inget M128 haer
10 L Z-75 B+20 R0 F1000


17 Q1 = 180 ;grad
18 LBL 1
19 Q1 = Q1 - 3 ;grad
20 Q2 = 100 * COS Q1 ;x
21 Q3 = 100 * SIN Q1    ;y
22 L X+Q2 Y+Q3 IC-3   ;C är spatial vinkel nu
23 CALL LBL 1 REP119
24 L Z+50 R0 FMAX
25 L A+0 B+0 C+0 R0 FMAX
26 FUNCTION RESET TCPM
27 M2
28 END PGM kon 5 axl TCPM SPAT MM
 

Alla 5: PGM2
Kona 20 grader, B i block 10.

TCPM  AXIS SPAT...

Jag kör konan helt varv med vanlig pinnfräs.

 

block 17-23, XY beräknas i cirkeln med Q. Se kommentar i ex 1 ovan för noggrann kona.

Testat i grafik i olika maskiner:

- vagga A, bord C, typ Hermle

- bord BC, det ena 45 grader

- Huronhuvud 45 grader. 

Valter Isander, Rönninge

 

Axlarna i en Hermle eller motsvarande

 

     
Alla 5:
PGM3
Kona med B och C

Maskinen har roterande bord C, alltså går det bra med den enklare M128 för att styra verktygsspetsen (jfrt med TCPM).

Observera att Med M128 och "de andra" 3D-funktionerna (PLANE, TCPM, CYCL 19) måste man inte sätta konens mitt i C-bordets mitt!

Jacket i bottenytan är block 8.
Block 11 bör nog köras med mindre inkrement.

Valter 24 febr 2010

 

 

 

3 axlar XYZ och huvud B och bord C.


Titta på bearbetningen som film på Youtube! (den bearbetningen körs dock med 90° nedvriden, horisontell spindel (PLANE). Själva körningen 5-axligt sker med TCPM ("M128").
 
  

Alla 5:
PGM 4
Maskin BC
Programmerat AC

I block 11 ställer jag in A-25 grader.

Tack vare TNC:s TCPM, block 10, kan man programmera verktygets RYMDvinkel ABC i förhållande till XYZ (A,B,C resp) oavsett vad maskinens axlar heter (i detta fall AC fysiska axlar).

Enkel programmering? Javisst. Men obs - använd TCPM ...AXIS SPAT(ial)...ej AXIS POS.

I detta fall funkar det med CP...IC+90... men man kan vara tvungen att stycka upp CP i många L-block.

 Valter den 24 febr 2010

 

 

Maskinens axlar AC.

Observera att detaljens nolla och vridnings-punkten CC i hörnen INTE behöver ligga i bordets rotationscentrum (som man måste på gamla manuella maskiner vad jag förstår).

     
0 BEGIN PGM Borra sneda hal med PLANE MM
1 BLK FORM 0.1 Z X+0 Y+0 Z-50
2 BLK FORM 0.2 X+100 Y+100 Z+0
3 ;kinemat huvud AC 45 grader
4 ;1 hal rakt uppe + 2 hal 30 grader snett, men forst planar vi 30 grader
5 ;
6 TOOL CALL 1 Z S1000 ;planar
7 L Z+50 X+100 Y+100 R0 FMAX
8 CYCL DEF 232 PLANFRAESNING ~
Q389=+2 ;STRATEGI ~
Q225=+60 ;STARTPUNKT 1. AXEL ~
Q226=+100 ;STARTPUNKT 2. AXEL ~
Q227=+20 ;STARTPUNKT 3. AXEL ~
Q386=+0 ;SLUTPUNKT 3:E AXEL ~
Q218=-70 ;1. SIDANS LAENGD ~
Q219=-100 ;2. SIDANS LAENGD ~
Q202=+20 ;MAX. SKAERDJUP ~
Q369=+0 ;TILLAEGG DJUP ~
Q370=+1.5 ;MAX. OEVERLAPPNING ~
Q207=+500 ;MATNING FRAESNING ~
Q385=+500 ;MATNING FINBEARB. ~
Q253=+750 ;NEDMATNINGSHASTIGHET ~
Q200=+20 ;SAEKERHETSAVSTAAND ~
Q357=+2 ;SAEK.AVSTAAND SIDA ~
Q204=+50 ;2. SAEKERHETSAVST.
9 CYCL DEF 7.0 NOLLPUNKT
10 CYCL DEF 7.1
X+50
11 CYCL DEF 7.2 Y+0
12 CYCL DEF 7.3 Z+0
13 PLANE SPATIAL SPA+0 SPB+30 SPC+0 MOVE DIST100 FMAX
14 CYCL CALL M3
15 PLANE RESET MOVE DIST100 FMAX
16 ;
17 TOOL CALL 2 Z S1000 ;borra 2 hal pa sneda planet
18 CYCL DEF 200 BORRNING ~
Q200=+2 ;SAEKERHETSAVSTAAND ~
Q201=-40 ;DJUP ~
Q206=+500 ;MATNING DJUP ~
Q202=+10 ;SKAERDJUP ~
Q210=+0 ;VAENTETID UPPE ~
Q203=+0 ;KOORD. OEVERYTA ~
Q204=+50 ;2. SAEKERHETSAVST. ~
Q211=+0 ;VAENTETID NERE
19 ;nollan XYZ kvar pa X50
20 PLANE SPATIAL SPA+0 SPB+30 SPC+0 MOVE DIST100 FMAX
21 L X+20 Y+50 R0 FMAX M99 M3
22 L X+40 Y+50 R0 FMAX M99
23 L Z+100 R0 FMAX M5
24 PLANE RESET MOVE FMAX
25 CYCL DEF 7.0 NOLLPUNKT
26 CYCL DEF 7.1 X+0
27 L X+0 Y+0 Z+100 R0 FMAX M2
28 END PGM Borra sneda hal med PLANE MM
3+2-axl:
PGM5
Plana snett och borra två hål

1 Flytta nollan X50, ty där vill jag ha vridningspunkten i PLANE

2 Vrid koord.systemet kring Y  dvs B+30 i PLANE SPATIAL...SPB+30...

3 Plana i XYZ som vanligt, dvs Z är den sneda verktygsaxeln)

4 Byt verktyg till borr, verktygsaxel är Z som vanligt - det är DET som är grunden i allt detta med vridningar i TNC!

5 Samma PLANE igen

6 Borra 2 hål med M99 som vanligt

7 Kör bort, reset, M2

 

 

Block 20 PLANE SPATIAL...SPB+30... vrider denna maskins axlar A och C så att verktyget lutar 30 grader i förhållande till koordinat-systemet (dvs kring Y i detta fall).

Den beräkning som behövs för detta ligger inne i TNC:s software för PLANE (samma som för CYCL 19, om man har ställt in systemet så att vinkeln betyder "rymdvinkel", ej fysisk maskinvinkel).

Bilden visar den inledande planfräsningen. Det gröna XYZ-systemet är vrids av PLANE i block 13, så att Z ligger längs verktygets axelriktning.

/Valter Isander 25 februari 2010

 

0 BEGIN PGM Borra i kub 2 sidor med CYCL19 MM
1 BLK FORM 0.1 Z X-100 Y-200 Z-100
2 BLK FORM 0.2 X+100 Y+0 Z+100
3 TOOL CALL 15 Z S1000 ;borr
4 L Z+300 R0 FMAX
5 CYCL DEF 200 BORRNING ~
Q200=+2 ;SAEKERHETSAVSTAAND ~
Q201=-90 ;DJUP ~
Q206=+500 ;MATNING DJUP ~
Q202=+30 ;SKAERDJUP ~
Q210=+0 ;VAENTETID UPPE ~
Q203=+100 ;KOORD. OEVERYTA ~
Q204=+50 ;2. SAEKERHETSAVST. ~
Q211=+0 ;VAENTETID NERE
6 CYCL DEF 19.0 BEARBETNINGSPLAN
7 CYCL DEF 19.1 B+0
8 L X+0 Y-100 B+0 R0 FMAX M3 M99
9 L Z+300 R0 FMAX
10 CYCL DEF 19.0 BEARBETNINGSPLAN
11 CYCL DEF 19.1 B+90
12 L B+90 R0 FMAX
13 L X+0 Y-100 R0 FMAX M3 M99
14 L Z+200 R0 FMAX
15 CYCL DEF 19.0 BEARBETNINGSPLAN
16 CYCL DEF 19.1 B+0
17 CYCL DEF 19.0 BEARBETNINGSPLAN
18 CYCL DEF 19.1
19 L X+0 Y+0 B+0 R0 FMAX M2
20 END PGM Borra i kub 2 sidor med CYCL19 MM
 

3+2-axl:
PGM6
Vrida biten

Förr i tiden:

När man vred på biten satt ju nollan kvar i luften i första läget, dvs man måste göra en nollpunktsförflyttning, eller mäta in nollan igen på nya ytan. Eller så satte man biten och nollan exakt i mitten av bordet jobbigt...

Numera:

Med TNC CYCL 19 eller PLANE så vrider man biten (B-axeln) och nollan N sitter kvar PÅ BITEN, dvs följer med biten.

Man slipper alltså nolla om på biten.

Prova! Men ta g det försiktigt - din maskin beter sig kanske inte som detta exempel...

Valter

I bilden till vänster är grafikbilden vriden uppåt. X är egentligen horisontell i denna maskin.

En vanlig horisontell flerop med B-bord.
Z är horisontell.

Detaljen visas i första läget B0. I nästa läge B+90 sitter den till höger om B-centrum. XYZ-nollan följer med på biten (CYCL 19 eller PLANE).

 

 

 

 

 

0 BEGIN PGM Backe R50 45 grd TCPM MM
1 BLK FORM 0.1 Z X+0 Y+0 Z-37
2 BLK FORM 0.2 X+100 Y+120 Z+0
3 TOOL CALL 17 Z S1000 ;Fullradie 20
4 L Z+100 X+0 Y+0 A+0 C+0 R0 FMAX
5 FUNCTION TCPM F CONT AXIS SPAT PATHCTRL VECTOR  
;M128 FOER 45 GRADERS HURON...
6 L Z+100 X+0 Y+0 A+0 C+0 R0 FMAX
7 L X+40 Y+0 R0 FMAX M3
8 L Z+0 R0 F500
9 ;
10 Q10 = 50 ;DETALJ R
11 Q1 = 0 ;GRADER
12 CALL LBL 1 ;en baage ner
13 ;
14 Q11 = Q108 * 1.5 ;SKAERBREDD
15 LBL 10
16 L IY+Q11
17 Q1 = 45 ;GRADER
18 CALL LBL 2
19 L IY+Q11
20 Q1 = 0 ;GRADER
21 CALL LBL 1
22 CALL LBL 10 REP 2 ;sidled
23 L Z+100 R0 FMAX
24 FUNCTION RESET TCPM
25 L A+0 C+0 R0 FMAX
26 M2
27 ;
28 LBL 1 ;baage ner
29 Q1 = Q1 + 1 ;VINKEL B
30 Q2 = 40 + Q10 * SIN Q1 ;X
31 Q3 = - Q10 + Q10 * COS Q1 ;Z
32 L X+Q2 Z+Q3 B+Q1
33 CALL LBL 1 REP44
34 LBL 0

35 ;
36 LBL 2 ;baage upp
37 Q1 = Q1 - 1 ;VINKEL B
38 Q2 = 40 + Q10 * SIN Q1 ;X
39 Q3 = - Q10 + Q10 * COS Q1 ;Z
40 L X+Q2 Z+Q3 B+Q1
41 CALL LBL 2 REP44
42 LBL 0

43 ;
44 END PGM Backe R50 45 grd TCPM MM

3D-vy i mode PROGRAM INMATNING

Alla 5:
PGM7
3-axlig R50
"planfräsning"

Med TCPM ...AXIS SPAT...    följer pinnfräsens ände den programmerade punkten, och verktygets vinkel står hela tiden vinkelrätt mot radieytan, se bild.

Kärnan i detta program är (förutom TCPM) LBL 1 (kör nedför bågen), och LBL 2 (uppför).

CP i st för beräknade punkter (LBL 1+2) funkade inte för mig i denna maskin, alltså styckar jag upp bågen R50 i många korta Linjära (block 32 och 40). Man kanske bör göra stegen Q1 (block 29/37) ännu mindre, annars blir ytan facetterad.

Man kan fundera på om man kan köra med "fronten" av fräsen i st f centrum - det kan ge bättre avverkning, och man måste inte ha en fräs som skär i centrum.

Maskinen har ett "Huronhuvud 45 graders, fullt styrt förstås.

Många maskiners huvuden har dock stegvist inställbara vinklar, t ex 1° eller 2,5° steg. Då funkar naturligtvis inte detta  program. Lösningen får då bli en stegning XYZ, kanske med en radiefräs. Men DET är ett annat kapitel, visas ej på denna sida.

 

 

 

/ Valter den 27 februari 2010.

 

 

0 BEGIN PGM Spaar i cylinderyta MM
1 BLK FORM 0.1 Z X-500 Y-500 Z-200
2 BLK FORM 0.2 X+500 Y+500 Z+0
3 TOOL CALL 17 Z S1000 ;fraes tva gropar
4 L X+0 Y+0 Z+100 A+0 C+0 R0 FMAX
5 CYCL DEF 252 CIRKELURFRAESN ~
Q215=+0 ;BEARBETNINGSSAETT ~
Q223=+400 ;CIRKELDIAMETER ~
Q368=+0 ;TILLAEGG SIDA ~
Q207=+500 ;MATNING FRAESNING ~
Q351=+1 ;FRAESSMETOD ~
Q201=-160 ;DJUP ~
Q202=+80 ;SKAERDJUP ~
Q369=+0 ;TILLAEGG DJUP ~
Q206=+500 ;MATNING DJUP ~
Q338=+0 ;SKAERDJUP FINSKAER ~
Q200=+2 ;SAEKERHETSAVSTAAND ~
Q203=+0 ;KOORD. OEVERYTA ~
Q204=+50 ;2. SAEKERHETSAVST. ~
Q370=+1.7 ;BANOEVERLAPP ~
Q366=+1 ;NEDMATNING ~
Q385=+500 ;MATNING FINBEARB.
6 L X+200 Y+200 R0 FMAX M3 M99
7 L X-200 Y-200 R0 FMAX M99

8 ;
 
9 TOOL CALL 14 Z S1000 ;pinne foer spår i groparna
10 ;
11 FUNCTION TCPM F CONT AXIS SPAT PATHCTRL VECTOR
12 L X+200 Y+200 Z+100 B+90 R0 F2000 M3
13 CALL LBL 1
14 ;
15 L X-200 Y-200 R0 FMAX
16 CALL LBL 1
17 ;
18 L Z+300 R0 FMAX M5
19 FUNCTION RESET TCPM
20 L X+0 Y+0 Z+300 R0 FMAX
21 L A+0 C+0 R0 FMAX M2
22 ;
23 LBL 1 ;fräs ett spår
24 CC IX+0 IY+0
25 L Z-50
26 L IX-190 R0 F500
27 L IX-50 F350     ;in i väggen lite, djup 40
28 CP IPA-180 IC-180 DR- F200                
29 CP IPA-180 IC-180 DR-
30 L IX+50
31 L Z+100 R0 FMAX
32 LBL 0

33 END PGM Spaar i cylinderyta MM

Alla 5: Pgm 8
SPÅR inne i en cylinderyta,
med vanlig pinnfräs.

Block 28 + 29 fräser ett spår.

Med hjälp av TCPM...AXIS SPAT... står pinnfräsen vinkelrätt (som en cirkelradie) mot spårbotten. Man slipper alltså ta in en T-spårsfräs, i stället kör man med vanliga pinnfräsen för raka spår. Och man slipper förstås ursvarva spåret... eller ännu värre - svarva...

Jag var tvungen att använda två CP-block efter varandra, jag vet ej varför det inte går med ett CP hela varvet.

Om man får problem med cirkulär rörelse bör man prova att generera cirkeln med Q och L i små steg. LP funkar dåligt eftersom LP tyvärr inte kan innehålla A, B eller C-ord.

Man kan förstås fräsa alla möjliga cirkulära hack i biten, prova att leka! Men jag har inte kört programmet i en maskin, bara i grafik/ maskingrafik.

Valter Isander
Rönninge 27 februari 2010

 

Maskinen (XYZ AC) mitt i block 29 (ej 30..) CP... som fräser spåret med pinnfräsen.

Spindelhuvudet måste naturligtvis få rum inne i håligheten, i detta fall D400 mm.

 
0 BEGIN PGM Sneda hal PLANE-BC, Maskin-AC MM
1 BLK FORM 0.1 Z X+0 Y+0 Z-30
2 BLK FORM 0.2 X+100 Y+50 Z+0
3 TOOL CALL 6 Z S1000 ;borr
4 PLANE RESET STAY
5 CYCL DEF 7.0 NOLLPUNKT
6 CYCL DEF 7.1 X+0
7 CYCL DEF 7.2 Y+0
8 CYCL DEF 7.3 Z+0
9 ;Borra snett 60 grader ned, vridet 45 grader, 4 st, delning i X-led 20 mm
10 CYCL DEF 200 BORRNING ~
Q200=+2 ;SAEKERHETSAVSTAAND ~
Q201=-30 ;DJUP ~
Q206=+300 ;MATNING DJUP ~
Q202=+10 ;SKAERDJUP ~
Q210=+0 ;VAENTETID UPPE ~
Q203=+0 ;KOORD. OEVERYTA ~
Q204=+50 ;2. SAEKERHETSAVST. ~
Q211=+0 ;VAENTETID NERE

11 L X+0 Y+0 Z+200 R0 FMAX
12 CALL LBL 1
13 L X+0 Y+0 Z+200 R0 FMAX
14 CALL LBL 1
15 L X+0 Y+0 Z+200 R0 FMAX
16 CALL LBL 1
17 L X+0 Y+0 Z+200 R0 FMAX
18 CALL LBL 1
19 M2
20 ;
21 LBL 1 ;      Gör ETT hål!
22 ;flytta nollan till halmynningen
23 ;vrid XYZ sa att Z faller längs halets axel
24 PLANE RESET STAY
25 CYCL DEF 7.0 NOLLPUNKT
26 CYCL DEF 7.1 IX+20

27 CYCL DEF 7.2 Y+25
28 CYCL DEF 7.3 Z+0
29
PLANE SPATIAL SPA+0 SPB+30 SPC+45 MOVE DIST0 FMAX
30 ;Nu kan man kolla på Q120=A, Q121=B, Q122=C axlarnas fysiska vinklar, DVS ÄR-värden nu!
31 ;dvs man skulle kunna göra en linjär L AQ120 CQ122 så går maskinen till samma pos som PLANE...MOVE gör.
32 ;t ex om du har en maskin utan PLANE eller CYCL19, men med motsvarande huvud, så kan du avläsa Q120...Q122, eller maskinen i denna simulering på din dator...
33 L X+0 Y+0 Z+100 R0 FMAX M3 M99

34 LBL 0
35 END PGM Sneda hal PLANE-BC, Maskin-AC MM
 

3+2-axl:
PGM9
Borra snett på ovansidan!

Nu ska vi borra fyra hål snett på toppen av en plan yta!

Snedställningen får man som vanligt med PLANE SPATIAL A0 B+30 C+45..., då ligger Z längs hålet.

Men man måste vrida i hålets mynning i detta fall, eftersom måtten på biten går på plana ytan (delningen X20). Alltså sätter man FÖRST nollan i hålet, SEDAN vrider man. Ty ALL vridning i TNC 3D sker kring gällande nollpunkt! Basic kunskap!

Nästa hål samma tänk: Alltså... flytta nollan till nästa hål, vrid sedan. DÅ måste du tänka på att nollpunktsförflyttningar ALLTID sker i aktuellt (ev. vridet) plan. Alltså... tag bort PLANE före NOLLP IX+20, aktivera sedan PLANE igen (bl 24-29).

För att slippa en massa fysiska vridningar varje hål så kör du med PLANE...STAY (då står maskinen stilla, men koordinatsystemet vrids internt). Kul va!

 

På ritningen är hålet vridet:
B+30° (kring Y) sedan C+45 (kring vertikala Z).

Allmänt gäller:

A= vrida kring X
B=vrida kring Y
C=vrida kring Z

Observera att ABC är rymdvinklar! Dvs det är verktygets vinkel i XYZ-systemet. MASKINENS vinkelaxlar kan vara vad som helst, i detta fall kallas de A och C, trots att A egentligen vrids på nåt skumt sätt kring en 45-gradersaxel (Huronhuvud). Men allt det där fixar TNC med CYCL 19 eller PLANE.

Efter PLANE (block 29) kan du kolla vad vinklarna på maskinens A, C (nacke och huvud) fick för värden:
A=Q120
B=Q121  (i denna maskin finns ingen B, alltså B=0 i listan).
C=Q122

Q-listan ser genom att trycka på Q-knappen. Du kan se värdena även i PROGRAMTEST.

Du måste naturligtvis ha valt en maskin i datorn som ser ut som din maskin i verkstaden: MOD + KOD=KINEMATIC + välj en maskin.

 
0 BEGIN PGM KERNTEST MM
1 ; SKAPAD 05-29-1998 KL 18:24:17 UR FILEN KERNTEST.CLS MED PROGRAMVARA~
TNC3DK.EXE 1.0
2 BLK FORM 0.1 Z X-2 Y-7 Z-3
3 BLK FORM 0.2 X+7 Y+7 Z+5
4 TOOL CALL 2 Z S20000 DL+0 DR+1 DR2:+1
5 L M3
6 * - TOOL PATH 1
7 L F600 M107
8 LN X+6 Y-7 Z+2 NX+0 NY-0.7 NZ+0.7141428
9 L F50
10 LN X+6 Y-7 Z-2.8586 NX+0 NY-0.7 NZ+0.7141428
11 L F300
12 LN X+6 Y-5.8129 Z-1.8631 NX+0 NY-0.5812939 NZ+0.8136936
13 LN X+6 Y-4.4864 Z-1.0629 NX+0 NY-0.448636 NZ+0.8937146
14 LN X+6 Y-3.0521 Z-0.4771 NX+0 NY-0.3052101 NZ+0.9522851
15 LN X+6 Y-1.5446 Z-0.12 NX+0 NY-0.1544586 NZ+0.9879993
16 LN X+6 Y+0 Z+0 NX+0 NY+0 NZ+1
17 LN X+6 Y+1.5446 Z-0.12 NX+0 NY+0.1544586 NZ+0.9879993
18 LN X+6 Y+3.0521 Z-0.4771 NX+0 NY+0.3052101 NZ+0.9522851
19 LN X+6 Y+4.4864 Z-1.0629 NX+0 NY+0.448636 NZ+0.8937146
20 LN X+6 Y+5.8129 Z-1.8631 NX+0 NY+0.5812939 NZ+0.8136936
21 LN X+6 Y+7 Z-2.8586 NX+0 NY+0.7 NZ+0.7141428
22 LN X+4.6053 Y+7 Z-2.8586 NX+0 NY+0.7 NZ+0.7141428
23 LN X+4.6053 Y+5.8129 Z-1.8631 NX+0 NY+0.5812939 NZ+0.8136936
24 LN X+4.6053 Y+4.4864 Z-1.0629   NX+0 NY+0.448636 NZ+0.8937146
25 LN X+4.6053 Y+3.0521 Z-0.4771 NX+0 NY+0.3052101 NZ+0.9522851
26 LN X+4.6053 Y+1.5446 Z-0.12 NX+0 NY+0.1544586 NZ+0.9879993
27 LN X+4.6053 Y+0 Z+0 NX+0 NY+0 NZ+1
28 LN X+4.6053 Y-1.5446 Z-0.12 NX+0 NY-0.1544586 NZ+0.9879993
29 LN X+4.6053 Y-3.0521 Z-0.4771 NX+0 NY-0.3052101 NZ+0.9522851
30 LN X+4.6053 Y-4.4864 Z-1.0629 NX+0 NY-0.448636 NZ+0.8937146
31 LN X+4.6053 Y-5.8129 Z-1.8631 NX+0 NY-0.5812939 NZ+0.8136936
32 LN X+4.6053 Y-7 Z-2.8586 NX+0 NY-0.7 NZ+0.7141428
33 LN X+3.2106 Y-7 Z-2.8586 NX+0 NY-0.7 NZ+0.7141428
34 LN X+3.2106 Y-5.8129 Z-1.8631 NX+0 NY-0.5812939 NZ+0.8136936
35 LN X+3.2106 Y-4.4864 Z-1.0629 NX+0 NY-0.448636 NZ+0.8937146
36 LN X+3.2106 Y-3.0521 Z-0.4771 NX+0 NY-0.3052101 NZ+0.9522851
37 LN X+3.2106 Y-1.5446 Z-0.12 NX+0 NY-0.1544586 NZ+0.9879993
38 LN X+3.2106 Y+0 Z+0 NX+0 NY+0 NZ+1
39 LN X+3.2106 Y+1.5446 Z-0.12 NX+0 NY+0.1544586 NZ+0.9879993
40 LN X+3.2106 Y+3.0521 Z-0.4771 NX+0 NY+0.3052101 NZ+0.9522851
41 LN X+3.2106 Y+4.4864 Z-1.0629 NX+0 NY+0.448636 NZ+0.8937146
42 LN X+3.2106 Y+5.8129 Z-1.8631 NX+0 NY+0.5812939 NZ+0.8136936
43 LN X+3.2106 Y+7 Z-2.8586 NX+0 NY+0.7 NZ+0.7141428
44 LN X+1.8159 Y+7 Z-2.8586 NX+0 NY+0.7 NZ+0.7141428
45 LN X+1.8159 Y+5.8129 Z-1.8631 NX+0 NY+0.5812939 NZ+0.8136936
46 LN X+1.8159 Y+4.4864 Z-1.0629 NX+0 NY+0.448636 NZ+0.8937146
.......
.......
84 LN X-2.3683 Y+3.0521 Z-0.4771 NX+0 NY+0.3052101 NZ+0.9522851
85 LN X-2.3683 Y+4.4864 Z-1.0629 NX+0 NY+0.448636 NZ+0.8937146
86 LN X-2.3683 Y+5.8129 Z-1.8631 NX+0 NY+0.5812939 NZ+0.8136936
87 LN X-2.3683 Y+7 Z-2.8586 NX+0 NY+0.7 NZ+0.7141428
88 LN X-3.763 Y+7 Z-2.8586 NX+0 NY+0.7 NZ+0.7141428
89 LN X-3.763 Y+5.8129 Z-1.8631 NX+0 NY+0.5812939 NZ+0.8136936
90 LN X-3.763 Y+4.4864 Z-1.0629 NX+0 NY+0.448636 NZ+0.8937146
91 LN X-3.763 Y+3.0521 Z-0.4771 NX+0 NY+0.3052101 NZ+0.9522851
92 LN X-3.763 Y+1.5446 Z-0.12 NX+0 NY+0.1544586 NZ+0.9879993
93 LN X-3.763 Y+0 Z+0 NX+0 NY+0 NZ+1
94 LN X-3.763 Y-1.5446 Z-0.12 NX+0 NY-0.1544586 NZ+0.9879993
95 ;ETC.....
96 L Z+100 R0 FMAX M2
97 LN X-3.763 Y-5.8129 Z-1.8631 NX+0 NY-0.5812939 NZ+0.8136936
98 END PGM KERNTEST MM
 

Del av NC-program för ett verktyg för att pressa skärplattor före sintringen.

3-axl:
PGM10 

3D-yta
med 3D-verktygsradie-kompensering i TNC

Vad är nu detta??

Jo! I CAD-CAM kan man ju mata ut ett TNC-program för en 3D-yta med en massa täta LN-block.

Varje LN (en linjär rörelse) har dels X..Y..Z..= en skärpunkt på ytan, dels NX NY NZ som är "pilar" som tillsammans bildar "normalen", normalvektorn N, till ytan i punkten XYZ.

Normalvektorn pekar förstås rätt in i verktygets (t ex en fullradiefräs) centrum.

Man kan i TNC enkelt lägga på/dra bort - "luras" på verktygsradien i TOOL CALL.... DR... DR2:... (DR.. är stammen, DR2.. är hörnradien på fräsen)

T ex om man sätter DR+1 DR2:+1  så lämnar verktyget 1 mm material över hela ytan, man kör ett grovskär.

Man kan också enkelt byta till annan verktygsdimension (verktygstabellens DR...DR2:...).

Förr i tiden måste man köra om CAD-CAM med olika verktygsradier, det blev en massa hemskt långa program att hantera. Nu har man ETT program, kanske två, kan snabbt justera avverkningen i TOOL CALL-blocket! Och skifta mellan olika verktyg för samma yta.

Men man måste ha en postprocessor som matar ut normalvektorer till TNC. Det är en baggis för ett vanligt CAD-CAM med 3D.

En vanlig 3-axlig maskin XYZ

I detta program svänger ytan i bara YZ, dvs normalvektorns NX-komponent är noll (se programmet till vänster)

 

0 BEGIN PGM Kon 15 grader som lutar 20 grader  MM
1 ;Fraser kon 5 axl AB head... med PLANE och TCPM...SPAT
2 ;
3 BLK FORM 0.1 Z X-90 Y-110 Z-140
4 BLK FORM 0.2 X+90 Y+75 Z+0
5 PLANE SPATIAL SPA-20 SPB+0 SPC+0 MOVE DIST0 FMAX
6 TOOL CALL 20 Z S1000
7 L Z+100 R0 FMAX
8 L X-170 Y+0 Z+50 R0 FMAX M3
9 FUNCTION TCPM F CONT AXIS SPAT PATHCTRL VECTOR ;obs SPAT så funkar rymdvinkel AB, även för Huron huvuden
10 L A+0 B+0 C+0 F10000
11 L Z-75 B+15 A+0 C+0 R0 F1000
12 CC X+0 Y+0
13 Q1 = 180 ;grad
14 LBL 1
15 Q1 = Q1 - 1 ;grad
16 Q2 = 100 * COS Q1 ;x
17 Q3 = 100 * SIN Q1 ;y
18 L X+Q2 Y+Q3 IC-1 ;C är spatial vinkel nu
19 CALL LBL 1 REP359
20 L IX-10
21 M140 MB+100 F1000        ;backa ifrån längs verktyget

22 L Z+50 R0 FMAX
23 L A+0 B+0 C+0 R0 FMAX
24 FUNCTION RESET TCPM
25 PLANE RESET
26 M2
27 END PGM .....M

 


 

Alla 5:
PGM11

Kona som lutar 20°!

Detta är kul!

  • Konens axel lutar 15° (block 11).
     

  • Hela rasket lutar 20° (block 5)
     

  • Kört i en maskin som inte kan vränga spindeln negativt (kan inte peka in i magen på maskinen).

    Alltså lägger jag upp biten på en sned hylla (20°), och vrider även koord.systemet med PLANE lika mycket (block 5). Då kör jag inte maskens huvud i gränsläge...

Man kunde nog ha satt biten på vertikal hylla, men nu håller vi på i sandlådan och testar...

Maskin med XYZ AB (kontinuerligt matningsbara axlar samtidigt).

På YouTube
 

Här har jag planat:
först toppen med CYCL 232 PLANA, och i slutet botten med CYCL 257 CIRKULÄR Ö.

Lite trixigt att hitta Z-djupet i botten, eftersom fräsen körde konen vinklat 15°, och då åkte verktygets CENTRUM på Z-75 (block 11).
Exakt bör djupet bli Z-75 - verkt.R x cos 15° ( konvinkeln! inte lutande planet som ju är 20°).

 

0 BEGIN PGM Kon 5 axl skapa NC-fil ur pos MM
1 ;
2 ;
3 BLK FORM 0.1 Z X-90 Y-110 Z-140
4 BLK FORM 0.2 X+90 Y+75 Z+0
5 PLANE SPATIAL SPA-20 SPB+0 SPC+0 MOVE DIST0 FMAX
6 TOOL CALL 20 Z S1000
7 ;
8 L Z+100 R0 FMAX
9 L X-170 Y+0 Z+50 R0 FMAX M3
10 FUNCTION TCPM F CONT AXIS SPAT PATHCTRL VECTOR ;obs SPAT så funkar rymdvinkel AB, även för Huron huvuden
11 L A+0 B+0 C+0 F10000
12 L Z-75 B+15 A+0 C+0 R0 F1000
13 CC X+0 Y+0
14 Q1 = 180 ;grad
15 LBL 1
16 Q1 = Q1 - 4 ;grad
17 Q2 = 100 * COS Q1 ;x
18 Q3 = 100 * SIN Q1 ;y
19 L X+Q2 Y+Q3 IC-4 ;C är spatial vinkel nu     Detta är det egentlige bearbetningsblocket

20 ;Läs maskinens REF pos nu!
21 FN 18: SYSREAD Q11 = ID240 NR1 IDX1 ;laes REF X
22 FN 18: SYSREAD Q12 = ID240 NR1 IDX2 ;laes REF Y
23 FN 18: SYSREAD Q13 = ID240 NR1 IDX3 ;laes REF Z
24 FN 18: SYSREAD Q14 = ID240 NR1 IDX4 ;laes REF A
25 FN 18: SYSREAD Q15 = ID240 NR1 IDX5 ;laes REF B

26 FN 16: F-PRINT KONxyzab.a / KonXYZAB-REF.A                ;se formatfilen KONxyzab.A nedan (en rad bara)
27 ;
28 CALL LBL 1 REP90
29 L IX-10
30 M140 MB+100 F1000
31 L Z+50 R0 FMAX
32 L A+0 B+0 C+0 R0 FMAX
33 FUNCTION RESET TCPM
34 M2
35 END PGM Kon 5 axl skapa NC-fil ur pos MM
 

Förklaring:

1 Först läser jag (bl 21-25) REF-pos i maskinen...XQ11....BQ15
2 Sedan skriver jag dessa värden i en rad i filen
 KonXYZAB-REF.A (listan till höger)
3 enligt formatfilen i block 26 ovan:   KONxyzab.a
4 formatfilens rad (
filen KONxyzab.A) är i detta fall:
"L X%9.4LF Y%9.4LF Z%9.4LF A%9.4LF B%9.4LF",Q11,Q12,Q13,Q14,Q15;

vilket ger utmatningen till höger (fr o m block 8 till 98).

 

 

 

 

Alla 5:
PGM12:
Konisk program-generator
(samma bit som pgm 10 ovan)

Varför har jag gjort detta program (till vänster)?

Jo, jag använder en TNC530 med PLANE..TCPM för att generera ett program för en maskin UTAN PLANE...TCPM (dock ska den ha M114 eller M128 om man kör roterande axlar).

Om du har en gammal TNC530 kan du leka med dessa möjligheter, kluriga, men jag tror på principen...

Idén är att man simulerar programmet till vänster, t ex i en PC, låter det skapa XYZAB ur REF-koordinaterna i maskinen som ett nytt program (till höger). Sedan kör jag det nya programmet.

Det ser åtminstone riktigt ut på grafiken! MED M128, annars tappar troligen TNC bort verktygsspetsen.

Principen kan förstås användas för att i simuleringen borra sneda hål med CYCL 19/PLANE, och samtidigt "sno" koordinaterna, sedan köra dem i en urgammal maskin med vridbart huvud. T ex en gammal TNC355.

Är du med?!

Valter Isander
den 1 mars 2010
Rönninge

0 BEGIN PGM Kon som kopia av  MM
1 ;FRaser kon 5 axl
2 BLK FORM 0.1 Z X-100 Y-100 Z-140
3 BLK FORM 0.2 X+70 Y+100 Z+0
4 TOOL CALL 20 Z S1000
5 L Z+100 X-200 Y+0 R0 FMAX
6 L A+0 B+0 C+0 F10000
7 L Z-75 R0 F1000 M114      ;ELLER M128
8 L X-99.7564 Y-19.0966 Z-72.8627 A+68.0869 B+332.0813
9 L X-99.0268 Y-12.5735 Z-75.2369 A+65.9857 B+333.0107
10 L X-97.8148 Y-6.1142 Z-77.5879 A+63.8705 B+333.894
11 L X-96.1262 Y+0.2499 Z-79.9043 A+61.7484 B+334.7299
12 L X-93.9693 Y+6.4879 Z-82.1748 A+59.6266 B+335.5166
13 L X-91.3545 Y+12.5693 Z-84.3882 A+57.5126 B+336.2523
14 L X-88.2948 Y+18.4644 Z-86.5339 A+55.4149 B+336.9344
15 L X-84.8048 Y+24.1446 Z-88.6013 A+53.3424 B+337.5598
16 L X-80.9017 Y+29.5822 Z-90.5804 A+51.3047 B+338.1249
17 L X-76.6044 Y+34.7508 Z-92.4616 A+49.3125 B+338.6254
18 L X-71.934 Y+39.625 Z-94.2357 A+47.3775 B+339.056
19 L X-66.9131 Y+44.1813 Z-95.894 A+45.5128 B+339.4107
20 L X-61.5661 Y+48.3973 Z-97.4285 A+43.7327 B+339.6823
21 L X-55.9193 Y+52.2526 Z-98.8317 A+42.0527 B+339.863
22 L X-50 Y+55.7282 Z-100.0968 A+40.4898 B+339.9437
23 L X-43.8371 Y+58.8075 Z-101.2175 A+39.0624 B+339.9147
24 L X-37.4607 Y+61.4753 Z-102.1885 A+37.7893 B+339.7657
25 L X-30.9017 Y+63.7186 Z-103.005 A+36.6898 B+339.4866
26 L X-24.1923 Y+65.5265 Z-103.663 A+35.7827 B+339.0673
27 L X-17.3649 Y+66.8902 Z-104.1594 A+35.0851 B+338.4994
28 L X-10.4529 Y+67.803 Z-104.4916 A+34.6113 B+337.7766
29 L X-3.49 Y+68.2605 Z-104.6582 A+34.3717 B+336.8955
30 L X+3.4898 Y+68.2605 Z-104.6582 A+34.3717 B+335.8565
31 L X+10.4527 Y+67.803 Z-104.4916 A+34.6113 B+334.6639
32 L X+17.3647 Y+66.8902 Z-104.1594 A+35.0851 B+333.3261
33 L X+24.1921 Y+65.5265 Z-103.663 A+35.7827 B+331.8553
34 L X+30.9017 Y+63.7186 Z-103.005 A+36.6898 B+330.2663
35 L X+37.4607 Y+61.4753 Z-102.1885 A+37.7893 B+328.5761
36 L X+43.8371 Y+58.8075 Z-101.2175 A+39.0624 B+326.8027
37 L X+50 Y+55.7282 Z-100.0968 A+40.4898 B+324.9643
38 L X+55.9193 Y+52.2526 Z-98.8317 A+42.0526 B+323.0791
39 L X+61.5661 Y+48.3973 Z-97.4285 A+43.7326 B+321.164
40 L X+66.9131 Y+44.1813 Z-95.894 A+45.5128 B+319.2353
41 L X+71.934 Y+39.625 Z-94.2357 A+47.3775 B+317.3077
42 L X+76.6044 Y+34.7508 Z-92.4616 A+49.3124 B+315.3948
43 L X+80.9017 Y+29.5822 Z-90.5804 A+51.3046 B+313.5091
44 L X+84.8048 Y+24.1446 Z-88.6013 A+53.3424 B+311.6615
45 L X+88.2948 Y+18.4644 Z-86.5339 A+55.4149 B+309.8621
46 L X+91.3545 Y+12.5693 Z-84.3882 A+57.5126 B+308.12
47 L X+93.9693 Y+6.4879 Z-82.1748 A+59.6265 B+306.4434
48 L X+96.1262 Y+0.2499 Z-79.9043 A+61.7484 B+304.8395
49 L X+97.8148 Y-6.1142 Z-77.5881 A+63.8705 B+303.3151
50 L X+99.0268 Y-12.5735 Z-75.2371 A+65.9857 B+301.8762
51 L X+99.7564 Y-19.0966 Z-72.8629 A+68.0869 B+300.5283
52 L X+100 Y-25.6515 Z-70.4771 A+70.1677 B+299.2765
53 L X+99.7564 Y-32.2064 Z-68.0913 A+72.2215 B+298.1253
54 L X+99.0268 Y-38.7295 Z-65.7171 A+74.2422 B+297.079
55 L X+97.8148 Y-45.1888 Z-63.3661 A+76.2234 B+296.1414
56 L X+96.1262 Y-51.5529 Z-61.0497 A+78.1592 B+295.316
57 L X+93.9693 Y-57.7909 Z-58.7792 A+80.0434 B+294.606
58 L X+91.3545 Y-63.8723 Z-56.5658 A+81.8698 B+294.014
59 L X+88.2948 Y-69.7674 Z-54.4201 A+83.6323 B+293.5425
60 L X+84.8048 Y-75.4476 Z-52.3527 A+85.3249 B+293.1935
61 L X+80.9017 Y-80.8852 Z-50.3736 A+86.9414 B+292.9683
62 L X+76.6044 Y-86.0538 Z-48.4924 A+88.4756 B+292.868
63 L X+71.934 Y-90.928 Z-46.7183 A+89.9214 B+292.8928
64 L X+66.9131 Y-95.4843 Z-45.06 A+91.2728 B+293.0425
65 L X+61.5661 Y-99.7003 Z-43.5255 A+92.5239 B+293.316
66 L X+55.9193 Y-103.5556 Z-42.1223 A+93.669 B+293.7114
67 L X+50 Y-107.0312 Z-40.8572 A+94.7026 B+294.226
68 L X+43.8371 Y-110.1105 Z-39.7365 A+95.6196 B+294.8562
69 L X+37.4607 Y-112.7783 Z-38.7655 A+96.4152 B+295.5973
70 L X+30.9017 Y-115.0216 Z-37.949 A+97.0852 B+296.444
71 L X+24.1923 Y-116.8295 Z-37.291 A+97.6258 B+297.3898
72 L X+17.3649 Y-118.1932 Z-36.7946 A+98.0341 B+298.4275
73 L X+10.4529 Y-119.106 Z-36.4624 A+98.3076 B+299.5492
74 L X+3.49 Y-119.5635 Z-36.2958 A+98.4448 B+300.7463
75 L X-3.4898 Y-119.5635 Z-36.2958 A+98.4448 B+302.0098
76 L X-10.4527 Y-119.106 Z-36.4624 A+98.3076 B+303.3302
77 L X-17.3647 Y-118.1932 Z-36.7946 A+98.0341 B+304.6981
78 L X-24.1921 Y-116.8295 Z-37.291 A+97.6258 B+306.104
79 L X-30.9017 Y-115.0216 Z-37.949 A+97.0852 B+307.5387
80 L X-37.4607 Y-112.7783 Z-38.7655 A+96.4152 B+308.9932
81 L X-43.8371 Y-110.1105 Z-39.7365 A+95.6196 B+310.4591
82 L X-50 Y-107.0312 Z-40.8572 A+94.7026 B+311.9286
83 L X-55.9193 Y-103.5556 Z-42.1223 A+93.669 B+313.3946
84 L X-61.5661 Y-99.7003 Z-43.5255 A+92.5239 B+314.8505
85 L X-66.9131 Y-95.4843 Z-45.06 A+91.2728 B+316.2907
86 L X-71.934 Y-90.928 Z-46.7183 A+89.9214 B+317.7101
87 L X-76.6044 Y-86.0538 Z-48.4924 A+88.4756 B+319.1045
88 L X-80.9017 Y-80.8852 Z-50.3736 A+86.9414 B+320.4702
89 L X-84.8048 Y-75.4476 Z-52.3527 A+85.3249 B+321.8041
90 L X-88.2948 Y-69.7674 Z-54.4201 A+83.6324 B+323.1037
91 L X-91.3545 Y-63.8723 Z-56.5658 A+81.8698 B+324.3669
92 L X-93.9693 Y-57.7909 Z-58.7792 A+80.0434 B+325.5922
93 L X-96.1262 Y-51.5529 Z-61.0497 A+78.1592 B+326.778
94 L X-97.8148 Y-45.1888 Z-63.3659 A+76.2235 B+327.9233
95 L X-99.0268 Y-38.7295 Z-65.7169 A+74.2422 B+329.0271
96 L X-99.7564 Y-32.2064 Z-68.0911 A+72.2215 B+330.0886
97 L X-100 Y-25.6515 Z-70.4769 A+70.1677 B+331.107
98 L X-99.7564 Y-19.0966 Z-72.8627 A+68.0869 B+332.0813
99 L Z+100 R0 FMAX M2
100 END PGM 1 MM

 
 
0 BEGIN PGM C27 MM
1 ;B head och C table
2 BLK FORM 0.1 Z X+200 Y-100 Z-100
3 BLK FORM 0.2 X+300 Y+100 Z+100
4 TOOL CALL 1 Z S2000 ; Diameter 7
5 L Z+250 R0 FMAX
6 L X+300 Y+0 R0 FMAX
7 L C+0 R0 FMAX
8 PLANE SPATIAL SPA+0 SPB+90 SPC+0 MOVE DIST0 FMAX ;Positioning
9 CYCL DEF 14.0 KONTUR
10 CYCL DEF 14.1 KONTURLABEL1

11 CYCL DEF 27 CYLINDERMANTEL ~
Q1=-7 ;FRAES DJUP ~
Q3=+0 ;TILLAEGG SIDA ~
Q6=+50 ;SAEKERHETSAVSTAAND ~
Q10=+7 ;SKAERDJUP ~
Q11=+100 ;MATNING DJUP ~
Q12=+250 ;MATNING FRAESNING ~
Q16=+240 ;RADIE ~
Q17=+1 ;MATTENHET

12 L Z+300 R0 FMAX
13 L C+0 X+0 Y+0 R0 FMAX M13
14 M99 ;Kör cykeln nu
15 L Z+300 R0 FMAX ;Retract the tool
16 PLANE RESET TURN FMAX ; Tilt back, cancel the PLANE function
17 L Z+150 R0 FMAX
18 L X+0 Y+0 R0 FMAX
19 M2
20 ;
21 LBL 1 ; Konturen, en invändig fyrkant i cylinderytan
22 L C+0 X+10 RL ; C betyder här mm (Q17=1 i CYCL DEF 27..)
23 L C+80
24 RND R7.5
25 L X+60
26 RND R7.5
27 L C-80
28 RND R7.5
29 L X+10
30 RND R7.5
31 L C+0
32 LBL 0

33 END PGM C27 MM
 

Alla 5:
PGM13:
CYCL 27
Cylindermantel

Med CYCL 27 m fl kan man i TNC programmera figurer på en cylinderyta, som om man programmerade dem på en plan yta!

Vitsen med cyklerna är att man slipper en massa Q-beräkningar, cyklerna fixar A-B-C-axlens vridning på aktuell radie där fräsen råkar jobba (räknat från rot.centrum). Man kan programmera L, CC+C, RND, RL/RR etc, dvs det blir enkelt att "rita" figurer, kurvor och annat snett i cylindrar.

Programmet till vänster fräser en enkel rektangel invändigt, måtten ser du i LBL 1.

Som du ser till vänster blir flankerna sneda... men välj en annan cykel (28,29,30) så kan du få som du vill där, dvs TNC gör då en liten förskjutning av verktyget utanför rot.axeln.

I detta exempel körde man först PLANE...B+90... så att Z blev vinkelrätt mot C:s rotationsaxel.

Kanske kan man även köra M128... det har jag inte provat, men då kan man kanske sätta cylindern OFF centrum... nä...?

Maskinen har C-bord, och B-huvud.
Klicka på bilden för större.

Här ser du fyrkanten med RND R7.5 i hörnen

     
0 BEGIN PGM Borra hal i 4 sidor Huronhuvud AB MM
1 ;Borrar ett hal mitt i fyra detaljytor.
2 ;Jag har hela tiden Z som verktygsaxel, och samma borrcykel, djup -45 och~
koord.arbst.yta är 0, dvs jag flyttar nollan till hörnet på ytan, innan jag vrider med PLANE. Valter Isander mars 2010
3 BLK FORM 0.1 Z X+0 Y+0 Z-150
4 BLK FORM 0.2 X+100 Y+120 Z+0
5 TOOL CALL 13 Z S1000 ;borr
6 ;
7 CYCL DEF 200 BORRNING ~
Q200=+2 ;SAEKERHETSAVSTAAND ~
Q201=-45 ;DJUP ~
Q206=+500 ;MATNING DJUP ~
Q202=+30 ;SKAERDJUP ~
Q210=+0 ;VAENTETID UPPE ~
Q203=+0 ;KOORD. OEVERYTA ~
Q204=+100 ;2. SAEKERHETSAVST. ~
Q211=+0 ;VAENTETID NERE
8 ;
9 ;hål 1
10 PLANE RESET TURN FMAX
11 CYCL DEF 7.0 NOLLPUNKT
12 CYCL DEF 7.1 X+0
13 CYCL DEF 7.2 Y+0
14 CYCL DEF 7.3 Z+0
15 L Z+200 R0 FMAX M3
16 L X+50 Y+60 R0 FMAX
17 CALL LBL 1
18 ;
19 ;hål 2 flatan till höger vid x+
20 CYCL DEF 7.0 NOLLPUNKT
21 CYCL DEF 7.1 X+100
22 CYCL DEF 7.2 Y+0
23 CYCL DEF 7.3 Z+0
24 PLANE SPATIAL SPA+0 SPB+90 SPC+0 TURN FMAX
25 L Z+200 R0 FMAX M3
26 L X+75 Y+60 R0 FMAX
27 CALL LBL 1
28 ;
29 ;hål 3 flatan till vaenster vid x-
30 CYCL DEF 7.0 NOLLPUNKT
31 CYCL DEF 7.1 X+0
32 CYCL DEF 7.2 Y+0
33 CYCL DEF 7.3 Z+0
34 PLANE SPATIAL SPA+0 SPB-90 SPC+0 TURN FMAX
35 L Z+200 R0 FMAX M3
36 L X-75 Y+60 R0 FMAX
37 CALL LBL 1
38 ;
39 ;hål 4 flatan mot spindelpelaren vid Y+
40 CYCL DEF 7.0 NOLLPUNKT
41 CYCL DEF 7.1 X+0
42 CYCL DEF 7.2 Y+120
43 CYCL DEF 7.3 Z+0
44 PLANE SPATIAL SPA-90 SPB+0 SPC+0 TURN FMAX
45 L Z+200 R0 FMAX M3
46 L X+50 Y+75 R0 FMAX
47 CALL LBL 1
48 ;
49 CYCL DEF 7.0 NOLLPUNKT
50 CYCL DEF 7.1 X+0
51 CYCL DEF 7.2 Y+0
52 CYCL DEF 7.3 Z+0
53 PLANE RESET TURN FMAX
54 L X+0 Y+0 Z+100 R0 FMAX
55 M2

56 LBL 1 ;borrar 1 hal. Z upp. PLANE off
57 M99
58 L Z+300 R0 FMAX M91 ;upp i maskinens Z
59 PLANE RESET STAY
60 LBL 0
61 END PGM Borra hal i 4 sidor Huronhuvud AB MM

3+2-axl:
PGM14:
Borra 1 hål i fyra sidor med PLANE!

Det här är en vanlig grej på verkstan, att borra i olika riktningar. Maskinen kan vrida huvudet (t ex med PLANE), så att Z+ pekar ut längs borrhålet som vanligt (jag borrar som vanligt hela tiden med Z).

Genom att flytta nollan (INNAN jag vrider med PLANE) till hålets yta, hörnet, så kan jag köra med samma borrcykel hela tiden (Q203=0).

Jag la själva borrningen i LBL 1, och passade på att gå upp i maskinens Z+ (med M91 alltså).

 

 

Samma arbetsstycke kan också borras med den äldre CYCL 19 Vrida koordinatsystem, se nästa programexempel nedan!

 

 

 

 


Nu borras hål nr 3

 
Maskinens normalläge.
Nacke är A, 45-graders huvud är B.

0 BEGIN PGM Borra hal i 4 sidor Huron AB CYCL19 MM
1 ;Med CYCL19 i st f PLANE
2 ;Borrar ett hal mitt i fyra detaljytor.
3 ;Jag har hela tiden Z som verktygsaxel, och samma borrcykel, djup -45 och~
koord.arbst.yta är 0, dvs jag flyttar nollan till hörnet på ytan innan~
jag vrider med PLANE. Valter Isander mars 2010
4 BLK FORM 0.1 Z X+0 Y+0 Z-150
5 BLK FORM 0.2 X+100 Y+120 Z+0
6 TOOL CALL 13 Z S1000 ;borr
7 ;
8 CYCL DEF 200 BORRNING ~
Q200=+2 ;SAEKERHETSAVSTAAND ~
Q201=-45 ;DJUP ~
Q206=+500 ;MATNING DJUP ~
Q202=+30 ;SKAERDJUP ~
Q210=+0 ;VAENTETID UPPE ~
Q203=+0 ;KOORD. OEVERYTA ~
Q204=+100 ;2. SAEKERHETSAVST. ~
Q211=+0 ;VAENTETID NERE
9 ;
10 ;hal 1
11 CYCL DEF 19.0 BEARBETNINGSPLAN
12 CYCL DEF 19.1 A+0 B+0 C+0
13 L A+0 B+0 FMAX
14 CYCL DEF 7.0 NOLLPUNKT
15 CYCL DEF 7.1 X+0
16 CYCL DEF 7.2 Y+0
17 CYCL DEF 7.3 Z+0
18 L Z+200 R0 FMAX M3
19 L X+50 Y+60 R0 FMAX
20 CALL LBL 1
21 ;
22 ;hal2 flatan till höger vid x+
23 CYCL DEF 7.0 NOLLPUNKT
24 CYCL DEF 7.1 X+100
25 CYCL DEF 7.2 Y+0
26 CYCL DEF 7.3 Z+0
27 CYCL DEF 19.0 BEARBETNINGSPLAN
28 CYCL DEF 19.1 A+0 B+90 C+0

29 L A+Q120 B+Q121 FMAX

30 L Z+200 R0 FMAX M3
31 L X+75 Y+60 R0 FMAX
32 CALL LBL 1
33 ;
34 ;hal3 flatan till vänster vid x-
35 CYCL DEF 7.0 NOLLPUNKT
36 CYCL DEF 7.1 X+0
37 CYCL DEF 7.2 Y+0
38 CYCL DEF 7.3 Z+0
39 ;
40 CYCL DEF 19.0 BEARBETNINGSPLAN
41 CYCL DEF 19.1 A+0 B-90 C+0
42 L A+Q120 B+Q121 FMAX
43 L Z+200 R0 FMAX M3
44 L X-75 Y+60 R0 FMAX
45 CALL LBL 1
46 ;
47 ;hal4 flatan mot spindelpelaren vid Y+
48 CYCL DEF 7.0 NOLLPUNKT
49 CYCL DEF 7.1 X+0
50 CYCL DEF 7.2 Y+120
51 CYCL DEF 7.3 Z+0
52 CYCL DEF 19.0 BEARBETNINGSPLAN
53 CYCL DEF 19.1 A-90 B+0 C+0
54 L A+Q120 B+Q121 FMAX
55 L Z+200 R0 FMAX M3
56 L X+50 Y+75 R0 FMAX
57 CALL LBL 1
58 ;
59 CYCL DEF 7.0 NOLLPUNKT
60 CYCL DEF 7.1 X+0
61 CYCL DEF 7.2 Y+0
62 CYCL DEF 7.3 Z+0
63 CYCL DEF 19.0 BEARBETNINGSPLAN
64 CYCL DEF 19.1 A+0 B+0 C+0
65 CYCL DEF 19.0 BEARBETNINGSPLAN
66 CYCL DEF 19.1
67 L A+0 B+0 FMAX
68 L X+0 Y+0 Z+100 R0 FMAX M2
69 ;
70 LBL 1 ;borrar 1 hal. Z upp. PLANE off
71 M99 M3
72 L Z+200 R0 FMAX M91 ;upp i maskinen Z
73 PLANE RESET STAY
74 LBL 0

75 END PGM Borra hal i 4 sidor Huron AB CYCL19 MM

 

3+2-axl:
PGM15:

Borra 1 hål i fyra sidor med
CYCL 19!

Samma arbetsstycke och maskin som ovanstående exempel, men denna maskin har inte PLANE, men däremot den äldre CYCL 19, som har funnits i 10-15 år i TNC415B, 425, 426.430, iTNC530 m fl.

Tricket är att först begära vridning av koord.systemet med CYCL 19 (som i maskinparametrar i detta exempel är inställd på RYMDVINKEL, dvs inte huvudets fysiska vinklar!).

I CYCL 19 anger man samma vinklar som man skulle gjort i PLANE, t ex A-90 B+0 C+0 (dvs verktygets vinkel i förhållande till detaljens ursprungliga XYZ-system).

Detta vrider alltså XYZ-axlarna matematiskt, OCH beräknar aktuell maskins A- och B-vinklar så att rymdvinklarna blir rätt i maskinen! DETTA är "tricket". A, B och C för maskinen landar efter CYCL 19 i Q120, Q121 och Q122 respektive, och kan användas av programmeraren i dennes program för att vrida huvudet.

Alltså tar jag dessa Q och kör en vanlig linjär L för att vrida huvudet (block 29, 42, 53).

En del maskintillverkare totar ihop egna cykler för att vrida huvudet, och dessa cykler kan använda CYCL 19, eller PLANE internt, eller inte... och i senare fallet kan du nog ha nytta av Q120-122 som du stoppar in i den cykeln. Men kolla noga med din maskins manual och info...!

Maskiner med fasta lägen
i ABC

Du vet väl att många maskiner inte kan nå godtyckliga vinklar - de har en delning 1° eller 2,5°. Då ska du lära dig hur du kommer som närmast det som står på ritningen. Och kolla med kunden om det är okej att avvika si och så mycket från ritningen!

 

 

Valter Isander den 21 mars 2010

 

 

 

 

 

 

 

Samma maskin som exemplet ovan!


Maskinens normalläge.
Nacke är A, 45-graders huvud är B.

     

 

 

 

 

 

 

 

 

 

 

 

 

 

0 BEGIN PGM Slappning 3 sidor med PLANE MM
1 ;En liksidig trekant 100 mm sidor har slappning 15 grader pa tre sidor
2 ;Jag tar en maskin med B-huvud och C-bord, eftersom jag då kommer åt alla~
tre sidorna med vinkeln
3 ;Ett 45-graders huvud AB funkar inte på en av sidorna! Alltså väljer jag en maskin B-huvud, C-bord.
4 ;Triangelns bas är 100, toppen Y86.603
5 ;Valter Isander den 22 mars 2010
6 ;
7 BLK FORM 0.1 Z X-10 Y-10 Z-10
8 BLK FORM 0.2 X+110 Y+90 Z+20
9 TOOL CALL 25 Z S1000 ;Vanlig pinne
10 ;
11 PLANE RESET STAY
12 ;
13 ;Sida 1
14 CYCL DEF 7.0 NOLLPUNKT
15 CYCL DEF 7.1 X+100
16 CYCL DEF 7.2 Y+0
17 CYCL DEF 7.3 Z+0
18 L Z+100 R0 FMAX
19 PLANE SPATIAL SPA-15 SPB+0 SPC+0 MOVE FMAX
20 L X+55 Y+0 R0 FMAX M3
21 L X+55 Y+0 RL FMAX M3
22 L Z+0 RL F1500
23 L X-105 F550
24 L Z+100 R0 FMAX
25 PLANE RESET STAY ;reset eftersom jag vill flytta nollan. Stay eftersom det~
går snabbare
26 ;
27 ;Sida 2
28 Q20 = 50 * TAN 60 ;Y för triangelns övre spets
29 CYCL DEF 7.0 NOLLPUNKT
30 CYCL DEF 7.1 X+50
31 CYCL DEF 7.2 Y+Q20
32 CYCL DEF 7.3 Z+0
33 PLANE SPATIAL SPA+15 SPB+0 SPC-60 MOVE FMAX
34 L X-55 Y+0 R0 FMAX M3
35 L X-55 Y+0 RL FMAX
36 L Z+0 RL F1500
37 L X+105 F550
38 L Z+100 R0 FMAX

39 PLANE RESET STAY ;reset eftersom jag vill flytta nollan. Stay eftersom det~
går snabbare
40 ;
41 ;Sida 3
42 CYCL DEF 7.0 NOLLPUNKT
43 CYCL DEF 7.1 X+0
44 CYCL DEF 7.2 Y+0
45 CYCL DEF 7.3 Z+0
46 PLANE SPATIAL SPA+15 SPB+0 SPC+60 MOVE FMAX
47 L X-55 Y+0 R0 FMAX M3
48 L X-55 Y+0 RL FMAX M3
49 L Z+0 RL F1500
50 L X+105 F550
51 L Z+100 R0 FMAX

52 PLANE RESET MOVE DIST100 FMAX
53 M2
54 END PGM Slappning 3 sidor med PLANE MM

 

3+2-axl:
PGM15:

Fräsa tre kanter 15° med PLANE och RL

Sida 1 enkelt, bara luta verktyget 15° i block 19.
Jag flyttade nollan till högra hörnet först, men det var inte viktigt.

Sida 2: Nollan i övre spetsen, vrid A+15 och C-60, så att X+ går längs kanten.

Sida 3: Nollan i vänstra hörnet, vrid A+15, C+60, då löper X+ upp längs kanten (svarta axlar ritade av mig).

Verktyg valfritt, jag kör ju med RL som vanligt. Z lutar snett förstås.

Innan jag flyttar nollan stänger jag av med PLANE RESET.

B måste kunna vridas till 15 grader. C måste kunna vridas till multipler av 30 grader för denna triangel.

Anm: programmet är generellt för olika maskintyper, eftersom jag använder PLANE som fixar även 45-gradershuvuden etc. Men maskinen måste förstås mekaniskt kunna vinkla spindeln så att fräsen kommer åt överallt - ett vanligt huronhuvud fixar två av de tre sidorna (ej sida 1 på min triangel).

 

 

Valter testade den 22 mars 2010

När testar du och berättar hur det gick?!

valter.isander@telia.com

 


Maskin med B-huvud och C-bord

 


Just nu fräses 3:e sidan


Rätvinklig triangel, sidorna är 100 mm i basen,
sidorna lutar 15 grader


Titta på bearbetningen som film på Youtube! 
 
  

0 BEGIN PGM Slappning 3 sidor med CYCL19 MM
1 ;En liksidig trekant 100 mm sidor har slappning 15 grader pa tre sidor
2 ;Jag tar en maskin med B-huvud och C-bord, eftersom jag då kommer åt alla~
tre sidorna med vinkeln
3 ;Ett 45-graders huvud AB funkar inte på en av sidorna!
4 ;Triangelns bas är 100, toppen Y86.603
5 ;Detta pgm använder CYCL 19 och L BQ121 CQ122 i st f PLANE
6 ;Valter Isander den 23 mars 2010
7 ;
8 BLK FORM 0.1 Z X-10 Y-10 Z-10
9 BLK FORM 0.2 X+110 Y+90 Z+20
10 TOOL CALL 25 Z S1000 ;Vanlig pinne
11 ;
12 CYCL DEF 19.0 BEARBETNINGSPLAN
13 CYCL DEF 19.1 A+0 B+0 C+0
14 CYCL DEF 19.0 BEARBETNINGSPLAN
15 CYCL DEF 19.1

16 ;
17 ;Sida 1
18 CYCL DEF 7.0 NOLLPUNKT
19 CYCL DEF 7.1 X+100
20 CYCL DEF 7.2 Y+0
21 CYCL DEF 7.3 Z+0
22 L Z+100 R0 FMAX
23 CYCL DEF 19.0 BEARBETNINGSPLAN
24 CYCL DEF 19.1 A-15 B+0 C+0
25 L B+Q121 C+Q122 R0 FMAX

26 L X+55 Y+0 R0 FMAX M3
27 L X+55 Y+0 RL FMAX M3
28 L Z+0 RL F1500
29 L X-105 F550
30 L Z+100 R0 FMAX
31 CYCL DEF 19.0 BEARBETNINGSPLAN
32 CYCL DEF 19.1

33 ;
34 ;Sida 2
35 Q20 = 50 * TAN 60 ;Y för triangelns övre sPETS
36 CYCL DEF 7.0 NOLLPUNKT
37 CYCL DEF 7.1 X+50
38 CYCL DEF 7.2 Y+Q20
39 CYCL DEF 7.3 Z+0
40 CYCL DEF 19.0 BEARBETNINGSPLAN
41 CYCL DEF 19.1 A+15 B+0 C-60
42 L B+Q121 C+Q122 R0 FMAX

43 L X-55 Y+0 R0 FMAX M3
44 L X-55 Y+0 RL FMAX
45 L Z+0 RL F1500
46 L X+105 F550
47 L Z+100 R0 FMAX
48 CYCL DEF 19.0 BEARBETNINGSPLAN
49 CYCL DEF 19.1

50 ;
51 ;Sida 3
52 CYCL DEF 7.0 NOLLPUNKT
53 CYCL DEF 7.1 X+0
54 CYCL DEF 7.2 Y+0
55 CYCL DEF 7.3 Z+0
56 CYCL DEF 19.0 BEARBETNINGSPLAN
57 CYCL DEF 19.1 A+15 B+0 C+60
58 L B+Q121 C+Q122 R0 FMAX

59 L X-55 Y+0 R0 FMAX M3
60 L X-55 Y+0 RL FMAX M3
61 L Z+0 RL F1500
62 L X+105 F550
63 L Z+100 R0 FMAX
64 CYCL DEF 19.0 BEARBETNINGSPLAN
65 CYCL DEF 19.1 A+0 B+0 C+0 F1000 AVST100
66 CYCL DEF 19.0 BEARBETNINGSPLAN
67 CYCL DEF 19.1
68 L B+0 C+0 R0 FMAX

69 M2
70 END PGM Slappning 3 sidor med CYCL19 MM

 

3+2-axl:
PGM16:

Fräsa tre kanter 15° med CYCL 19 och RL (i st f PLANE)

Samma tänk som föregående pgm 15, men nu med äldre CYCL 19 samt L BQ121  CQ122 i st för PLANE.

Maskinens parametrar ska vara inställda på RYMDVINKEL för CYCL 19, dvs A B C i CYCL 19 avser verktygets vinkel kring X Y Z-axlarna, inte maskinens fysiska axlar (i denna maskin B och C).

A-vinkeln i CYCL 19 är alltså ingen maskinvinkel - den finns ju inte, men CYCL 19 räknar ut lämpliga vinklar [Q120=maskinens A, Q121=B, Q122=C] för B och C i denna maskin (eller en annan maskintyps fysiska axlar ABC, definierade i maskinens maskinparametrar).

 

Valter Isander
den 23 mars 2010

Som ovanstående exempel
 

0 BEGIN PGM M128 manuellt MM
1 BLK FORM 0.1 Z X-100 Y-100 Z-20
2 BLK FORM 0.2 X+100 Y+100 Z+0
3 TOOL CALL 1 Z S1000
4 L B+0 C+0 R0 FMAX ;B huvud. C bord steglöst
5 L X+75 Y+0 R0 FMAX M3
6 L Z+10 R0 FMAX
7 L Z-15 R0 F300 M128 F500         ;M128 gör att fräsen "följer med" hålet med C
8 L X+75 Y+0 C+90 R0 F500          ;                 -- "" --
9 L Z+100 R0 FMAX M129             ;M129 stänger av M128
10 M2
11 END PGM M128 manuellt MM
 

Alla 5:

Pgm 17
Jag kör ner fräsen i ett hål, kör sedan bordet runt, och fräsen "följer med i hålet".

M128= verktygets XYZ är KVAR i samma position (om jag inte ändrar XYZ förstås), även om jag vrider A,B eller C i maskinen.

Typiskt bra om jag ska fräsa 5-axligt, se ovan på denna sida.

 

 

 

Valter den 23 mars 2010

Bilden visar att man kan stoppa (röd NC-stopp) mitt i block 8, vrida bordet C, och då följer fräsen med hålet.
Man kan även vrida B-huvudet, och fräsen står kvar med spetsen på samma plats i biten, men fräsen går av förstås i detta fall, så jag körde upp i Z lite först...

 

Milling a cylinder with A and X motion.

0 BEGIN PGM Skruv med A-axel MM
1 ;Fräser 20 varv kring en cylinderaxel. Valter Isander, Rönninge, Sweden, den 13 maj 2010
2 ;Graf ok 530 om A axel finnes
3 ;obs M128 används som vanligt /used as usual
4 ;
5 BLK FORM 0.1 Z X-100 Y-100 Z-100
6 BLK FORM 0.2 X+100 Y+100 Z+100
7 ;YZ nollan i A cyl axel, dock ej nödvandigtvis i A centrum.
   ;YZ zero point in part center axis (X), but NOT the same as the A's rotating axis
8 CYCL DEF 247 ORIGOS LAEGE ~
Q339=+1 ;UTGAANGSPUNKT-NUMMER (may be skipped)
9 TOOL CALL 6 Z S1000 ; ordinary tool, R9
10 CYCL DEF 7.0 NOLLPUNKT (may be skipped)
11 CYCL DEF 7.1 Z+0
12 CYCL DEF 7.2 Y+0
13 L Z+200 R0 FMAX
14 M128                     ;red text is the pgm core
15 L A+0 R0 FMAX
16 L X-100 Y+0 Z+110 R0 FMAX M3
17 L Z+100 R0 F2000
18 Q10 = 10 / 360 ;ix om IX10 per varv och 1 grad IA
(makes IX matching IA+1° exaktly)
19 Q1 = 90 ;vinkel YZ
20 LBL 2
21 Q1 = Q1 + 1 ;ny vinkel YZ
22 Q2 = 100 * SIN Q1 ;Z
23 Q3 = 100 * COS Q1 ;Y
24 L IA+1 IX+Q10 Y+Q3 Z+Q2 F2000
25 CALL LBL 2 REP7199

26 L Z+200 R0 FMAX M2
27 END PGM Skruv med A-axel MM


Graphic in editing mode, 3D

PGM 18

Milling a cylinder with A and X motion.

In this program I used M128 to show that one can put the part zero (YZ) NOT in the same position as the A-axis rotating axis point (YZ).

The solution is to generate a point that moves YZ around the cylinder (Q2 and Q3, simple triginometry for a  circle).

You may probably use polar motion CC Y..Z.. in stead of my formulas, but then you must sidestep in X in a separate block (because TNC cannot mix LP with third axis X --  but CP may work!....).

See this graphic live on YouTube!

Distributed on the 13'th of May 2010
Valter Isander, Rönninge, Sweden
 

General note on NC graphic:
TOOL IS ALWAYS MOVING!
PART IS ALWAYS STATIC!
ACCORDING TO MACHINE TOOL ISO RULES.

Consequence is that in TNC graphic 3D, the tool rotates around the part! (TEST MODE)

(the TNC machine graphics seems not showing this quite correct - softw 340494 05 SP5).

 

Machine with A-axis and M128
(or TCPM) set up.


 

NOTE!

If your machine does not have M128 or TCPM, for example an old machine - TNC355 and similar do the following:

1 Put the part zero YZ in A-axis!
2 Run the following program:

PGM 19 ----- without M128
BLK... no use
TOOL CALL 6  Z   S1000
L A0  FMAX M3
L X-100 Y0  Z110  R0 FMAX
L  Z100       F2000           ;touch the cylinder surface
LBL 2
L  IA+360  IX+20            ;one screw turn
CALL LBL  2  REP 20     ;total 21 turns, IX410
mm
L Z200  FMAX  M2

note: the feedrate F2000 will be correct only when the cylinder radius is about 57 mm, otherwise lower or higher than F2000 mm/min (tool feedrate in part material).

 

 

 

 



Här fräser jag tredje sidan med dubbelhuvudet AB,
men i programmet är B=15° (Q2) och C=-144° (Q32)

 

0 BEGIN PGM Pyramider-Multi MM
1 Q1 = 22           ;forskjutn. X normalt till Z-axeln snett
2 Q2 = 15            ;sidans lutning grader
3 Q3 = 5       ;Antal sidor paa pyramiden
4 ;
5 ;Med PLANE programmerar man verktygets vinklar i detaljens koord.system,~
inte maskinens vinklar, dvs programmet funkar i olika maskintyper, med~
olika axlar ABC
6 ;
7 ;Kinematic nr 0, B head C table
8 ;Kinematic nr 20, AB swivel table
9 ;Kinematic nr 25, BC swivel table 45-50 graders
10 ;
11 Q30 = Q3 - 1 ;Antal REP
12 Q31 = 360 / Q3 ;deln vinkel C
13 Q32 = 0 ;C reset
14 BLK FORM 0.1 Z X-55 Y-55 Z-20
15 BLK FORM 0.2 X+55 Y+55 Z+0
16 TOOL CALL 20 Z S1000 ;R26 pinne eller liknande
17 Q1 = Q108 + Q1 ;X snett. Detta block motsvarar RL kompensering, vilket~
ocksa kan anvandas
18 L Z+100 R0 FMAX M3
19 PLANE RESET MOVE DIST100 FMAX
20 ;
21 LBL 1
 
22 PLANE SPATIAL SPA+0 SPB-Q2 SPC+Q32 TURN FMAX
  23 L Z+40 R0 FMAX M3
  24 L X+Q1 Y+80 R0 FMAX
  25 L Z-40 R0 F2000
  26 L Y-80                   ;KANT FRASES NU
  27 L Z+40
  28 Q32 = Q32 - Q31   ;C vinkel for nasta sida
29 CALL LBL 1 REPQ30

30 ;
31 PLANE RESET MOVE DIST100 FMAX
32 M2
33 END PGM Pyramider-Multi MM

PGM 19
MULTI-PYRAMIDER.h

Q1=Avståndet från sneda Z-axeln till kanterna på toppen
Q2=Sidornas lutning från vertikalen
Q3= antalet sidor i pyramiden

Alltså enkelt att köra fram en godtycklig "pyramid", t ex med 2, 3, 4, 5 eller 8 eller 19 sidor... ändra bara Q3 i block 3.

Detaljen kan spännas upp varsomhelst på rundbordet, eller på maskinbordet (om dubbel vinkelbart huvud). Maskinens vinkelaxlar kan heta "vadsomhelst" (dvs AB, AC, BC), eftersom TNC530 med PLANE-funktionen fixar till så att maskinens vinkelaxlar vrids rätt automatiskt.

XYZ nollpunkt ligger i mitten på toppen som vanligt. XY-nollan måste inte sammanfalla med maskinbordets rotationsaxel - PLANE i TNC sköter om allt...

ALLTSÅ IGEN!!!!!
I PLANE anger man verktygets (detaljytans) vinkel i XYZ-systemet, inte maskinens vinkelaxlars värden. Det är det som är det fina med PLANE!

Man kan köra med MOVE eller TURN i PLANE. Men om du kör med STAY måste du själv vrida maskinens vinkelaxlar med t ex
L AQ120 BQ121 (se maskinens A...B... i bilden ovan till vänster).

Ha det skönt i sommar!
Valter Isander, Rönninge, den 29 juni 2010

 


Q3=3


Q3=4



Q3=8

 

Q3 är antalet sidor på detaljen. Det kan vara från 2 st eller mer, tja 1 går väl också...

 

 


 

På menyn idag:

PLANE AXIAL!

 

 

 

 

 

 

 

 

0 BEGIN PGM Borra med PLANE AXIAL MM
1 ;Borra snett i mitten av bortre kanten på biten
2 ;Halet pekar 60 grd nedat, dvs rymdvinkel A-30, 15 grd vridet sett uppifran, dvs rymdvinkel C-15
3 ;Valter Isander den 20 sept 2010
4 ;Kinematic 45-graders huvud, A-B-axlar
5 BLK FORM 0.1 Z X+0 Y+0 Z-50
6 BLK FORM 0.2 X+100 Y+100 Z+0
7 TOOL CALL 1 Z S1000
8 L X+0 Y+0 Z+100 R0 FMAX M3
9 CYCL DEF 7.0 NOLLPUNKT
10 CYCL DEF 7.1 X+50
11 CYCL DEF 7.2 Y+100
12 CYCL DEF 7.3 Z+0

       ;Följande  gråa block använde jag bara för att TNC:n ska beräkna ;maskinens fysiska AB-axlar - det utförs ju av PLANE SPATIAL i block 13, där jag ;anger verktygets vinkel i XYZ-systemet, inte maskinens fysiska AB-;vinklar. Sedan låter jag PLANE AXIAL använda de vinklarna (Q1, Q2).

;I stället hade jag kunnat titta i maskinens "pärm" (det gamla ;sättet alltså) för att se vilka vinklar maskinens huvud vill ha ;för att verktyget ska stå i önskad rymdvinkel, i detta fall A-;30° och C-15°, vilket resulterar i maskinvinklar A+88,047 och ;B-45.311 (detsamma som B+314,689 se bilden till höger)

13 PLANE SPATIAL SPA-30 SPB+0 SPC-15 STAY
14 ;spar beraeknade vinklarna AB foer denna maskin i Q1, Q2, de beraeknas ju~
av PLANE!
15 Q1 = Q120 ;Maskin axel A..88,047
16 Q2 = Q121 ;Maskin axel B..-45.311

17 Q3 = Q122 ;Maskin axel C, finns ej i denna maskin....
18 PLANE RESET STAY ;staeng av PLANE, vi ska ju leka med PLANE AXIAL, inte
PLANE SPATIAL...

19 ;
20 ;Nu provar vi PLANE AXIAL med de av PLANE beraeknade vaerdena!
21
PLANE AXIAL A+Q1 B+Q2 MOVE DIST 0 F1000
22 L X+0 Y+0 Z+50 R0 FMAX M3 ;Mitt foer haalet
23 CYCL DEF 200 BORRNING ~
Q200=+2 ;SAEKERHETSAVSTAAND ~
Q201=-60 ;DJUP ~
Q206=+200 ;MATNING DJUP ~
Q202=+10 ;SKAERDJUP ~
Q210=+0 ;VAENTETID UPPE ~
Q203=+0 ;KOORD. OEVERYTA ~
Q204=+2 ;2. SAEKERHETSAVST. ~
Q211=+0 ;VAENTETID NERE
24 CYCL CALL M3
25 L Z+100 R0 FMAX
26 PLANE AXIAL A+0 B+0 MOVE DIST0 F1000 COORD ROT
27 CYCL DEF 7.0 NOLLPUNKT
28 CYCL DEF 7.1 X+0
29 CYCL DEF 7.2 Y+0
30 CYCL DEF 7.3 Z+0
31 L X+0 Y+0 Z+100 R0 FMAX M5
32 M2
33 END PGM Borra med PLANE AXIAL MM

 

3+2-axl:
PGM 20:

Vad är PLANE AXIAL?!

Varför finns numera kommandot PLANE AXIAL i TNC530?
Jo i PLANE AXIAL kan du mata in maskinens vinklar!

Så här är det alltså:
1
först kom CYCL 19, ojoj, då måste användaren bestämma sig för om vinklarna var RYMDVINKLAR (det som "står på ritningen", eller FYSISKA VINKLAR ("det som maskinens axlar ska köras till för att det ska motsvara ritningens vinklar"). Man kunde ställa om mellan dessa principer med en maskinparameter MP7500. Men hur kul är det att greja med maskinparametrar.
○°▬*!? Nä.

2
Sedan kom PLANE (alltid rymdvinklar), OK! Men det fanns ingen PLANE där man kunde mata in maskinens vinklar (som en del vill göra, de kan ju stå på en ritning eller i gamla program!)

3
Då kom tillägget PLANE AXIAL.
Nu kan man välja allt med PLANE...:
Gör så här:
- SPATIAL om man vet rymdvinklar
- AXIAL om man vet maskinens fysiska vinklar

I programmet till vänster borrar jag ett hål snett. Det kräver att den aktuella maskinens huvud (se bilden till höger) vrids i två axlar A, B. Dessa vinklar är ju inte desamma som står på ritningen (som är 30 och 15°).

PLANE SPATIAL (och CYCL 19 med rymdvinkel inställt) räknar ut maskinens vinklar (Q120-Q122) - om man inte redan vet dessa vinklar... alltså kunde jag, som inte visste de maskinvinklarna, köra en PLANE SPATIAL (utan huvudvridning dvs STAY), så vips fick jag Q120-... Sedan körde jag en PLANE AXIAL med de vinklarna Q120... och fick rätt hål borrat.

Alltså:
Om du vet maskinvinklarna, men inte verktygets rymdvinklar, har du nytta av PLANE AXIAL. Ange axlar ABC som din maskin har, NOENT på de den inte har.

Många maskiner kan inte vrida vinklarna steglöst. Då kan du förstås inte räkna med att MOVE eller TURN funkar. Men STAY funkar kanske... dvs bara koordinatsystemets XYZ-axlar vrids matematiskt, maskinen är still - DEN vridningen får du sköta på annat sätt, kanske en CYCLE från din maskintillverkare!

Hälsar
Valter den 20 september 2010

Maskinen har ett 45-gradershuvud, två vridbara axlar alltså.

Med ett sådant steglöst huvud kan du nå "alla" vinklar med verktyget.

Många maskiner har dock 1° eller 2,5° steg. Då måste man jämka lite, fråga kunden om han accepterar att vinkeln blir t ex 30,07° i st f 30,000°....

 

Kolla när det här programmet körs på YouTube

 

0 BEGIN PGM ROR21 MM
1 ; PSURF 2011/03/03 15:31:40
2 ;Copyright 2011 Valter Isander
3 TOOL CALL 20 Z S1500      ;R10 FULL R
4 CYCL DEF 10.0 VRIDNING
5 CYCL DEF 10.1 ROT+0
6 CYCL DEF 7.0 NOLLPUNKT
7 CYCL DEF 7.1 X+0
8 CYCL DEF 7.2 Y+0
9 CYCL DEF 7.3 Z+0
10 ;KROKIGT ROER: ROERRADIE= 50
11 ; KROKRADIE= 100
12 ; STARTVINKEL XY= 0
13 ; SLUTVINKEL XY= 180
14 ; STARTVINKEL ROERYTA= 0
15 ; SLUTVINKEL ROERYTA= 180
16 ; KLAETTRINGSVINKEL= 2
17 ; FRAESRIKTNING DR= 1
18 ; VRIDNINGSVINKEL=0
19 BLK FORM 0.1 Z X-155 Y+0 Z+0
20 BLK FORM 0.2 X+155 Y+155 Z+70
21 CYCL DEF 10.0 VRIDNING
22 CYCL DEF 10.1 ROT+0
23 L Z+300 R0 F9999 M3
24 L M3

25 FN 0: Q56 =-2      ;START KLÄTTR.VINKEL (JUSTERAD)
26 LBL 56
27 L Z+300 R0 F9999
28 FN 1: Q56 =+Q56 + +2               ;OEKA KLÄTTR.VINKELN
29 FN 7: Q57 = COS +Q56
30 FN 3: Q57 =+Q57 * +60
31 FN 2: Q57 =+100 - +Q57
32 CC X+0 Y+0
33 LP PR+Q57 PA+0 R0 F9999               ;FRAM ÖVER NY STARTPKT
34 FN 6: Q58 = SIN +Q56
35 FN 3: Q58 =+Q58 * +60
36 FN 1: Q59 =+Q58 + +30
37 L Z+Q59 R0 F9999
38 L Z+Q58 R0 F80 ;NED NYTT Z
39 CP PA+180 DR+ R0 F120
40 FN 12: IF +Q56 LT +180 GOTO LBL 56

41 L Z+300 F9999
42 END PGM ROR21 MM
 

3-axlig körning XYZ:
PGM 21:
En Qrok

Detta är ett exempel på hur man stegar fram en krökt yta med successiva stegande skär. Det egentliga bearbetningsskäret är block 39 CP ... som kör en cirkelbåge 180° horisontellt.

Fräsradiekompensering används som vanligt inte i sådana här ytprogram, du måste själv lägga in beroendet av fräsens radie (stammen och änden, i detta fall samma R10, en fullradiefräs).

Det finns enklare sätt att lösa just detta fall, helt utan SIN, COS, men som vanligt... det finns många sätt att sätta ner ett spett.

Programmet bör funka även i så gamla TNC som TNC150, som ju har Q-funktioner.

Valter Isander

Rönninge den 3 mars 2011

 

Jämför med nästa PGM 22, som gör samma sak. PGM 21 är dock mer generellt eftersom man kan starta och klättra i godtycklig vinkel.

 

 

Ja så här blev biten i grafiken.
I verktygstabellen bör du sätta R10 och R2=10, då ser du verkligt verktyg och detalj i grafiken. Men i maskinen blir biten rätt vad du än sätter i verktygstabellen...

Verktygslängden mäter jag till spetsen som vanligt.

0 BEGIN PGM 22-LP-CP MM
1 ;Copyright 2011 Valter Isander
2 ;KROKIGT ROER: ROERRADIE= 50
3 ; KROKRADIE= 100
4 ; STARTVINKEL XY= 0
5 ; SLUTVINKEL XY= 180
6 ; STARTVINKEL ROERYTA= 0
7 ; SLUTVINKEL ROERYTA= 180
8 ; KLAETTRINGSVINKEL= 1
9 ; FRAESRIKTNING DR= 1 och Dr=-1
10 BLK FORM 0.1 Z X-155 Y+0 Z+0
11 BLK FORM 0.2 X+155 Y+155 Z+51
12 ;

13 TOOL CALL 20 Z S1500           ;R10 FULL R, dvs Q108 blir 10

14 L Z+100 R0 FMAX M3
15 L X+0 Y-30 R0 FMAX
16 L Z-Q108 R0 F500
17 L X+40 Y+0 R0

18 LBL 1
19 CC X+100 Z-Q108                   ;CC foer att klattra, till hoeger
20 CP IPA+1 DR+                        ;Klattra en grad
21 CC X+0 Y+0
22 CP PA+180 DR+ R0 F400       ;Nu fraeser vi!
23 CC X-100 Z-Q108                   ;CC till vänster för att klättra
24 CP IPA-1 DR-                         ;Klättra 1 grad
25 CC X+0 Y+0
26 CP PA+0 DR-                        ;Fräs tillbaka
27 CALL LBL 1 REP89

28 L Z+100 F9999
29 END PGM 22-LP-CP MM


3-axlig körning XYZ:
PGM 22:
En Krok
(jämför PGM 21 ovan som gör samma detalj)

Detta är ett exempel på hur man stegar fram en krökt yta med successiva stegande skär. De egentliga bearbetningsskären är block 22 och 26 CP ... som kör en cirkelbåge 180° horisontellt.

Fräsradiekompensering används som vanligt inte i sådana här ytprogram, du måste själv lägga in beroendet av fräsens radie (stammen och änden, i detta fall samma R10, en fullradiefräs).

Vid TOOL CALL laddas Q108 med R10, som jag sedan använder i de gröna orden, eftersom jag vill programmera verktygets SPETS, inte verktygskulans centrum...

Programmet använder alltså inga Q-funktioner (Q108 kan man ersätta med 10).

Programmet bör funka även i så gamla TNC som TNC150, som ju har Q-funktioner, dock har TNC150 inte Q108, det kom med TNC155Q.

(c) Valter Isander

Rönninge den 3 mars 2011

Grafiken visar detta.
Endast block 28 L Z+100 kvarstår att exekvera.

 

Programmet använder CC X...Z... (eller CC Y...Z... om du vill klättra i ett YZ-plan), vilket kräver att du klättrar i ett 90°-gradersläge, dvs man kan inte klättra 3-axligt XYZ med CC... CP... (jo i allra senaste TNC530 tror jag).

 

 

     
PGM 23:   5-axlig fräsning av en kon, med RL och flera skär DL

0 BEGIN PGM Kon-5-axl-TCPM-RL-DL-DR MM
1 ;RL funkar med TCPM om man sätter DRvtygsradien i TOOL CALL, samt M107 modal....
2 ;Verktyget styr pa Z foer aenden, dvs om en fas lutar maaste man veta~
djupet laengs sneda ytan, saetta DL foer varje skaer
3 ;
4 ;Fraeser en kon diam200 i toppen, 90 mm sned 20 grader, 3 skaer, 5 axl AC-maskin med t ex swivell table... med TCPM...SPAT
5 ;dvs man programmerar verktygets vinklar i foerhallande till detaljen, i XYZ (ABC)
6 ;Programmet visar korrekt grafik, Valter Isander maj 2014
7 ;
8 BLK FORM 0.1 Z X-135 Y-135 Z-100
9 BLK FORM 0.2 X+135 Y+135 Z+0
10 ;
11 Q10 = - 30     ;DL
12 LBL 2 ;Flaera skaer i Z-
13 TOOL CALL 40 Z S1000 DL+Q10 DR+40 ;R40
14 L Z+200 R0 FMAX
15 M107 ;Undertryck error 3Dkomp, om plus
16 FUNCTION RESET TCPM
17 L Z+200 R0 FMAX M3
18 L A+0 B+0 C+0 F10000 ;inget M128 haer, vi koer ju TCPM i staellet
19 L X-200 Y+0 R0 FMAX M3
20 L Z+10 R0 FMAX
21 FUNCTION TCPM F CONT AXIS SPAT PATHCTRL VECTOR ;obs SPAT funkar rymdvinkel~
ABC, aeven foer Huron huvuden

22 L A+0 B+20 C+0 F100
23 L Z+0 R0 F100
24 L X-100 Y+0 RL F400
25 Q1 = 180 ;grad startläge på cirkeln (från vänster i XY-planet)
26 LBL 1
27 Q1 = Q1 - 0.1 ;grad steg för nästa punkt på cirkeln
28 Q2 = 100 * COS Q1 ;x
29 Q3 = 100 * SIN Q1 ;y
30 L X+Q2 Y+Q3 IC-0.1    ;C aer spatial vinkel nu
31 CALL LBL 1 REP3599 ;1 varv x 0,1 grad steg

32 M140 MB+120 F1000 ;Drar snett upp
33 L Z+200 R0 FMAX
34 L A+0 B+0 C+0 R0 FMAX
35 L X+0 Y+0 Z+200 C+0 R0 FMAX
36 FUNCTION RESET TCPM
37 Q10 = Q10 - 30 ;Naesta skaerdjup DL...
38 CALL LBL 2 REP2 ;2 skaer till, varje matar ner 10 mm via DLQ10...
39 M2
40 END PGM Kon-5-axl-TCPM-RL-DL-DR MM
 


Konens topp R100. Vinkel 20°. Djup 90 (längs 20°-sidan).

 

Detta program för TNC530 fräser en cirkulär kon 20 grader, med en vanlig pinnfräs diam 80. Radiekompensering RL med DR (TOOL CALL), samt nya djup (stegar -30 i verktygsaxeln) med DL (TOOL CALL).

Rörlig grafik på Youtube: Zl2iw02LOyI



Tre vyer


T ex 5-axlig maskin med XYZAC.
Även andra maskiner med fem kontinuerliga axlar kan fungera med detta program.

 

 

Valter Isander maj 2014
valter.isander@telia.com

 

 
Pgm 24: Milling angled sides
Sub program for easy milling a contour with angled sides.

(Fräsning av sidor med vinkel, Heidenhain TNC320, 530, 640, 426 m fl)

Want to try this “Cycle”?
It will easy cut any contour with angled side/sides.
Use my subprogram Valter25.h and make a part program (see test program) calling Valter25.h.
Tool data (R and R2, any tool) in Tool Table as usual.
Easy to use! Only one Q (angle).

How to install:
1 Use a TNC320, 530, 640 (Q function SYSREAD).
2 Copy text Valter25.h and the test pgm. Save in two files on PC, text files, try Wordpad by paste+save to .H file.
3 Transfer the two files from PC to your TNC, best in same folder.
4 Use a tool in Tool table (se Tool call in test pgm), R and corner R2 as you wish.
5 Start and run graphics, see how it works
6 Try other tool R/R2, angle Q20, contour in LBL 1-LBL 0 etc.
7 Use in production
8 Don’t edit Valter25.h … 😁

Good luck!
 

See also
https://www.facebook.com/groups/TNC.programmering.med.Valter/permalink/6796818460391192/

Other examples:

A cone

Combined with standard PLANE in TNC

Video for TestValter25
https://1drv.ms/v/s!Ahj2aLMfWRNFh88PqXdVEO5XSArwQg
 


A common part, milled by Valter25.h

220-06-21 by Valter Isander, Sweden

This is a test exampel,
 a part program. It calls the Valter25.H program, you see it to the right.

Make your own part program:

1 TOOL in TOOL TABLE! R and R2 may be set.
2 TOOL CALL ...
3 Q20=... the side angle to be milled. 90 is vertical. 0 is not possible.
4 CYCL 14... the contour LBL
5 CYCL 25 as in the TNC handbook
6 M3
7 CALL PGM Valter25.h  This is the "cycl call" to the subprogram
8 M2
9 LBL 1
.... Your contour as in TNC handbook
.. LBL 0
End PGM


Here is a test program
TestValter25
 

0 BEGIN PGM TestValter25A MM
1 BLK FORM 0.1 Z X-20 Y-20 Z-31
2 BLK FORM 0.2 X+120 Y+120 Z+0
3 TOOL CALL 1 Z S1000 ;Full R20
4
Q20 = 60 ;Side angle. *90 is vertical*
5 CYCL DEF 14.0 KONTUR
6 CYCL DEF 14.1 KONTURLABEL1
7 CYCL DEF 25 KONTURLINJE ~
Q1=-40 ;FRAES DJUP ~
Q3=+0 ;TILLAEGG SIDA ~
Q5=+0 ;KOORD. OEVERYTA ~
Q7=+30 ;SAEKERHETSHOEJD ~
Q10=+8 ;SKAERDJUP ~
Q11=+150 ;MATNING DJUP ~
Q12=+800 ;MATNING FRAESNING ~
Q15=+1 ;FRAESSMETOD ~
Q18=+0 ;FOERBEARB.VERKTYG ~
Q446=+0.01 ;RESTMATERIAL ~
Q447=+10 ;ANSLUTNINGSAVSTAAND ~
Q448=+2 ;BANFOERLAENGNING
8 M3
9
CALL PGM Valter25.h
10 M2
11 ;
12 ; your contour
13
LBL 1
14 L X+0 Y+50 RL
15 L Y+100
16 L X+100
17 L Y+80
18 CR Y+20 R-32 DR+
19 L Y+0
20 L X+0
21 L Y+50
22 LBL 0
23 END PGM TestValter25 MM
 

This is the sub program
 
you should call with your own part program (see TESTValter...) with CALL PGM Valter25.h.
Do not change this file in your TNC.

0 BEGIN PGM Valter25 MM
1 ;Valter Isander, Stockholm 18 February 2020
2 ;This program executes the milling of a contour with sides at an angel~
0,001 to 90 degrees.
3 ;Angele is defined as Q20=... in the user program. Vertical side is Q20=90.~
This program is called by the user as CALL PGM Valter25.h
4 ;The tool may be cylindric R=..., R2=0, or with a corner radius R2=...~
These values must be set in TOOL TABLE
5 ;
6 ;Check input for acceptable values
7 FN 12: IF +Q20 LT +0.1 GOTO LBL 99 ;Angle too small, zero not okay
8 FN 11: IF +Q20 GT +90 GOTO LBL 99 ;Angle too large, max 90
9 ;
10 Q33 = Q1 ;Copy input DEPTH
11 Q34 = Q10 ;Copy input CUT DEPTH
12 FN 18: SYSREAD Q22 = ID50 NR3 ;TOOL R2. R is in Q108 after TOOL CALL
13 ;
14 Q31 = ABS ( INT ( ABS ( Q33 / Q34 ) + 0.9 ) ) ;Number of slices, rounded~
up, if 10 proc more;
15 Q40 = ABS ( Q1 / Q31 ) ;One slice depth mm
16 ;
17 Q42 = 0 ;Number of cuts executed so far, i e counter. Note-top of part is~
cut, ie touched
18 Q1 = - ABS ( Q40 ) ;start first cut, then add Q40
19 Q10 = Q1 ;adjusted CUT DEPTH at start, then add Q40
20 ;
21 ;Now calculate the corresponding DR value Q43 to get correct side angle. DR~
always positive, meaning angle max 90 degr
22 Q43 = ABS ( Q33 * TAN ( 90 - Q20 ) / Q31 ) ;DR increment, always positive,~
as if sharp tool
23 Q44 = 0 ;DR init
24 ;
25 Q56 = Q22 - Q22 * SIN Q20 ;adjust DR due to corner Radius R22
26 Q57 = - ( Q22 - Q22 * COS Q20 ) ;adjust DL due to corner Radius Q22
27 ;
28 LBL 1 ;now loop ----------
29 Q44 = Q44 + Q43 ;Next DR for next cut as for sharp tool
30 ;
31 ;adjust for corner radius R2 in tool table, meaning Q22
32 Q52 = Q44 - Q56 ;resulting DR to use in next cut, meaning Q20 and the R2~
infuencing
33 TOOL CALL DL+Q57 DR+Q52 ;Next cut
34 M99
35 Q1 = Q1 - ABS Q40 ;DEPTH mow this cut
36 Q10 = Q1 ;all in one slice at M99
37 Q42 = Q42 + 1 ;Cut counter
38 FN 12: IF +Q42 LT +Q31 GOTO LBL 1 ;More cutting?
39 ;-------------
40 ;
41 ;Finished contour all cuts, now reset input Q1 and Q10 for correct use~
later
42 Q1 = Q33
43 Q10 = Q34
44 FN 9: IF +0 EQU +0 GOTO LBL 100
45 LBL 99 ;Error input
46 FN 15: PRINT Q20
47 FN 14: ERROR= 99 ;Not allowed is.. Q20=0, Q20>90
48 LBL 100 ;OK finished
49 END PGM Valter25 MM
 

     
   
© 2010 och 2011, 2013 Valter Isander NC Teknikkonsult 144 62 Rönninge   Heidenhain TNC TNC426 TNC415 TNC415B TNC530 iTNC530 TNC 530 Heidenhain NC-maskiner bearbetning 5-axlig femaxlig XYZ ABC TCPM M114 M128 M140 PATH CONTROL CAD CAM 3D CYCL 19 CYCL19 PLANE krökta ytor sculptured surfaces tredimensionell, roterande axlar, normalvektor LN-block verktyg radiefräs fullradiefräs bearbetningsplan verktygsaxel rymdvinkel spatial MP7500 kinematik kinematic vektor vector path pathcontrol styrning

Till Valters startsida

  Antal besök Idag