Kes ütleb, et makroprogrammid on kasutud? Seda sellepärast, et sa ei suuda seda välja mõelda!
Paljud CNC-tehnikud ei mõista tänapäeval makroprogramme. Nad usuvad, et automaatse programmeerimistarkvaraga pole makroprogramme vaja õppida. Tegelikult on makroprogrammide funktsioonid väga võimsad. Näiteks pakett- ja korduvate programmide kirjutamisel nõuab makroprogrammide kasutamine vaid mõne andmepunkti muutmist, ilma et oleks vaja ulatuslikku korduvat programmeerimist. See võib oluliselt lihtsustada toiminguid ja parandada töö efektiivsust.
Makroprogrammid saavad kasutada muutujaid aritmeetiliste, loogiliste ja funktsioonide segatehte jaoks ning pakkuda ka tsüklilauseid, harulauseid ja alamprogrammide väljakutse lauseid.
Üldiselt sobivad makroprogrammid sama graafika, kuid erineva suurusega osade seeriate programmeerimiseks; Sobib sama protsessitee, kuid erinevate asendiparameetritega seeriaosade programmeerimiseks; Sobib kõverate programmeerimiseks ilma interpoleerimiskäskudeta, nagu paraboolid, ellipsid, hüperboolid jne.
1.
Muutujate esitus ja kasutamine
1, muutuja esitus
#I (I=1,2,3,...) või # [
Näide: # 5, # 109, # 501, # [# 1+# 2-12]
2, muutujate kasutamine
1. Määrake aadresssõna järel muutuja number või valem
Vorming:# I
"I" tähistab siin muutuja arvu
Näide: F # 103, kui # 103=15, siis on see F15
Z – # 110, eeldades # 110=250, on see Z-250
X [# 24+# 18 * COS [# 1]]
2. Muutujate numbreid saab asendada muutujatega
Näide: # [# 30], kui # 30=3, siis on see # 3
3. Muutujad ei saa kasutada aadresse O, N, I
Näide: järgmiste meetodite korral on see lubatud
O # 1;
I # 2 6.00 × 100.0;
N # 3 Z200.0;
4. Muutuja numbrile vastaval muutujal on iga aadressi jaoks kindel numbrivahemik
Näide: kui # 30=1100, siis M # 30 pole lubatud
5. # 0 on tühi muutuja ja muutujad ilma defineeritud muutuja väärtusteta on samuti tühjad muutujad
6. Muutuja väärtuse määratlus:
Programmi määratlemisel võib kümnendkohad ära jätta, näiteks: # 123=149
2.
Muutujate tüübid

1. Kohalikud muutujad # 1 ~ # 33
Muutuja, mida kasutatakse lokaalselt makroprogrammis ja selle operatsiooni tulemust ei saa kasutada teised programmid.
Näide: Makroprogramm B Makroprogramm
#10=20 X # 10 ei tähista X20
Tühjendage pärast voolukatkestust, sisestage makroprogrammide kutsumisel muutuja väärtused
2. Tavalised muutujad # 100~# 199, # 500~# 999
Iga kasutaja makroprogrammi ühistel muutujatel on sama operatsiooni tulemus kui mis tahes programmikutsel.
Näide: Kui eelmises näites # 10 muudeti numbriks # 100, siis B makroprogramm
X # 100 tähistab X20
#Tühjenda pärast voolukatkestust 100~# 149
#500~# 531 Hoidmistüübi muutuja (ei kao pärast voolukatkestust)
3. Süsteemi muutujad
Fikseeritud eesmärgiga muutuja, mille väärtus sõltub süsteemi olekust
Näide: # 2001 väärtus on tööriista 1 kompensatsiooni X-telje kompensatsiooni väärtus
#Väärtus 5221 on X-telje G54 tooriku päritolu nihke väärtus
Sisestamisel tuleb sisestada koma. Kui koma jäetakse välja, on ühikuks μM
kolm
Aritmeetiline õpetus
Avaldisest paremal võivad olla konstandid, muutujad, funktsioonid ja valemid
Valemis võivad # j ja # k olla ka konstandid
Võrrandi paremal küljel on muutuja arv ja avaldis
1, määratlus
#I=# j
2, Aritmeetiline tehe
#I=# j+# k
#I=# j - # k
#I=# j * # k
#I=# j/# k
3, loogiline toimimine
#I=# NALI # k
#I=# JXOK # k
#I=# JAND # k
4, funktsioon

#I=SIN [# j] siinus
#I=COS [# j] koosinus
#I=TAN [# j] puutuja
#I=ATAN [# j] arktangent
#I=SQRT [# j] ruutjuur
#I=ABS-i absoluutväärtus [# j]
#I=ROUND [# j] Ümarda lähima täisarvuni
#I voor=PARANDA [# j]
#I voor=FUP [# j]
#I=BIN [# j] BCD → BIN (binaarne)
#I=BCN [# j] BIN → BCD
1) Nurk kraadides
Näide: 90 kraadi ja 30 minutit on samaväärsed 90,5 kraadiga
2) Kaks küljepikkust pärast funktsiooni ATAN tuleks eraldada märgiga "/"
Näide: kui # {0}}ATAN [1]/[-1], on # 1 35,0
3) ROUND kasutatakse lausetes olevate aadresside jaoks, ümardatuna iga aadressi väikseima määratud ühikuni
Näide: määrake # 1=1.2345, # 2=2.3456 ja määrake ühik 1 μM
G91 X - # 1; X-1.235
X - # 2 F300; X-2.346
X [# 1+# 2]; X3.580
Algsesse asukohta ei tagastata, tuleks asendada
X [ROUND [# 1]+ROUND [# 2]];
4) Kui absoluutväärtus pärast ümardamist on suurem algväärtusest, ümardatakse see ülespoole; muidu ümardatakse allapoole
Näide: kui # 1=1.2, # 2=-1.2
Kui # {{0}}FUP [# 1], siis # 3=2.0
Kui # {{0}}PARANDA [# 1], siis # 3=1.0
Kui # {{0}}FUP [# 2], siis # 3=-2.0
Kui # {{0}}PARANDA [# 2], siis # 3=-1.0
5) Funktsiooni juhendamisel saab kirjutada ainult kaks esimest tähte
Näide: ROUND → RO
FIX → FI
6) Prioriteet
Funktsioon → Korrutamine ja jagamine (*, 1, JA) → Liitmine ja lahutamine (+, -, VÕI, XOR)
Näide: # 1=# 2+# 3 * SIN [# 4];
7) Sulud on nurksulud, kuni 5 korda, mida kasutatakse väidete kommenteerimiseks
Näide: # 1=SIN [[[# 2+# 3] * # 4+# 5] * # 6]; (Kolmekordne)
neli
Edastamise ja silmuse juhised
1. Tingimusteta ülekanne
Formaat: GOTO n;
Tingimusteta ülekandmine programmilõigusse n
n: programmi segmendi number (1-99999)
N võib asendada ka muutujate või avaldistega
GOTO10;
GOTO # 10;
2. Tingimuslik üleandmine
KUI [
Kui
Kui see pole rahul, käivitage järgmine programmilõik.
KUI [
Kui
KUI [# 1EQ # 2] THE # 3=0;
Tingimuslik valem:

#J ja # k võib asendada ka sõnadega
Näide: KUI [# 1 GT 10] GOTO 100;
N100 G00 G91 X10;
Näide: summa 1 kuni 10 leidmine
O9500;
#1=0
#2=1
N1, KUI [# 2 GT10] GOTO 2
#1=# 1+# 2;
#2=# 2+1;
MINNA 1
N2 M30
3. Tsükkel
Vorming: WHILE [
ENDm
Kui tingimused on täidetud, käivitage DOm kuni ENDm, seejärel DOm programmisegmendist
Kui see pole rahul, käivitage programmi segment pärast ENDm
Kui WHILE lause jäetakse välja ja esineb ainult DOm... ENDm, moodustub DOm ja ENDm vahele surnud silmus
3. Pesitsemine
Kui EQ NE on olemas, on null ja "0" erinevad
Muudel tingimustel on null ja "0" samad
Näide: summa 1 kuni 10 leidmine
O0001;
#1=0;
#2=1;
WHILE [# 2LE10] DO1;
#1=# 1+# 2;
#2=# 2+# 1;
END1;
M30;

