Mnoho CNC techniků nerozumí makroprogramům. Myslí si, že s automatickým programovacím softwarem není potřeba se učit makroprogramy. Ve skutečnosti jsou funkce makro programů velmi výkonné. Chcete-li například napsat nějaké dávkové a opakující se programy, stačí při použití makroprogramů změnit jen několik dat. Není potřeba velké množství opakovaného programování, což může výrazně zjednodušit operace a výrazně zlepšit efektivitu práce.
Makroprogramy mohou používat proměnné k provádění smíšených operací aritmetických operací, logických operací a funkcí a také poskytovat příkazy smyčky, příkazy větvení a příkazy volání podprogramů.
Obecně řečeno: makro program je vhodný pro programování řady dílů se stejnou grafikou, ale s různou velikostí; je vhodný pro programování řady dílů se stejnou procesní cestou, ale s různými parametry polohy; je vhodný pro programování parabol, elips, hyperbol a dalších křivek bez interpolačních instrukcí.
01
Reprezentace a použití proměnných
1. Variabilní zobrazení
#Já(já=1,2,3,…) nebo #[
Příklad: #5, #109, #501, #[#1 plus #2 – 12]
Za druhé, použití proměnných
1. Za slovem adresy zadejte číslo proměnné nebo vzorec
Formát:
Zde "I" znamená proměnné číslo
Příklad: F#103, pokud #103=15, pak je to F15
Z-#110, pokud #110=250, je to Z-250
X[#24 plus #18*COS[#1]]
2. Číslo proměnné lze nahradit proměnnou
Příklad: #[#30], pokud #30=3, bude to #3
3. Proměnné nemohou používat adresy O, N, I
Příklad: Jsou povoleny následující metody
O#1;
I#2 6.00×100.0;
N#3 Z200.0;
4. Proměnná odpovídající číslu proměnné má pro každou adresu specifický rozsah hodnot
Příklad: když #30=1100, M#30 není povoleno
5. #0 je prázdná proměnná a proměnná bez definované hodnoty proměnné je také prázdná proměnná
6. Definice proměnné hodnoty:
Desetinnou čárku lze vynechat, když je program definován, například: #123=149
02
typ proměnné
Přidejte obrázky do WeChat: mvm9987 pošle CNC tutoriál
1. Lokální proměnné #1~#33
Proměnná používaná lokálně v makroprogramu, výsledek její operace nemůže být použit jinými programy.
Příklad: A makroprogram B makroprogram
...
#10=20 X#10 neznamená X20
...
Po vypnutí se vymaže a při vyvolání makroprogramu se vyplní hodnota proměnné
2. Veřejné proměnné #100~#199, #500~#999
Společná proměnná v každém uživatelském programu makra má stejný výsledek operace při každém volání programu.
Příklad: Když se #10 ve výše uvedeném příkladu změní na #100,
X#100 znamená X20
#100~#149 Po vypnutí se vyprázdní
#500~#531 Trvalé proměnné (neztratí se po vypnutí)
3. Systémové proměnné
Pevně určená proměnná, jejíž hodnota závisí na stavu systému
Příklad: #2001 je hodnota kompenzace osy X korekce nástroje č. 1
Hodnota #5221 je hodnota posunutí počátku obrobku G54 osy X
Při zadávání je nutné zadat desetinnou čárku a při vynechání desetinné čárky je jednotka μm
03
Návod k obsluze
Na pravé straně výrazu mohou být konstanty, proměnné, funkce, výrazy
Ve vzorci mohou být #j a #k také konstanty
Pravá strana výrazu je proměnná číslo, výraz
1. Definice
#I=#j
2. Aritmetické operace
#I{{0}#j plus #k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. Logické operace
#Já{{0}#JOK#k
#Já=#JXOK#k
#JÁ=#JAND#k
4. Funkce
obrázek
#JÁ=HŘÍCH[#j] sinus
#I=COS[#j] kosinus
#I=TAN[#j] tečna
#I=ATAN[#j] arkus tangens
#I=SQRT[#j] odmocnina
#I=ABS[#j] absolutní hodnota
#I=ROUND[#j] Zaokrouhlování
#I=OPRAVIT[#j] zaokrouhlit nahoru
#I=FUP[#j] Zaokrouhlete dolů
#I=BIN[#j] BCD→BIN (binární)
#I=BCN[#j] BIN→BCD
1) Úhly jsou ve stupních
Příklad: 90 stupňů a 30 minut je 90,5 stupně
2) Dvě délky stran za funkcí ATAN by měly být odděleny "/"
Příklad: #{{0}}ATAN[1]/[-1], #1 je 35,0
3) ROUND se používá pro adresu ve výpisu, zaokrouhleno nahoru podle minimální jednotky nastavení každé adresy
Příklad: Sada #1=1.2345, #2=2.3456, jednotka nastavení je 1μm
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 plus #2]; X3,580
se nevrací a měl by být nahrazen
X[ROUND[#1] plus ROUND[#2]];
4) Pokud je absolutní hodnota po zaokrouhlení větší než původní hodnota, bude zaokrouhlena nahoru, v opačném případě bude zaokrouhlena dolů
Příklad: Když #1=1.2, #2=-1.2
Pokud #{{0}}FUP[#1], pak #3=2.0
Pokud #{{0}}OPRAVIT[#1], pak #3=1.0
Pokud #{{0}}FUP[#2], pak #3=-2.0
Pokud #{{0}}OPRAVIT[#2], pak #3=-1.0
5) Při příkazu funkce lze psát pouze první dvě písmena
Příklad: ROUND→RO
FIX→FI
6) Priorita
Funkce → násobení a dělení (*, 1, AND) → sčítání a odčítání ( plus , -, OR, XOR)
Příklad: #{{0}#2 plus #3*SIN[#4];
7) Závorky jsou hranaté, až 5krát, a závorky se používají pro vyjádření komentáře
Příklad: #1=SIN[[[#2 plus #3]*#4 plus #5]*#6]; (3 závaží)
04
Instrukce pro větvení a smyčky
1. Bezpodmínečný převod
Formát: GOTO n;
Bezpodmínečně odbočte do bloku n
n: číslo bloku (1-99999)
n lze také nahradit proměnnými nebo výrazy
goto10;
GOTO #10;
2. Podmíněný převod
POKUD [
Pokud
Pokud nejste spokojeni, proveďte další blok.
POKUD [
Pokud
IF[#1EQ #2] THEN #3=0;
Podmíněný výraz:
obrázek
#j a #k lze také nahradit výrazem
Příklad: IF[#1 GT 10] GOTO 100;
…
N100 G00 G91 X10;
Příklad: Najděte součet 1 až 10
O9500;
#1=0
#2=1
N1 POKUD [#2 GT10] PŘEJÍT 2
#{{0}1 plus #2;
#{{0}#2 plus 1;
PŘEJÍT 1
N2 M30
3. Cyklus
Formát: WHILE[
…
…
…
ENDm
1. Když jsou splněny podmínky, proveďte DOm až ENDm, poté z programového segmentu DOm
Pokud není splněno, proveďte segment programu po ENDm
2. Pokud vynecháte příkaz WHILE a máte pouze DOm...ENDm, vytvoří se nekonečná smyčka od DOm do ENDm
3. hnízdění
4. EQ NE, prázdné a "0" jsou různé
Jinde je hodnota null stejná jako „0“
Příklad: Najděte součet 1 až 10
O0001;
#1=0;
#2=1;
WHILE [#2LE10] DO1;
#{{0}1 plus #2;
#{{0}#2 plus #1;
KONEC1;
M30;





