1. Дотик вимкнено

За допомогою сенсорного екрана в інтерфейсі AXIS ви можете автоматично оновлювати таблицю інструментів.

Типові кроки для оновлення таблиці інструментів:

  • Після повернення до початкового положення завантажте інструмент з Tn M6, де n – номер інструменту.

  • Перемістіть інструмент у встановлену точку за допомогою калібру або зробіть пробний розріз та виміряйте.

  • Натисніть кнопку «Touch Off» на вкладці «Ручне керування» (або натисніть кнопку «End» на клавіатурі).

  • Виберіть «Таблиця інструментів» у розкривному списку «Система координат».

  • Введіть калібр або виміряний розмір і натисніть кнопку «ОК».

Таблиця інструментів буде змінена з правильною довжиною Z, щоб DRO відображав правильне положення Z, і буде видана команда G43, щоб нова довжина Z інструменту набула чинності. Відключення таблиці інструментів доступне тільки тоді, коли інструмент завантажений з Tn M6.

Таблиця інструментів для відключення дотику
Figure 1. Таблиця інструментів для відключення дотику

1.1. Використання G10 L1/L10/L11

Команди G10 L1/L10/L11 можна використовувати для встановлення зміщень таблиці інструментів:

  • G10 L1 P__n__ – Встановити зміщення на значення. Поточна позиція не має значення (див. G10 L1 для отримання детальнішої інформації).

  • G10 L10 P__n__ - Встановіть зміщення (зміщення), щоб поточна позиція з приладами 1-8 стала значенням (див. G10 L10 для отримання детальнішої інформації).

  • G10 L11 P__n__ - Встановіть зміщення (зміщення), щоб поточна позиція з фіксатором 9 стала значенням (див. G10 L11 для отримання детальнішої інформації).

Note
Це лише короткий огляд, зверніться до довідника G-коду для отримання детальніших пояснень.

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

«Таблиця інструментів» — це текстовий файл, що містить інформацію про кожен інструмент. Файл знаходиться в тому ж каталозі, що й ваша конфігурація, і за замовчуванням має назву «tool.tbl». Ім’я файлу можна вказати за допомогою параметра INI-файлу [EMCIO]TOOL_TABLE. Інструменти можуть знаходитися в пристрої для зміни інструментів або бути змінені вручну. Файл можна редагувати за допомогою текстового редактора або оновлювати за допомогою G10 L1. Приклад формату таблиці інструментів токарного верстата див. у розділі Таблиця інструментів токарного верстата. Максимальна кількість кишень — 1000.

Для редагування таблиці інструментів можна використовувати Tool Editor або текстовий редактор. Якщо ви використовуєте текстовий редактор, переконайтеся, що ви перезавантажили таблицю інструментів у графічному інтерфейсі.

2.1. Формат таблиці інструментів

.Формат таблиці інструментів

T# P# X Y Z A B C U V W Подорожі FA BA Ori Rem

;

(немає даних після крапки з комою)

T1

P17

X0

Y0

Z0

A0

B0

C0

U0

V0

W0

D0

I0

J0

Q0

;rem

T2

P5

X0

Y0

Z0

A0

B0

C0

U0

V0

W0

D0

I0

J0

Q0

;rem

T3

P12

X0

Y0

Z0

A0

B0

C0

U0

V0

W0

D0

I0

J0

Q0

;rem

Загалом, формат рядка таблиці інструментів такий:

  • T - номер інструменту (номери інструментів мають бути унікальними)

  • P - номер гнізда, 1-1000 (номери гнізд мають бути унікальними, гніздо 0 представляє шпиндель)

  • X..W - зміщення інструменту на заданій осі - з плаваючою комою

  • D - діаметр інструменту - число з плаваючою комою, абсолютне значення

  • I - передній кут (лише токарний верстат) - з плаваючою комою

  • J - кут задньої частини (лише токарний верстат) - з плаваючою комою

  • Q - орієнтація інструменту (лише токарний верстат) - ціле число, 0-9

  • ; - початок коментаря або зауваження - текст

Номери інструментів мають бути унікальними. Рядки, що починаються з крапки з комою, ігноруються.

Одиниці вимірювання довжини, діаметра тощо - це машинні одиниці.

Ймовірно, ви захочете зберегти записи інструментів у порядку зростання, особливо якщо ви збираєтеся використовувати випадковий змінювач інструментів. Хоча таблиця інструментів дозволяє розміщувати номери інструментів у будь-якому порядку.

