
Znaleziono 2 wyniki
- 15 paź 2022, 14:24
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Suby ngcgui
- Odpowiedzi: 309
- Odsłony: 32130
Re: Suby ngcgui
Dzięki. Już sobie poradziłem. Ale twój sobie też fajny, może go zaadoptuje do mojej nua 25 

- 25 mar 2022, 18:27
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Suby ngcgui
- Odpowiedzi: 309
- Odsłony: 32130
Re: Suby ngcgui
Witam.
Chcialem sobie napisać subik do szlifowania na szlifierce do płaszczyzn ale napotkałem problem.
Przy próbie wykonania tego suba zawiesza mi aplikację.
po usunięciu linii #<kierunek> = 0 i #<kierunek> = 1 program działa ale wtedy wchodzi tylko w jednego ifa, a chciałbym żeby raz wchodził w jednego a w nastepnej iteracji w drugiego żeby szlifowanie odbywało się raz od operatora do tyłu, a po obniżeniu zetki od tyłu do operatora. Wie ktoś może gdzie leży problem i dlaczego się zawiesza?
Chcialem sobie napisać subik do szlifowania na szlifierce do płaszczyzn ale napotkałem problem.
Przy próbie wykonania tego suba zawiesza mi aplikację.
po usunięciu linii #<kierunek> = 0 i #<kierunek> = 1 program działa ale wtedy wchodzi tylko w jednego ifa, a chciałbym żeby raz wchodził w jednego a w nastepnej iteracji w drugiego żeby szlifowanie odbywało się raz od operatora do tyłu, a po obniżeniu zetki od tyłu do operatora. Wie ktoś może gdzie leży problem i dlaczego się zawiesza?
Kod: Zaznacz cały
( ------------------------------ )
( PRZEJAZD I PLANOWANIE )
( ------------------------------ )
( KW )
( Time-stamp: <2022-03-25 17:09> )
( ------------------------------ )
(info: Przejazd)
o<przejazd> sub
#<X0> = #1 (=0 X początkowy)
#<X1> = #2 (=10 X końcowy)
#<Y0> = #3 (=0 Y początkowy)
#<Y1> = #4 (=10 Y końcowy)
#<glebokosc> = #5 (=0.05 głębokość)
#<glebokosc_poczatkowa> = #6 (=0 głębokość początkowa )
#<skok> = #7 (=0.01 skok)
#<predkosc_bok> = #8 (=1000 prędkość bok)
#<predkosc_dol> = #9 (=1000 prędkość dół)
#<kopanie_szybkie> = #10 (=0 <> szybki wjazd)
#<szlifowanie_dwustronne> = #11 (=1 szlifowanie w dwie strony)
#<woda> = #12 (=1 <> chłodzenie)
#<frez> = #13 (=20 sciernica)
#<planowanie> = #14 (=1 planowanie powierzchni)
#<nachodzenie> = #15 (=15 zachodzenie sciernicy w mm)
#<kierunek> = #16 (=1 <> kierunek)
( ------------------------------ )
( ------------------------------ )
g17 g21 g61
g0 z5
g0 x#<X0> y#<Y0>
m3 s1
o1 if [#<woda> eq 1]
m8
o1 endif
#<przyrost> = [#<frez> - #<nachodzenie>]
#<x_pocz> = #<X0>
#<x_kon> = #<X1>
#<y_pocz> = #<Y0>
#<y_kon> = #<Y1>
#<glebokosc> = [#<glebokosc> * -1] ( koncowy Z )
#<akt_glebokosc> = #<glebokosc_poczatkowa> ( aktualna glebokosc )
o100 while [#<akt_glebokosc> GT #<glebokosc>]
#<akt_glebokosc> = [#<akt_glebokosc> - #<skok>] ( ustalenie glebokosci )
( jezeli nizej limitu to jade max )
o110 if [#<akt_glebokosc> LT #<glebokosc>]
#<akt_glebokosc> = #<glebokosc>
o110 endif
o115 if [#<kopanie_szybkie>]
G0 z[#<glebokosc>]
o115 else
G0 z[#<akt_glebokosc> + #<skok> + 1]
G1 z[#<akt_glebokosc>] f[#<predkosc_dol>]
o115 endif
o116 if[#<planowanie>]
o118 if[#<szlifowanie_dwustronne>] (szlifowanie od y zera do y koncowego i spowrotem)
#<kierunek_szlifu> = #<kierunek>
o140 if[#<kierunek_szlifu>]
#<y_pocz> = #<Y0>
G1 y#<y_pocz> F#<predkosc_bok>
G1 x#<x_kon> F#<predkosc_bok>
G1 x#<x_pocz> F#<predkosc_bok>
o150 while [#<y_pocz> LT #<Y1>]
#<y_pocz> = [#<y_pocz> + #<przyrost>]
o160 if [#<y_pocz> GT #<Y1>]
#<y_pocz> = #<Y1>>
o160 endif
(frezowanie)
G1 y#<y_pocz> F#<predkosc_bok>
G1 x#<x_kon> F#<predkosc_bok>
(powrot)
G1 x#<x_pocz> F#<predkosc_bok>
o150 endwhile
G0 x#<X0> y#<Y0>
#<kierunek> = 0
o140 else
#<y_kon> = #<Y1>
G1 y#<y_kon> F#<predkosc_bok>
G1 x#<x_kon> F#<predkosc_bok>
G1 x#<x_pocz> F#<predkosc_bok>
o151 while [#<y_kon> GT #<Y0>]
#<y_kon> = [#<y_kon> - #<przyrost>]
o161 if [#<y_kon> LT #<y_pocz>]
#<y_kon> = #<y_pocz>
o161 endif
(szlifowanie)
G1 y#<y_kon> F#<predkosc_bok>
G1 x#<x_kon> F#<predkosc_bok>
(powrot)
G1 x#<x_pocz> F#<predkosc_bok>
o151 endwhile
G0 x#<X0> y#<Y1>
#<kierunek> = 1
o140 endif
o118 else (szlifowanie od y zera do y koncowego)
#<y_pocz> = #<Y0>
G1 x#<x_kon> F#<predkosc_bok>
G1 x#<x_pocz> F#<predkosc_bok>
o121 while [#<y_pocz> LT #<y_kon>]
#<y_pocz> = [#<y_pocz> + #<przyrost>]
o122 if [#<y_pocz> GT #<y_kon>]
#<y_pocz> = #<y_kon>
o122 endif
(szlifowanie)
G1 y#<y_pocz>
G1 x#<x_kon> F#<predkosc_bok>
(powrot)
G1 x#<x_pocz> F#<predkosc_bok>
o121 endwhile
G0 x#<X0> y#<Y0>
o118 endif
o116 else
G1 x#<X1> y#<Y1> F#<predkosc_bok> ( przejazd )
(sprawdzam czy to szlifowanie w dwie strony)
o120 if[#<szlifowanie_dwustronne>]
G1 x#<X0> y#<Y0> F#<predkosc_bok> ( przejazd w druga strone)
o120 else
(sprawdzam czy to koncowa glebokosc czy wracac)
o130 if[#<akt_glebokosc> GT #<glebokosc>]
G0 z[#<glebokosc_poczatkowa> + 2]
G0 x#<X0> y#<Y0>
o130 endif
o116 endif
o100 endwhile
o<przejazd> endsub