Fanuc OiMC

Dyskusje na temat systemu Faunc

Autor tematu
hoses
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 10
Posty: 105
Rejestracja: 28 wrz 2006, 20:45
Lokalizacja: Mazowsze

Fanuc OiMC

#1

Post napisał: hoses » 30 maja 2007, 16:25

Kod: Zaznacz cały

%00001(FREZOWANIE ROWKÓW 1) 
G90; 
G54; 
T1 M6; 
S350 M14; 
#10=0; 
#11=48; (ilość POJEDYNCZYCH powtórzeń) 
G0 X41 Y20; 
G43 H1 Z200; 
G0 Z-25; 
N10 W-1.5; 
G1 X38 F20; 
Y-20; 
G0 X41; 
Y20; 
#10=#10+1; 
IF [#10 GE #11] GOTO 30; 
N20 GOTO 10; 
N30 G0 Z200; 
M5; 
M30; 
Co jest nie tak w tym programie. Wyskakuje błąd 114-Błąd formatu w makro. Może mi ktoś pomóc.



Tagi:


doniu
Znawca tematu (min. 80)
Znawca tematu (min. 80)
Posty w temacie: 5
Posty: 81
Rejestracja: 04 maja 2007, 21:42
Lokalizacja: Danmark

#2

Post napisał: doniu » 30 maja 2007, 18:05

spróbuj może z G66 wywołanie makra (G67 odwołanie)
do tego G98 lub G94 wywołanie posuwu i G17 płaszczyzna :wink:


Leoo
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 4017
Rejestracja: 15 lis 2006, 22:01
Lokalizacja: Tarnobrzeg

#3

Post napisał: Leoo » 30 maja 2007, 18:23

Czy kolega hoses może umieścić więcej komentarzy przy kolejnych liniach kodu?

IF [#10 GE #11] GOTO 30; - rozumiem, że GE to warunek równości?

N20 GOTO 10; - czy to jest skok bezwarunkowy?

N10 W-1.5; - co maszyna robi w tym momencie?

Jak ma wyglądać obrobiony detal?


irbal
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 122
Rejestracja: 24 sie 2006, 23:20
Lokalizacja: Opole

#4

Post napisał: irbal » 30 maja 2007, 19:58

IF [#10 GE #11] GOTO 30;
N20 GOTO 10;

Zapis jest OK , jedynie zmienił bym kolejnośc dwóch cytowanych lini,
Czyli najpierw wykonanie 48 powtórzenia , o po wykonaniu
sprawdzenie warunku zakończenia pętli:

IF [#10 GE #11] GOTO 30;
#10=#10+1;
Przy obecnym zapisie wyjdzie 47 powtórzeń

Błąd musi być w tych samych cytowanych liniach, chyba za duzo spacji
u mnie jest ... GOTO30
Lub w innym miejscu instrukcji skoku warunkowego IF...
Powinno zadziałac ,


Autor tematu
hoses
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 10
Posty: 105
Rejestracja: 28 wrz 2006, 20:45
Lokalizacja: Mazowsze

#5

Post napisał: hoses » 30 maja 2007, 21:09

Dzięki za zainteresowanie. Otóż błędów w zapisie nie ma na bank bo program jest wpisywany z klawiatury maszyny.
GE oznacza >=.
Zapis W-1.5 oznacza przyrostowe zagłębianie się w osi Z co 1.5mm po każdym przejściu. Program wysypuje się w pierwszej pętli w momencie N20 GOTO 10. Wtedy właśnie wyskakuje alarm.
Zamiast W-1.5 pisałem

Kod: Zaznacz cały

.
N10 G91 Z-1.5; 
G90
G1 X38 F20; 
.
i to samo.
PS
Pewnie wszyscy wiedzą, ale napiszę . Sam program wykonuje pewien ruch w płaszczyżnie XY z tym że robi to za każdym razem o 1.5 mm niżej. Idea jest taka żeby nie pisać czterdzieści osiem razy to samo zmieniajac tylko Z-ta.
Z programu wynika to że jeżeli parametr #10 osiągnie wartość większą lub równą parametrowi #11 czyli 48 to następuje skok do bloku N30 i koniec programu. Za każdym razem kiedy parametr #10 jest mniejszy od #11 jest skok do bloku N10 czyli powtórzenie ruchu w płaszczyżnie XY z tym że o 1.5 mm niżej. Ot i cały program tyle, że nie idzie.
Czy kolega doniu, mógłby bardziej sprecyzować gdzie te komendy makra miały by się znajdować w moim programie ?
Ostatnio zmieniony 30 maja 2007, 21:21 przez hoses, łącznie zmieniany 1 raz.


Leoo
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 4017
Rejestracja: 15 lis 2006, 22:01
Lokalizacja: Tarnobrzeg

#6

Post napisał: Leoo » 30 maja 2007, 21:21

hoses pisze:Program wysypuje się w pierwszej pętli w momencie N20 GOTO 10. Wtedy właśnie wyskakuje alarm.
Próbujesz "wyskoczyć" z wnętrza pętli.

Spróbuj tak:
%00001(FREZOWANIE ROWKÓW 1)
G90;
G54;
T1 M6;
S350 M14;
#10=0;
#11=48; (ilość POJEDYNCZYCH powtórzeń)
G0 X41 Y20;
G43 H1 Z200;
G0 Z-25;
N10 W-1.5;
G1 X38 F20;
Y-20;
G0 X41;
Y20;
#10=#10+1;
IF [#10 GE #11] GOTO 10;
N30 G0 Z200;
M5;
M30;


Tak na "oko" nie podoba mi się zapis:
N10 W-1.5; - czegoś brakuje.
Ostatnio zmieniony 30 maja 2007, 21:29 przez Leoo, łącznie zmieniany 2 razy.


Autor tematu
hoses
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 10
Posty: 105
Rejestracja: 28 wrz 2006, 20:45
Lokalizacja: Mazowsze

#7

Post napisał: hoses » 30 maja 2007, 21:23

Leoo pisze:N10 W-1.5; - czegoś brakuje.
Tak jak pisze powyżej. Zamieniłem ten zapis na inny i też lipa. Jutro spróbuje twojej propozycji ale nie wiem czy to coś da.


Leoo
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 4017
Rejestracja: 15 lis 2006, 22:01
Lokalizacja: Tarnobrzeg

#8

Post napisał: Leoo » 30 maja 2007, 21:32

Oczywiście linię w poprzednim poście
IF [#10 GE #11] GOTO 10;
należy zmodyfikować tak by skok wykonywany był przy nierównych zmiennych #10 i #11.


Autor tematu
hoses
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 10
Posty: 105
Rejestracja: 28 wrz 2006, 20:45
Lokalizacja: Mazowsze

#9

Post napisał: hoses » 30 maja 2007, 21:33

Leoo pisze:Próbujesz "wyskoczyć" z wnętrza pętli.

Spróbuj tak:


Tak na "oko" nie podoba mi się zapis:
N10 W-1.5; - czegoś brakuje.
Coś tu brakuje po słowie "Spróbuj tak:"


Leoo
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 4017
Rejestracja: 15 lis 2006, 22:01
Lokalizacja: Tarnobrzeg

#10

Post napisał: Leoo » 30 maja 2007, 21:38

Zobacz teraz - poprawiłem się.

Linia
N30 G0 Z200;
powinna być zmodyfikowana do
G0 Z200;

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Fanuc”