Sok CNC technikus nem érti a makróprogramokat. Úgy gondolják, hogy az automatikus programozó szoftverrel nincs szükség makróprogramok tanulására. Valójában a makróprogramok funkciói nagyon hatékonyak. Például néhány kötegelt és ismétlődő program írásához makróprogramok használatakor csak néhány adatot kell módosítania. Nincs szükség nagy számú ismételt programozásra, ami nagymértékben leegyszerűsíti a műveleteket és nagymértékben javítja a munka hatékonyságát.
A makróprogramok változókat használhatnak aritmetikai műveletek, logikai műveletek és függvények vegyes műveleteinek végrehajtására, valamint hurokutasításokat, elágazási utasításokat és szubrutinhívási utasításokat is biztosíthatnak.
Általánosságban elmondható: a makróprogram azonos grafikájú, de eltérő méretű alkatrészsorozat programozására alkalmas; azonos folyamatúttal, de eltérő pozícióparaméterekkel rendelkező alkatrészsorok programozására alkalmas; alkalmas parabolák, ellipszisek, hiperbolák és egyéb görbék programozására interpolációs utasítások nélkül.
01
Változók ábrázolása, használata
1. Változóábrázolás
#I(I=1,2,3,…) vagy #[
Példa: #5, #109, #501, #[#1 plusz #2-12]
Másodszor, a változók használata
1. Adja meg a változó számát vagy képletét a címszó után
Formátum:
Itt az "I" változó számot jelent
Példa: F#103, ha #103=15, akkor F15
Z-#110, ha #110=250, akkor Z-250
X[#24 plusz #18*COS[#1]]
2. A változószám helyettesíthető változóval
Példa: #[#30], ha #30=3, akkor #3 lesz
3. A változók nem használhatnak O, N, I címeket
Példa: A következő módszerek megengedettek
O#1;
I#2 6.00×100.0;
N#3 Z200.0;
4. A változószámnak megfelelő változó minden címhez saját értéktartománnyal rendelkezik
Példa: ha #30=1100, az M#30 nem engedélyezett
5. A #0 egy üres változó, és a meghatározott változóérték nélküli változó is üres változó
6. Változó érték meghatározása:
A program definiálásakor a tizedesvessző elhagyható, például: #123=149
02
változó típusa
Képek hozzáadása a WeChathoz: Az mvm9987 CNC-oktatóanyagot küld
1. Helyi változók #1~#33
Makróprogramban lokálisan használt változó, műveleti eredményét más programok nem használhatják.
Példa: Egy makróprogram B makróprogram
...
A #10=20 X#10 nem X20-at jelent
...
Kikapcsolás után törlődik, és a változó értéke a makróprogram meghívásakor kerül kitöltésre
2. Nyilvános változók #100~#199, #500~#999
A közös változó minden felhasználói makróprogramban ugyanazt a műveletet eredményezi bármely programhívásban.
Példa: Ha a fenti példában a #10 #100-ra változik, a
Az X#100 X20-at jelent
#100~#149 Kikapcsolás után üres
#500~#531 Állandó változók (kikapcsolás után nem vesznek el)
3. Rendszerváltozók
Fix célú változó, amelynek értéke a rendszer állapotától függ
Példa: #2001 az 1. számú szerszámkorrekció X-tengely korrekciós értéke
#5221 érték X tengely G54 munkadarab origó eltolás értéke
Beíráskor tizedesvesszőt kell megadni, a mértékegység pedig μm, ha a tizedesvesszőt kihagyjuk
03
Műveleti utasítás
A kifejezés jobb oldala lehetnek állandók, változók, függvények, kifejezések
A képletben #j és #k is lehet konstans
A kifejezés jobb oldala a változó szám, a kifejezés
1. Meghatározás
#I=#j
2. Aritmetikai műveletek
#I=#j plusz #k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. Logikai műveletek
#ÉN=#JOK#k
#I=#JXOK#k
#I=#JAND#k
4. Funkció
kép
#I=SIN[#j] szinusz
#I=COS[#j] koszinusz
#I=TAN[#j] érintő
#I=ATAN[#j] ív érintő
#I=SQRT[#j] négyzetgyök
#I=ABS[#j] abszolút érték
#I=KEREKEK[#j] Kerekítés
#I=JAVÍTÁS[#j] felfelé
#I=FUP[#j] Lefelé kerekítés
#I=BIN[#j] BCD→BIN (bináris)
#I=BCN[#j] BIN→BCD
1) A szögek fokban vannak megadva
Példa: 90 fok és 30 perc 90,5 fok
2) Az ATAN függvény utáni két oldalhosszt "/" jellel kell elválasztani
Példa: #{{0}}ATAN[1]/[-1], az 1. szám 35,0
3) A ROUND a kivonatban szereplő címre vonatkozik, az egyes címek minimális beállítási egysége szerint felfelé kerekítve
Példa: #1=1.2345, #2=2.3456 beállítása, a beállítási egység 1 μm
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 plusz #2]; X3.580
nem küldik vissza, és ki kell cserélni
X[ROUND[#1] plus ROUND[#2]];
4) Ha a kerekítés utáni abszolút érték nagyobb, mint az eredeti érték, akkor felfelé kerekítjük, ellenkező esetben lefelé kerekítjük
Példa: Amikor #1=1.2, #2=-1.2
Ha #{{0}}FUP[#1], akkor #3=2.0
Ha #{{0}}FIX[#1], akkor #3=1.0
Ha #{{0}}FUP[#2], akkor #3=-2.0
Ha #{{0}}FIX[#2], akkor #3=-1.0
5) Egy függvény parancsolásakor csak az első két betű írható
Példa: ROUND→RO
FIX→FI
6) Prioritás
Függvény → szorzás és osztás (*, 1, ÉS) → összeadás és kivonás ( plusz , -, VAGY, XOR)
Példa: #1=#2 plusz #3*SIN[#4];
7) A zárójelek szögletes zárójelek, legfeljebb 5-ször, és a zárójelek a megjegyzésekhez használhatók
Példa: #1=SIN[[[#2 plusz #3]*#4 plusz #5]*#6]; (3 súly)
04
Elágazás és hurok utasítások
1. Feltétel nélküli átruházás
Formátum: GOTO n;
Feltétel nélkül elágazás az n blokkra
n: blokkszám (1-99999)
n változókkal vagy kifejezésekkel is helyettesíthető
goto10;
GOTO #10;
2. Feltételes átadás
HA [
Ha a
Ha nem elégedett, hajtsa végre a következő blokkot.
HA [
Ha a
IF[#1EQ #2] THEN #3=0;
Feltételes kifejezés:
kép
#j és #k is helyettesíthető
Példa: IF[#1 GT 10] GOTO 100;
…
N100 G00 G91 X10;
Példa: Keresse meg 1 és 10 közötti összeget
O9500;
#1=0
#2=1
N1 HA [#2 GT10] GOTO 2
#1=#1 plusz #2;
#2=#2 plusz 1;
GOTO 1
N2 M30
3. Ciklus
Formátum: WHILE[
…
…
…
ENDm
1. Ha a feltételek teljesülnek, hajtsa végre a DOm-t az ENDm-ig, majd a DOm programszegmenséből
Ha nem teljesül, hajtsa végre a programszegmenst az ENDm után
2. Ha kihagyja a WHILE utasítást, és csak DOm...ENDm van, egy végtelen hurok jön létre DOm-tól ENDm-ig.
3. fészekrakás
4. EQ NE, üres és "0" különbözik
Máshol a null ugyanaz, mint "0"
Példa: Keresse meg 1 és 10 közötti összeget
O0001;
#1=0;
#2=1;
WHILE [#2LE10] DO1;
#1=#1 plusz #2;
#2=#2 plusz #1;
END1;
M30;





