problem z odwołaniem G65

Dyskusje na temat systemu Faunc

Autor tematu
mr-zgr
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 134
Rejestracja: 01 lut 2010, 16:33
Lokalizacja: Libiąż

problem z odwołaniem G65

#1

Post napisał: mr-zgr » 07 sty 2017, 16:14

Witam.

Mój problem polega na tym, że maszyna nie przyjmuje mi odwołania kodu G65 czyli G67.
Wykonuje cały cykl z wywołaniem podprogramu ale po skończeniu cyklu pojawia się alarm "122 - quadruple modal macro-call" (poczwórne modalne wywołanie makro) i na tym koniec. Trzeba resetować. Maszyna później wykonuje każdy program z jakimiś dziwnymi przesunięciami np 100 mm od bazy G54 używanej w innym programie. W jaki sposób odwołać G65 bez konieczności ponownego uruchamiania maszyny? Poniżej zamieszczam program który dzisiaj testowałem na maszynie. Sterowanie Fanuc 18i-MB.

O3000; (WIERCENIE OTWOROW W SZYKU KOLOWYM);
G54G90S500M03;
G8P1;
G90 G92 X0. Y0. Z100.0;
G65 P9100 X100.0 Y50.0 R30.0 Z-50.0 F500. I100.0 A0 B45.0 H5;
G67;
G80 G91 G28 Z0.;
M30;




(P9100 - PODPROGRAM Z PROCEDURĄ)
(X100.0 Y50.0 - WSPÓŁRZĘDNE ŚRODKA SZYKU KOŁOWEGO)
(R30.0 - WSPÓŁRZĘDNE PUNKTU DOCELOWEGO)
(Z-50.0 - GŁĘBOKOŚĆ WIERCENIA)
(F500. - POSÓW)
(I100.0 - PROMIEŃ SZYKU KOŁOWEGO)
(A0.0 - KĄT ROZPOCZĘCIA WYKONYWANIA SZYKU KOŁOWEGO)
(B45.0 - KĄT PRZYROSTU POMIĘDZY OTWORAMI W LEWO / B-45.0 W PRAWO)
(H5 - ILOŚĆ OTWORÓW DO WYKONANIA)
(G67 - ODWOŁANIE CYKLU G65/G66)



