Показати всі статті

Використання макропрограмування для створення УП повторюваних циклів свердління

TRASA3 Blog

G-code Опубліковано: 2026-09-22 Автор: trasa3 4 переглядів
Використання макропрограмування для створення УП повторюваних циклів свердління

Повторювані отвори рідко потребують довгої програми керування. Якщо координати утворюють простий ряд, завдання часто розв’язують стандартним циклом G81, приростом G91 і кількістю повторів L. Але при роботі з сіткою отворів, кількома типорозмірами деталі або часто змінним кроком такий код доводиться редагувати вручну. Тут корисне макропрограмування: постійна послідовність дій залишається в підпрограмі, а розміри й кількість отворів передаються як параметри.

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

Коли достатньо стандартного циклу

G81 уже усуває більшість повторюваного коду. Після активації циклу система виконує свердління в кожній новій позиції по X і Y, доки цикл не буде скасований командою G80. У документації Haas наведено приклад, де приріст по X і параметр L створюють ряд рівновіддалених отворів:

G90 G54 X10. Y20.
G43 H01 Z50.
G99 G81 Z-12. R2. F120.
G91 X25. L4
G80
G90

Такий варіант зручний для одного прямого ряду. Важливо враховувати, що перший отвір виконується в точці, де активований G81, а рядок з G91 X25. L4 додає ще чотири позиції. Помилка в підрахунку легко призводить до зайвого отвору або зміщення всього малюнка.

У стандартних циклів є й інші можливості. G82 додає витримку на дні, G83 застосовується для свердління з періодичним виведенням свердла, а G98 і G99 визначають рівень повернення. Вибір циклу має відповідати інструменту, глибині, матеріалу та умовам відведення стружки. Макрос відповідає за геометрію і повторення; він не замінює правильно обрану технологію свердління.

Що дає параметричний макрос

Для прямокутної сітки достатньо передати дев’ять величин: координати першого отвору, крок по двох осях, кількість стовпців і рядків, глибину, площину R і подачу. Оператор змінює один рядок виклику, а вкладені цикли обчислюють координати кожної точки.

У наступному виклику X і Y задають початок сітки, I і J — крок, A і B — кількість стовпців і рядків:

G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.

Для Haas аргументи G65 записуються у локальні змінні макропрограми. У цьому прикладі X відповідає #24, Y — #25, I — #4, J — #5, A — #1, B — #2, Z — #26, R — #18, F — #9. При кожному виклику G65 система надає макросу новий набір локальних змінних, тому один і той самий код можна використовувати з різними параметрами.

Макропрограма прямокутної сітки

O09010 (DRILL RECTANGULAR PATTERN)

#30 = 0 (ROW INDEX)

WHILE [#30 LT #2] DO1
  #31 = 0 (COLUMN INDEX)

  WHILE [#31 LT #1] DO2
    #32 = [#24 + #31 * #4] (CURRENT X)
    #33 = [#25 + #30 * #5] (CURRENT Y)

    G90 G00 X#32 Y#33
    G81 Z#26 R#18 F#9
    G80

    #31 = #31 + 1
  END2

  #30 = #30 + 1
END1

M99

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

G81 у цьому навчальному варіанті активується і скасовується для кожної точки. Код виходить трохи довшим за часом виконання, але стан циклу явно обмежений однією операцією. У виробничій версії цикл можна організувати інакше, але тоді потрібно особливо уважно контролювати перше спрацювання, модальні стани і скасування G80.

Головна програма і безпечні стани

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

O01000
G90 G17 G40 G49 G80 G94
G54
T1 M06
S1800 M03
G00 X10. Y20.
G43 H01 Z50.
M08

G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.

G80
G00 Z50.
M09
M05
G53 G00 Z0.
M30

Тут перед викликом задані площина G17, абсолютне програмування G90, робоча система координат G54 і корекція довжини G43 H01. Конкретні безпечні висоти, спосіб виходу у машинний нуль і послідовність увімкнення обладнання мають відповідати верстату та прийнятому на підприємстві шаблону.

Перевірки, без яких макрос небезпечний

Параметричний код скорочує ручне редагування, але одна неправильна змінна може змінити весь малюнок отворів. Практичний макрос варто доповнити перевірками вхідних даних. Кількість рядків і стовпців має бути додатним цілим числом, площина R — знаходитися з безпечного боку поверхні, а обчислені X і Y — залишатися в межах заготовки і ходу верстата.

  • Перевірте відповідність літер аргументів локальним змінним на конкретній системі керування.
  • Переконайтеся, що номери DO і END утворюють правильні пари у вкладених циклах.
  • Заздалегідь розрахуйте останню точку: X + (A − 1) × I і Y + (B − 1) × J.
  • Перевірте знак Z, положення R і режим повернення G98 або G99.
  • Запустіть графічну симуляцію, потім одиночний кадр із зменшеною подачею швидких переміщень.
  • За наявності тисків або притисків перевірте не лише точки свердління, а й траєкторії переходів.

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

Коли макрос справді спрощує роботу

Для одиничної деталі з п’ятьма відомими отворами звичайний G81 і список координат часто читаються краще. Макрос виправданий, коли малюнок регулярно змінюється за зрозумілими правилами: прямокутні і кругові масиви, кілька розмірів однієї деталі, повторювані отвори на різних робочих зміщеннях або сімейство виробів із спільною технологією.

Хороша макропрограма має вузьке завдання і зрозумілий інтерфейс. Призначення кожного аргументу фіксують у коментарях або окремій карті налагодження, а приклад коректного виклику зберігають поруч із програмою. Тоді налагоджувальник змінює розміри сітки і режими обробки, не редагуючи формули і лічильники.

Офіційна документація Haas окремо описує передачу аргументів через G65 і локальні змінні, а також роботу стандартних циклів свердління. Ці розділи слід використовувати як вихідну точку і звіряти з версією програмного забезпечення конкретного верстата.

Використання макропрограмування для створення УП повторюваних циклів свердління

Ця стаття доступна такими мовами: