Danilammm

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

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

Share this post


Link to post
Share on other sites


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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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к

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

Share this post


Link to post
Share on other sites

Например в кадре "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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

Я не решал ни какой задачи. Я ответил на вопрос и показал, как станок расчитывает подачи для каждой оси, если в кадре дана подача 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 коды), в этом случае станок должен вести расчет по более сложной формуле

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

Вращение вокруг 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

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

Share this post


Link to post
Share on other sites

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

Проверил на пятиосевке - у меня оси А и С, наклонно-поворотный стол. Так выяснилось, что для осей 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. В общем, хитро получается.

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

@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 пропорционально уменьшится. Поправьте если не прав) заранее спасибо

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • AlexKaz
      @NX_mill , подозреваю, Вы не в том разделе задали вопрос. Вам к технологам, а каешники тут не помогут. Вообще, самый простой способ - провести ряд экспериментов и набрать статистику. По теме в интернетах море статей https://www.google.com/search?q=релаксация+остаточных+напряжений
    • Udav817
      В дереве сборки могли бы раздел "Компоненты" развернуть. Кто вас знает, может вы там не заполнили поля? А может и отсутствие машиностроительной конфигурации сказывается (я так понял у вас только строительная стоит). Хотя на заполнение полей спецификации это влиять не должно. Только на набор шаблонов самих спецификаций.
    • areg
      Здравствуйте! Вот детали и спецификация. На чертежах указаны только габариты и особенности резьбовых отверстий. Шероховатость поверхности брать с парасолида - неуказанные поверхности - Rа 6,3. Поверхности выделенные красным - Rа 0,4 (если очень сложно будет то 0,8). Точности по Н8-9. Безчертежные детали из AISI 304, остальные из В95Т1. FMH0.002000.0002 Спецификация.xlsx Детали для обработки.7z
    • GS
    • Фарина
      При создании "добавить объект спецификации" или "создать спецификацию" или создать по сборке выдает вот что:  Может это из за того что у меня установлена строительная конфигурация, так как работаю с инженерными системами? Что то подобное находил в обсуждении на https://forum.ascon.ru/index.php/board,20.0.html 
    • Eraser174
      Карачун получается вот такая хрень, в длину не могу её сделать)) XRENB.X_T
    • shilka
      @cegou Ему нужны какие-либо элементы в детали, чтобы он выделился (отверстия, например). Одно из решений: сделать на одной из точек эскиза вспомогательную поверхность произвольной формы (важна не она, а наличие элемента), размножить её "массивом по эскизу" и затем построить на её основе ассоциативный массив.
    • Борман
      А.. ну да. Интересная задача.    
    • hr4d
      Про потерю устойчивости только в области больших перемещений.  Придумать конструкцию.  Обязательно на уровне формул и матриц желательно с ссылкой на хелп ящика. 
    • Борман
      Не знаю, что за "моя задача", но в задачах устойчивости все что за точкой бифуркации - обычно в больших перемещениях. PS. Ну вот, заставил меня фантазировать. Сейчас набежит, нагадит, накрутит ус на палец и свалит.