Один рядок може містити до 16 записів, але, швидше за все, їх буде набагато менше. Записи для T (номер інструменту) і P (номер кишені) є обов’язковими. Останній запис (примітка або коментар, що передує крапці з комою) є необов’язковим. Читати легше, якщо записи розташовані в стовпцях, як показано в таблиці, але єдиною вимогою до формату є наявність принаймні одного пробілу або табуляції після кожного запису в рядку та символу нового рядка в кінці кожного запису.

Значення записів та тип даних, які потрібно ввести в кожен з них, наведені нижче.

Номер інструменту (обов’язково)

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

Номер кишені (обов’язково)

У стовпці «P» міститься число (ціле без знака), яке позначає номер кишені (слота) змінювача інструментів, де знаходиться інструмент. Всі записи в цьому стовпці повинні бути різними.

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

Номери зміщення даних (необов’язково)

Стовпці «Зсув даних» (XYZABCUVW) містять дійсні числа, які представляють зсуви інструменту по кожній осі. Це число буде використовуватися, якщо використовуються зсуви довжини інструменту і цей інструмент вибраний. Ці числа можуть бути додатними, нульовими або від’ємними і, фактично, є повністю необов’язковими. Хоча, ймовірно, ви захочете зробити тут хоча б один запис, інакше не буде сенсу вносити запис в таблицю інструментів.

У типовому токарному верстаті, ймовірно, вам знадобиться введення для Z (зсув довжини інструменту). У типовому токарному верстаті, ймовірно, вам знадобиться ввести значення X (зсув інструменту по осі X) і Z (зсув інструменту по осі Z). У типовому фрезерному верстаті, що використовує компенсацію діаметра фрези (компенсація фрези), вам, ймовірно, також знадобиться додати значення D (діаметр фрези). У типовому токарному верстаті, що використовує компенсацію діаметра кінчика інструменту (компенсація інструменту), вам, ймовірно, також знадобиться додати значення D (діаметр кінчика інструменту).

Токарний верстат також потребує додаткової інформації для опису форми та орієнтації інструменту. Тому, ймовірно, вам знадобляться записи для I (кут нахилу інструменту вперед) та J (кут нахилу інструменту назад). Ймовірно, вам також знадобиться запис для Q (орієнтація інструменту).

Див. розділ Інформація для користувача токарного верстата для отримання додаткової інформації.

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

Колонку «Коментар» можна використовувати для опису інструменту. Підходить будь-який тип опису. Ця колонка призначена лише для читачів-людей. Перед коментарем має стояти крапка з комою.

Note
У попередніх версіях LinuxCNC було два різних формати таблиці інструментів для фрезерних та токарних верстатів, але починаючи з версії 2.4.x, для всіх верстатів використовується один формат таблиці інструментів.

2.2. Інструмент IO

Програма iocontrol, що не працює в режимі реального часу, зазвичай використовується для управління зміною інструментів (та іншими функціями вводу-виводу для активації LinuxCNC і управління обладнанням для охолодження). Контакти HAL, що використовуються для управління інструментами, мають префікс iocontrol.0..

Команда G-коду T активує вихідний контакт HAL iocontrol.0.tool-prepare. Вхідний контакт HAL, iocontrol.0.tool-prepared, повинен бути встановлений зовнішньою логікою HAL для завершення підготовки інструменту, що призводить до подальшого скидання контакту підготовки інструменту.

Команда G-коду M6 активує вихідний контакт HAL iocontrol.0.tool-change. Відповідний вхідний контакт HAL, iocontrol.0.tool-prepared, повинен бути встановлений зовнішньою логікою HAL для вказівки на завершення заміни інструменту, що призводить до подальшого скидання контакту заміни інструменту.

Доступ до даних інструменту здійснюється за допомогою впорядкованого індексу (idx), який залежить від типу змінного пристрою інструменту, визначеного параметром [EMCIO]RANDOM_TOOLCHANGER=type.

  1. Для RANDOM_TOOLCHANGER = 0 (0 є значенням за замовчуванням і вказує на невипадковий змінник інструментів), idx — це число, що вказує на послідовність завантаження даних інструменту.

  2. Для RANDOM_TOOLCHANGER = 1, idx – це поточний номер гнізда для номера інструмента, заданого командою вибору інструмента G-коду Tn.

