cosmonet pisze:(...) Tutaj mam pierwsze pytanie czy mogę przypisywać dowolne nr zmiennych, czyli zamiast - #24 SREDNICA POCZATKA FASOLKI X na #1 srednica poczatkowa fasoli X? (...)
Tak. Ogólnie masz dwie możliwości. Pierwsza to przepisanie wartości z #24 do #1 - stosuje się ją w przypadku kiedy chcesz mieć parametry wejściowe do makra pozostawione bez zmian z jakichś tam powodów - np. jak są intuicyjne (F - posuw, Q- dosuw, K - ilość powtórzeń, itd...). Drugi sposób to zmiana litery parametru wejściowego - zamiast parametru 'X', 'Z', 'D', (...) możesz użyć 'A', 'B', 'C', itd... Możesz wykorzystać dowolne parametry, i w dowolnej kolejności (z tego co pamiętam poza parametrami 'I', 'J', 'K', które muszą być wpisane w kolejności alfabetycznej). Nie chciałem właśnie tego wcześniej komentować zanim nie poznasz podstaw, ale stwierdzenie:
mariusz123a pisze:(...) Linijka wywołania podprogramu musi wyglądać w ten sposób:
G65P100X40.Z-35.D42.01S12.01H6.Q1.F100. (...)
jest jak najbardziej błędne. Nie "musi" tylko "może", bo jak sam autor Ci sugeruje korekty, to siłą rzeczy możesz zmienić sobie adresy parametrów, więc i same oznaczenia parametrów będą inne.
cosmonet pisze:(...) Pytanie drugie. Jako zmienne zdeklarowane (czyli stałe) używa się tylko tych zawartych w tabeli? (...)
Te które są zapisane w pamięci ROM, tak. Ale zawsze możesz sobie zdefiniować własne stałe. Pewnie wiesz już czym się różnią poszczególne grupy adresacji zmiennych, także nie muszę tłumaczyć gdzie umieścić wartości, aby były zawsze dostępne.
cosmonet pisze:(...) Pytanie trzecie odnosi się do zapisu podprogramu
#10=#24-[#17*2]
Czy zmienna #10 zawiera się w przedziale zmiennych lokalnych - od #1 - #33 i tych nie występujących w ustaleniach argumentu I? Jeśli tak to mogę zamiast zmiennej #10 wykorzystać zmienną, np. #27? (...)
Jest to dobra praktyka, aby zmienne lokalne zawsze używać spoza zakresu adresów parametrów wejściowych. Wtedy przy dopisaniu jakiegokolwiek parametru nie trzeba analizować kodu czy czasem nie użyło się już gdzieś jakiegoś adresu odpowiadającemu danemu parametrowi, a w przypadku jego wystąpienia korekty makra. Może dojść do sytuacji, w której zmiennych lokalnych będziesz potrzebował na tyle dużo, że będziesz zmuszony wykorzystać adresy zmiennych które mogą być wprowadzone za pomocą parametrów, wtedy już będziesz musiał to kontrolować. Jednak z początku programowania makr na pewno nie będziesz miał takich sytuacji, a jak już, to bardzo rzadko.
cosmonet pisze:(...) Jeżeli jest spełniony warunek to powrót do bloku N1, jeśli nie to jest wykonywany kod poniżej IF. (...)
Dokładnie. Warto pamiętać również o pętli "WHILE" oraz o różnicy między nimi (głównie chodzi mi tu o czas przeskoku do określonego miejsca pętli).
cosmonet pisze:(...) I ostatnie pytanie. Średnica frezu tzn. jego promień jest zawarty w ustawieniach Kompensacja narzędzia - korekcja geometrii? Jeśli frez będzie miał średnicę np. 4mm to już poprawnie nie wykona fasoli?
Frez idzie z kompensacją promienia narzędzia. Więc jeśli promień freza będzie mniejszy niż promień łuku rowka, to siłą rzeczy musisz mieć możliwość go wyfrezować, jeśli będzie większy - będzie to fizycznie nie możliwe. Dobrą praktyką jest rozpisanie wstępnej kontroli obrabianego konturu zaraz na początku makra. Czyli w Twoim przypadku na przykład od razu na początku makra możesz sprawdzić średnicę freza, czy zmieści się w frezowanym rowku (najlepiej od razu z jakimś określonym naddatkiem skoro rowki masz tolerowane) - warto zapoznać się z parametrami makrodefinicji które są zaimplementowane w pamięci maszyny, dzięki nim możemy na przykład pobrać średnicę freza którego chcemy wykorzystać do obróbki. Warto jest wykonać tą operację od razu na początku makra, ponieważ oszczędzasz czas (maszyna nie musi tracić czasu na przeliczenia parametrów, tylko najpierw wyłapuje czy narzędzie się zmieści - jeśli nie, przerywa wykonywanie makra), oszczędza materiał (w przypadku większego narzędzia istnieje możliwość, że bezbłędnie dojdzie z korekcją promienia do krawędzi rowka, wykona interpolację liniową, ale na łuku wywali błąd, że promień narzędzia jest za duży aby wykonać łuk - niestety w tym momencie narzędzie może się już znajdować w materiale, i rowek może zostać rozfrezowany na zbyt dużą szerokość).
inż. Mateusz