TNC 530 Prosze o pomoc i podpowiedzi.
: 03 paź 2017, 09:12
Witam, pierwszy mój post, więc... z obróbką skrawaniem jak i CNC mam do czynienia zaledwie od kilku miesięcy, jednak chciał bym się w tym kierunku rozwijać, gdyż to zwyczajnie wciąga. Pracuje na niezbyt precyzyjnej maszynie ze sterowaniem Heidenhain iTNC 530. Tyle by było na mój temat, a teraz konkretnie.
Chciałem napisać program, który wybierze mi coś na wzór kieszeni prostokątnej z jednoczesnym wykonaniem zadanego promienia na dnie. Koncept miałem taki, że pierwsza część programu wybiera za pomocą kieszeni prostokątnej kieszeń na głębokość pomniejszoną o wartość promienia dna, następnie program wykonuje kolejną kieszeń której wymiary są pomniejszone w osiach X i Y o dwukrotność promienia na dnie wybrania.
Problem mam z napisaniem ostatniej części która miała wykonywać promień na dnie, idea była taka, że co wartość dosuwu program wylicza sobie cięciwę do której dodaje wymiary z poprzednio wykonanej kieszeni i robi kolejne przejazdy do uzyskania żądanego kształtu. Niestety coś namieszałem i mi to nie działa. Prawdopodobnie namieszałem z parametrami "Q" i "FNx: Q=", nie za bardzo rozumiem kiedy których się powinno używać i jaka jest różnica miedzy zapisem "Q1 = Q2 + Q3" a dajmy na to "FN1: Q1 = Q2 + Q3".
Inna sprawa to jak wyciągnąć aktualny poziom narzędzia w osi Z?
Poniżej wklejam plik który wymodziłem, proszę o spojrzenie i ewentualne sugestie
Proszę o sprawdzenie i wszelkie sugestie. Wybaczcie ewentualny bełkot, ale po nocce jestem.
Chciałem napisać program, który wybierze mi coś na wzór kieszeni prostokątnej z jednoczesnym wykonaniem zadanego promienia na dnie. Koncept miałem taki, że pierwsza część programu wybiera za pomocą kieszeni prostokątnej kieszeń na głębokość pomniejszoną o wartość promienia dna, następnie program wykonuje kolejną kieszeń której wymiary są pomniejszone w osiach X i Y o dwukrotność promienia na dnie wybrania.
Problem mam z napisaniem ostatniej części która miała wykonywać promień na dnie, idea była taka, że co wartość dosuwu program wylicza sobie cięciwę do której dodaje wymiary z poprzednio wykonanej kieszeni i robi kolejne przejazdy do uzyskania żądanego kształtu. Niestety coś namieszałem i mi to nie działa. Prawdopodobnie namieszałem z parametrami "Q" i "FNx: Q=", nie za bardzo rozumiem kiedy których się powinno używać i jaka jest różnica miedzy zapisem "Q1 = Q2 + Q3" a dajmy na to "FN1: Q1 = Q2 + Q3".
Inna sprawa to jak wyciągnąć aktualny poziom narzędzia w osi Z?
Poniżej wklejam plik który wymodziłem, proszę o spojrzenie i ewentualne sugestie
Kod: Zaznacz cały
0 BEGIN PGM promień dna MM
1 BLK FORM 0.1 Z X-30 Y-30 Z-60
2 BLK FORM 0.2 X+30 Y+30 Z+0
3 Q30 = 55 ;(+)Dlugosc 1-szej strony
4 Q31 = 55 ;(+)Dlugosc 2-giej strony
5 Q32 = 55 ;(+)Glebokosc wybrania
6 Q33 = 10 ;(+)Promien Naroza
7 Q34 = 10 ;(+)Promien dna
8 Q35 = 0.3 ;(+)Dosow
9 Q36 = 7000 ;(+)Posow
10 Q37 = 1900 ;(+)Obroty
11 Q38 = 5 ;Numer narzedzia
12 Q39 = 0 ;Wspolrzedna powierzni
13 Q28 = 0 ;Wspolrzedna osi X
14 Q29 = 0 ;wspolrzedna osi Y
15 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
16 ;;;; Ponizej nie zmieniac!!! ;;;;
17 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
18 TOOL CALL 5 Z S1900 F7000
19 LBL 1
20 Q40 = Q32 - Q34 ;Glebokosc do promienia
21 CYCL DEF 251 KIESZEN PROSTOKATNA ~
Q215=+1 ;RODZAJ OBROBKI ~
Q218=+Q30 ;DLUG. 1-SZEJ STRONY ~
Q219=+Q31 ;DLUG. 2-GIEJ STRONY ~
Q220=+Q33 ;PROMIEN NAROZA ~
Q368=+0.0001 ;NADDATEK NA STRONE ~
Q224=+0 ;KAT OBROTU ~
Q367=+0 ;POLOZENIE KIESZENI ~
Q207=+Q36 ;POSUW FREZOWANIA ~
Q351=+1 ;RODZAJ FREZOWANIA ~
Q201=-Q40 ;GLEBOKOSC ~
Q202=+Q35 ;GLEBOKOSC DOSUWU ~
Q369=+0.0001 ;NADDATEK NA DNIE ~
Q206=+Q36 ;WARTOSC POSUWU WGL. ~
Q338=+0 ;DOSUW - OBR.WYKONCZ. ~
Q200=+2 ;BEZPIECZNA WYSOKOSC ~
Q203=+Q39 ;WSPOLRZEDNE POWIERZ. ~
Q204=+50 ;2-GA BEZPIECZNA WYS. ~
Q370=+1 ;ZACHODZENIE TOROW ~
Q366=+2 ;ZAGLEBIANIE ~
Q385=+500 ;POSUW OBR.WYKAN.
22 L X+Q28 Y+Q29 R0 FMAX M99 M3
23 LBL 0
24 LBL 2
25 Q41 = Q30 - ( Q34 * 2 ) ;sz.X
26 Q42 = Q31 - ( Q34 * 2 ) ;sz.Y
27 CYCL DEF 251 KIESZEN PROSTOKATNA ~
Q215=+1 ;RODZAJ OBROBKI ~
Q218=+Q41 ;DLUG. 1-SZEJ STRONY ~
Q219=+Q42 ;DLUG. 2-GIEJ STRONY ~
Q220=+Q33 ;PROMIEN NAROZA ~
Q368=+0.0001 ;NADDATEK NA STRONE ~
Q224=+0 ;KAT OBROTU ~
Q367=+0 ;POLOZENIE KIESZENI ~
Q207=+Q36 ;POSUW FREZOWANIA ~
Q351=+1 ;RODZAJ FREZOWANIA ~
Q201=-Q34 ;GLEBOKOSC ~
Q202=+Q35 ;GLEBOKOSC DOSUWU ~
Q369=+0.0001 ;NADDATEK NA DNIE ~
Q206=+Q36 ;WARTOSC POSUWU WGL. ~
Q338=+0 ;DOSUW - OBR.WYKONCZ. ~
Q200=+2 ;BEZPIECZNA WYSOKOSC ~
Q203=-Q40 ;WSPOLRZEDNE POWIERZ. ~
Q204=+50 ;2-GA BEZPIECZNA WYS. ~
Q370=+1 ;ZACHODZENIE TOROW ~
Q366=+2 ;ZAGLEBIANIE ~
Q385=+500 ;POSUW OBR.WYKAN.
28 L X+Q28 Y+Q29 R0 FMAX M99 M3
29 LBL 0
30 L X+Q28 Y+Q29 Z+Q40 R0 FMAX
31 FN 4: Q46 =+Q33 DIV +Q35 ;Ilosc powtorzen LBL 3
32 FN 3: Q47 =+Q46 * +Q35
33 FN 11: IF +Q47 GT +Q33 GOTO LBL 3
34 FN 12: IF +Q47 LT +Q33 GOTO LBL 4
35 FN 9: IF +Q47 EQU +Q33 GOTO LBL 4
36 LBL 3
37 FN 2: Q49 =+Q46 - +1
38 Q46 = Q49
39 LBL 0
40 CALL LBL 4 REPQ46
41 LBL 4
42 FN 4: Q43 =+Q30 DIV +2 ;Polowa szer. wybr. w osi X
43 FN 4: Q44 =+Q31 DIV +2 ;Polowa szer. wybr. w osi Y
44 FN 3: Q45 =+Q31 * +1.5 ;3/4 szer. wybr. w osi Y
45 L IX+Q43 RR F AUTO
46 RND RQ33
47 L IY+Q44
48 RND RQ33
49 L IX-Q30
50 RND RQ33
51 L IY-Q31
52 RND RQ33
53 L IX+Q30
54 RND RQ33
55 L IY+Q45
56 RND RQ33
57 L X+Q28 Y+Q29 RR F AUTO
58 ;q41 q42 szer X Y
59 ;q34 promien dna
60 ;q35 dosow
61 ;q32 glebokosc
62 Q51 = Q34 ^ 2 - Q35 ^ 2
63 Q52 = ( Q51 ^ 0.5 ) * 2 + Q41
64 Q53 = ( Q51 ^ 0.5 ) * 2 + Q42
65 Q41 = Q52
66 Q42 = Q53
67 L IZ-Q35 R0 F AUTO
68 LBL 0
69 LBL 5
70 L Z+300 R0 FMAX
71 LBL 0
72 M30
73 END PGM promień dna MM