No dobra wprowadzenie mamy już za sobą. W tym wpisie wprowadziłem Cie w świat zmiennych Macro. Opisałem wstępnie czym one są i jakie ogromne korzyści daje używanie ich w programowaniu. Dodatkowo wyjaśnione tam jest jaka jest różnica między zmiennymi, a parametrami.
- Programowanie Makro (parametryczne), Fanuc-wprowadzenie
- G65, G66, G66.1, G67 Wywołanie Makra
- Zmienne lokalne
- Zmienne wspólne
- Funkcje matematyczne Makro
- Warunki, zapętlenia Makro WHILE, IF, GOTO
Jako, temat jest naprawdę obszerny rozłożyłem go na kilka wpisów.
Zmienne systemowe
To o nich jest dzisiejszy wpis.
- Zaczynają się od #1000 w górę. ( liczba może być czterocyfrowa lub pięciocyfrowa)
- Zmienne systemowe nie są wyświetlane na ekranie wyświetlacza
To bardzo dużo zmiennych, a co za tym idzie bardzo dużo do zapamiętania. Ale nie martw się. Po to jest ta strona żebyś nie musiał wszystkiego pamiętać. Wystarczy, że wejdziesz na przemoncnc.pl i dzięki spisowi treści lub za pomocą wyszukiwarki łatwo znajdziesz to co w danym momencie cię interesuje .
Numery są zdefiniowanie przez Fanuca. Nie da się ich zmienić. W zależności od wersji oprogramowania lub od modelu maszyny numery mogą się zmieniać. Dlatego podstawą jest posiadanie książki obsługi maszyny. Dla każdej z osobna.
Zmienne systemowe nie mogą być pokazane bezpośrednio na wyświetlaczu (w większości maszyn ma zastosowanie ta zasada). Ale musi być jakiś sposób sprawdzenia ich obecnej wartości. Ta metoda to “transfer wartości”
W programie lub w MDI niektóre zmienne systemowe muszą być przeniesione do zmiennych lokalnych lub wspólnych. W zależności od źródła metoda może się różnie nazywać: zastępowanie zmiennych, redefinicja zmiennych, transfer wartości.
Przykład 1: (Fanuc 15M)
#105=#5221
Wartość X z bazy G54 zostanie przetransferowana ze zmiennej systemowej #5221 do zmiennej wspólnej #105
Przykład 2: (Fanuc 15M)
#106=#5222
Wartość Y z bazy G54 zostanie przetransferowana ze zmiennej systemowej #5222 do zmiennej wspólnej #106
Zmienne lokalne i wspólne mogą być wyświetlone na monitorze.
Grupy zmiennych systemowych
Jak już pisałem wcześniej w zależności o wersji oprogramowania numery zmiennych mogą się różnić, a co za tym idzie znaczenie danego parametru będzie miało inne znaczenie w innej wersji oprogramowania. Ty jako programista musisz wiedzieć jakiego oprogramowania używa dana maszyna i jakie skutki będzie miało wywołanie konkretnej zmiennej. Program który będziesz pisał będzie mógł być używany wyłącznie na danej wersji oprogramowania, a nawet tylko na konkretnej maszynie.
Przez te wszystkie lata Fanuc wprowadził sporo wersji swojego systemu. Omawiam tylko te najnowsze i najczęściej używane. FS (Fanuc Series)
- FS-0
- FS-10
- FS-11
- FS-15
- FS-16
- FS-18
- FS-21
- Wyższe wersje
Oczywiście są inne wersja takie jak Fanuc 3, który jest właściwie podobny do Fanuc-a 0. Fanuc 6 jest dziadkiem wersji 10/11. Wszystkie te sterowania mają zastosowanie we frezarkach FS-xxM np. FS-16M, jak i w tokarkach FS-xxT np. FS-15T. Działają na nim elektrodrążarki, szlifierki i kilka innych rodzajów maszyn. Ja zajmę się toczeniem i frezowaniem.
Zmienne systemowe dzielą sie na dwie grupy:
- Zmienne do odczytu i do zapisania
- Zmienne tylko do odczytu
Te pierwsze można zmienić za pomocą programu lub w trybie MDI. Oczywiście jest również możliwość ich odczytania , a zapisane wartości będą przetworzone przez system.
Druga grupa może być wyświetlana za pomocą zmiennych lokalnych lub wspólnych. Nie ma możliwości ich zmiany przez użytkownika. Stąd ich nazwa i to ich najczęściej będziesz używał.
Fanuc Model 0 vs inne wersje
Fanuc Fs-0 w porównaniu do innych wersji jest najuboższy. Oferuje najmniejszą liczbę zmiennych. Jest to szczególnie zauważalne przy parametrach odpowiedzialnych za offset narzędzia. Mimo to rozpocznę od tej wersji. Pod spodem będę podawał zakresy parametrów za co one są odpowiedzialne i jak ich używać
Upewnij się, że znasz znaczenie konkretnego parametru zanim zaczniesz cokolwiek programować. W razie wątpliwości sprawdź instrukcję obsługi dołączoną do maszyny.
Sygnały interfejsu (#1000-#1135)
Gdy parametr 6001 MIF, bit 0 ustawiony jest na 0.
Numer zmiennej | Funkcja |
---|---|
#1000 do #1015 | Zmienne są używane do przesyłania szesnastobitowego sygnału z PMC do zwykłego macro jeden po drugim. |
#1032 | Ta zmienna jest używana do przeczytania całego szesnastobitowego sygnału na raz |
#1100 do #1115 | Zmienne służą do wysłania sygnału szesnastobitowego ze zwykłego macro do PMC jeden po drugim |
#1132 | Ta zmienna służy do wysłania całego szesnastobitowego sygnału na raz |
#1133 | Ta zmienna jest używana do wysłania całego 32 bitowego sygnału ze zwykłego macro do PMC. Wartości od -99999999 do +9999999 mogą być użyte dla tej zmiennej. |
Gdy parametr 6001 MIF, bit 0 ustawiony jest na 1.
Numer zmiennej | Funkcja |
---|---|
#1000 do #1031 | Zmienne są używane do przesyłania 32-bitowego sygnału z PMC do zwykłego macro jeden bit po drugim. |
#1100 do #1131 | Zmienne służą do zapisania 32-bitowego sygnału ze zwykłego macro do PMC jeden bit po drugim |
#1032 do #1035 | Te zmienne są używane do przeczytania całego 32-bitowego sygnału z PMC do Macro na raz. Można użyć cyfry od -99999999 do +99999999 |
#1132 do #1135 | Te zmienne są używane do zapisania całego 32-bitowego sygnału z Macro do PMC na raz. Można użyć cyfry od -99999999 do +99999999 |
Wartości kompensacyjne narzędzi (#10000-#13400)
Zapisuj i czytaj wartości kompensacyjne narzędzi. Jak to robić pokazuje poniższa tabela.
Numer korektora | Kompensacja długości narzędzi H | Kompensacja promienia narzędzia D | ||
---|---|---|---|---|
Geometria | Zużycie | Geometria | Zużycie | |
1 | #11001 lub #2201 | #10001 lub #2001 | #13001 | #12001 |
: | : | : | : | : |
200 | #11200 lub #2400 | #10200 lub #2200 | #13200 | #12200 |
: | : | : | : | : |
400 | #11400 | #10400 | #13400 | #12400 |
Generowanie własnych alarmów(#3000 i #3006)
#3000 to bardzo fajna opcja. Pozwala Ci stworzyć do 201 swoich własnych alarmów. To, że napisałem alarm nie znaczy, że musi pojawić się jakiś problem. Może chcesz dosadnie przekazać coś operatorowi, ta zmienna jest dla Ciebie wybawieniem.
#3006 poza tym, że robi to samo co #3000 dodatkowo zatrzymuje program.
Numer zmiennej | Funkcja |
---|---|
#3000 | Po przypisaniu wartości od 0 do 200 dla zmiennej #3000 na wyświetlaczu wyświetli się alarm (maksymalnie 26 znaków). Numer alarmu to suma 3000 i wartości przypisanej do zmiennej. |
#3006 | Po przypisaniu wartości od 0 do 200 dla zmiennej #3006 maszyna zatrzyma program a na wyświetlaczu wyświetli się alarm (maksymalnie 26 znaków). |
Przykład 3:
#3000=4(USIADZ SOBIE)
Po wczytaniu tego bloku wyświetli się komunikat zapisany w nawiasach, o numerze 3004.
Zmienne czasowe (#3001, #3002, #3011, #3012)
Chcesz sprawdzić ile czasu maszyna pracuje? A może jaki dzisiaj jest dzień, lub która godzina. Nie ma sprawy.
Numer zmiennej | Funkcja |
---|---|
#3001 | Po każdy włączeniu maszyny sterownik liczy czas od 0 do 2 547 483 648 w milisekundach |
#3002 | Maszyna liczy całkowity czas gdy była w cyklu. Jednostka do godziny. Nie zeruje się po wyłączeniu lecz gdy osiągnie wartość 9 544.371767. |
#3011 | Ta zmienna wyświetla datę (rok/miesiąc/dzień) Data jest wyświetlona jako nieprzerwany numer, Np. 02 stycznia 2020r będzie wyświetlała jako 20200102 |
#3012 | Ta zmienna wyświetla godzinę (godz/min/sek). Godzina jest wyświetlona jako nieprzerwany numer. Np. 14:35 i 15 sekund wyświetli jako 143515. |
Ilość wykonanych detali (#3901, #3902)
Numer zmiennej | Funkcja |
---|---|
#3901 | Detale wykonane do tej pory |
#3902 | Liczba detali do wykonania |
Informacja modalna (#4001-#4130)
Co to są funkcje modalne pisałem już w tym miejscu. Dzięki zmiennym możesz się dowiedzieć, która funkcja jest aktywna w danej grupie.
Numer zmiennej | Funkcja | Nr. grupy |
---|---|---|
#4001 | G00, G01, G02, G03, G33, G75, G77,G78,G79 | 1 |
#4002 | G17, G18, G19 | 2 |
#4003 | G90, G91 | 3 |
#4004 | G22, G23 | 4 |
#4005 | G94, G95 | 5 |
#4006 | G20, G21 | 6 |
#4007 | G40, G41, G42 | 7 |
#4008 | G43, G44, G49 | 8 |
#4009 | G73, G74, G76, G80-G89 | 9 |
#4010 | G98, G99 | 10 |
#4011 | G50, G51 | 11 |
#4012 | G66, G67 | 12 |
#4013 | G96, G97 | 13 |
#4014 | G54-G59 | 14 |
#4015 | G61-G64 | 15 |
#4016 | G68, G69 | 16 |
: | : | |
#4022 | G50.1, G51.1 | 20 |
#4102 | B | |
#4107 | D | |
#4109 | F | |
#4111 | H | |
#4113 | M | |
#4114 | Numer bloku | |
#4115 | Numer programu | |
#4119 | S | |
#4120 | T | |
#4130 | P (numer aktualnie wybranego dodatkowego punktu zerowego przedmiotu) |
Pozycja narzędzia (#5001–#5067)
Dzięki tym zmiennym przeczytasz różne pozycje w zależności op potrzeb. Tych zmiennych nie da się wpisać, można ich tylko przeczytać.
Numer zmiennej | Dane polożenia | Układ współrzędnych | Kompensacja położenia długości/promienia narzędzia | Operacja odczytu w czasie ruchu |
---|---|---|---|---|
#5001-#5007 | Pozycja punktu końcowego bloku osi nr 1 - Pozycja punktu końcowego bloku osi nr 7 | Układ współrzędnych przedmiotu | Nieuwzględnione | Załączone |
#5021-#5027 | Pozycja bieżąca osi nr 1 - Pozycja bieżąca osi nr 7 | Układ współrzędnych maszyny | Uwzględnione | Wyłączone |
#5041-#5047 | Pozycja bieżąca osi nr 1 - Pozycja bieżąca osi nr 7 | Układ współrzędnych przedmiotu | Uwzględnione | Wyłączone |
#5061-#5067 | Pozycja pominięcia osi nr 1 - Pozycja pominięcia osi nr 7 | Układ współrzędnych przedmiotu | Uwzględnione | Załączone |
No dobra trochę się rozpisałem. Najlepsze, że te wszystkie tabelki to tylko namiastka tego wszystkiego co znajdziesz w Podręczniku Operatora dołączonym do twojej maszyny. Ja chciałem dać ci tylko zarys a bez tych tabelek nie było by to możliwe.
Sporo tego wyszło, a to dopiero druga część. Następny wpis będzie o podprogramach.
Tych co chcą śledzić moje kolejne wpisy zapraszam do subskrybowania za pomocą Newslettera.
W razie pytań zapraszam do komentowania.
Pozdrawiam PrzemoCNC