Страница 1 из 1

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

Добавлено: 11 июн 2011, 14:22
buher-truher
Подскажите, пожалуйста, как изменить М-функции? В первую очередь М6, но также и другие (М3,М4,М8,М9).

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

Добавлено: 11 июн 2011, 22:22
buher-truher
Наверно немного не точный вопрос. Какие файлы править, чтобы сделать, допустим, автосмену инструмента?

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

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

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

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

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

А какая у тебя конкретно проблема со сменой? Обычного M6 T1 не хватает?

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

Добавлено: 11 июн 2011, 23:39
aftaev
buher-truher c MACH3 работал до этого?

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

Добавлено: 12 июн 2011, 09:22
buher-truher
Nick писал(а): А какая у тебя конкретно проблема со сменой? Обычного M6 T1 не хватает?
У меня магазин на 8 инструментов. И нужна возможность кодом выбирать нужный.
С Mach3 не работал.

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

Добавлено: 12 июн 2011, 10:47
aftaev
Nick писал(а):Обычного M6 T1 не хватает?
Хотите инструмент через М3,М4,М8,М9 менять?

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

Добавлено: 12 июн 2011, 12:00
buher-truher
aftaev писал(а): Хотите инструмент через М3,М4,М8,М9 менять?
Я еще сам пока не придумал как. Вот хотел посмотреть файлы с М-кодами, чтобы понять как это все работает. Но конечно я не собирался делать смену через М3,М4...М8.

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

Добавлено: 13 июн 2011, 00:00
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, чтобы поменять отступ на длинну инструмента.
Смена инструмента может включать перемещение осей. Это нормально (но обычно не используется) запрограммировать смену инструмента на тот который уже находится в шпинделе. Это нормально если в выбранном солоте нет инструмента, в этом случае, шпиндель будет пуст после смены инструмента. Если выбран нулевой слот, в шпинделе точно не будет инструмента после смены инструмента.

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

Добавлено: 13 июн 2011, 00:25
Nick

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

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

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

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