Programowanie parametryczne, zmienne systemowe Fanuc, programowanie Macro B Fanuc.
Brzmi tajemniczo?
Tak naprawdę takie nie jest. To są tylko modne słowa oznaczające kilka prostych zagadnień. Opanowanie ich wcale nie jest trudne. Mało tego. Gdy już będziesz wiedział co do czego, posiądziesz ogromną moc i kontrolę. Porównywalną, a nawet większą niż pisanie programów za pomocą cykli obróbczych. Ba, sam będziesz tworzył swoje cykle. Nie będziesz już skazany na algorytm jakiegoś tam gościa z Fanuca.
To ty będziesz tworzył algorytmy. Dzięki temu będziesz wstanie::
- wykonywać skomplikowane obliczenia w środku programu
- zapętlać program w dowolny sposób
- przeskakiwać w przód i w tył programu
- stawiać warunki
- zmieniać parametry systemowe
- liczyć sztuki
- generować alarmy
Pod poniższymi linkami znajdziesz wszystkie artykuły poświęcone tej tematyce
- Zmienne systemowe
- Zmienne lokalne
- G65, G66, G66.1, G67 Wywołanie Makra
- Zmienne wspólne
- Funkcje matematyczne Makro
- Warunki, zapętlenia Makro WHILE, IF, GOTO
Ale po kolei.
W trakcie kilku kolejnych wpisów będę się starał wyjaśnić jak tego wszystkiego dokonać. Pod wieloma względami programowanie parametryczne jest najwyższym poziomem opanowania dla każdego programisty.
Czy na mojej maszynie jest zainstalowana opcja programowania Macro (parametryczne)?
Zdalnie nie jestem Ci w stanie na to pytanie odpowiedzieć. Ale mam sposób żebyś sam mógł to sprawdzić. Wejdź w tryb MDI i wpisz :
#105=1
Wciśnij przycisk START CYCLE. Jeśli nie wyskoczył Ci alarm typu: “błąd składni” (syntax error), lub “adres nie znaleziony” (address not found), na twojej maszynie jest możliwość programowania Macro. W przypadku wystąpienia błędu jedynym rozwiązaniem jest zwrócenie się do serwisu. Oni bez problemu to odblokują. Oczywiście nie za darmo.
Fanuc Macro B
Jest najczęstszym ” językiem” programowania makr. Nie wszystkie maszyny obsługują programowanie Macro B, niektóre obsługują niepełną wersję, inne oparte są na innym “języku”. Nie jestem w stanie opisać każdego z osobna. Ale zasady jakimi się rządzą są w zasadzie podobne.
Programowanie parametryczne vs programowanie G-kodami
Różnica między tymi dwoma sposobami programowanie jest ogromna. Taka jak algebry nad arytmetyką.
Dam Ci przykład :
Załóżmy, że masz 10 chlebów po 2.50zł za sztukę.
Używając arytmetyki łatwo policzymy 10*2,5=25zł
W algebrze H to ilość chlebów, a C to cena za 1 bochenek. Tworząc wzór H*C jesteśmy w stanie policzyć cenę za dowolną liczbę chlebów kosztujących każdą cenę.
Wracając do programowania. Dzięki parametrom a raczej dzięki zmiennym zyskujemy niesamowitą przewagę. Wyobraź sobie, że masz do wykonania 20 rożnych detali i w każdym jest ten sam kanałek. Jedyna różnica to średnica. Nie będziesz już musiał pisać programu na każdy z osobna. Wystarczy do wartości X dopisać zmienną, załóżmy #1 kórą będziesz mógł zmieniać w zależności od wykonywanego detalu.
To tylko jeden przykład. Zastosowań są tysiące o ile nie miliony.
Czy miałeś kiedyś taki przypadek, że brakowało ci czegoś w standardowym cyklu? Załóżmy, że posuw na wejściu chciałbyś mniejszy lub chciałbyś żeby obroty po 2 przejściach się zwiększyły. Od teraz Ty sam będziesz tworzył cykle niestandardowe i prawie nic nie będzie Cię ograniczać.
Omówienie całego zagadnienia zamie mi kilka wpisów. Mało komu chce się czytać długie teksty, dlatego podzielę to wszystko na kilka, mam nadzieję łatwych do przyswojenia rozdziałów.
Dzisiaj zajmuję się podstawami, wyjaśniam co do czego. Następnie opiszę jak się posługiwać naszą nową zabawką.
Parametry i zmienne makr to dwie różne rzeczy.
Firmy nie produkują starowinków dedykowanych do danych maszyn. Tworzą takie same sterowniki ale z możliwością adaptacji do danej maszyny i potrzeb. Wewnątrz kontrolera znajduje się zbór ustawień, które nazywa się parametrami. To one pozwalają dostosować maszynę do sterownika. Np. :
- Prędkości wrzeciona
- Szybkie przejazdy
- Punkty bazowe
- I wiele wiele innych
Nigdy nie zmieniaj parametrów systemowych chyba, że na 100% wiesz co robisz.
Zmiany mogą być nieodwracalne. Dodatkowo upewnij się, że masz kopię zapasową na wypadek awarii baterii. Zazwyczaj jest dostępna procedura zgrania ustawień na dysk zapasowy.
Zmienne są… No właśnie czym one są. Jakby to najprościej wyjaśnić? To tak jakby używać zmiennych z algebry w G-kodzie. Można im przypisać dowolną wartość. A kiedy są wywoływane w programie wczytują ostatnią przypisaną im wartość.
Składnia zmiennej to # i numer zmiennej. W zależności od maszyny maksymalna liczba zmiennych może się różnić.
Dla przykładu, chcąc przypisać wartość 10 dla zmiennej #1, zapiszesz
#1=10
Jest jedna zmienna której nie można przypisać żadnej innej wartości, poza tą która jest z góry ustalona. Jest nią #0, jej wartość zawsze będzie wynosić 0.
Zmienne mieszczą się w różnych zakresach. Poniższa tabela pokazuje co system Fanuc myśli o zmiennych znajdujących się w danym zakresie.
Numer zmiennych | Typ zmiennych | Funkcja |
---|---|---|
#0 | Null | Nie można przypisać żadnej wartości dla #0. Jej wartość zawsze będzie wynosić 0. |
#1-#33 | Zmienne lokalne | Zmienne lokalne służą do przekazywania argumentów do makr oraz do tymczasowego przechowywania danych w pamięci tymczasowej. Maszyna nie zapamięta danych po jej wyłączeniu. Konieczne będzie ponowne ich wczytanie. Zagnieżdżają się w podprogramach. Upewnij się że rozumiesz jak to działa. |
#100-#199 #500-#999 | Zmienne wspólne | Zmienne wspólne jak sama nazwa wskazuje, są dzielone przez wszystkie twoje programy makro. Po wyłączeniu maszyny parametry #100-#199 są zerowane. #500-#999 zapamiętują wprowadzone dane do następnego uruchomienia maszyny. |
#1000- wzwyż | Zmienne systemowe | Zmienne systemowe służą do informowania o tym co robi kontroler. Np. obecna pozycja. Nie przypisuj im żadnej wartości, chyba że na 100% wiesz jak one działają. |
Weź pod uwagę, że przedziały mogą się różnić w zależności od zainstalowanego oprogramowania. Zwłaszcza innego niż Fanuc
Nasuwa się pytanie:
Których zmiennych używać?
Zmienne Systemowe i Lokalne mają specjalne zachowania. Wstrzymaj się dopóki nie zrozumiesz tych zachowań. Zmienne systemowe odnoszą się do konkretnych rzeczy w sterowaniu i nie możesz ich używać jako ogólnego przeznaczenia. Natomiast zmienne lokalne wykazują zachowanie “zagnieżdżania” makr. Zanim zaczniesz je używać poczytaj o podprogramach makro. Jeśli zrozumiesz ich zachowanie będziesz mógł ich używać.
Zmienne wspólne, to od nich zacznij programowanie na zmiennych.
Do których adresów mogę dołączać zmienne?
Prawie do wszystkich. Łatwiej będzie wymienić te do których nie można.
- Nie można podstawiać zmiennych do numeru programu
- Nie można numerować bloków za pomocą zmiennych
- Pomijanie bloku /1 jest dozwolone ale /#1 już nie
- WHILE..DO..END adresy: DO1 jest dozwolone, DO#1 nie
Jak widzisz nie ma tego za dużo.
No dobra wystarczy na dzisiaj. W następnym rozdziale opiszę zmienne systemowe. Jeśli chcesz być na bieżąco, zapraszam do subskrybowania za pomocą Newslettera zlokalizowanego po prawej stronie. W razie pytań proszę o komentarze.
Pozdrawiam PrzemoCNC