May 15, 2023 Zostaw wiadomość

Makroprogram bezużyteczny? To dlatego, że nie możesz się pogodzić!

 

Wielu techników CNC nie rozumie makroprogramów. Uważają, że dzięki oprogramowaniu do automatycznego programowania nie ma potrzeby uczenia 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: program makr 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]

Po drugie, użycie 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: mvm9987 wyśle ​​samouczek CNC

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 Trwałe zmienne (nie tracone po wyłączeniu zasilania)

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
#5221 wartość 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. Funkcja

zdjęcie

#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.

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:
zdjęcie
#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 jest spełniony, wykonaj segment programu 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