Програма вводу/виводу забезпечує вихідні контакти HAL для полегшення керування пристроєм зміни інструменту:

  1. iocontrol.0.tool-prep-number

  2. iocontrol.0.tool-prep-index

  3. iocontrol.0.tool-prep-pocket

  4. iocontrol.0.tool-from-pocket

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

  1. Номер інструменту n==0 вказує на відсутність інструменту.

  2. Номер гнізда для інструмента встановлюється під час завантаження/перезавантаження даних інструменту з його джерела даних ([EMCIO]TOOL_TABLE або [EMCIO]DB_PROGRAM).

  3. У команді G-коду Tn (n != 0):

    1. iocontrol.0.tool-prep-index = idx (індекс на основі послідовності завантаження даних інструменту)

    2. iocontrol.0.tool-prep-number = n

    3. iocontrol.0.tool-prep-pocket = номер кишені для n

  4. At G-code T0 (n == 0 вилучено) команда:

    1. iocontrol.0.tool-prep-index = 0

    2. iocontrol.0.tool-prep-number = 0

    3. iocontrol.0.tool-prep-pocket = 0

  5. At M-code M6 (після зміни виводу 0-->1 у файлі iocontrol.0.tool):

    1. iocontrol.0.tool-from-pocket = номер кишені, що використовується для вилучення інструменту

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

  1. Номер інструменту n==0 не є спеціальним.

  2. Кишеня номер 0 є особливою, оскільки вона вказує на шпиндель.

  3. Поточний номер гнізда для інструмента n – це індекс даних інструмента (idx) для інструмента n.

  4. За командою G-коду Tn:

    1. iocontrol.0.tool-prep-index = індекс даних інструменту (idx) для інструменту n

    2. iocontrol.0.tool-prep-number = n

    3. iocontrol.0.tool-prep-pocket = номер гнізда для інструменту n

  5. At M-code M6 (після зміни виводу 0-->1 у файлі iocontrol.0.tool):

    1. iocontrol.0.tool-from-pocket = номер кишені, що використовується для вилучення інструменту

Note
При запуску iocontrol.0.tool-from-pocket = 0. Команда M61Qn (n!=0) не змінює iocontrol.0.tool-from-pocket. Команда M61Q0 (n==0) встановлює iocontrol.0.tool-from-pocket на 0.

2.3. Змінювачі інструментів

LinuxCNC підтримує три типи змінників інструментів: «ручний», «випадкове розташування» та «невипадкове або фіксоване розташування». Інформація про налаштування змінника інструментів LinuxCNC міститься в розділі EMCIO Section глави INI.

Ручний змінник інструментів

Ручний змінювач інструментів (ви змінюєте інструмент вручну) розглядається як змінювач інструментів з фіксованим розташуванням. Ручна зміна інструментів може бути полегшена за допомогою конфігурації HAL, яка використовує нереальну програму hal_manualtoolchange і зазвичай вказується в файлі INI за допомогою операторів INI:

[HAL]
HALFILE = axis_manualtoolchange.hal
Пристрої зміни інструментів з фіксованим розташуванням

Змінювачі інструментів з фіксованим розташуванням завжди повертають інструменти у фіксоване положення в змінювачі інструментів. Сюди також входять конструкції, такі як токарні револьверні головки. Коли LinuxCNC налаштований для змінювача інструментів з фіксованим розташуванням, номер «P» не використовується внутрішньо (але зчитується, зберігається і переписується) LinuxCNC, тому ви можете використовувати P для будь-якого номера обліку, який ви хочете.

Note
При використанні [EMCIO]RANDOM_TOOLCHANGER = 0 (за замовчуванням) номер кишені «P» є параметром даних інструменту, який отримується з джерела даних інструменту ([EMCIO]TOOL_TABLE або [EMCIO]DB_PROGRAM). У багатьох додатках він є фіксованим, але його можна змінити шляхом редагування [EMCIO]TOOL_TABLE або програмно, коли використовується [EMCIO]DB_PROGRAM. LinuxCNC надсилає оновлення до джерела даних ([EMCIO]TOOL_TABLE або [EMCIO]DB_PROGRAM) для G-кодів G10L1, G10L10, G10L11, M61. LinuxCNC може витягувати оновлення даних інструментів із джерела даних за допомогою команд інтерфейсу користувача (приклад на Python: linuxcnc.command().load_tool_table()) або за допомогою G-коду: G10L0.
Зміни інструментів випадкового розташування

