Перейти к публикации

Подача при использовании 4-ой оси


Danilammm

Рекомендованные сообщения

всем привет! Работал пока только в трех осях, проблем не было. Возникла необходимость использовать 4-ую - Вращение вокруг X. Как я понимаю подача при вращении задается в градусах в минуту и при линейном перемещении она в мм в мин. Как быть если в одном кадре надо описать движение сразу по линейной оси и вокруг X? Например если мне надо сделать спиральную канавку на поверхности цилиндрической заготовки. Спасибо за помощь!

Ссылка на сообщение
Поделиться на других сайтах


Какая стойка? В Прое включается просто - параметр INVERS_FEED YES, остальное зависит от того, как настроен постпроцессор.

Ссылка на сообщение
Поделиться на других сайтах

Станок 5 осевой 91 года. модернизирован в 2005. стойка не понятно какая стоит винда а там программа что-то типа archimedes. Какие там настройки в постпроцессоре отвечают за подачи? Все равно не пойму как в одном кадре задать подачу линейную и круговую. Например в кадре "G1 X200 A180 F300" будет 300 и подача по X в мм в мин и вокруг оси в град в мин? что тогда делать чтобы линейную и круговую разные задать?

Ссылка на сообщение
Поделиться на других сайтах

INVERS_FEED YES

Это если стойка поддерживает инверсную подачу.

Например в кадре "G1 X200 A180 F300" будет 300 и подача по X в мм в мин и вокруг оси в град в мин?

В гр/мин для оси А. Остальные оси будут управляться по закону линейной интерполяции.

что тогда делать чтобы линейную и круговую разные задать?

------------------------

Мои высказывания выше содержат ошибки. Ниже приведен правильный, опробованный алгоритм.

------------------------

Для того чтобы вывести подачу в кадре таким образом, чтобы реальная контурная подача соответствовала необходимой, необходимо знать закон, по которому УЧПУ осуществляет связь между подачей, заданной в кадре, и временем отработки этого кадра. Для решения задачи правильной контурной скорости подачи целесообразно принять следующий алгоритм: формировать в кадре значение подачи так, чтобы реальное время обработки кадра соответствовало заданному.

Формируемое при этом число получило наименование характеристики подачи. Но так как оно выводится в УП непосредственно под адресом подачи, то его также называют «код подачи».

Как правило, связь между кодом подачи F* и временем tк отработки кадра на станке определяется формулой:

F* = S* / tк,

где S* — оценка пути в кадре.

1. Вычисляется оценка пути:

S* = sqrt(DX^2+DY^2+DZ^2+DA^2+DB^2+DC^2) - в системе координат, связанной со станком, где

DX = X2 - X1 и т. д.

2. Вычисляется длина участка траектории, пройденного в кадре:

S = sqrt(DX^2+DY^2+DZ^2) - в системе координат детали.

Справедливость данной формулы для многокоординатной обработки обуславливается линейной аппроксимацией траектории движения инструмента САМ-системой.

или

S = sqrt(DX^2+DY^2+DZ^2+(DA*2*Pi*RA/360)^2+...) - в системе координат, связанной со станком, где

RA - радиус вращения вокруг оси А и т. д.

3. Время отработки кадра вычисляется по формуле:

tк = F / S,

где F — требуемая минутная подача, мм/мин;

4. Вычисляется код подачи:

F* = S* / tк

5. Если станок воспринимает инверсную подачу, то она будет вычисляться так:

Fинв=1 / tк

Обновил, убрав неточности, вдруг людям пригодится.

Ссылка на сообщение
Поделиться на других сайтах

Например в кадре "G1 X200 A180 F300" будет 300 и подача по X в мм в мин и вокруг оси в град в мин? что тогда делать чтобы линейную и круговую разные задать?

Все зависит от пути который проходит каждая ось.

Подачи должны быть согласованны, чтобы одновременно прийти в конечную точку кадра и их нельзя задавать отдельно.

Допустим перемещения следующие.

G1 X100 A160 F300

G1 X200 A180 F300

Скорость для каждой оси расчитывается как

