[WIKI] Ручная смена инструмента с автоизмерением длины.
Добавлено: 05 май 2015, 00:40
В этой статье поделюсь удобным методом и программами к нему
для ручной смены инструмента c автоматическим измерением длины на фрезерном станке под linuxcnc(ver.2.6 и выше). Цель метода: автоматизировать все действия при ручной смене инструмента по максимуму так, чтобы руками осталось лишь вынуть-старую-вставить-новую фрезу.
Особенности:
- основан на remap M6, при обнаружении в тексте g-code "M6 Tx" (или при MDI команде M6 Tx) выполняется диалог для ручной смены и далее автоматом измерение с последующей записью отступа по Z в таблицу инструмента и автоматическое продолжение выполнения g-code,
- не нужен опорный (базовый) инструмент,
- настройки типа "раз-и-навсегда" делаются в .ini файле (позиция смены, позиция датчика Tool Setter, максимальное расстояние поиска Probe),
- настройки "по-ходу" делаются в GladeVCP панельке (поверхность заготовки, скорости поиска и уточнения).
Tребование: наличие двух датчиков - Probe и Tool setter.
Установка.
Использование.
1. Запускаем linuxcnc.
2. Делаем Home.
3. Устанавливаем заготовку.
4. Устанавливаем Probe в шпиндель.
5. Вписываем желаемые скорости поиска и уточнения и делаем измерение высоты Tool Setter ( жмем на эту кнопку, подпрограмма знает куда ехать из настроек, которые сделаны в .ini, рекомендую [TOOLSENSOR] Z и [CHANGE_POSITION] Z для начала выставить на максимальную верхнюю позицию, чтоб не зацепить чего) Результат измерения появится в поле Tool Setter Height.
6. Едем к поверхности заготовки (вручную, остановимся 3-4 мм от поверхности) и жмем эту кнопку Результат измерения появится в поле Block Height. Поверхность заготовки в g-code при таком Block Height будет лежать на Z=0, чтобы было по-другому, здесь к измеренному значению добавить(получим поверхность ниже нуля) или отнять(получим поверхность выше нуля) интересующее значение для поверхности и результат вручную ввести в поле Block Height, подтвердив Enter.
7. Задаем отступы для нулей заготовки по X и Y. Например,
-либо подводим этот же probe к предполагаемым нулям по XY вручную и вводим 0 в соотв.поле offsets и подтверждаем кнопками "set X" и "set Y",
-либо, для более точного выставления, переходим во вкладку Probe Screen и подходящим измерением выводим позицию в 0.( Убедитесь также, что XY(g92)=0 XY(tlo)=0).
Все. С этого места можно запускать g-code программу. При встрече M6 Tx linuxcnc переедет в точку смены инструмента, покажет сообщение сменить на такой-то инструмент (даже комметарий из таблицы для этого инструмента покажет ), дождется нажатия Ok, далее сам измерит новый инструмент и продолжит выполнение программы.
Если на пути в точку смены есть препятствие (тиски и т. п.), нужно самостоятельно "усложнить" путь к месту смены инструмента в файле manual_change.ngc, а именно добавить после 21 и 61 строк доп. точку в маршруте:
Смену инструмента в своей разрабатываемой g-code программе прописывать так
Важно! В таблице инструментов надо чтобы все отступы по X и по Y для всех используемых в Auto Tool Measurement инструментов были = 0.
Важно! Рекомендуется в начале программы вставить смену инструмента, даже если он тот же.
Важно! Логика метода не самая простая для понимания, здесь полезное пояснение логики привязок.
Исходники здесь Обновленная версия P.S.S. С ноября 2018г. весь код приложения auto_tool_measurement был включен в состав Probe Screen V2 (секция Remap M6). Развитие продолжено в составе Probe Screen V2.
для ручной смены инструмента c автоматическим измерением длины на фрезерном станке под linuxcnc(ver.2.6 и выше). Цель метода: автоматизировать все действия при ручной смене инструмента по максимуму так, чтобы руками осталось лишь вынуть-старую-вставить-новую фрезу.
Особенности:
- основан на remap M6, при обнаружении в тексте g-code "M6 Tx" (или при MDI команде M6 Tx) выполняется диалог для ручной смены и далее автоматом измерение с последующей записью отступа по Z в таблицу инструмента и автоматическое продолжение выполнения g-code,
- не нужен опорный (базовый) инструмент,
- настройки типа "раз-и-навсегда" делаются в .ini файле (позиция смены, позиция датчика Tool Setter, максимальное расстояние поиска Probe),
- настройки "по-ходу" делаются в GladeVCP панельке (поверхность заготовки, скорости поиска и уточнения).
Tребование: наличие двух датчиков - Probe и Tool setter.
Установка.
Использование.
1. Запускаем linuxcnc.
2. Делаем Home.
3. Устанавливаем заготовку.
4. Устанавливаем Probe в шпиндель.
5. Вписываем желаемые скорости поиска и уточнения и делаем измерение высоты Tool Setter ( жмем на эту кнопку, подпрограмма знает куда ехать из настроек, которые сделаны в .ini, рекомендую [TOOLSENSOR] Z и [CHANGE_POSITION] Z для начала выставить на максимальную верхнюю позицию, чтоб не зацепить чего) Результат измерения появится в поле Tool Setter Height.
6. Едем к поверхности заготовки (вручную, остановимся 3-4 мм от поверхности) и жмем эту кнопку Результат измерения появится в поле Block Height. Поверхность заготовки в g-code при таком Block Height будет лежать на Z=0, чтобы было по-другому, здесь к измеренному значению добавить(получим поверхность ниже нуля) или отнять(получим поверхность выше нуля) интересующее значение для поверхности и результат вручную ввести в поле Block Height, подтвердив Enter.
7. Задаем отступы для нулей заготовки по X и Y. Например,
-либо подводим этот же probe к предполагаемым нулям по XY вручную и вводим 0 в соотв.поле offsets и подтверждаем кнопками "set X" и "set Y",
-либо, для более точного выставления, переходим во вкладку Probe Screen и подходящим измерением выводим позицию в 0.( Убедитесь также, что XY(g92)=0 XY(tlo)=0).
Все. С этого места можно запускать g-code программу. При встрече M6 Tx linuxcnc переедет в точку смены инструмента, покажет сообщение сменить на такой-то инструмент (даже комметарий из таблицы для этого инструмента покажет ), дождется нажатия Ok, далее сам измерит новый инструмент и продолжит выполнение программы.
Если на пути в точку смены есть препятствие (тиски и т. п.), нужно самостоятельно "усложнить" путь к месту смены инструмента в файле manual_change.ngc, а именно добавить после 21 и 61 строк доп. точку в маршруте:
Код: Выделить всё
G53 G0 X? Y?
Код: Выделить всё
M6 Tx
G43 Hx
Важно! Рекомендуется в начале программы вставить смену инструмента, даже если он тот же.
Важно! Логика метода не самая простая для понимания, здесь полезное пояснение логики привязок.
Исходники здесь Обновленная версия P.S.S. С ноября 2018г. весь код приложения auto_tool_measurement был включен в состав Probe Screen V2 (секция Remap M6). Развитие продолжено в составе Probe Screen V2.