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

Подача при использовании 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 пользователей

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




  • Сообщения

    • gudstartup
      как перевести шпиндель снова первоначальный режим управления скоростью когда ему пофиг число импульсов на оборот? резьбу пока резать не будут а в подпрограмму смены можно что нить добавить или в реализацию m19  чтобы чпу из режима контроля позиционного кодера вышло?
    • gudstartup
    • mactepnew
      Вот я тоже так думал, пока не столкнулся с обратным) Как еще столкнусь, пришлю скриншот. Хаос еще в том, что порядок в дереве построения весьма условный. операция, которая стоит перед групой, имеет бОльший timestamp(пардон, не знаю как это в переводе), чем эта группа, и выполняется позже. При этом все операции в группе имеют timestamp на пару сотен меньше и выполняются раньше, чем две группы, стоящие перед ней. Логика?  Если в эскизе все элементы определены, то можно поставить еще один размер (хочешь переопределить эскиз - да пожалста!), изменить его - и NX самостоятельно выберет, какой размер или ограничение отпустить и весь эскиз летит к чертям. Это ли не хаос?   Назовете хоть один CAD, которым можно пользоваться так? Любой из встреченных мной имеет много неочевидных нюансов, которые конечно не проявляются при выполнении университетского или базового курса. В Creo я на протяжении 5 лет находил всё новые фишки, которые не прописаны в документации. Огромная благодарность Ruslan за пояснения тонкостей. Даже Компас и Solidworks, которые считаются самыми дружественными, оказалось непросто обуздать, когда проходил собеседования и делал тестовые. А ведь университетский курс знал на отлично!   Возвращаясь к NX - вот сегодняшний пример. Утром деталь была оранжевая, единая. Изменил пару уклонов и толщин, стала желтая с элементами оранжевого и частично твердотельной, частично листовой. Я даже не знаю, как сформулировать вопрос в поддержку. 
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
    • kkk
      Короче, как сделать автоматом не нашел. Раскрасил нужные грани нужными цветами. Затем на вкладке с цветом модели можно выбирать нужный цвет, тогда в модели выбираются грани, покрашенные этим цветом. Можно еще сохранить выбор этих граней, но смысла не вижу, т.к. все легко выбирается по цвету. Затем либо в инструменте Измерить смотрим площадь и как-то ее используем, либо можно макросом (что выкладывал Kir95 ) внести площадь в свойства (на вкладку Конфигурации). Можно еще внести выбранные грани в датчики, но как использовать их в свойствах не нашел.    Макрос прикрепляю.     Площадь выбранных граней в свойства.swp
    • IgnatvKudrin
      Для нашего производства требуются постоянно инструментальные пружины для штампов. Сейчас заказы обрабатываются довольно долго - до 2-х месяцев. А у нас сроки на штампы 1-2 месяца с испытанием, доработкой и т.п. Хотелось бы найти поставщика, у которого уже есть склад с данными пружинами или кто может доставить за 1 месяц.   Пружины стандартные по ISO, но на всякий случай приложил каталог. Вот список пружин, которые нужны очень срочно:   LR 32 x 44 - 1 шт. LR 25 x 51 - 2 шт. LB 63 x 89 - 7 шт. LB 32 x 102 - 10 шт. LB 32 x 89 - 20 шт. LB 32 x 76 - 12 шт. LB 32 x 51 - 6 шт. LB 25 x 127 - 9 шт.   Готов выслушать все предложения. Возможно даже есть те, кто сможет изготовить подобные пружины с такими же параметрами. 20231101.pdf
    • bubblyk
      Знатоки форума, подскажите, как смоделировать простую (на первый взгляд) задачу термомеханики в упругой постановке.   Есть брусок правильный формы ака кирпич, в котором генерируется НЕРАВНОМЕРНОЕ удельное тепловыделение (HGEN). Задняя и передняя поверхности конвективно охлаждаются с известными (но различными) коэффициентами теплоотдачи и температурами жидкости/газа. Свойства кирпича (теплофизика + механика) принимаются зависящими от температуры. Постановка - стационарная Собственно вопрос : как грамотно смоделировать температурное поле в кирпиче с учетом температурного расширения?   Исходный код приложил.     Надеюсь на коллективный разум и опыт! EPTH2D.mac p.s.   Если есть опыт решения этой задачи в Ansys WB, тоже можно сюда приложить командные вставки.
    • OutXL
      Это было давно использовал NC-Link  и данную инструкцию. The Maho.docx
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
    • alexqwq10
      В данных корпусах ничего лишнего быть не должно. Максимум шпильки заземления, в количестве предусмотренном для конкретного корпуса. Рассматривал очень много подобных корпусов разных производителей и данная проблема актуальна для подавляющего большинства.
×
×
  • Создать...