Jan 13, 2023 Zostaw wiadomość

Wymagana znajomość programowania makr

 

W dzisiejszych czasach wielu techników CNC nie rozumie makroprogramów. Uważają, że dzięki oprogramowaniu do automatycznego programowania nie muszą uczyć się makroprogramów. W rzeczywistości funkcje programów makr są bardzo potężne. Na przykład, aby napisać kilka programów wsadowych i powtarzalnych, wystarczy zmienić tylko kilka danych podczas korzystania z programów makr. Nie ma potrzeby wykonywania dużej liczby powtórzeń programowania, co może znacznie uprościć operacje i znacznie poprawić wydajność pracy.

Makroprogramy mogą wykorzystywać zmienne do wykonywania mieszanych operacji arytmetycznych, operacji logicznych i funkcji, a także udostępniać instrukcje pętli, instrukcje rozgałęzień i instrukcje wywołania podprogramu.

Mówiąc ogólnie: makroprogram jest odpowiedni do programowania serii części z tą samą grafiką, ale o różnych rozmiarach; nadaje się do programowania serii części o tej samej ścieżce procesu, ale z różnymi parametrami pozycji; nadaje się do programowania paraboli, elips, hiperboli i innych krzywych bez instrukcji interpolacji.

01
Reprezentacja i wykorzystanie zmiennych

1. Reprezentacja zmiennych

#I(I=1,2,3,...) lub #[]
Przykład: #5, #109, #501, #[#1 plus #2-12]

2. Wykorzystanie zmiennych

1) Podaj numer zmiennej lub formułę po słowie adresowym
Format:

#I
Tutaj „I” oznacza numer zmiennej
Przykład: F#103, jeśli #103=15, to jest to F15
Z-#110, jeśli #110=250, to jest Z-250
X[#24 plus #18*COS[#1]]

2) Numer zmiennej można zastąpić zmienną
Przykład: #[#30], jeśli #30=3, będzie to #3

3) Zmienne nie mogą używać adresów O, N, I
Przykład: Dozwolone są następujące metody
O#1;
I#2 6.00×100.0;
N#3 Z200.0;

4) Zmienna odpowiadająca numerowi zmiennej ma określony zakres wartości dla każdego adresu
Przykład: Gdy #30=1100, M#30 jest niedozwolone

5) #0 jest zmienną pustą, a zmienna bez zdefiniowanej wartości zmiennej jest również zmienną pustą

6) Definicja wartości zmiennej:
Kropkę dziesiętną można pominąć podczas definiowania programu, na przykład: #123=149

02
typ zmiennej

Dodaj zdjęcia do WeChat: yuki7557 wyśle ​​samouczek programu makr

1. Zmienne lokalne #1~#33

Zmienna używana lokalnie w makroprogramie, wynik jej działania nie może być używany przez inne programy.
Przykład: makroprogram B makroprogram
...
#10=20 X#10 nie oznacza X20
...
Zostanie skasowany po wyłączeniu zasilania, a wartość zmiennej zostanie uzupełniona po wywołaniu makroprogramu

2. Zmienne publiczne #100~#199, #500~#999

Wspólna zmienna w każdym makroprogramie użytkownika ma taki sam wynik operacji w każdym wywołaniu programu.
Przykład: Gdy numer 10 w powyższym przykładzie zostanie zmieniony na numer 100, plik
X#100 oznacza X20
#100~#149 Opróżnij po wyłączeniu zasilania
#500~#531 Persistent variables (not lost after power off)

3. Zmienne systemowe

Zmienna o stałym przeznaczeniu, której wartość zależy od stanu systemu
Przykład: #2001 to wartość kompensacji osi X kompensacji narzędzia nr 1
Wartość #5221 to wartość kompensacji zera przedmiotu obrabianego G54 osi X
Podczas wprowadzania należy wprowadzić kropkę dziesiętną, a jednostką jest μm, gdy kropka jest pominięta

03
Instrukcja operacji

Po prawej stronie wyrażenia mogą znajdować się stałe, zmienne, funkcje, wyrażenia
We wzorze #j i #k również mogą być stałymi
Prawa strona wyrażenia to numer zmiennej, wyrażenie

1. Definicja

#I=#j

2. Operacje arytmetyczne

#I=#j plus #k
#I=#j-#k
#I=#j*#k
#I=#j/#k

3. Operacje logiczne

#I=#JOK#k
#I=#JXOK#k
#I=#JAND#k

4. Funkcje

