Jun 12, 2023 Залишити повідомлення

Макропрограма марна? Це тому, що ви не можете помиритися!

 

Сьогодні багато техніків з ЧПК не розуміють макропрограм. Вони вважають, що з програмним забезпеченням для автоматичного програмування їм не потрібно вивчати макропрограми. Насправді функції макропрограм дуже потужні. Наприклад, щоб написати деякі пакетні та повторювані програми, вам потрібно лише змінити кілька даних під час використання макропрограм. Немає необхідності у великій кількості повторних програм, що може значно спростити операції та значно підвищити ефективність роботи.

Макропрограми можуть використовувати змінні для виконання змішаних операцій арифметичних операцій, логічних операцій і функцій, а також надавати оператори циклу, оператори розгалуження та оператори виклику підпрограм.

Загалом: макропрограма підходить для програмування серії деталей з однаковою графікою, але з різними розмірами; підходить для програмування серії деталей з однаковою траєкторією процесу, але з різними параметрами положення; він підходить для програмування парабол, еліпсів, гіпербол та інших кривих без інструкцій інтерполяції.


01
Представлення та використання змінних

1. Змінна репрезентація

#I(I=1,2,3,…) або #[]
Приклад: #5, #109, #501, #[#1 плюс #2-12]

По-друге, використання змінних

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


02
тип змінної

Додайте зображення до WeChat: mvm9987 надішле підручник з ЧПК

1. Локальні змінні #1~#33

Змінна, що використовується локально в макропрограмі, результат її дії не може бути використаний іншими програмами.
Приклад: A макропрограма B макропрограма
...
#10=20 X#10 не означає X20
...
Воно буде очищено після вимкнення живлення, а значення змінної буде заповнено під час виклику програми макросу

2. Загальнодоступні змінні #100~#199, #500~#999

Загальна змінна в кожній макропрограмі користувача має однаковий результат операції під час будь-якого виклику програми.
Приклад: коли #10 у прикладі вище змінюється на #100,
X#100 означає X20
#100~#149 Пусто після вимкнення живлення
#500~#531 Постійні змінні (не втрачаються після вимкнення живлення)

3. Системні змінні

Змінна постійного призначення, значення якої залежить від стану системи
Приклад: #2001 — це значення компенсації осі Х для компенсації інструмента №1
Значення #5221 — це значення зміщення початку заготовки G54 осі X
Під час введення необхідно вводити десяткову крапку, а одиницею вимірювання є мкм, якщо десяткову крапку опущено


03
Інструкція з експлуатації

У правій частині виразу можуть бути константи, змінні, функції, вирази
У формулі #j і #k також можуть бути константами
Права частина виразу - це змінне число, вираз


4. Функція

картина

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
FIX→FI

6) Пріоритет
Функція → множення та ділення (*, 1, AND) → додавання та віднімання ( плюс , -, АБО, 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 також можна замінити змінними або виразами
goto10;
ПЕРЕЙТИ #10;

2. Умовний перенос

ЯКЩО [] GOTO n;
Якщовиконано, наступна операція буде перенесена до блоку з номером блоку n.
Якщо не задоволено, виконайте наступний блок.

ЯКЩО [] ПОТІМ ... ;
Якщозадовольняється, оператор програми макросу після THEN виконується, і виконується лише один оператор.
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. Цикл

Формат: WHILE[]DO m; (m=1, 2, 3)



ENDm

1. Коли умови виконані, виконайте DOm до ENDm, а потім із сегмента програми DOm
Якщо він не задоволений, виконайте сегмент програми після ENDm
2. Якщо ви опустите оператор WHILE і маєте лише DOm...ENDm, буде сформовано нескінченний цикл від DOm до ENDm
3. гніздування
4. EQ NE, порожній і "0" відрізняються
В інших місцях null збігається з "0"

Приклад: Знайдіть суму від 1 до 10
O0001;
#1=0;
#2=1;
WHILE [#2LE10] DO1;
#1=#1 плюс #2;
#2=#2 плюс #1;
END1;
M30;

 

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

whatsapp

skype

Електронна пошта

Розслідування