Випадкові змінювачі інструментів ([EMCIO]RANDOM_TOOLCHANGER = 1) замінюють інструмент у шпинделі на інструмент у змінювачі. З цим типом змінювача інструментів інструмент завжди буде знаходитися в іншому гнізді після заміни інструменту. Коли інструмент замінюється, LinuxCNC переписує номер гнізда, щоб відстежувати, де знаходяться інструменти. T може бути будь-яким числом, але P має бути числом, яке має сенс для верстата.

3. Компенсація довжини інструменту

Компенсації довжини інструменту вказані у вигляді додатних чисел у таблиці інструментів. Компенсація інструменту програмується за допомогою G43 H_n_, де n — індекс бажаного інструменту в таблиці інструментів. Всі записи в таблиці інструментів повинні бути додатними. Значення H перевіряється, воно повинно бути невід’ємним цілим числом при зчитуванні. Інтерпретатор працює наступним чином:

  1. If G43 Hn is programmed, a call to the function USE_TOOL_LENGTH_OFFSET(`__length__)` is made (where length is the length difference, read from the tool table, of the indexed tool n), tool_length_offset is repositioned in the machine settings model and the value of current_z in the model is adjusted. Note that n does not have to be the same as the slot number of the tool currently in the spindle.

  2. Якщо запрограмовано G49, викликається USE_TOOL_LENGTH_OFFSET(0.0), tool_length_offset скидається до 0.0 у шаблоні налаштувань верстата, а поточне значення current_z у моделі коригується. Ефект компенсації довжини інструменту проілюстровано на знімку нижче. Зверніть увагу, що довжина інструменту віднімається від Z, щоб запрограмована контрольна точка відповідала кінчику інструменту. Зверніть також увагу, що ефект компенсації довжини є миттєвим, коли ви бачите, що компенсація є миттєвою, коли положення Z розглядається як відносна координата, але це не впливає на фактичне положення верстата, поки не буде запрограмовано рух Z.

Програма випробування довжини інструменту. Інструмент №1 має довжину один дюйм.
N01 G1 F15 X0 Y0 Z0
N02 G43 H1 Z0 X1
N03 G49 X0 Z0
N04 G0 X2
N05 G1 G43 H1 G4 P10 Z0 X3
N06 G49 X2 Z0
N07 G0 X0

images/length1.png

За допомогою цієї програми, у більшості випадків, верстат застосовуватиме зміщення у вигляді рампи під час руху по осях xyz після слова G43.

4. Компенсація радіуса різця

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

Існує два можливих шляхи, якими може рухатися різак, оскільки компенсація різака може бути зліва або справа від лінії, якщо дивитися на напрямок руху різака ззаду. Щоб уявити це, уявіть, що ви стоїте на деталі і йдете за інструментом, який рухається по деталі. G41 — це ліва сторона лінії, а G42 — права сторона лінії.

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

Кінцева точка компенсації
Figure 2. Кінцева точка компенсації

4.1. Огляд

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

Компенсація на різець використовує дані з таблиці інструментів для визначення необхідного зміщення. Дані можна встановити під час виконання за допомогою G10 L1.

4.1.2. Програмування вхідних рухів

Будь-який рух, який є достатньо довгим для виконання компенсації, буде працювати як вхідний рух. Мінімальна довжина дорівнює радіусу різака. Це може бути швидкий рух над заготовкою. Якщо після G41/42 видається кілька швидких рухів, тільки останній з них перемістить інструмент у компенсоване положення.

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

Вхідний хід
Figure 3. Вхідний хід

4.1.3. Z-рух

Рух по осі Z може відбуватися під час проходження контуру в площині XY. Частини контуру можуть бути пропущені шляхом відведення осі Z над деталлю та висунення осі Z у наступній початковій точці.

4.1.4. Швидкі рухи

Швидкі рухи можна запрограмувати, навіть якщо компенсація ввімкнена.

4.1.5. Рекомендації щодо належної практики

Запустіть програму з G40, щоб переконатися, що компенсація вимкнена.

4.2. Приклади

4.2.1. Приклад зовнішнього профілю

Зовнішній профіль
Figure 4. Зовнішній профіль

4.2.2. Приклад внутрішнього профілю

Внутрішній профіль
Figure 5. Внутрішній профіль