S=sqrt(dx+dA), dX=100 dA=20

S=sqrt(100*100+20*20)=101.98

Fx=300*(100/101.98)=294,174 мм/мин

Fa=300*(20/101.98)=58,835 гр/мин

Если Fa превышает максимальную скорость, Fx и Fa пропорционально снижаются, в очень старых станках это надо делать в постпроцессоре

Проверяем перемещения

tk=101.98/300=0,3399мин - время отработки кадра

Sx=Fx*tk=294,174*0,3399=100 мм по оси X

Sa=Fа*tk=58,835*0,3399=20 гр по оси A

Ссылка на сообщение
Поделиться на других сайтах

Во-первых, вы сейчас решаете обратную задачу - по заданным в кадре подачам в гр/мин определяете реальную подачу на линейных и круговых осях. На практике нужно наоборот - обеспечить необходимую подачу в мм/мин.

S=sqrt(100*100+20*20)=101.98

Во-вторых, вы неправильно считаете путь вершины инструмента - смешиваете миллиметры и градусы, даже не учитывая радиус вращения. Это какие единицы измерения получаются?

В-третьих, ваша проверка так же неправильна, потому что использует те же неправильные формулы.

В-четвертых, подачу для оси А, вы, как ни странно, должны были получить 300 гр/мин :smile:

Ибо она в 99% интерпретируется стойкой в кадре с круговыми осями как подача для оси А в гр/мин.

Ссылка на сообщение
Поделиться на других сайтах

Во-первых, вы сейчас решаете обратную задачу - по заданным в кадре подачам в гр/мин определяете реальную подачу на линейных и круговых осях. На практике нужно наоборот - обеспечить необходимую подачу в мм/мин.

Боюсь вы совсем не поняли о чем я написал, прочитайте еще раз мой ответ.

Я не решал ни какой задачи. Я ответил на вопрос и показал, как станок расчитывает подачи для каждой оси, если в кадре дана подача F. Если вы считаете что формулы не правильны напишите, как станок расчитывает подачи для каждой оси. Лет 15-20 назад производитель помещал подобные формулы в инструкции по программированию.

Не могут быть и Fx=300 и Fa=300. В этом случае фреза просто срежет пол детали

На моем примере X перемещается на 100 мм A на 20гр/мин

Время перемещения Tx=100/300=0.3333мин

Если cкорость вращения оси A=300, то за это время ось A уйдет на 300*0.3333=100градусов,

в пять раз больше чем запрограммировано в этом кадре!

вы неправильно считаете путь вершины инструмента - смешиваете миллиметры и градусы

Это самое интересное в этой формуле.

Современные станки имеють опцию - слежение за кончиком инструмента(где G, где M коды), в этом случае станок должен вести расчет по более сложной формуле

Ссылка на сообщение
Поделиться на других сайтах

Не могут быть и Fx=300 и Fa=300. В этом случае фреза просто срежет пол детали

Еще раз повторяю: если в кадре F300, то подача на ось А будет 300 гр/мин. Подача по Х - по закону линейной интерполяции. Но не 300 мм/мин - я такого не писал.

Если вы считаете что формулы не правильны напишите, как станок расчитывает подачи для каждой оси

Из моего первого поста в этой теме должно быть понятно.

Время перемещения Tx=100/300=0.3333мин

Время перемещения, я считаю, вычислено неправильно:

к примеру, если в кадре УП присутствует изменение положения поворотных осей, то устройство ЧПУ интерпретирует код подачи как скорость вращения поворотной оси С в градусах в минуту. Остальные оси будут иметь скорость перемещений, соответствующую закону линейной интерполяции

У меня станки интерпретирует подачу именно так.

Я не отрицаю, что устройство ЧПУ может интерпретировать подачу по-другому. Но случай, про который я пишу, самый распространенный. Пусть автор темы задаст кадр с перемещением, например, по А на 360 гр., по Х на 100 мм с подачей в кадре 360. Кадр должен отработаться за минуту. Большинство стоек работает так.

Это самое интересное в этой формуле.

