У цьому розділі наведено короткий опис того, як розглядається верстат з CNC з точки зору вхідного та вихідного елементів інтерпретатора.

1. Механічні компоненти

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

1.1. Сокири

Будь-яка верстат з CNC має одну або кілька осей. Різні типи верстатів з CNC мають різні комбінації. Наприклад, «4-осьовий фрезерний верстат» може мати осі XYZA або XYZB. Токарний верстат зазвичай має осі XZ. Машина для різання пінопласту може мати осі XYUV. У LinuxCNC випадок «портальної» машини XYYZ з двома двигунами для однієї осі краще обробляється за допомогою кінематики, а не другої лінійної осі.

Note

Якщо рух механічних компонентів не є незалежним, як у випадку з шестиногими машинами, мова RS274/NGC і канонічні функції обробки все одно будуть придатними для використання, за умови, що нижчі рівні управління знають, як керувати фактичними механізмами для створення такого ж відносного руху інструменту і заготовки, який би створювався незалежними осями. Це називається «кінематикою».

Note

У LinuxCNC випадок портального верстата XYYZ з двома двигунами для однієї осі краще обробляється кінематикою, ніж додатковою лінійною віссю.

Первинні лінійні осі

Осі X, Y та Z здійснюють лінійний рух у трьох взаємно ортогональних напрямках.

Вторинні лінійні осі

Осі U, V та W здійснюють лінійний рух у трьох взаємно ортогональних напрямках. Зазвичай X та U паралельні, Y та V паралельні, а Z та W також паралельні.

Осі обертання

Осі A, B та C здійснюють кутовий рух (обертання). Як правило, A обертається навколо лінії, паралельної X, B обертається навколо лінії, паралельної Y, а C обертається навколо лінії, паралельної Z.

1.2. Шпиндель

Верстат з CNC зазвичай має шпиндель, який утримує один ріжучий інструмент, зонд або матеріал у випадку токарного верстата. Шпиндель може контролюватися програмним забезпеченням CNC або не контролюватися. LinuxCNC підтримує до 8 шпинделів, які можна контролювати окремо і які можуть працювати одночасно з різною швидкістю та в різних напрямках.

1.3. Охолоджувальна рідина

Охолоджувальний розчин розтоплення та охолоджувальний розпилювач можна вмикати незалежно. Мова RS274/NGC вимикає їх разом, див. розділ M7 M8 M9.

1.4. Коригування подачі та швидкості

Верстат з CNC може мати окремі елементи керування подачею та швидкістю, що дозволяє оператору вказати фактичну швидкість подачі або швидкість шпинделя, що використовується під час обробки, у певному відсотку від запрограмованої швидкості.

1.5. Перемикач видалення блоку

Верстат з CNC може мати перемикач видалення блоків. Див. розділ Видалення блоків.

1.6. Додатковий перемикач зупинки програми

Верстат з CNC може мати додатковий вимикач зупинки програми. Див. розділ Додаткова зупинка програми.

2. Компоненти керування та даних

2.1. Лінійні осі

Осі X, Y та Z утворюють стандартну правосторонню систему координат з ортогональних лінійних осей. Положення трьох механізмів лінійного руху виражаються за допомогою координат на цих осях.

Осі U, V та W також утворюють стандартну правосторонню систему координат. X та U паралельні, Y та V паралельні, а Z та W паралельні (коли A, B та C повернуті до нуля).

2.2. Осі обертання

Осі обертання вимірюються в градусах як обгорнуті лінійні осі, в яких напрямок позитивного обертання проти годинникової стрілки, якщо дивитися з позитивного кінця відповідної осі X, Y або Z. Під «обгорнутою лінійною віссю» ми маємо на увазі вісь, на якій кутове положення збільшується без обмежень (наближається до плюс нескінченності) при обертанні вісі проти годинникової стрілки і зменшується без обмежень (наближається до мінус нескінченності) при обертанні вісі за годинниковою стрілкою. Обгорнуті лінійні осі використовуються незалежно від того, чи існує механічне обмеження обертання.

За годинниковою стрілкою або проти годинникової стрілки — з точки зору заготовки. Якщо заготовка закріплена на поворотній платформі, яка обертається навколо осі обертання, обертання проти годинникової стрілки з точки зору заготовки здійснюється шляхом обертання поворотної платформи в напрямку, який (для більшості типових конфігурацій верстатів) виглядає за годинниковою стрілкою з точки зору людини, що стоїть поруч з верстатом. Примітка: [Якщо вимога паралельності порушена, розробник системи повинен вказати, як відрізнити обертання за годинниковою стрілкою від обертання проти годинникової стрілки.]

2.3. Контрольована точка

