Многие специалисты по ЧПУ не понимают макропрограммы. Они думают, что с программным обеспечением для автоматического программирования нет необходимости изучать макропрограммы. На самом деле функции макропрограмм очень мощные. Например, для написания некоторых пакетных и повторяющихся программ вам нужно всего лишь изменить несколько данных при использовании макропрограмм. Нет необходимости в большом количестве повторного программирования, что может значительно упростить операции и значительно повысить эффективность работы.
Макропрограммы могут использовать переменные для выполнения смешанных операций арифметических операций, логических операций и функций, а также предоставлять операторы цикла, операторы ветвления и операторы вызова подпрограмм.
В целом: макропрограмма подходит для программирования серии деталей с одинаковой графикой, но разных размеров; он подходит для программирования серии деталей с одним и тем же технологическим путем, но с разными параметрами положения; он подходит для программирования парабол, эллипсов, гипербол и других кривых без инструкций по интерполяции.
01
Представление и использование переменных
1. Переменное представление
#I(I=1,2,3,…) или #[
Пример: #5, #109, #501, #[#1 плюс #2-12]
Во-вторых, использование переменных
1. Укажите номер переменной или формулу после адресного слова
Формат:
Здесь «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
02
тип переменной
Добавьте изображения в WeChat: mvm9987 отправит учебник по ЧПУ
1. Локальные переменные #1~#33
Переменная, используемая локально в макропрограмме, результат ее работы не может использоваться другими программами.
Пример: макропрограмма A макропрограмма B макрос
...
#10=20 X#10 не означает X20
...
Он будет очищен после отключения питания, а значение переменной будет заполнено при вызове макропрограммы.
2. Публичные переменные #100~#199, #500~#999
Общая переменная в каждой пользовательской макропрограмме имеет одинаковый результат операции при любом вызове программы.
Пример: Когда #10 в приведенном выше примере меняется на #100,
Х#100 означает Х20
#100~#149 Пусто после отключения питания
#500~#531 Постоянные переменные (не теряются после отключения питания)
3. Системные переменные
Переменная с фиксированным назначением, значение которой зависит от состояния системы.
Пример: #2001 — это значение коррекции по оси X для компенсации инструмента № 1.
Значение #5221 представляет собой значение смещения начала координат заготовки G54 по оси X.
При вводе необходимо ввести десятичную точку, а единицей измерения является мкм, если десятичная точка опущена.
03
Инструкция по эксплуатации
Правая часть выражения может быть константами, переменными, функциями, выражениями.
В формуле #j и #k также могут быть константами
Правая часть выражения — номер переменной, выражение
1. Определение
#I=#j
2. Арифметические операции
#I=#j плюс #k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. Логические операции
#I=#JOK#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=ОКРУГЛ[#j] Округление
#I=ИСПРАВИТЬ[#j] округлить
#I=FUP[#j] Округлить в меньшую сторону
#I=BIN[#j] BCD→BIN (двоичный)
#I=BCN[#j] БИН→BCD
1) Углы в градусах
Пример: 90 градусов и 30 минут составляют 90,5 градусов.
2) Длина двух сторон после функции ATAN должна быть разделена знаком «/».
Пример: #{{0}}ATAN[1]/[-1], #1 – 35,0.
3) ОКРУГЛ используется для адреса в заявлении, округленного в соответствии с минимальной настройкой единицы каждого адреса.
Пример: установите #1=1.2345, #2=2.3456, единица настройки – 1 мкм.
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 плюс #2]; Х3,580
не возвращается и должен быть заменен на
X[КРУГЛЫЙ[#1] плюс КРУГЛЫЙ[#2]];
4) Если абсолютное значение после округления больше исходного значения, оно будет округлено в большую сторону, в противном случае оно будет округлено в меньшую сторону.
Пример: когда #1=1.2, #2=-1.2
Если #{{0}}FUP[#1], то #3=2.0
Если #{{0}}ИСПРАВИТЬ[#1], то #3=1.0
Если #{{0}}FUP[#2], то #3=-2.0
Если #{{0}}ИСПРАВИТЬ[#2], то #3=-1.0
5) При команде функции можно писать только первые две буквы
Пример: ОКРУГЛ→RO
ИСПРАВЛЕНИЕ → ФИ
6) Приоритет
Функция → умножение и деление (*, 1, И) → сложение и вычитание (плюс, -, ИЛИ, XOR)
Пример: #1=#2 плюс #3*SIN[#4];
7) Скобки - это квадратные скобки, до 5 раз, и скобки используются для комментариев.
Пример: #1=SIN[[[#2 плюс #3]*#4 плюс #5]*#6]; (3 веса)
04
Инструкции ветвления и цикла
1. Безусловный перевод
Формат: GOTO n;
Безоговорочный переход к блоку n
n: номер блока (1-99999)
n также можно заменить переменными или выражениями
перейти к 10;
ПЕРЕЙТИ #10;
2. Условный перевод
ЕСЛИ [
Если
Если не устраивает, выполните следующий блок.
ЕСЛИ [
Если
IF[#1EQ #2] THEN #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. Цикл
Формат: ПОКА[
…
…
…
ENDm
1. При выполнении условий выполнить DOm до ENDm, затем из программного сегмента DOm
Если он не удовлетворен, выполните сегмент программы после ENDm.
2. Если опустить оператор WHILE и указать только DOm...ENDm, будет сформирован бесконечный цикл от DOm к ENDm.
3. вложение
4. Эквалайзер NE, пустой и "0" отличаются
В других местах null совпадает с "0"
Пример: Найдите сумму от 1 до 10.
O0001;
#1=0;
#2=1;
ПОКА [#2LE10] DO1;
#1=#1 плюс #2;
#2=#2 плюс #1;
КОНЕЦ1;
M30;