:blink: объясните, как можно смешать разные единицы измерения!Я свой подход проверял, именно засекал время отработки кадра - оно совпадало с расчетным.
Ссылка на сообщение
Поделиться на других сайтах

Вращение вокруг X. Как я понимаю подача при вращении задается в градусах в минуту и при линейном перемещении она в мм в мин. Как быть если в одном кадре надо описать движение сразу по линейной оси и вокруг X? Например если мне надо сделать спиральную канавку на поверхности цилиндрической заготовки. Спасибо за помощь!

Ставте обычные подачи (как и для XYZ), можно не заморачиватся по этому поводу особенно для спиральной канавки,

к тому же если станок 91 года, то скорей всего ось А довольно медленна и остальные оси будут сильно притормаживать.

Обратите также внимание, что скорость вращения (максимальная как понимаю) должна задаваться в параметрах станка. Например, на 4-x HAAS задается диаметр на котором происходит фрезеровка

Для пяти осей с подачей есть свои особенности, но с одной поворотной осью все проще.

обяъсните, как можно смешать разные единицы измерения! Я свой подход проверял, именно засекал время отработки кадра - оно совпадало с расчетным.

Я сталкивался со многими станками, но с еще большими не сталкивался. Каждый произволитель делает что читает нужным

Но результат у вас получается очень странный

В случае

G1X0A0

G1X100.A100.F300.

Время отработки Оси ta=100/300=0.3333мин,значить Ось X для синхронизации с осью A движется со скоростью 100/0.333=300 мм мин

В случае

G1X0A0

G1X100.A1.F300.

Ось X для синхронизации с осью A движется со скоростью 100/(1/300)=30000 мм мин

В случае

G1X0A0

G1X100.A0.1F300.

Ось X для синхронизации с осью A должен иметь скорость 100/(0.1/300)=300000 мм мин. Конечно понятно что скорость по оси A должно снижатся до приемлемого занчения X, но скорость резания будет скакать от 1 до 10000, даже на одном радиусе цилиндра, что совершенно не приемлемо.

По вашей логике кадр должен выполнится за 0.02 секунды?

А могут быть еще и такие перемещения

G1X0A0

G1X1000.A0.01F300.

Я подобных станков не встречал

Что касается разных размерностей, то в формуле считается что размерности одинаковы. Иными словами считаем, что подставляется линейная окружная скорость для радиуса 1

Вообще то тема уже раз пять поднималась на форуме

Ссылка на сообщение
Поделиться на других сайтах

Все проверил. Вы оказались совершенно правы, спасибо! Прошу прощения за необоснованный спор.

Проверил на пятиосевке - у меня оси А и С, наклонно-поворотный стол. Так выяснилось, что для осей X, Y, Z, C стойка интерпретирует именно так, как вы написали. Если задавать плюсом еще и ось А, то она управляется таким образом, что приходит в конечную точку за время t=sqrt(X^2+Y^2+Z^2+C^2)/F. Т. е. не оказывает влияния на время отработки кадра. Если в кадре нет оси С, а только А, то t=sqrt(X^2+Y^2+Z^2+A^2)/F. В общем, хитро получается.

Про размерности понял - таков уж алгоритм, зашитый в стойку.

Ссылка на сообщение
Поделиться на других сайтах

Мне казалось, что все оси должны участвовать в расчете времени, но здесь видимо более сложный алгоритм

Но это точно не для всех станков, когда то мне всречался станок INNSE с поворотной головкой, там учитывались все координаты

Ссылка на сообщение
Поделиться на других сайтах

Всем спасибо за ответы! Вроде разобрался) А есть какая-нибудь литература на эту тему?

Встречал всего лишь одну книгу. Гырдымов Г. П. "Проектирование постпроцессоров для оборудования ГПС". Но там закон, по которому система ЧПУ оценивает путь, совершенно другой описан.

Искать скорее следует в инструкциях по программированию станков. Кстати, уточните, нет ли на вашей стойке поддержки инверсной подачи (Inverse Feedrate, по-моему, обычно G93), ее наличие может существенно упростить работу.