Контрольована точка — це точка, положення та швидкість руху якої контролюються. Коли зміщення довжини інструменту дорівнює нулю (значення за замовчуванням), це точка на осі шпинделя (часто називається контрольною точкою), яка знаходиться на певній фіксованій відстані за кінцем шпинделя, зазвичай поблизу кінця інструментального тримача, що вставляється в шпиндель. Розташування контрольованої точки можна перемістити вздовж осі шпинделя, вказавши деяке додатне значення зміщення довжини інструменту. Це значення зазвичай дорівнює довжині використовуваного різального інструменту, так що контрольована точка знаходиться на кінці різального інструменту. На токарному верстаті зміщення довжини інструменту можна вказати для осей X і Z, а контрольована точка знаходиться або на кінці інструменту, або трохи поза ним (де перетинаються перпендикулярні лінії, вирівняні по осі, до яких дотикаються «передня» і «бічна» частини інструменту).

2.4. Координований лінійний рух

Щоб переміщати інструмент по заданому шляху, обробний центр часто повинен координувати рух декількох осей. Термін «скоординований лінійний рух» використовується для опису ситуації, в якій, номінально, кожна вісь рухається з постійною швидкістю, а всі осі одночасно переміщуються зі своїх початкових положень у кінцеві. Якщо рухаються тільки осі X, Y і Z (або одна чи дві з них), це створює рух по прямій лінії, звідси і походить слово «лінійний» у цьому терміні. У реальних рухах часто неможливо підтримувати постійну швидкість, оскільки на початку та/або в кінці руху необхідне прискорення або уповільнення. Однак можна контролювати осі таким чином, щоб кожна вісь завжди виконувала ту саму частину необхідного руху, що й інші осі. Це переміщує інструмент по тому самому шляху, і ми також називаємо такий рух скоординованим лінійним рухом.

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

2.5. Швидкість подачі

Швидкість переміщення контрольованої точки номінально є постійною і може бути встановлена користувачем. В інтерпретаторі швидкість подачі інтерпретується наступним чином (за винятком випадків, коли використовуються режими «інверсна швидкість подачі» або «швидкість подачі на оберт», про що див. розділ G93-G94-G95-Mode).

  1. Якщо будь-яка з осей XYZ рухається, F вимірюється в одиницях за хвилину в декартовій системі XYZ, а всі інші осі (ABCUVW) рухаються так, щоб запускатися та зупинятися скоординовано.

  2. В іншому випадку, якщо будь-яка з UVW рухається, F вимірюється в одиницях за хвилину в декартовій системі UVW, а всі інші осі (ABC) рухаються таким чином, щоб запускатися та зупинятися скоординовано.

  3. В іншому випадку рух є чисто обертальним рухом, а слово F позначається в обертових одиницях у «псевдодекартовій» системі ABC.

2.6. Охолодження

Охолодження потоком або крапельним охолодженням можна вмикати окремо. Мова RS274/NGC зупиняє їх разом. Див. розділ про керування охолодженням.

2.7. Залишатися

Обробному центру може бути дано команду зупинитися (тобто утримати всі осі в нерухомому стані) на певний проміжок часу. Найчастіше зупинка використовується для розбивання та очищення стружки, тому під час зупинки шпиндель зазвичай обертається. Незалежно від режиму керування траєкторією (див. розділ Path Control), верстат зупиниться точно в кінці попереднього запрограмованого руху, як якщо б він працював у режимі точної траєкторії.

2.8. Одиниці

Одиниці виміру відстаней по осях X, Y і Z можуть бути виміряні в міліметрах або дюймах. Одиниці виміру всіх інших величин, що використовуються в управлінні верстатом, не можуть бути змінені. Для різних величин використовуються різні одиниці виміру. Швидкість обертання шпинделя вимірюється в обертах за хвилину. Положення осей обертання вимірюється в градусах. Швидкість подачі виражається в одиницях довжини за хвилину, градусах за хвилину або одиницях довжини за оберт шпинделя, як описано в розділі G93 G94 G95.

2.9. Поточна позиція

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

  1. Одиниці вимірювання довжини змінено.

  2. Зміщення довжини інструменту змінено.

  3. Зміщення системи координат змінено.

2.10. Вибрана площина

Завжди існує «вибрана площина», яка повинна бути площиною XY, площиною YZ або площиною XZ обробного центру. Вісь Z, звичайно, перпендикулярна площині XY, вісь X — площині YZ, а вісь Y — площині XZ.

2.11. Карусель інструментів

Кожному слоту в каруселі інструментів призначається один або нульовий інструмент.

2.12. Зміна інструменту

Обробному центру може бути наказано замінити інструменти.

2.13. Трансфер з піддонів

Два піддони можна обміняти за командою.

2.14. Перевизначення швидкості

Кнопки перевищення швидкості можуть бути активовані (вони функціонують нормально) або виведені з ладу (вони більше не мають ніякого ефекту). Мова RS274/NGC має команду, яка активує всі кнопки, і іншу, яка їх вимикає. Див. інгібування та активацію коректори швидкості. Див. також тут для отримання додаткової інформації.

2.15. Режим керування шляхом

