Страница 1 из 1
Выход токарника в место смены инструмента
Добавлено: 28 янв 2021, 15:01
Фрост
Очередность движения осей, заданная для хомления, не влияет на очередность выхода в точку смену инструмента, и движется сразу двумя осями. Для исключения нежелательных событий, нужно сначала завершить движение по Х и затем начать Z.
Код: Выделить всё
[EMCIO]
TOOL_CHANGE_POSITION = 0 0 -100
TOOL_CHANGE_WITH_SPINDLE_ON = 1
[AXIS_X]
[JOINT_0]
HOME_SEQUENCE = 0
[AXIS_Z]
[JOINT_1]
HOME_SEQUENCE = 1
Если бы не кривость ЛСНС, которая не понимает что работает в токарной конфигурации, отлично подошел бы параметр TOOL_CHANGE_QUILL_UP = 1 - максимально отвести инструмент.
Вариант с TOOL_CHANGE_AT_G30 = 1 тоже не особо подходит, тоже двигает сразу двумя осями, хотя для однотипных деталей если задать значение 5181 0.000000, 5183 -250.000000 станок сначала выходит в нужную координату, а потом перекатывается по Z в TOOL_CHANGE_POSITION.
Как реализовать более грамотно? Желательно без ремапа
Re: Выход токарника в место смены инструмента
Добавлено: 28 янв 2021, 16:46
alex_sar
Фрост писал(а): ↑
Если бы не кривость ЛСНС, которая не понимает что работает в токарной конфигурации
А в чём конкретно кривость проявляется?
Мне кажется нежелательные события одинаково возможны и если сначала двигать X, и если сначала двигать Z.
Детали разные - например резец в отверстии - что будет если ехать по Х наружу?
Re: Выход токарника в место смены инструмента
Добавлено: 28 янв 2021, 18:04
Фрост
alex_sar писал(а): ↑
А в чём конкретно кривость проявляется?
На мой взгляд, если системе указана токарная конфигурация, доминирование осей должно измениться, в частности TOOL_CHANGE_QUILL_UP. И к тому же слабо представляю программу, где любой инструмент (хоть резец хоть сверло) может без отвода уйти на смену. А вот зацепить другим за деталь- легко.
alex_sar писал(а): ↑
например резец в отверстии
А если фреза Т-образная?))) В любом случае думаю это некоторая недоработка, для хоуминга есть же приоритет осей.
Остается понять, как изменить порядок...
Re: Выход токарника в место смены инструмента
Добавлено: 28 янв 2021, 18:32
alex_sar
Фрост писал(а): ↑
Остается понять, как изменить порядок...
почему ремаппинг пугает? вроде ничего страшного там нет.
Re: Выход токарника в место смены инструмента
Добавлено: 28 янв 2021, 18:52
Serg
Просто в постпроцессоре перед сменой инструмента добавить выход в G28/G30 в нужной последовательности.
Re: Выход токарника в место смены инструмента
Добавлено: 28 янв 2021, 19:01
tokarka63
К чему вообще эти "пляски" в программе отводишь инструмент куда хочешь там и меняешь!)
Вообще не понимаю, зачем уводить револьверку в концы осей!)
Re: Выход токарника в место смены инструмента
Добавлено: 29 янв 2021, 14:48
nkp
в исходниках даже комент оставлен:
Код: Выделить всё
/* optional move to tool change position. This
* is a mess because we really want a configurable chain
* of events to happen when a tool change is called for.
* Since they'll probably involve motion, we can't just
* do it in HAL. This is basic support for making one
* move to a particular coordinate before the tool change
* is called. */
========================================
если уж кому то сильно_надо ,то в emccannon.cc можно задать любую цепочку
действий :
Код: Выделить всё
void CHANGE_TOOL(int slot)
{
EMC_TRAJ_LINEAR_MOVE linearMoveMsgX;
EMC_TRAJ_LINEAR_MOVE linearMoveMsgZ;
linearMoveMsgX.feed_mode = canon.feed_mode;
linearMoveMsgZ.feed_mode = canon.feed_mode;
EMC_TOOL_LOAD load_tool_msg;
flush_segments();
/* optional move to tool change position. This
* is a mess because we really want a configurable chain
* of events to happen when a tool change is called for.
* Since they'll probably involve motion, we can't just
* do it in HAL. This is basic support for making one
* move to a particular coordinate before the tool change
* is called. */
if (have_tool_change_position) {
double vel, acc, x, y, z, a, b, c, u, v, w;
x = FROM_EXT_LEN(tool_change_position.tran.x);
y = FROM_EXT_LEN(tool_change_position.tran.y);
z = FROM_EXT_LEN(tool_change_position.tran.z);
a = canon.endPoint.a;
b = canon.endPoint.b;
c = canon.endPoint.c;
u = canon.endPoint.u;
v = canon.endPoint.v;
w = canon.endPoint.w;
if (have_tool_change_position > 3) {
a = FROM_EXT_ANG(tool_change_position.a);
b = FROM_EXT_ANG(tool_change_position.b);
c = FROM_EXT_ANG(tool_change_position.c);
}
if (have_tool_change_position > 6) {
u = FROM_EXT_LEN(tool_change_position.u);
v = FROM_EXT_LEN(tool_change_position.v);
w = FROM_EXT_LEN(tool_change_position.w);
}
VelData veldata = getStraightVelocity(x, y, z, a, b, c, u, v, w);
AccelData accdata = getStraightAcceleration(x, y, z, a, b, c, u, v, w);
vel = veldata.vel;
acc = accdata.acc;
linearMoveMsgZ.end = to_ext_pose(x, y, z, a, b, c, u, v, w);
linearMoveMsgX.end = to_ext_pose(x, y, canon.endPoint.z, a, b, c, u, v, w);
linearMoveMsgX.vel = linearMoveMsgX.ini_maxvel = toExtVel(vel);
linearMoveMsgX.acc = toExtAcc(acc);
linearMoveMsgX.type = EMC_MOTION_TYPE_TOOLCHANGE;
linearMoveMsgX.feed_mode = 0;
linearMoveMsgX.indexrotary = -1;
linearMoveMsgZ.vel = linearMoveMsgZ.ini_maxvel = toExtVel(vel);
linearMoveMsgZ.acc = toExtAcc(acc);
linearMoveMsgZ.type = EMC_MOTION_TYPE_TOOLCHANGE;
linearMoveMsgZ.feed_mode = 0;
linearMoveMsgZ.indexrotary = -1;
int old_feed_mode = canon.feed_mode;
if(canon.feed_mode)
STOP_SPEED_FEED_SYNCH();
if(vel && acc)
interp_list.append(linearMoveMsgX);
interp_list.append(linearMoveMsgZ);
if(old_feed_mode)
START_SPEED_FEED_SYNCH(canon.spindle_num, canon.linearFeedRate, 1);
canonUpdateEndPoint(x, y, z, a, b, c, u, v, w);
}
/* regardless of optional moves above, we'll always send a load tool
message */
interp_list.append(load_tool_msg);
}
с такими изменениями и строкой в INI
движения такие
https://www.youtube.com/watch?v=Ln2wVEKUbIA
Re: Выход токарника в место смены инструмента
Добавлено: 29 янв 2021, 15:54
Фрост
nkp писал(а): ↑
если уж кому то сильно_надо ,то в emccannon.cc можно задать
А где его искать, как редактировать (надо ли компилировать или просто в редакторе) и перезапишется ли он при обновлениях системы?
Re: Выход токарника в место смены инструмента
Добавлено: 29 янв 2021, 16:17
nkp
Фрост писал(а): ↑
А где его искать, как редактировать (надо ли компилировать или просто в редакторе) и перезапишется ли он при обновлениях системы?
установить емс из исходников
поправить файл
при обновлении ничего в таком случае не слетит
Re: Выход токарника в место смены инструмента
Добавлено: 29 янв 2021, 18:34
Serg
При изменении длины/диаметра заготовки нужно будет править конфиг и перезапускать LinuxCNC. Ну или всегда ездить в самый дальний угол.
Кстати, а сверла и внутренние резцы тоже менять отъезжая сначала по X?..
Re: Выход токарника в место смены инструмента
Добавлено: 29 янв 2021, 18:59
nkp
контроллер всё не предусмотрит
однозначно - правильно это в программе прописывать
Re: Выход токарника в место смены инструмента
Добавлено: 29 янв 2021, 19:57
rage
Задаю координаты смены инструмента в солидкаме, в посте перед сменой отвожу резец по z потом меняю инструмент и отвожу уже по Х.
У меня нет револьверки, несколько резцов на оси.
Re: Выход токарника в место смены инструмента
Добавлено: 29 янв 2021, 20:47
Serg
nkp писал(а): ↑
контроллер всё не предусмотрит
однозначно - правильно это в программе прописывать
Можно комплексно сделать, я на одном станке сделал так:
M-команда "заглядывает" в таблицу инструментов в поле "Orient" и кладёт результат в глобальную переменную.
O-процедура вызывает эту M-команду и на основе результата выбирает последовательность отъезда в позицию G28.
В постпроцессоре прописан вызов этой O-процедуры перед сменой инструмента.
Re: Выход токарника в место смены инструмента
Добавлено: 30 янв 2021, 18:55
rage
Serg писал(а): ↑
в таблицу инструментов в поле "Orient"
А это поле на что нибудь еще влияет?
Re: Выход токарника в место смены инструмента
Добавлено: 30 янв 2021, 19:26
Serg
На компенсацию. А на что оно должно ещё влиять?
Re: Выход токарника в место смены инструмента
Добавлено: 30 янв 2021, 20:28
rage
Serg писал(а): ↑
На компенсацию. А на что оно должно ещё влиять?
по моим наблюдениям ни на что.
Re: Выход токарника в место смены инструмента
Добавлено: 31 янв 2021, 11:48
ex71
rage писал(а): ↑30 янв 2021, 20:28
по моим наблюдениям ни на что.
Ну как минимум на отображение резца в окне lcnc.
Serg писал(а):
На компенсацию. А на что оно должно ещё влиять?
эээ.. вопрос: "компенсацию", то есть изменяется знак корректора при его сложении/вычитании с машинной координатой?
То есть, если для уменьшения диаметра на внешнем резце я уменьшаю корректор, ТО для внутреннего получится надо будет увеличивать корректор?
Я не часто правлю корректоры, но что-то были такие мысли что на каком-то резце не в ту сторону корректор работал.
Re: Выход токарника в место смены инструмента
Добавлено: 31 янв 2021, 17:49
Serg
Я сам не сталкивался - всегда правильно указывал. А у одного клиента были какие-то несоответствия с компенсацией расточного резца, я особо не вникал т.к. уже планировал приезд к нему для выяснения, но напоследок послал ему картинку из доки и попросил проверить таблицу инструментов - он написал, что было указано неправильно, он поправил и всё заработало как надо.
Тогда была мысль изучить исходники на эту тему, ибо сам заинтересовался, но как-то недосуг было...