Znaleziono 3 wyniki

autor: routerr
20 lut 2015, 22:51
Forum: LinuxCNC (dawniej EMC2)
Temat: Problem z G38
Odpowiedzi: 4
Odsłony: 2217

no męczę się z tym już od kilku dni
Zauważyłem też że jak wykonuję potem dalej program potrafi wywalić mi błąd że błędny parametr F ale niema gdzie i w jakiej linii jak wtedy roszę program ponownie to program zachowuje się prawidłowo do

G38.4 Z2 F#<spped_odjazd> ( G38.4 Z2 F20.0)

Po tej linii wszystkie G38 zwalniają do F20 mimo że mają inną deklarację :sad:
autor: routerr
20 lut 2015, 20:48
Forum: LinuxCNC (dawniej EMC2)
Temat: Problem z G38
Odpowiedzi: 4
Odsłony: 2217

Czy to nie jest skrypt do mach-a?
autor: routerr
20 lut 2015, 01:04
Forum: LinuxCNC (dawniej EMC2)
Temat: Problem z G38
Odpowiedzi: 4
Odsłony: 2217

Problem z G38

Witam

Napisałem podprogramy do pomiaru długości narzędzia i wyznaczania środka materiału. I tak jak pierwszy działał bez zarzutu tak wyznaczanie środka powoduje dziwny błąd.

Maszyna najpierw sprawdza gdzie jest powierzchnia materiału a następnie go mierzy.
problem w tym że po pierwszym G38.4 Z2 F20 wszystkie G38 zmieniają (chyba) wartość na F20 i pomiary trwają niemiłosiernie długo (mimo że np G38.3 ma przypisany F1200)
Każdy następny podprogram zachowuje się tak samo "G38" muli pomaga tylko reset programu.

Co że tak powiem "schrzaniłem" może jakoś inaczej deklaruje się F dla G38?

I pytanie przy okazji: Jak zmusić LinuxCNC do wyświetlenia okienka dialogowego z pytaniem np o #<promien_max> przy każdym wywołany podprogramu żeby nie trzeba było co chwilę edytować pliku?

Kod: Zaznacz cały

o<srodek_zew> sub

G21

G90 (pozycja bezwzględna)

#<promien_max>= 30.0  (maksymalny promień otworu - zakres badania) 
#<start_x>=#<_x> (punkt początkowy X aktualny) 
#<start_y>=#<_y> (punkt początkowy Y aktualny)
#<start_z>=#<_z> (punkt początkowy Z aktualny)
#<speed_1>=1000.0
#<spped_odjazd> = 20.0


G91 (pozycjonowanie przyrostowe)
G38.3 Z-10 F#<speed_1>
G38.4 Z2 F#<spped_odjazd> (koniec szukania powierzchni materiału)
G90 (pozycja bezwzględna)
#<material_z>=#<_z> (zapisanie pozycji Z)

(najazd na prawa krawędź)
G93 G0 Z[#<start_z>]
G93 G0 x[#<start_x>+#<promien_max>]y[#<start_y>]
G93 G0 Z[#<material_z>-1] (dojazd poniżej powierzchni materiału)

(pomiar)
G91 (pozycjonowanie przyrostowe)
G38.2 X-[#<promien_max>] F#<speed_1>(test -X krawedzi otworu) 
G38.4 X2 F#<spped_odjazd>
#<prawy_x>=#<_x>
G38.2 X-[#<promien_max>] F#<speed_1>(test -X krawedzi otworu) 
G38.4 X2 F#<speed_1>


G90 (pozycja bezwzględna)
G93 G0 Z[#<start_z>]
G93 G0 x[#<start_x>]y[#<start_y>]
G93 G0 x[#<start_x>-#<promien_max>]y[#<start_y>]
G93 G0 Z[#<material_z>-1]

(pomiar krawędzi)
G91 (pozycjonowanie przyrostowe)
G38.2 X[#<promien_max>] F#<speed_1>(test -X krawędzi otworu) 
G38.4 X-2 F#<spped_odjazd>
#<lewy_x>=#<_x>
G38.2 X[#<promien_max>] F#<speed_1>(test -X krawędzi otworu) 
G38.4 X-2 F#<speed_1>

G90 (pozycja bezwzględna)

G93 G0 Z[#<start_z>]
G93 G0 x[#<start_x>]y[#<start_y>]


(najazd na top krawędź)
G93 G0 Z[#<start_z>]
G93 G0 x[#<start_x>]y[#<start_y>+#<promien_max>] (na top krawędź)
G93 G0 Z[#<material_z>-1]

(pomiar krawędzi)
G91 (pozycjonowanie przyrostowe)
G38.2 y-[#<promien_max>] F#<speed_1>(test -X krawędzi otworu) 
G38.4 y2 F#<spped_odjazd>
#<top_y>=#<_y>
G38.2 y-[#<promien_max>] F#<speed_1>(test -X krawędzi otworu) 
G38.4 y2 F#<speed_1>
G90 (pozycja bezwzględna)
G93 G0 Z[#<start_z>]
G93 G0 x[#<start_x>]y[#<start_y>]

(najazd na bottom krawędź)
G93 G0 Z[#<start_z>]
G93 G0 x[#<start_x>]y[#<start_y>-#<promien_max>] (na bottom krawędź)
G93 G0 Z[#<material_z>-1]
(pomiar krawędzi)
G91 (pozycjonowanie przyrostowe)
G38.2 y[#<promien_max>] F#<speed_1>(test -X krawędzi otworu) 
G38.4 y-2 F#<spped_odjazd>
#<bottom_y>=#<_y>
G38.2 y[#<promien_max>] F#<speed_1>(test -X krawędzi otworu) 
G38.4 y-2 F#<speed_1>
G90 (pozycja bezwzględna)
G93 G0 Z[#<start_z>]
G93 G0 x[#<start_x>]y[#<start_y>]


(obliczenia)
G93 G0 x[[#<prawy_x>+#<lewy_x>]/2.0]y[[#<top_y>+#<bottom_y>]/2.0]Z[#<material_z>]

o<srodek> endsub


Pozdrawiam Michał

Wróć do „Problem z G38”