1. Дотик вимкнено
Using the Touch Off Screen in the AXIS interface you can update the tool table automatically.
Типові кроки для оновлення таблиці інструментів:
-
Після повернення до початкового положення завантажте інструмент з Tn M6, де n – номер інструменту.
-
Перемістіть інструмент у встановлену точку за допомогою калібру або зробіть пробний розріз та виміряйте.
-
Натисніть кнопку «Touch Off» на вкладці «Ручне керування» (або натисніть кнопку «End» на клавіатурі).
-
Виберіть «Таблиця інструментів» у розкривному списку «Система координат».
-
Введіть калібр або виміряний розмір і натисніть кнопку «ОК».
Таблиця інструментів буде змінена з правильною довжиною Z, щоб DRO відображав правильне положення Z, і буде видана команда G43, щоб нова довжина Z інструменту набула чинності. Відключення таблиці інструментів доступне тільки тоді, коли інструмент завантажений з Tn M6.
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. Таблиця інструментів
The Tool Table is a text file that contains information about each tool. The file is located in the same directory as your configuration and is called tool.tbl by default. A file name may be specified with the INI file [EMCIO]TOOL_TABLE setting. The tools might be in a tool changer or just changed manually. The file can be edited with a text editor or be updated using G10 L1. See the Lathe Tool Table section for an example of the lathe tool table format. The maximum pocket number is 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
The non-realtime program iocontrol is conventionally used for tool changer management (and other io functions for enabling LinuxCNC and the control of coolant hardware). The HAL pins used for tool management are prefixed with 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.
-
Для
RANDOM_TOOLCHANGER = 0(0 є значенням за замовчуванням і вказує на невипадковий змінник інструментів), idx — це число, що вказує на послідовність завантаження даних інструменту. -
Для
RANDOM_TOOLCHANGER = 1, idx – це поточний номер гнізда для номера інструмента, заданого командою вибору інструмента G-коду Tn.
Програма вводу/виводу забезпечує вихідні контакти HAL для полегшення керування пристроєм зміни інструменту:
-
iocontrol.0.tool-prep-number
-
iocontrol.0.tool-prep-index
-
iocontrol.0.tool-prep-pocket
-
iocontrol.0.tool-from-pocket
2.2.1. Введення-виведення для невипадкового змінника інструментів
-
Номер інструменту n==0 вказує на відсутність інструменту.
-
Номер гнізда для інструмента встановлюється під час завантаження/перезавантаження даних інструменту з його джерела даних ([EMCIO]TOOL_TABLE або [EMCIO]DB_PROGRAM).
-
У команді G-коду Tn (n != 0):
-
iocontrol.0.tool-prep-index = idx (index based on tooldata load sequence)
-
iocontrol.0.tool-prep-number = n
-
iocontrol.0.tool-prep-pocket = the pocket number for n
-
-
At G-code T0 (n == 0 remove) command:
-
iocontrol.0.tool-prep-index = 0
-
iocontrol.0.tool-prep-number = 0
-
iocontrol.0.tool-prep-pocket = 0
-
-
At M-code M6 (following iocontrol.0.tool-changed pin 0-→1):
-
iocontrol.0.tool-from-pocket = pocket number used to retrieve tool
-
2.2.2. Введення-виведення для випадкового змінника інструментів
-
Номер інструменту n==0 не є спеціальним.
-
Кишеня номер 0 є особливою, оскільки вона вказує на шпиндель.
-
Поточний номер гнізда для інструмента n – це індекс даних інструмента (idx) для інструмента n.
-
За командою G-коду Tn:
-
iocontrol.0.tool-prep-index = tooldata index (idx) for tool n
-
iocontrol.0.tool-prep-number = n
-
iocontrol.0.tool-prep-pocket = pocket number for tool n
-
-
At M-code M6 (following iocontrol.0.tool-changed pin 0-→1):
-
iocontrol.0.tool-from-pocket = pocket number used to retrieve tool
-
|
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 supports three types of tool changers: manual, random location and non-random or fixed location. Information about configuring a LinuxCNC tool changer is in the EMCIO Section of the INI chapter.
Ручний змінювач інструментів (ви змінюєте інструмент вручну) розглядається як змінювач інструментів з фіксованим розташуванням. Ручна зміна інструментів може бути полегшена за допомогою конфігурації 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. Компенсація довжини інструменту
The tool length compensations are given as positive numbers in the tool table. A tool compensation is programmed using G43 H_n_, where n is the index number of the desired tool in the tool table. It is intended that all entries in the tool table are positive. The value of H is checked, it must be a non-negative integer when read. The interpreter behaves as follows:
-
Якщо G43 Hn запрограмовано, виконується дзвінка до функції
USE_TOOL_LENGTH_OFFSET(`__length__)` (де length є різницею довжини, прочитаною з таблиці інструментів, індексованого інструменту n), tool_length_offset перепоставляється в моделі налаштувань машини та значення current_z у моделі коригується. Зверніть увагу, що n не обов’язково має бути таким самим, як номер слоту інструменту в поточному спинділі. -
Якщо запрограмовано G49, викликається
USE_TOOL_LENGTH_OFFSET(0.0), tool_length_offset скидається до 0.0 у шаблоні налаштувань верстата, а поточне значення current_z у моделі коригується. Ефект компенсації довжини інструменту проілюстровано на знімку нижче. Зверніть увагу, що довжина інструменту віднімається від Z, щоб запрограмована контрольна точка відповідала кінчику інструменту. Зверніть також увагу, що ефект компенсації довжини є миттєвим, коли ви бачите, що компенсація є миттєвою, коли положення Z розглядається як відносна координата, але це не впливає на фактичне положення верстата, поки не буде запрограмовано рух Z.
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

За допомогою цієї програми, у більшості випадків, верстат застосовуватиме зміщення у вигляді рампи під час руху по осях xyz після слова G43.
4. Компенсація радіуса різця
Cutter Compensation allows the programmer to program the tool path without knowing the exact tool diameter. The only caveat is the programmer must program the lead in move to be at least as long as the largest tool radius that might be used.
Існує два можливих шляхи, якими може рухатися різак, оскільки компенсація різака може бути зліва або справа від лінії, якщо дивитися на напрямок руху різака ззаду. Щоб уявити це, уявіть, що ви стоїте на деталі і йдете за інструментом, який рухається по деталі. G41 — це ліва сторона лінії, а G42 — права сторона лінії.
Кінцева точка кожного руху залежить від наступного руху. Якщо наступний рух створює зовнішній кут, рух буде до кінцевої точки компенсованої лінії різання. Якщо наступний рух створює внутрішній кут, рух зупиниться раніше, щоб не пошкодити деталь. На наступному малюнку показано, як компенсований рух зупиняється в різних точках залежно від наступного руху.
4.1. Огляд
4.1.1. Таблиця інструментів
Компенсація на різець використовує дані з таблиці інструментів для визначення необхідного зміщення. Дані можна встановити під час виконання за допомогою G10 L1.
4.1.2. Програмування вхідних рухів
Будь-який рух, який є достатньо довгим для виконання компенсації, буде працювати як вхідний рух. Мінімальна довжина дорівнює радіусу різака. Це може бути швидкий рух над заготовкою. Якщо після G41/42 видається кілька швидких рухів, тільки останній з них перемістить інструмент у компенсоване положення.
На наступному малюнку ви можете побачити, що рух входу компенсується праворуч від лінії. У цьому випадку центр інструменту знаходиться праворуч від X0. Якщо ви програмуєте профіль, а кінець знаходиться в точці X0, то в результаті профіль матиме нерівність через зміщення руху входу.
4.1.3. Z-рух
Рух по осі Z може відбуватися під час проходження контуру в площині XY. Частини контуру можуть бути пропущені шляхом відведення осі Z над деталлю та висунення осі Z у наступній початковій точці.
4.1.4. Швидкі рухи
Швидкі рухи можна запрограмувати, навіть якщо компенсація ввімкнена.
4.1.5. Рекомендації щодо належної практики
Запустіть програму з G40, щоб переконатися, що компенсація вимкнена.
4.2. Приклади
4.2.1. Приклад зовнішнього профілю
4.2.2. Приклад внутрішнього профілю