licznik sztuk fanuc oi-td

Dyskusje na temat systemu Faunc

MoldMichal
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 307
Rejestracja: 03 mar 2012, 12:04
Lokalizacja: Częstochowa

#11

Post napisał: MoldMichal » 28 sty 2014, 19:21

mam ten sam problem tylko na frezarce: proste nacinanie frezem pilkowym na podzielnicy...
pol dnia sie głowie jak zapentlić program:/
dalem na koncu M99 program leci w kolo, #100=#100+1 nie pomogło:( w makro wynik na #100 cyka cały czas z wartości 90 na 91 i w kolo...
jak zamienilm M30 na M99
to w curant pokazalo sie "powtórzenia0/0" jak zmienic na 0/80 ?;)
musi sie to w jakis banalny sposób zrobić ...
probowalem podawac jakis wartosci liczbowe przy m99 ale bezskutecznie :/
moge program skopiowac w notatniku 79 razy, ale nie tędy droga ;)

help:)


Pozdrawiam Michał

Tagi:


PiRo_man
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 5
Posty: 329
Rejestracja: 23 sie 2010, 21:32
Lokalizacja: Świerklany

#12

Post napisał: PiRo_man » 29 sty 2014, 07:52

Michał Twój problem polega na tym że w trakcie wykonywania podprogramu robisz wymianę narzędzi. Podczas wymiany (nie wiem czy jest dla ciebie widoczny cykl wymiany narzędzia) pod #100 (czyli zmienną dostępną dla użytkownika) zapisywana jest wartość spod adresu #4003 (adres zmiennej systemowej - jedynie do odczytu przez użytkownika -, pod tym adresem znajduje się wartość kodu G odpowiedzialnego za ustalenie interpolacji narzędzia względem współrzędnych absolutnych, bądź inkrementalnie - G90 lub G91). Korzystasz w swoim programie z pierwszego sposobu, a podczas wymiany narzędzia zjazd na punkty referencyjne (zazwyczaj tylko pozycja Z) odbywa się przy użyciu kodu G91. Aby zachować zgodność programu użytkownika, podczas wywołania cyklu wymiany narzędzia jest odczytywany kod G z którego korzysta użytkownik, zapisany zostaje pod adresem #100 (w tym momencie ten adres zostaje nadpisany, w Twoim wypadku przyjmuje wartość 90, bo korzystasz z G90), następnie w cyklu następuje zmiana na G91 aby wyjechać w osi Z na pozycję referencyjną do wymiany narzędzia, i na koniec ponownie ustawiany jest typ wymiarowania zapisany pod adresem #100. To dlatego cały czas wartość ta zmienia Ci się z 90 na 91. Po wymianie narzędzia pod adresem #100 zapisuje się wartość 90, na koniec wykonywanego podprogramu wartość jest zwiększana na 91 (#100 = #100 + 1), i przy ponownym wykonywaniu podprogramu gdy znów następuje wymiana narzędzia wartość znajdująca się pod adresem #100 ustawiana jest ponownie na 90.

Uff... Trochę się rozpisałem, ale mam nadzieję że teraz wszystko stało się jasne dlaczego tak się dzieje.

Jeśli masz na ekranie głównym wypisaną ilość sztuk, to warto spróbować z #3901. Użytkownika ma możliwość odczytu wartości spod tego adresu, jak i zapisu wartości pod ten adres. Czyli jak pisałem wcześniej użycie kodu: "#3901 = #3901 + 1" powinno zwiększyć ilość wykonanych sztuk w systemie, czyli na ekranie ich ilość powinna ulec zmianie. Sprawdziłem u siebie na sterowniku Oi-MC, działa jak należy.

U mnie wygląda to tak:
Obrazek
Na czerwono zaznaczyłem wypisaną systemową wartość ilości wykonanych sztuk, na niebiesko kod który powoduje zwiększenie licznika. W powyższym przypadku ilość zwiększa się o dwa, pierwszy raz przez inkrementację licznika zmiennej systemowej #3901, drugi raz po zakończeniu programu, czyli po M30. Jeśli wykonywany by był podprogram kod zadziałał by zgodnie z założeniem.

Pozdrawiam
inż. Mateusz

// Edit:
Fotka zaktualizowana.
Ostatnio zmieniony 29 sty 2014, 20:21 przez PiRo_man, łącznie zmieniany 2 razy.


MoldMichal
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 307
Rejestracja: 03 mar 2012, 12:04
Lokalizacja: Częstochowa

#13

Post napisał: MoldMichal » 29 sty 2014, 11:48

