Знання

Хто сказав, що макропрограми марні? Це тому, що ви не можете вигадати це!

Багато техніків з ЧПК сьогодні не розуміють макропрограм. Вони вважають, що з програмним забезпеченням для автоматичного програмування немає необхідності вивчати макропрограми. Насправді функції макропрограм дуже потужні. Наприклад, під час написання пакетних програм і програм, що повторюються, використання макропрограм вимагає лише зміни кількох точок даних без необхідності тривалого повторюваного програмування. Це може значно спростити операції та підвищити ефективність роботи.
Макропрограми можуть використовувати змінні для арифметичних операцій, логічних операцій і змішаних операцій функцій, а також надавати оператори циклу, оператори розгалуження та оператори виклику підпрограм.
Загалом, макропрограми підходять для програмування серії деталей з однаковою графікою, але різних розмірів; Підходить для програмування серійних деталей з однаковим шляхом процесу, але різними позиційними параметрами; Підходить для програмування кривих без інструкцій інтерполяції, таких як параболи, еліпси, гіперболи тощо.
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.
Типи змінних

1697180776294780.jpg

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 — це значення компенсації осі Х для компенсації інструмента 1
#Значення 5221 — це значення корекції початкової точки заготовки осі X G54
При введенні необхідно ввести десяткову кому. Якщо десяткова кома опущена, одиницею є μ М
три
Арифметична інструкція
Праворуч від виразу можуть бути константи, змінні, функції та формули
У формулі # j і # k також можуть бути константами
У правій частині рівняння знаходяться змінна число та вираз
1, Визначення
#I=# j
2, Арифметична дія
#I=# j+# k
#I=# j - # k
#I=# j * # k
#I=# j/# k
3, Логічна операція
#Я=# ЖАРТ # k
#I=}# JXOK # k
#I=# JAND # k
4, Функція

1697180846458234.jpg

#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 мкМ
G91 X - # 1; X-1.235
X - # 2 F300; X-2.346
X [# 1+# 2]; X3.580
Не повернуто на початкове місце, слід змінити на
X [ROUND [# 1]+ROUND [# 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, AND) → Додавання та віднімання (+, -, OR, XOR)
Приклад: # 1=# 2+# 3 * SIN [# 4];
7) Дужки — це квадратні дужки, до 5 разів, які використовуються для коментування тверджень
Приклад: # 1=SIN [[[# 2+# 3] * # 4+# 5] * # 6]; (тримісний)
чотири
Інструкції щодо перенесення та циклу
1. Безумовне перенесення
Формат: GOTO n;
Безумовно перенести в програмний сегмент n
n: номер сегмента програми (1-99999)
N також можна замінити змінними або виразами
GOTO10;
ПЕРЕЙТИ # 10;
2. Умовний перенос
ЯКЩО [] GOTO n;
Якщонаступним кроком є ​​перехід до сегмента програми з номером сегмента n.
Якщо не задоволено, виконайте наступний сегмент програми.
ЯКЩО [] THE;
Якщовиконується лише один оператор програми макросу після THEN.
IF [# 1EQ # 2] THE # 3=0;
Умовна формула:

1697180896472742.png

#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 [] DO m; (m=1, 2, 3)
ENDm
Коли умови виконано, виконайте з DOm до ENDm, а потім із сегмента програми DOm
Якщо не задоволено, виконайте сегмент програми після ENDm
Якщо оператор WHILE опущений і присутній лише DOm... ENDm, між DOm і ENDm утворюється мертвий цикл.
3. Гніздування
Якщо присутній EQ NE, нуль і "0" відрізняються
За інших умов null і "0" однакові
Приклад: знаходження суми від 1 до 10
O0001;
#1=0;
#2=1;
У ТОЙ ЧАС [# 2LE10] DO1;
#1=# 1+# 2;
#2=# 2+# 1;
КІНЕЦЬ1;
M30;

 

Вам також може сподобатися

Послати повідомлення