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

#11

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

Kod: Zaznacz cały

%00001(FREZOWANIE ROWKÓW 1) 
G90; 
G54; 
T1 M6; 
S350 M14; 
G0 X41 Y20; 
G43 H1 Z200; 
G0 Z-25; 
M98 P484000
G0 Z200; 
M5; 
M30; 

O4000; 
G91 G0 Z-1.5; 
G90 G1 X38 F20; 
Y-20; 
G0 X41; 
Y20; 
M99; 
A to jest inna koncepcja. Ciekawe czy pójdzie.
PS
Tak mi teraz przyszło do głowy że problem może tkwić w tym że przy N10 W-1.5 nie wiadomo jaki ma być posuw. G0 czy G1. Jutro zmienię na:
N10 G0 W-1.5 i zobaczę czy to coś da.



Tagi:


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

#12

Post napisał: doniu » 30 maja 2007, 22:14

G66 na początku programu jest to funkcja modalna

odnośnie nowego programu ktury wrzuciłeś wydaje mi się że w podprogramie powinło być W-1.5 (za ilością wywołania wprowadz dwa zera M98 P48004000 u mnie tak jest)

G0 Z-25; wtym miejscu wjeżdasz naG0 w materiał chyba że frezujesz w wybraniu(1strzał)
M98 P484000 <łochocho w tym miejscu jak nie masz frezu o długości 135mm
to dzwoń po serwis
G0 Z200;
M5;
M30;

O4000;
G91 G0 Z-1.5; <wtym miejscu wjeżdasz na G0 wmateriał zmień naG1 (2 strzał)
G90 G1 X38 F20;
Y-20;
G0 X41; <wtym miejscu jesteś w materiale usuń G0 albo zrób odjazd do góry(3 strzał)
Y20;
M99;


ps
podobny cykl robie sobie na tokarce na skórówie :wink:


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

#13

Post napisał: hoses » 31 maja 2007, 07:27

doniu pisze: wydaje mi się że w podprogramie powinło być W-1.5
to nie ma żadnego znaczenia W-1.5 jest jednoznaczne z zapisem G91 Z-1.5. Krótko mówiąc program jest pisany we współrzędnych absolutnych a tylko w tym momencie potrzebne mi jest programowania we współrzędnych przyrostowych
doniu pisze:G0 Z-25; wtym miejscu wjeżdasz naG0 w materiał chyba że frezujesz w wybraniu(1strzał)
nieprawda jestem poza materiałem
doniu pisze:G91 G0 Z-1.5; <wtym miejscu wjeżdasz na G0 wmateriał zmień naG1 (2 strzał)
Nieprawda jestem poza materiałem
doniu pisze:G0 X41; <wtym miejscu jesteś w materiale usuń G0 albo zrób odjazd do góry(3 strzał)
Nieprawda jest to wyjazd z materiału.doniu sorry ale nie czepiaj się programu to nie istotne czy idzie w materiał czy poza, to jest mój problem. Ale problem jest zupełnie inny BŁĄD 114
.
doniu pisze: (za ilością wywołania wprowadz dwa zera M98 P48004000 u mnie tak jest)
Poniżej skan z instrukcji obalający twoja teorie. Ale to też bez znaczenia.
Załączniki
podprogram.JPG
podprogram.JPG (14.95 KiB) Przejrzano 2011 razy


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

#14

Post napisał: doniu » 31 maja 2007, 18:42

hoses pisze:to nie ma żadnego znaczenia W-1.5 jest jednoznaczne z zapisem G91 Z-1.5.
Powiem ci tak że jeśli chodzi oG91 Z-1.5 zgodze się z tobą (zapomniałem),ale ja tego nie używam bo na mojej maszynie moge tak G90 W-1.5 i jest mi wygodniej.
hoses pisze:Krótko mówiąc program jest pisany we współrzędnych absolutnych a tylko w tym momencie potrzebne mi jest programowania we współrzędnych przyrostowych
Przy użyciu wielokrotnego wywołania podprogramu(M98 P484000), możesz oszukać maszyne wracając w to samo miejsce (stosując jeden ruch w o si Z w podprogramie ) .
każdy ruch w osi Z musisz opisać przyrostowo oszukując maszyne w rezultacie o(W)Z-1.5
hoses pisze:Nieprawda jest to wyjazd z materiału.doniu sorry ale nie czepiaj się programu to nie istotne czy idzie w materiał czy poza

sorka nie wiedziałem że tak to odbierzesz nie czepiam się ,chciałem pomóc :oops:
(wjeżdasz od boku?)
hoses pisze:Poniżej skan z instrukcji obalający twoja teorie. Ale to też bez znaczenia.
wiem to z praktyki a nie teori
jak wprowadzam np P1050 to wyskakuje mi alarm a jak P100050 to jest gut i wywołuje podprogram 10 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

#15

Post napisał: hoses » 31 maja 2007, 18:55