niestety obrazek sie nie wyswietlil..
ale chyba wiem juz mniejwiecej ocb..
zmiany narzedzi niema, ale fakt jest wywolanie na poczatku programu..

ale mam rozumieć że nie da sie wpisać ściśle ile ma maszyna razy powtórzyć program ?
nie korzystam z rzadnego podprogramu, chce o dana wartosc powtórzen zapentlić program głowny :) dokładnie po 80 cyklach ;)

zobzacze co bedzie bez M6
liczenie zawsze by pomogło, bo operator sam by wiedział kiedy wrazić czerwony guzik coby sztuke zmienic, a 2 naciecie w tej samej pozycji zostawi ślad (podzielnica manualna)
Pozdrawiam Michał


Autor tematu
PrzemoVW
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 4
Posty: 30
Rejestracja: 21 sie 2013, 14:01
Lokalizacja: Tcv

#14

Post napisał: PrzemoVW » 29 sty 2014, 14:30

Działa mi #3901 = #3901 + 1" jak i#3902 = #3901 + 2... Wyświetla na ekranie głównym... I jest ok. Hmm
Można zrobić coś w ten sposób ze jeżeli 3902 osiągnie np. 10 szt to maszyna się zatrzyma? Hmm z tym #100. Nie działa mi to... a używam kilku narzędzi... Toczenie wiercenie frezowanie.... Hmmm.


PiRo_man
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 5
Posty: 329
Rejestracja: 23 sie 2010, 21:32
Lokalizacja: Świerklany

#15

Post napisał: PiRo_man » 29 sty 2014, 20:40

Michał
Wystarczy że użyjesz wywołania cyklu wymiany narzędzia aby ustawić wartość pod adresem #100 na 90 (lub 91 - w zależności od systemu wymiarowania z którego korzystasz).

Da się wpisać ile razy maszyna ma powtórzyć program. Wystarczy program główny wrzucić jako podprogram, czyli zamiast na końcu M30 musi być M99, i tworzysz krótki program nad głównym, który go będzie wywoływał. Przykładowo:

Kod: Zaznacz cały

O0001 (PROGRAM WYWOLUJACY PROGRAM GLOWNY W PETLI)
M98 P2 L10
M30

Kod: Zaznacz cały

O0002 (PROGRAM GLOWNY)
...
M99
W powyższym przypadku Program główny, cokolwiek by tam nie było, zostanie wywołany 10 razy. Jest również możliwość zagnieżdżeń pętli, czyli jeśli program główny korzysta z podprogramów, to nic nie szkodzi, program powinien wykonać się poprawnie. O ile dobrze pamiętam to jest możliwość zagnieżdżenia podprogramów do trzech poziomów wgłąb - też dobrze jest się tego nauczyć i umieć wykorzystać, przydatna rzecz znacznie skracająca w niektórych przypadkach rozbudowane programy.

Zawsze możesz mieć wywołanie w programie jakiegoś narzędzia (korzystając z wymienionej funkcji M6), a zamiast pod zmienną #100, możesz wrzucić sobie licznik na przykład pod #101 (lub każdy inny wolny). Do tej pory nie spotkałem się jeszcze z sytuacją w której wbudowane cykle maszynowe korzystają z innej zmiennej niż #100.

PrzemoVW
Jeśli działa Ci #3901 i #3902, to masz problem rozwiązany. Do powyższego przykładowego kodu, wstawiasz dodatkowo do programu wywołującego program główny linijkę:

Kod: Zaznacz cały

#3901 = 0 (ZERUJESZ LICZNIK SZTUK)
#3902 = 10 (USTAWIASZ ZADANA ILOSC SZTUK DO WYKONANIA NA 10)
Następnie wywołujesz program, w którym na jego końcu (zaraz przed M99) wpisujesz instrukcję:

Kod: Zaznacz cały

#3901 = #3901 + 1
I w tym przypadku po osiągnięciu 10 sztuk wyświetli się komunikat, że wymagana ilość sztuk została osiągnięta.

Pozdrawiam
inż. Mateusz


MoldMichal
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 307
Rejestracja: 03 mar 2012, 12:04
Lokalizacja: Częstochowa

#16

Post napisał: MoldMichal » 29 sty 2014, 23:28

wielkie dzięki Mateusz :) jutro to z pewnościa przetestuje i zanotuje w notes, taka wiedza napewno mi się jeszcze przyda :)

[ Dodano: 2014-01-30, 15:29 ]
sprawdziłem i działa jak trzeba :) jeszcze raz dziękuje :)
nawet elegancki odjazd mogłem w programie wywołującym dopisać :)
Pozdrawiam Michał

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Fanuc”