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

Необхідно мати знання макропрограмування

 

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

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

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

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

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

02
тип змінної

Додайте зображення до WeChat: yuki7557 надішле підручник програми макросів

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 також можуть бути константами
Права частина виразу - це змінне число, вираз

1. Означення

#I=#j

2. Арифметичні дії

#I=#j плюс #k
#I=#j-#k
#I=#j*#k
#I=#j/#k

3. Логічні операції

#Я=#ЖОК#к
#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=FIX[#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
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.
Якщо не задоволено, виконайте наступний блок.
Додайте WeChat: yuki7557, щоб надіслати посібник із програми макросів
ЯКЩО [] ПОТІМ ... ;
Якщозадовольняється, оператор програми макросу після 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

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

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