Kod: Zaznacz cały
( ------------------------------ )
( Śruba regulacji energii zbijaka Crosman 22xx )
( ------------------------------ )
( Z. Maciej Miki Bajkowski)
(---na podstawie kodu Kamara-----)
( Time-stamp: <2012-04-16 01:39> )
(info: Regulacja Crosman śruba)
o<regulacja_crosman_sruba> sub
( ------------------------------ )
( Zmienne do tabelki )
( ------------------------------ )
(wszystkie wartosci w milimetrach)
#<srednica_surowego_walka> = #1 (=22 Średnica surowego wałka)
#<dlugosc_detalu> = #2 (=27 Długość gotowego detalu)
#<srednica_walka> = #3 (=21.6 Średnica gotowego detalu)
#<srednica_czopu_1> = #4 (=4.9 Średnica pierwszego czopu)
#<dlugosc_czopu_1> = #5 (=8 Długość pierwszego czopu)
#<srednica_czopu_2> = #6 (=10 Średnica drugiego czopu)
#<dlugosc_czopu_2> = #7 (=14 Długość drugiego czopu)
#<glebokosc_fazki_czopu_1> = #8 (=1 Głębokość fazki pierwszego czopu)
#<szerokosc_fazki_czopu_1> = #9 (=1 Szerokość fazki pierwszego czopu, zero wyłącza)
#<glebokosc_fazki_czopu_2> = #10 (=1 Głębokość fazki drugiego czopu)
#<szerokosc_fazki_czopu_2> = #11 (=1 Szerokość fazki drugiego czopu, zero wyłącza)
#<glebokosc_fazki_walka_1> = #12 (=1 Głebokość prawej fazki kołnierza)
#<szerokosc_fazki_walka_1> = #13 (=1 Szerokość prawej fazki kołnierza, zero wyłącza)
#<glebokosc_fazki_walka_2> = #14 (=1 Głebokość lewej fazki kołnierza)
#<szerokosc_fazki_walka_2> = #15 (=1 Szerokość lewej fazki kołnierza, zero wyłącza)
#<planowanie_czola> =#16 (=0.1 O ile mm splanować czoło, zero wyłącza)
#<glebokosc_podciecia> =#17 (=0 Głębokość podciecia za gwintem)
#<szerokoszc_podciecia>=#18 (=0 Szerokośc podcięcia za gwintem)
#<szerokość_noza> =#19 (=2 Szerokość noża)
#<poczatek_z>=#20 (=0 Początek na osi Z)
#<szybkosc_posuwu> = #21 (=16 Posuw)
#<szybkosc_posuwu_odcinania> = #22 (=10 Posuw odcinania)
#<obroty_wrzeciona> = #23 (=1000 Obroty)
#<przybranie_materialu> = #24 (=0.8 Przybranie)
(koniec zmiennych)
#<baza_x> = [#<srednica_walka> + 2] (tu zjedzie w osi x noz po pracy, ustawić tyle, by można swobodnie zmierzyć, czy wyjąć materiał)
#<srednica_walka_do_fazki> = #<srednica_walka> (zmienna #<srednica_walka> zmniejsza się w trakcie wykonywania programu, zapamietuję ją więec w zmiennej do późniejszego fazowania)
#<srednica_walka_do_2_czopa> = #<srednica_walka>
M3 s#<obroty_wrzeciona> (wlaczamy wrzeciono)
(Planowanie powierzchni)
g54
G0 z1
X[#<srednica_surowego_walka>+1]
Z#<poczatek_z>
X#<srednica_surowego_walka>
#<Current_Dia>=#<srednica_surowego_walka>
o60 while [#<Current_Dia> gt #<srednica_walka>]
o61 if [#<Current_Dia>-#<przybranie_materialu> gt #<srednica_walka>]
#<Current_Dia>=[#<Current_Dia>-#<przybranie_materialu>]
o61 else
#<Current_Dia>=#<srednica_walka>
o61 endif
X#<Current_Dia>
G1 Z-[#<dlugosc_detalu>+#<szerokość_noza>] F#<szybkosc_posuwu>
G0 X[#<Current_Dia>+0.5]
Z#<poczatek_z>
o60 endwhile
(Koniec planowania powierzchni)
(Planowanie czoła)
g0 z[#<poczatek_z> + 0.5]
g0 x[#<srednica_walka> + 0.5]
#<akt_pozycja> = #<poczatek_z>
o50 while [#<akt_pozycja> gt -[#<planowanie_czola>]]
#<akt_pozycja> = [#<akt_pozycja> - #<przybranie_materialu>/5]
o52 if [#<akt_pozycja> lt -[#<planowanie_czola>]]
#<akt_pozycja> = -[#<planowanie_czola>]
o52 endif
g0 z#<akt_pozycja>
g1 x0 f#<szybkosc_posuwu>
g0 z[#<akt_pozycja> + 0.5]
g0 x[#<srednica_walka> + 0.5]
o50 endwhile
(Koniec planowania czoła)
(Toczenie pierwszego czopa)
G0 z[0.5-[#<planowanie_czola>]]
o80 while [#<srednica_walka> gt #<srednica_czopu_1>] ( wykonuj dopoki #<srednica_walka> wiekszy od #<srednica_czopu_1> )
#<srednica_walka>=[#<srednica_walka>-#<przybranie_materialu>] ( deklarowane zmniejszenie)
o82 if [#<srednica_walka> lt #<srednica_czopu_1>]
#<srednica_walka> = #<srednica_czopu_1>
o82 endif
G0 x#<srednica_walka> (ustawienie noza na pozycji )
z-[#<planowanie_czola>]
g1 z[[-#<dlugosc_czopu_1>]-[#<planowanie_czola>]] f#<szybkosc_posuwu> ( toczenie )
G0 x[#<srednica_walka>+0.5] ( odjazd od materialu)
z[0.5-[#<planowanie_czola>]] ( powrot na poczatek i wykonywanie ponowne )
o80 endwhile ( koniec toczenia czopa)
(Toczenie drugiego czopa)
G0 z[0.5-[#<planowanie_czola>]-#<dlugosc_czopu_1>]
o100 while [#<srednica_walka_do_2_czopa> gt #<srednica_czopu_2>] ( wykonuj dopoki #<srednica_walka> wiekszy od #<srednica_czopu_2> )
#<srednica_walka_do_2_czopa>=[#<srednica_walka_do_2_czopa>-#<przybranie_materialu>] ( deklarowane zmniejszenie)
o102 if [#<srednica_walka_do_2_czopa> lt #<srednica_czopu_2>]
#<srednica_walka_do_2_czopa> = #<srednica_czopu_2>
o102 endif
G0 x#<srednica_walka_do_2_czopa> (ustawienie noza na pozycji )
z-[[#<planowanie_czola>]+[#<dlugosc_czopu_1>]]
g1 z[[-#<dlugosc_czopu_2>]-[#<dlugosc_czopu_1>]-[#<planowanie_czola>]] f#<szybkosc_posuwu> ( toczenie )
G0 x[#<srednica_walka_do_2_czopa>+0.5] ( odjazd od materialu)
z[0.5-[#<planowanie_czola>]-[#<dlugosc_czopu_1>]] ( powrot na poczatek i wykonywanie ponowne )
o100 endwhile ( koniec toczenia czopa)
o110 if [#<szerokosc_fazki_czopu_1> gt 0] (procedura wykonania fazki na wytoczonym czopie, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)
z[[#<poczatek_z>]-[#<planowanie_czola>]]
x[#<srednica_czopu_1>-#<glebokosc_fazki_czopu_1>*2] ( wjazd do fazki na fi #<srednica_czopu>)
g1 x[#<srednica_czopu_1>] z-[[#<szerokosc_fazki_czopu_1>]+[#<planowanie_czola>]] f#<szybkosc_posuwu_odcinania> ( toczenie fazki na fi #<srednica_czopu>)
g0 x[[#<srednica_czopu_1>]+0.5]
o110 endif (koniec procedury fazowania krawędzi czopa)
o120 if [#<szerokosc_fazki_czopu_2> gt 0] (procedura wykonania fazki na pozostałej krawędzi wałka, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)
g0 z-[[#<dlugosc_czopu_1>]+[#<planowanie_czola>]] x[#<srednica_czopu_2> - #<glebokosc_fazki_czopu_2>*2] ( dojazd do fazki na fi #<srednica_walka_do_fazki>)
g1 x[#<srednica_czopu_2>] z-[[#<dlugosc_czopu_1>+#<szerokosc_fazki_czopu_2>]+[#<planowanie_czola>]] f#<szybkosc_posuwu_odcinania>
g0 x[[#<srednica_czopu_2>]+0.5]
o120 endif (koniec procedury fazowania czopa 2)
o122 if [#<szerokosc_fazki_walka_1> gt 0]
g0 z-[[#<dlugosc_czopu_1>]+[#<dlugosc_czopu_2>]+[#<planowanie_czola>]] x[#<srednica_walka_do_fazki> - #<glebokosc_fazki_walka_1>*2]
g1 x#<srednica_walka_do_fazki> z-[[#<dlugosc_czopu_1>+[#<dlugosc_czopu_2>]+#<szerokosc_fazki_walka_1>]+[#<planowanie_czola>]] f#<szybkosc_posuwu_odcinania>
g0 x[[#<srednica_walka_do_fazki>]+0.5]
o122 endif (koniec procedury fazowania kołnierza z prawej strony)
g0 x[#<srednica_walka_do_fazki>+1] ( dojazd do fazki na fi #<srednica_walka_do_fazki>)
m5
m4
g55
(Podcięcie za gwintem)
o125 if [#<glebokosc_podciecia> gt 0]
g0 z-[[#<dlugosc_czopu_2>]+[#<planowanie_czola>]+[#<dlugosc_czopu_1>]]
x-[#<srednica_czopu_2>]
g1 x-[#<srednica_czopu_2>-#<glebokosc_podciecia>*2] f#<szybkosc_posuwu_odcinania>
g0 x-[#<srednica_czopu_2>-#<glebokosc_fazki_czopu_2>*2]
g1 z-[[#<dlugosc_czopu_2>+[#<dlugosc_czopu_1>]]+[#<planowanie_czola>-#<szerokosc_fazki_czopu_2>]] x-[#<srednica_czopu_2>]
g0 x-[#<srednica_walka_do_fazki>+1] ( dojazd na fi #<srednica_walka_do_fazki>)
o125 endif
(Odcięcie detalu)
g0 Z-[#<dlugosc_detalu>+#<szerokość_noza>]
x-#<srednica_walka_do_fazki>
o130 if [#<szerokosc_fazki_walka_2> gt 0] (procedura wykonania fazki po lewej stronie kołnierza, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)
g1 x-[#<srednica_walka_do_fazki>-#<glebokosc_fazki_walka_2>*2] f#<szybkosc_posuwu_odcinania>
g1 x-#<srednica_walka_do_fazki> z-[#<dlugosc_detalu>+#<szerokość_noza>-#<szerokosc_fazki_walka_2>] f#<szybkosc_posuwu_odcinania>
g0 Z-[#<dlugosc_detalu>+#<szerokość_noza>]
o130 endif (koniec procedury fazowania lewej strony kołnierza)
g1 x0 f#<szybkosc_posuwu_odcinania>
G0 x-#<srednica_walka_do_fazki>
g54
z1
x-10
z0
M30
o<regulacja_crosman_sruba> endsub
