Кой казва, че макро програмите са безполезни? Това е, защото не можете да го измислите!
Много CNC техници в днешно време не разбират макро програми. Те вярват, че със софтуера за автоматично програмиране няма нужда да се учат макро програми. Всъщност функциите на макро програмите са много мощни. Например, когато пишете групови и повтарящи се програми, използването на макро програми изисква само модифициране на няколко точки от данни, без необходимост от обширно повтарящо се програмиране. Това може значително да опрости операциите и да подобри ефективността на работата.
Макро програмите могат да използват променливи за аритметични операции, логически операции и смесени операции на функции, а също така да предоставят оператори за цикъл, оператори за разклоняване и оператори за извикване на подпрограма.
Най-общо казано, макро програмите са подходящи за програмиране на серии от части с еднакви графики, но различни размери; Подходящ за програмиране на серийни части с еднакъв път на процеса, но различни позиционни параметри; Подходящ за програмиране на криви без инструкции за интерполация като параболи, елипси, хиперболи и др.
1.
Представяне и използване на променливи
1, Променливо представяне
#I (I=1,2,3,...) или # [
Пример: # 5, # 109, # 501, # [# 1+# 2-12]
2, Използването на променливи
1. Посочете число на променлива или формула след адресната дума
формат:# I
„I“ тук представлява числото на променливата
Пример: F # 103, ако # 103=15, това е F15
Z - # 110, приемайки # 110=250, това е Z-250
X [# 24+# 18 * COS [# 1]]
2. Променливите числа могат да бъдат заменени с променливи
Пример: # [# 30], ако # 30=3, това е # 3
3. Променливите не могат да използват адреси O, N, I
Пример: При следните методи е разрешено
O # 1;
I # 2 6.00 × 100.0;
N # 3 Z200.0;
4. Променливата, съответстваща на номера на променливата, има специфичен числов диапазон за всеки адрес
Пример: Когато # 30=1100, тогава M # 30 не е позволено
5. # 0 е празна променлива и променливи без дефинирани стойности на променлива също са празни променливи
6. Дефиниция на променлива стойност:
Десетичните точки могат да бъдат пропуснати при дефинирането на програмата, например: # 123=149
2.
Видове променливи

1. Локални променливи # 1~# 33
Променлива, която се използва локално в макропрограма и резултатът от нейната операция не може да се използва от други програми.
Пример: A Макро програма B Макро програма
#10=20 X # 10 не представлява X20
Изчистване след прекъсване на захранването, въвеждане на променливи стойности при извикване на макро програми
2. Общи променливи # 100~# 199, # 500~# 999
Общите променливи в рамките на макропрограмата на всеки потребител имат същия резултат от операцията като всяко извикване на програма.
Пример: В предишния пример, когато # 10 беше променено на # 100, макро програмата B
X # 100 представлява X20
#Изчистване след прекъсване на захранването от 100~# 149
#500~# 531 Променлива тип задържане (не се губи след прекъсване на захранването)
3. Системни променливи
Променлива с фиксирана цел, чиято стойност зависи от състоянието на системата
Пример: # 2001 стойност е стойността на компенсация по оста X за компенсация на инструмент 1
#Стойността 5221 е стойността на отместването на началния детайл на оста X G54
При въвеждане трябва да се въведе десетична запетая. Ако десетичната запетая е пропусната, единицата е μ M
три
Аритметична инструкция
Отдясно на израз може да има константи, променливи, функции и формули
Във формулата # j и # k също могат да бъдат константи
От дясната страна на уравнението са числото на променливата и изразът
1, Определение
#I=# j
2, Аритметична операция
#I=# j+# k
#I=# j - # k
#I=# j * # k
#I=# j/# k
3, Логическа операция
#I=# ШЕГА # k
#I=# JXOK # k
#I=# JAND # k
4, Функция

#I=SIN [# j] синус
#I=COS [# j] косинус
#I=TAN [# j] допирателна
#I=ATAN [# j] арктангенс
#I=SQRT [# j] квадратен корен
#I=Абсолютна стойност на ABS [# j]
#I=ROUND [# j] Закръглете до най-близкото цяло число
#Рунд I=КОРЕКЦИЯ [# j]
#Рунд I=FUP [# j]
#I=BIN [# j] BCD → BIN (двоичен)
#I=BCN [# j] BIN → BCD
1) Ъгъл в градуси
Пример: 90 градуса и 30 минути са еквивалентни на 90,5 градуса
2) Двете дължини на страните след функцията ATAN трябва да бъдат разделени с "/"
Пример: Когато # {{0}}ATAN [1]/[-1], # 1 е 35,0
3) ROUND се използва за адреси в отчети, закръглени до най-малката зададена единица на всеки адрес
Пример: Задайте # 1=1.2345, # 2=2.3456 и задайте единица 1 μ M
G91 X - # 1; X-1.235
X - # 2 F300; X-2.346
X [# 1+# 2]; X3.580
Не се връща на първоначалното си местоположение, трябва да се промени на
X [КРЪГ [# 1]+КРЪГ [# 2]];
4) Ако абсолютната стойност след закръгляване е по-голяма от първоначалната стойност, тя се закръгля нагоре; в противен случай се закръгля надолу
Пример: Когато # 1=1.2, # 2=-1.2
Ако # {{0}}FUP [# 1], тогава # 3=2.0
Ако # {{0}}FIX [# 1], тогава # 3=1.0
Ако # {{0}}FUP [# 2], тогава # 3=-2.0
Ако # {{0}}FIX [# 2], тогава # 3=-1.0
5) Когато се задава функция, могат да се изписват само първите две букви
Пример: ROUND → RO
КОРЕКЦИЯ → FI
6) Приоритет
Функция → Умножение и деление (*, 1, И) → Събиране и изваждане (+, -, ИЛИ, XOR)
Пример: # 1=# 2+# 3 * SIN [# 4];
7) Скобите са квадратни скоби, до 5 пъти, използвани за коментиране на твърдения
Пример: # 1=SIN [[[# 2+# 3] * # 4+# 5] * # 6]; (Троен)
четири
Инструкции за прехвърляне и цикъл
1. Безусловно прехвърляне
Формат: GOTO n;
Безусловно прехвърляне към програмен сегмент n
n: номер на програмен сегмент (1-99999)
N също може да бъде заменено с променливи или изрази
ГОТО10%3б
ОТВИДЕТЕ НА # 10;
2. Условен трансфер
АКО [
Ако
Ако не е удовлетворен, изпълнете следващия програмен сегмент.
АКО [
Ако
IF [# 1EQ # 2] THE # 3=0;
Условна формула:

#J и # k също могат да бъдат заменени с
Пример: IF [# 1 GT 10] GOTO 100;
N100 G00 G91 X10;
Пример: Намиране на сбора от 1 до 10
O9500;
#1=0
#2=1
N1 АКО [# 2 GT10] МИНЕТЕ НА 2
#1=# 1+# 2;
#2=# 2+1;
МИНЕТЕ НА 1
N2 M30
3. Цикъл
Формат: WHILE [
КРАЙ м
Когато условията са изпълнени, изпълнете от DOm до ENDm, след това от програмния сегмент на DOm
Когато не е удовлетворен, изпълнете програмния сегмент след ENDm
Ако операторът WHILE е пропуснат и присъства само DOm... ENDm, между DOm и ENDm се образува мъртъв цикъл
3. Гнездене
Когато има EQ NE, нулата и "0" са различни
При други условия null и "0" са еднакви
Пример: Намиране на сбора от 1 до 10
O0001;
#1=0;
#2=1;
ДОКАТО %5б# 2ЛЕ10%5д ДО1%3б
#1=# 1+# 2;
#2=# 2+# 1;
КРАЙ1;
M30;

