Работа с таблицей инструментов, смена инструмента.
Вот тестовая табличка.

- Снимок-tooledit_sim_mm.tbl.png (6.12 КБ) 3650 просмотров
Эта задачка заставила меня напрячь моск. (Впрочем, Я не знаю как это в Mach3 работает, не помню как это в TCNC, а в РУХ4 есть и сделано традиционно. Обычно Txxxx M6 замена и применение коррекции TLO - tool length offset т.е. смещение длины инструмента).
Читаю доку:
T- - call tool prepare. The tool is not changed until an M6 is programmed (see Section M6). The T word may appear on the same line as the M6 or on a previous line. It is OK if T words appear on two or more lines with no tool change. Only the the most recent T word will take effect at the next tool change. It is OK to program T0; no tool will be selected. This is useful if you want the spindle to be empty after a tool change.
Как задействовать замену? Легко! Режим MDI.
T1 M6 (!)
Бежит в позицию смены инструмента (ПСИ), замена, номер меняется, Я рад что всё привычно

. И тут облом - TLO=0 - без изменений.

Что делать? Кто такую свинью подложил? Если внимательно прочитать, то там нет ни слова про TLO.
Читаю доку в другом месте:
M6 Tool Change
Warning
The tool length offset is not changed by M6, use G43 after the M6 to change the tool length offset.
Всё очень просто - есть супер команда G43 <H->. Если её использовать без параметров, то перезагружается значение из таблицы инструментов с текущим номером инструмента по Tххх. Но это написано про M6, а в описании про T- - ни словечка.
G43 (- сработало, TLOz=10)
T1 M6 G43 (load tool 1 and tool length offsets - Работает! Правильно! По Tххх из таблицы выбирает. TLOz=10)
T10 (номер не поменялся, типа подготовка к замене)
G0 Y10
M6 (полетели в ПСИ, заменили, номер поменялся, а TLO=10)
G0 X100
G43 (Вот и TLO=3 поменялся)
G49 (Сбрасывает TLO в 0)
G43 (Благополучно восстановлено)
T4 M6 G43 (- оОО!!! Реквест тул 4 нот фаунд! Правильно!)
Ну вот результат достигнут. ууУУРРАА!!!
Остаётся несколько нерешённых вопросов:
1. Сделать коррекцию на лету. Через изменение таблицы во время выполнения G-кода не работает. Архиважно!
2. Как изменить поведение команды M6? И сделать её клон без путешествия в ПСИ.
Чем вызвана необходимость в G43? Такой подлянки не ожидал...
В каком случае действительно удобно применять G43.1: Dynamic Tool Length Offset ?
P.S. Чуть не забыл. G43 H- c параметром.
G43 H2 (выберет TLO из второй строки таблицы.) Для чего это применяется?
G43 (возвращает TLO в соответствии с текущим T)
Думаю что следующие эксперименты нужно в багрепорт отправить.
T1 M6 G43 H4 (приводит к ошибке Реквест тул 4 нот фаунд, инструмент поменяется на 1 TLOz=10 - не применять)
T1 M6 G43 H3 (ошибок нет, инструмент поменяется на 1, TLOz=20? от ? инструмента - не применять, но забавный глюк)
G43(возвращает TLOz=10 в соответствии с текущим T)