4-я ось: настройка поворотной оси (мини FAQ)

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение nkp »

понял - код не трогаем,
обучаем емс)))
============
нужно поставить фильтр , и при загрузке предпроцессировать код...
но чтоб написать его - необходимо больше вводных , как то:
всегда ли (без исключений) у нас задача крутить по кратчайшему пути?
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение verser »

nkp писал(а): всегда ли (без исключений) у нас задача крутить по кратчайшему пути?
Всегда. Я пользуюсь SolidCam, а он всегда длинные повороты дробит на десятки мелких.
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение verser »

На одном из форумов встретил
В Fanuc 0i в параметре 1008 написано:
RABx : В абсолютных командах ось вращается в направлении
0: В котором расстояние до мишени короче.
1: Заданном символом значения команды.
Т.е. даже в Fanuc 0i есть возможность задать такой параметр... нда-а, linuxcnc не Fanuc.. :cry:
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение verser »

Еще один совет нашел :
программируйте углы в приращениях (G91)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение Serg »

nkp писал(а):всегда ли (без исключений) у нас задача крутить по кратчайшему пути?
Всегда нельзя! - Так можно и фрезу поломать.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение nkp »

UAVpilot писал(а):Всегда нельзя! - Так можно и фрезу поломать.
если так - то условие становится неопределенным до конца...
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение verser »

UAVpilot писал(а): Всегда нельзя! - Так можно и фрезу поломать.
SolidCam отлично отводит фрезу на безопасное расстояние, за это не волнуемся.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение Serg »

nkp писал(а):если так - то условие становится неопределенным до конца...
Например 2 варианта:
1. всегда крутится по кратчайшему направлению. Если нужно по дальнему, то постпроцессор генерит 2 кадра.
2. например ось в позиции 350. по команде "g1 a10" крутится в направлении 350->0->10, по команде "g1 a-10" в направлении 350->180->10. Но постпроцессори CAM должны понимать, то абсолютные позиции 10 и -10 - это одно и тоже.
В обоих случая по g0 можно крутить кратчайшим путём.

Собственно в фануке реализованы оба варианта через переключатель RABx.
verser писал(а):SolidCam отлично отводит фрезу на безопасное расстояние, за это не волнуемся.
Во время обработки чтоль?.. :hehehe:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение verser »

350 и -10 - одно и то же, 10 и -10 не одно и то же
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение verser »

UAVpilot писал(а): Во время обработки чтоль?.. :hehehe:
Нет, во время холостых переездов.
А во время обработки у Solidcama нет вообще варианта "длинная траектория" , т.к. он дробит любую длинную траекторию на десятки по-мельче.
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение verser »

Но SolidCAM рассчитывает что переход с 359° на 1° будет произведен через поворот на +2°, а не -358°. Этого я и хотел бы добиться от linuxcnc.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение Serg »

verser писал(а):350 и -10 - одно и то же, 10 и -10 не одно и то же
Ну можно и так, в данном случае это не принципиально. Принципиально чтобы CAM понимал, что у каждой позиции есть несколько координат.
verser писал(а):Нет, во время холостых переездов.
Тогда твоя фраза не имеет смысла, ибо если в любой УП перед любыми перемещениями по G0 инструмент не отводится на безопасное расстояние, то эта УП и программист создавший её (с помощью любых инструментов/CAM) просто не заслуживают разговора о них. :)
verser писал(а):Но SolidCAM рассчитывает что переход с 359° на 1° будет произведен через поворот на +2°, а не -358°.
Для режима G91 это логично. Как крутиться в режиме G90?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение Nick »

verser писал(а):А есть ли в linuxcnc возможность задавать для поворотных осей переходы по кратчайшему угловому расстоянию?
Как такового нет, если я правильно понял постановку задачи.
Есть такая шутка wrapped_rotary, но она работает немного не так... (http://wiki.linuxcnc.org/cgi-bin/wiki.p ... RotaryAxes http://www.linuxcnc.org/docs/devel/html ... _section_a)
Ей нужно четко задавать направление вращения. Т.е.

G01 A10 будет ехать до 10o по часовой, G01 A-350, поедет в те же 10o но против часовой.
Такой код

Код: Выделить всё

G0 A359
G0 A1 
Проедет в 359, потом 2 градуса вперед до 1. Но вот такой:

Код: Выделить всё

G0 A2
G0 A1 
Проедет в 2, а потом 359 градусов вперед до 1...

Зато в случае когда у тебя после выполнения будет стоять положение 3123123000, напишешь G0 A0 и станок приедет в 0 за 1 оборот.
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты

Сообщение verser »

Nick писал(а): Есть такая шутка wrapped_rotary...
Nick - респект!
Немного подкрутил настройки SolidCAM и в сочетании с wrapped_rotary=1 проблема РЕШЕНА.
Добавляю это решение в первый пост вместе с файлом шаблоном для многоосевой фрезеровки SolidCAMa.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты (РЕШЕНО)

Сообщение aftaev »

verser, ты бы еще картинку с СолидКама в первый пост вставил для красоты и понятия процесса :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: как сбросить намотанные обороты (РЕШЕНО)

Сообщение verser »

aftaev писал(а):verser, ты бы еще ..
Вставил ;)
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

В LinuxCNC при наличии поворотной оси существует проблема согласования линейных и угловых скоростей.
Добавил в первый пост свой вариант решения этой проблемы.
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

Наверняка это уже проходили, но я не нашел:
Может кто знает как заставить gremlin отображать визуально 4-ю поворотную ось не вокруг оси Х, а вокруг Y? ( у меня в .ini 4-я ось названа A)
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2180
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение ukr-sasha »

Назовите В.
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

Назвал ось B вот так:

Код: Выделить всё

...
[DISPLAY]
DISPLAY = axis
GEOMETRY = XYZB
...
[TRAJ]
AXES = 4
COORDINATES = X Y Z B
...
# Fourth axis = B
[AXIS_3]
TYPE =                          ANGULAR
WRAPPED_ROTARY = 1
HOME =                          0.0
MAX_VELOCITY = 356.25
MAX_ACCELERATION = 4800.0
STEPGEN_MAXACCEL = 6000.0
INPUT_SCALE = -26.6666666667
FERROR = 1
MIN_FERROR = .25
BACKLASH = 0.000
OUTPUT_SCALE = 1.000
HOME_OFFSET =                    0.0
HOME_SEARCH_VEL =                0.0
HOME_LATCH_VEL =                 0.0
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             YES
HOME_SEQUENCE = 0
...
Axis вылетает с ошибкой

Код: Выделить всё

emcTrajSetAxes failing: axes=4 axismask=17
Что не так?
Ответить

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