doniu pisze:moge tak G90 W-1.5
nie musisz pisać G90 W-1.5 wystarczy samo W-1.5 maszyna traktuje W zawsze jako polecenie przyrostowe nawet jak programujesz we wsp. absolutnych. Bynajmniej w moich tokarkach tak jest. Ja dość często używam pojedynczych W i U w programowaniu,. Oczywiście w tokarkach. Ale troszkę odbiegłem od tematu. No niestety znowu nie mogę sprawdzić tych programów i przemysleń jakie pojawiły się w tym temacie bo nie mam narazie dostepu do maszyny. Jak tylko sprawdzę to napisze jak to wszystko poszło.
doniu pisze:(wjeżdasz od boku?)
Tak.
doniu pisze:wiem to z praktyki a nie teori
jak wprowadzam np P1050 to wyskakuje mi alarm a jak P100050 to jest gut i wywołuje podprogram 10 razy
No tez własnie tak napiałem . Po literze P musi być numer programu. Jeżeli wpiszesz jakąś cyfrę przed numerem programu to oznacza ona iloć powtórzeń tegoż programu. Sprawdze to w praktyce jak poszło i napisze.


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

#16

Post napisał: doniu » 08 cze 2007, 23:09

hoses pisze:%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;
hoses sory że zatruwam ale już wiem czemu ci wyskakuje alarm, bo testowałem podobny program na tokarce usuń #10=0 i będzie dobrze :wink:


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

#17

Post napisał: irbal » 09 cze 2007, 11:40

>hoses sory że zatruwam ale już wiem czemu ci wyskakuje alarm, bo testowałem podobny >program na tokarce usuń #10=0 i będzie dobrze :wink:

Po pierwszym przebiegu programu zmienna #10 będzie miała wartość =47
Po drugim #10=94 itd.
Jak więc bez lini:
#10=0
wyzerować zmienną???????? i spełnić warunek:
IF [#10 GE #11] GOTO 30; (#11=48)

W innym liscie:
>Otóż błędów w zapisie nie ma na bank bo program jest wpisywany z klawiatury >maszyny

Otóz może być, bo z klawiatury można wprowadzić oba zapisy:
GOTO 30
i
GOTO30
Ale jeden z nich jest będny!.
Insrukcję skoku bezwarunkowego możesz przetestować na odzielnym programie.
Np.:
N10 GOTO 40 ;
N20 M00 ;
N30 G4 P30. ;
N40 M30 ;
Lub innym własnego pomysłu.
Wartości użytych zmiennych warto sprawdzić w sterowniku w odpowiedniej tablicy,
przed i po uruchomieniu i zakończeniu, (ew. przerwaniu) programu.
Skoro cały program nie odpalił to błędy wykluczać ..., kolejno.


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

#18

Post napisał: doniu » 10 cze 2007, 00:53

irbal pisze:Po pierwszym przebiegu programu zmienna #10 będzie miała wartość =47
Po drugim #10=94 itd.
możesz mi powiedzieć z kąt masz ten wynik ?
irbal pisze:Jak więc bez lini:
#10=0
wyzerować zmienną???????? i spełnić warunek:
IF [#10 GE #11] GOTO 30; (#11=48)
zmienna#10 jest zeromana po resecie lub po M30
co innego jeśli chodzi o zmiennom#500 :mrgreen:


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

#19

Post napisał: hoses » 10 cze 2007, 10:51

Niestety również nie moge się zgodzić z tym żeby nie zerować zmiennej #10. Tej zmiennej koniecznie nalezy przypisać jakąś wartość bo inaczej program też się wysypie. Jeżeli bym nie przypisał żadnej wartości to maszyna nie wie jak ma traktować taką zmienną. Fakt zmienna #10 jest zmienna lokalna i po wyłączeniu zasilania zostanie wyzerowana przez sterowanie . Bynajmniej tak podaje instrukcjia .Niestety nie ma to żadnego znaczenia czy to ja wyzeruje zmienną czy też system ja wyzeruje. Po to się używa zmiennych lokalnych żeby im nadawać jakieś wartości.


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

#20

Post napisał: irbal » 10 cze 2007, 20:28

>możesz mi powiedzieć z kąt masz ten wynik ?
>zmienna#10 jest zeromana po resecie lub po M30
>co innego jeśli chodzi o zmiennom#500 :mrgreen:

rzeczywiście zmienne lokalne (1-33) wyzerują się( w uproszczeniu )
Razem z wywołaniem zm.lokalnej tworzona jest kolejna tablica.
szczególy w instrukcji sterowania .
Ja uzywam zmiennych globalnych( np.100-199)
i te zmienne zachowają się tak jak pisalem.
Ale dalej podczymuję zdanie że zapis
#10=0 jest poprawny i nie powoduje alarm.
Można tez wyzerować zmienna tak :
#10= #0

tak wiec moze program przepisać zuzyciem
zmienych 100-199?
Zmienne lokalne 1-33 powinno sie wywoływac jako argumenty makra.

[ Dodano: 2007-06-11, 23:24 ]
%
O00999
T101
G97 S2500 M03
G59 G00 X50. Z2.
#10= 0
#11= 48

N10 G01 W-0.5 F0.2
X0
G00 X50.
#10= #10 + 1
IF [ #10 GE #11 ] GOTO30
N20 GOTO10
N30 G28
M30

%
Symulowałem taki program na sterowniku tokarki i...
wszystko jest O.K.
Program 48 razy planował na X0 ,przesuwajac kolejne planowanka
o 0.5.
Całość pracuje wg Twojego pomysłu.
Więc u dabła Twój tez musi działać!
Twój bład to literówka w programie, ba sam program jest O.K.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Fanuc”