Обробний центр може бути переведений в один з трьох режимів керування траєкторією:

режим точної зупинки

У режимі точної зупинки машина короткочасно зупиняється в кінці кожного запрограмованого руху.

режим точного шляху

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

безперервний режим

У безперервному режимі гострі кути траєкторії можуть бути трохи заокруглені, щоб підтримувати швидкість подачі (але не більше ніж на допуск, якщо він вказаний).

Див. розділи G61 та G64.

3. Взаємодія перекладача з перемикачами

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

3.1. Перемикачі подачі та швидкості

Інтерпретатор буде інтерпретувати команди RS274/NGC, які вмикають «M48» або вимикають «M49» перемикачі подачі та швидкості. Для певних рухів, таких як поперечний рух з кінця різьби під час циклу нарізування різьби, перемикачі вимикаються автоматично.

LinuxCNC реагує на налаштування корекції швидкості та подачі, коли ці перемикачі ввімкнені.

Див. розділ M48 M49 Перевизначення для отримання додаткової інформації.

3.2. Перемикач видалення блоку

Якщо перемикач видалення блоку увімкнено, рядки G-коду, що починаються зі скісної риски (символ видалення блоку), не інтерпретуються. Якщо перемикач вимкнено, такі рядки інтерпретуються. Зазвичай перемикач видалення блоку слід встановити перед запуском програми NGC.

3.3. Додатковий перемикач зупинки програми

Якщо цей перемикач увімкнено і виявлено код M1, виконання програми призупиняється.

4. Таблиця інструментів

Для використання інтерпретатора потрібна таблиця інструментів. Файл містить інформацію про те, які інструменти знаходяться в яких слотах пристрою зміни інструментів, а також про розмір і тип кожного інструменту. Назва таблиці інструментів визначається в INI:

[EMCIO]
# файл таблиці інструментів
TOOL_TABLE = tooltable.tbl

Ім’я файлу за замовчуванням, ймовірно, виглядає приблизно так, як наведено вище, але ви можете надати вашому верстату власну таблицю інструментів, використовуючи ту саму назву, що й ваш INI-файл, але з розширенням tbl:

TOOL_TABLE = acme_300.tbl

або:

TOOL_TABLE = EMC-AXIS-SIM.tbl

Для отримання додаткової інформації про особливості формату таблиці інструментів див. розділ Формат таблиці інструментів.

5. Параметри

У мові RS274/NGC обробний центр підтримує масив числових параметрів, визначених системним визначенням (RS274NGC_MAX_PARAMETERS). Багато з них мають конкретне застосування, особливо у визначенні систем координат. Кількість числових параметрів може збільшуватися у міру того, як розробка додає підтримку нових параметрів. Масив параметрів зберігається з часом, навіть якщо обробний центр вимкнений. LinuxCNC використовує файл параметрів для забезпечення стійкості і покладає на інтерпретатор відповідальність за підтримку файлу. Інтерпретатор читає файл при запуску і записує файл при виході.

Всі параметри доступні для використання в програмах G-коду.

Формат файлу параметрів наведено в наступній таблиці. Файл складається з будь-якої кількості рядків заголовка, за якими йде один порожній рядок, а потім будь-яка кількість рядків даних. Інтерпретатор пропускає рядки заголовка. Важливо, щоб перед даними був саме один порожній рядок (без пробілів і табуляцій). Рядок заголовка, показаний у наступній таблиці, описує стовпці даних, тому рекомендується (але не обов’язково) завжди включати цей рядок у заголовок.

Інтерпретатор читає лише перші два стовпці таблиці. Третій стовпець, «Коментар», інтерпретатор не читає.

Кожен рядок файлу містить індексний номер параметра в першому стовпці та значення, яке слід встановити для цього параметра, у другому стовпці. Значення представлено у вигляді числа з подвійною точністю з плаваючою комою всередині інтерпретатора, але десяткова крапка в файлі не потрібна. Усі параметри, наведені в наступній таблиці, є обов’язковими і повинні бути включені в будь-який файл параметрів, за винятком того, що будь-який параметр, що представляє значення осі обертання для невикористаної осі, може бути пропущений. Якщо будь-який обов’язковий параметр відсутній, буде видано повідомлення про помилку. Файл параметрів може містити будь-які інші параметри, якщо їхні номери знаходяться в діапазоні від 1 до 5400. Номери параметрів повинні бути впорядковані в порядку зростання. Якщо це не так, буде видано повідомлення про помилку. Будь-який параметр, включений у файл, що читається інтерпретатором, буде включений у файл, який він записує при виході. Оригінальний файл зберігається як резервна копія при записуванні нового файлу. Коментарі не зберігаються при записуванні файлу.

Table 1. Формат файлу параметрів
Номер параметра Значення параметра Коментар

5161

0.0

G28 Головна сторінка X

5162

0.0

G28 Головна сторінка Y

Див. розділ Parameters для отримання додаткової інформації.