Как отредактировать М-функции?

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
buher-truher
Новичок
Сообщения: 4
Зарегистрирован: 11 июн 2011, 12:52
Репутация: 0
Контактная информация:

Как отредактировать М-функции?

Сообщение buher-truher »

Подскажите, пожалуйста, как изменить М-функции? В первую очередь М6, но также и другие (М3,М4,М8,М9).
buher-truher
Новичок
Сообщения: 4
Зарегистрирован: 11 июн 2011, 12:52
Репутация: 0
Контактная информация:

Re: Как отредактировать М-функции?

Сообщение buher-truher »

Наверно немного не точный вопрос. Какие файлы править, чтобы сделать, допустим, автосмену инструмента?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Как отредактировать М-функции?

Сообщение Nick »

Для сложной смены инструмента можно использовать O-коды.
Например:
o<myfile> call (вызов файла myfile.ngc)

В файле обязательно должен быть задан одноименный о-код

o<myfile> sub
...
o<myfile> endsub
M2

Еще есть M100 - M199 User Defined Commands (Команды заданные пользователем), в них можно запускать вообще любые программы (не только G-code).

А какая у тебя конкретно проблема со сменой? Обычного M6 T1 не хватает?
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Как отредактировать М-функции?

Сообщение aftaev »

buher-truher c MACH3 работал до этого?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
buher-truher
Новичок
Сообщения: 4
Зарегистрирован: 11 июн 2011, 12:52
Репутация: 0
Контактная информация:

Re: Как отредактировать М-функции?

Сообщение buher-truher »

Nick писал(а): А какая у тебя конкретно проблема со сменой? Обычного M6 T1 не хватает?
У меня магазин на 8 инструментов. И нужна возможность кодом выбирать нужный.
С Mach3 не работал.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Как отредактировать М-функции?

Сообщение aftaev »

Nick писал(а):Обычного M6 T1 не хватает?
Хотите инструмент через М3,М4,М8,М9 менять?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
buher-truher
Новичок
Сообщения: 4
Зарегистрирован: 11 июн 2011, 12:52
Репутация: 0
Контактная информация:

Re: Как отредактировать М-функции?

Сообщение buher-truher »

aftaev писал(а): Хотите инструмент через М3,М4,М8,М9 менять?
Я еще сам пока не придумал как. Вот хотел посмотреть файлы с М-кодами, чтобы понять как это все работает. Но конечно я не собирался делать смену через М3,М4...М8.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Как отредактировать М-функции?

Сообщение Nick »

Итак, кусочек хелпа по Gкоду от emc2, с переводом нужных моментов.
источник: http://linuxcnc.org/docs/html/gcode.html

M6 Смена инструмента

2.3.1 Manual Tool Change

If the Hal component hal_manualtoolchange is loaded M6 will stop the spindle and prompt the user to change the tool. For more information on hal_manualtoolchange see Section ([->])

2.3.2 Автоматическая смена

Для смены инструмента в шпинделе с того, который сечас находится в шпинделе на тот, который позднее всего был выбран командой T (по использованию T см. ниже), нужно добавить код M6.
Когда смена будет завершена:
  • Шпиндель будет остановлен.
  • Инструмент выбранный (либо командой T в той же строке, либо в любой другой строке после предыдущей смены (можно заранее выбрать нужный инструмент, чтобы барабан успел докрутиться)) будет в шпинделе. Число заданное T это целое число, которое будет передано сменщику инструмента (не id инструмента).
  • Если выбранный инструмент не был в шпинделе, до смены инструмента, инструмент который был в шпинделе (если он там был) будет в его менсте в барабане инструментов.
    этот абзац на английском (для просмотра содержимого нажмите на ссылку)
    If the selected tool was not in the spindle before the tool change, the tool that was in the spindle (if there was one) will be in its changer slot.
  • Если это заданно в файле .ini некоторые оси могут сместиться когда вызывается М6. См. раздел EMCIO руководства станкостроителя от EMC2 для более подробно информации о смене инструмента. (эта часть вроде уже переведена.)
  • Никаких других изменений не будет сделано. Например, СОЖ будет продолжать поступать во время смены, если ее не отключить заранее использую M9. Длинна инструмента и отступы не будут изменены, используйте G43, чтобы поменять отступ на длинну инструмента.
Смена инструмента может включать перемещение осей. Это нормально (но обычно не используется) запрограммировать смену инструмента на тот который уже находится в шпинделе. Это нормально если в выбранном солоте нет инструмента, в этом случае, шпиндель будет пуст после смены инструмента. Если выбран нулевой слот, в шпинделе точно не будет инструмента после смены инструмента.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Как отредактировать М-функции?

Сообщение Nick »

4.3 T: Выбор инструмента

Чтобы выбрать инструмент задайте код T<n>, где <n> это номер слота в карусели инструментов. Инструмент не будет сменен до тех пор, пока не будет вызван код M6. Код T может появляться в той-же строке, вместе с M6 или на строках выше него. Это нормально, но обычно не используется, если код Т появляется в двух или более строках без смены инструмента. Карусель инструментов будет много двигаться, но при смене будет использоваться только самое последнее задание номера инструмента. Это нормально задать T0, ни одного инструмента не будет выбрано. Это полезно, если вы хотите, чтобы шпиндель был пуст после смены инструмента.

Будет ошибкой, если:
  • Используется отрицательное число Т
  • Число Т больше размера карусели инструментов.
На некоторых станках, карусель будет двигаться когда выполняется слово Т, вместе с продолжением обработки. На таких станках, задание Т заранее будет экономить время обработки. Обычная практика для таких станков, помещать Ткод на следующей строчке после смены инструмента. Это максимизирует время для перемещения карусели.

Быстрые перемещения после T<n> не будут показаны в AXIS, до первого перемещения с обработкой. Это для станков которым приходится далеко перемещаться для смены инструмента (например, токарные станки). Это может вводить в заблуждение поначалу. Чтобы выключить эту опцию, для конкетного инструмента добавьте G1 без всякого перемещения в программу после T<n>.
Ответить

Вернуться в «LinuxCNC»