#I=SIN[#j] sinus
#I=COS[#j] cosinus
#I=TAN[#j] tangens
#I=ATAN[#j] łuk styczny
#I=PIERWIASTEK[#j] pierwiastek kwadratowy
#I=ABS[#j] wartość bezwzględna
#I=ROUND[#j] Zaokrąglanie
#I=FIX[#j] zaokrągla w górę
#I=FUP[#j] Zaokrąglij w dół
#I=BIN[#j] BCD→BIN (binarnie)
#I=BCN[#j] BIN→BCD

1) Kąty są w stopniach
Przykład: 90 stopni i 30 minut to 90,5 stopnia

2) Dwie długości boków po funkcji ATAN powinny być rozdzielone znakiem „/”
Przykład: #{{0}}ATAN[1]/[-1], nr 1 to 35,0

3) ZAOKRĄGLENIE stosuje się dla adresu w zestawieniu, zaokrąglając w górę zgodnie z minimalną jednostką ustawienia każdego adresu
Przykład: Zestaw #1=1.2345, #{2}}.3456, jednostka ustawienia to 1μm
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 plus #2]; X3.580
nie jest zwracany i powinien zostać zastąpiony przez
X[ZAOKR[#1] plus ZAOKR[#2]];

4) Jeżeli wartość bezwzględna po zaokrągleniu jest większa niż wartość początkowa zostanie zaokrąglona w górę, w przeciwnym razie zostanie zaokrąglona w dół
Przykład: Gdy #1=1.2, #2=-1.2
Jeśli #{{0}}FUP[#1], to #3=2.0
Jeśli #{0}}NAPRAWA[#1], to #3=1.0
Jeśli #{{0}}FUP[#2], to #3=-2.0
Jeśli #{{0}}NAPRAWA[#2], to #3=-1.0

5) Podczas wydawania polecenia można wpisać tylko dwie pierwsze litery
Przykład: ZAOKR→RO
FIX→FI

6) Priorytet
Funkcja → mnożenie i dzielenie (*, 1, AND) → dodawanie i odejmowanie ( plus , -, OR, XOR)
Przykład: #1=#2 plus #3*SIN[#4];

7) Nawiasy są nawiasami kwadratowymi, do 5 razy, a nawiasy są używane do komentarzy
Przykład: #1=SIN[[[#2 plus #3]*#4 plus #5]*#6]; (3 wagi)

04
Instrukcje rozgałęzień i pętli

1. Bezwarunkowe przeniesienie

Format: GOTO n;

Bezwarunkowe rozgałęzienie do bloku n
n: numer bloku (1-99999)
n można również zastąpić zmiennymi lub wyrażeniami
przejdź do 10;
PRZEJDŹ DO #10;

2. Przeniesienie warunkowe

JEŚLI [] PRZEJDŹ n;
jeślijest spełniony, następna operacja zostanie przeniesiona do bloku o numerze bloku n.
Jeśli nie jesteś zadowolony, wykonaj następny blok.
Dodaj WeChat: yuki7557, aby wysłać samouczek programu makr
JEŚLI [] NASTĘPNIE ... ;
jeślijest spełniony, wykonywana jest instrukcja makroprogramu występująca po THEN i wykonywana jest tylko jedna instrukcja.
JEŻELI[#1RÓWN.#2] TO #3=0;

Wyrażenie warunkowe:

#j i #k można również zastąpić przez

Przykład: JEŚLI[#1 GT 10] GOTO 100;

N100 G00 G91 X10;
Przykład: Znajdź sumę od 1 do 10
O9500;
#1=0
#2=1
N1 JEŻELI [#2 GT10] PRZEJDŹ 2
#1=#1 plus #2;
#2=#2 dodać 1;
PRZEJDŹ 1
N2 M30

3. Cykl

Format: GDY[]ZRÓB m; (m=1, 2, 3)



KONIEC

1. Gdy warunki są spełnione, wykonaj DOm do ENDm, a następnie z segmentu programu DOm
Jeśli nie jesteś zadowolony, wykonaj segment programu następujący po ENDm
2. Jeśli pominiesz instrukcję WHILE i będziesz mieć tylko DOm...ENDm, powstanie nieskończona pętla od DOm do ENDm
3. zagnieżdżanie
4. EQ NE, puste i „0” są różne
Gdzie indziej wartość null oznacza to samo, co „0”

Przykład: Znajdź sumę od 1 do 10
O0001;
#1=0;
#2=1;
PODCZAS [#2LE10] ZROBIĆ1;
#1=#1 plus #2;
#2=#2 plus #1;
KONIEC1;
M30;

 

 

Wyślij zapytanie

whatsapp

skype

Adres e-mail

Zapytanie