Можете использовать методику, которую я привел, только с уточнениями, внесенными SDCA:

S*=sqrt(dX^2+dY^2+dZ^2+dA^2+dB^2+dC^2)

Но проверьте, работает ли такой закон для вашего станка, или у вас что-нибудь более хитрое, как у меня. Задайте перемещение по всем осям, расчитайте, за какое время оно должно отработаться, и засеките реальное время.

Ссылка на сообщение
Поделиться на других сайтах
  • 8 лет спустя...

@SDCA

 

@SDCA Если я все правильно понял, то при перемещении 

X0.A0

G1 X100.A360F100

подача по оси А будет равна Fa=161.94град/мин 

Если радиус детали равняется 150мм, то длина окружности l=2*3.14*150=605.09мм следовательно Fa=161.94*605.09/360=272,12мм/мин. Поскольку эта подача выше  той что мы задавали изначально, она будет снижена до <100мм/мин и Fx пропорционально уменьшится. Поправьте если не прав) заранее спасибо

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • fenics555
      это каждый раз что-то ковырять при установке, не вариант.
    • maxx2000
      @fenics555, я никогда не задавался таким вопросом, а можно ли отключить авторегенрацию компонентов или заморозить? Если прям опции нет, может через Тулкит или Апи?
    • fenics555
      штифты разрезные- понятно, что примонтаже изменяют размер по отверстию.  Резиновое кольцо уплотнительное- оно меняет не только диаметр наружный и внутренний, но и толщину. именно долго открываются сборки, содержащие эти изделия.  можно конечно и без нее обходиться, но мы уже привыкли. Только грузятся сборки очень долго, но это врятли из-за гибкости.
    • Viktor2004
    • UkulyAlex
      Добрый день. Работаю в t-flex 16. Имеется приспособление в котором более 150 позиций деталей, спецификация сделана по структуре изделия. Возникла необходимость изменения конструкции, некоторые детали из середины списка пришлось удалить. После обновления отчёта позиции сдвигаются, как сделать чтобы оставались на месте, т.е. был пропуск позиций в середине раздела "Детали"? 
    • статист
      Спасибо за цитату, полезная для меня   Я знал до этого способ использовать атрибуты LATT для задания направления, но они применялись только к построенным линиям. Если например рассматривать созданный элемент E, 1, 2, где для задания применяются только два узла, то тут уже никак не поменяешь положение третьего узла, так как его нет. Нужно тогда создавать отдельно направляющий узел  и задавать его через EMODIF,EID, 3, NID.   Но получается без создания узла, задать направление нельзя. В настране по крайней мере так можно. А в ансисе нужно плодить лишние узлы. Грустно)
    • FROST_R6
      Есть монорельса размером 12м. Хочу проверить перемещение при нагрузке на середину в 2 тонны. Саму монорельсу фиксировать не нужно, поэтому я поставил ее на 2 призмы и зафиксировал их. Расчет не получается провести - сначала программа пишет, что "деформация в данном исследовании слишком значительная и нереалистичная, хотите остановить программу и перезапустить исследование с меньшими нагрузками или с более жесткой моделью?". Я выбираю "нет". После долгого процесса расчета появляется сообщение о том, что "Состояние равновесия не было достигнута" и "Анализ больших смещений был остановлен до сохранения результата", появляется надпись о сбое расчета. 
    • maxx2000
      подгружаются при повторном открытии сборки или при первой вставке? Ну и гибкость сначала вызвала вопрос, но я не заметил существенной задержки при выборе способа вставки с ней или без неё.
    • Ветерок
      Я не понял зачем в этих деталях задана гибкость. При том, что новые значения размеров определяются не измерением, а вводом вручную.
    • BOJIOD9I
      Добрый день! Подскажите куда внести изменения на стойке fanuc 0i, чтобы когда вводишь коррекцию в графу износа она не отображалась на координатах. Пример: Резец точит размер 100 мм, по факту получается 101мм. В графе износ вносишь -1.0 мм. В итоге по координатам будет показано что резец точит 99мм, а по факту станет 100мм как нужно было.
×
×
  • Создать...