O9100;
#3=#4003;
G81 Z#26 R#18 F#9 K0;
IF[#3 EQ 90]GOTO 1;
#24=#5001+#24;
#25=#5002+#25;
N1 WHILE[#11 GT 0]DO 1;
#5=#24+#4*COS[#1];
#6=#25+#4*SIN[#1];
G90 X#5 Y#6;
#1=#1+#2;
#11=#11-1;
END 1;
G#3 G80;
M99 ;



Awatar użytkownika

Krzycho_Wporzo
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 318
Rejestracja: 05 wrz 2013, 10:08
Lokalizacja: Częstochowa

#2

Post napisał: Krzycho_Wporzo » 07 sty 2017, 16:44

Witaj.
A bez G67 nie idzie ?
Bo G65 to wywołanie makra, ale nie modalnie jak to ma miejsce przy G66, i nie trzeba go odwoływać przez G67.
Znane są ty­siące spo­sobów za­bija­nia cza­su, ale nikt nie wie jak go wskrzesić.
Albercik


Autor tematu
mr-zgr
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 134
Rejestracja: 01 lut 2010, 16:33
Lokalizacja: Libiąż

#3

Post napisał: mr-zgr » 07 sty 2017, 20:57

Z tego co patrzyłem w instrukcji to w przykładach jest podane za każdym razem z G67 na końcu. Spróbuję puścić bez G67 i zobaczę co będzie. A co może być przyczyną że maszyna nie uznaje bazy G54 tylko sama dodaje sobie przesunięcia?

Awatar użytkownika

Krzycho_Wporzo
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 318
Rejestracja: 05 wrz 2013, 10:08
Lokalizacja: Częstochowa

#4

Post napisał: Krzycho_Wporzo » 07 sty 2017, 21:18

mr-zgr pisze:Z tego co patrzyłem w instrukcji to w przykładach jest podane za każdym razem z G67 na końcu. Spróbuję puścić bez G67 i zobaczę co będzie.
A ja tu widzę że Twój program się nieco różni od tego przykładu poniżej :shock:
Spróbuj bez G67 i w głównym programie zapisz tak jak na przykładzie i zobaczymy... :wink:


http://www.helmancnc.com/fanuc-bolt-hol ... macro-bhc/
Znane są ty­siące spo­sobów za­bija­nia cza­su, ale nikt nie wie jak go wskrzesić.
Albercik


Autor tematu
mr-zgr
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 134
Rejestracja: 01 lut 2010, 16:33
Lokalizacja: Libiąż

#5

Post napisał: mr-zgr » 08 sty 2017, 15:29

Dzisiaj wymyśliłem coś takiego:

O3110 (PROCEDURA SZYKU KOLOWEGO)

#24=0. ( WSPOLRZEDNA SRODKA OKREGU OSI X )
#25=0. ( WSPOLRZEDNA SRODKA OKREGU OSI Y )
#26=25. ( GLEBOKOSC OTWORU )
#18=0. ( OFFSET GLEBOKOSCI OTWORU )
#9=2000 ( OBROTY )
#10=500 ( POSOW )
#4=50. ( PROMIEN OKREGU )
#1=0. ( KAT STARTOWY )
#2=20. ( PRZYROST KATOWY / W LEWO DODATNI W PRAWO UJEMNY )
#11=10. ( ILOSC OTWOROW )



G90G21G17G40G80
G91G28Z0
G90G54
G8P01
G0 X0. Y0.
G43 H1 D1 Z100.
S#9 M3
Z10.
G01 Z0. F#10
#3=#4003;
G81 Z#26 R#18 F#9 K0;
IF[#3 EQ 90]GOTO 1;
#24=#5001+#24;
środka.
#25=#5002+#25;
N1 WHILE[#11 GT 0]DO 1;
#5=#24+#4*COS[#1];
#6=#25+#4*SIN[#1];
G90 X#5 Y#6;
#1=#1+#2;
#11=#11-1;
END 1;
G#3 G80;
G91 G28 Z0.;
M30 ;

Napisałem to na zasadzie programu z którego korzystam w pracy bardzo często. Program ten wygląda tak:

O1234
(HELIKAL)
#1=45. (FI OTWORU)
#2=10. (FI FREZA)
#3=15. (GL OTWORU)
#11=0.5 (PRZYROST)
#9=12500 (OBROTY)
#10=7000 (POSUW)
(<<<<<<>>>>>>>)
(<<<<<<>>>>>>>)
#4=#3/#11 (LICZBA PRZEJSC)
#5=#3/#4/2 (POLOWA ZEJSCIA W OSI Z)
#6=1 (LICZNIK)
#7=0 (W OSI Z)
#8=#1-#2 (ROZNICA SREDNIC)


G90G21G17G40G80
G91G28Z0
G90G54
G8P01
G0 X0. Y0.
G43 H1 D1 Z100.
S#9 M3
Z10.
G01 Z0. F#10
G01X[#8/2] Y0.
WHILE [#6 LE #4] DO 1
#6=#6+1
#7=#7-#5
G03 X[-#8/2] Y0. Z[#7] I[-#8/2]
#7=#7-#5
G03 X[#8/2] Y0. Z[#7] I[#8/2]
END 1
G03 X[-#8/2] Y0. I[-#8/2]
G03 X[#8/2] Y0. I[#8/2]
G01 X0. Y0.
N100 G80G91G28Z0
M30
%


W szyku kołowym zastanawia mnie czy musi być ten konkretny fragment kodu: #3=#4003; ????

Awatar użytkownika

Krzycho_Wporzo
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 318
Rejestracja: 05 wrz 2013, 10:08
Lokalizacja: Częstochowa

#6

Post napisał: Krzycho_Wporzo » 08 sty 2017, 16:38

W szyku kołowym zastanawia mnie czy musi być ten konkretny fragment kodu: #3=#4003; ????
W zmiennej #3 będzie przechowywana wartość kodu G grupy 3, czyli G90\G91, która została pobrana ze zmiennej systemowej #4003.
Dlatego w warunku IF[#3 EQ 90]GOTO 1 jest skok do bloku 1 jeśli zostanie wykryty kod G90.
Po zakończeniu makro ten zapis G#3 przywraca pierwotny stan kodu G, więc dla Twojego programu w tej postaci, ten fragment powinien zostać.
Znane są ty­siące spo­sobów za­bija­nia cza­su, ale nikt nie wie jak go wskrzesić.
Albercik

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Fanuc”