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

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

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




  • Сообщения

    • Пронин
      Добрый день. Понадобились такие ГЦ в прессформу или подобные, не подскажите какие и где можно купить. И как они в работе. 
    • vladimir.songin
      Здравствуйте. Есть пресс с контролёром DELEM 65. Имеются оси: Y1, Y2, X, X1, R, Z1, Z2. Некоторые оси отключены, некоторые работают хорошо, некоторые плохо. Например ось z2 сама по себе двигается постепенно в бок. Это начало раздражать и попытались эту ось отключить. Процедура понятная, некоторые оси уже были отключены раньше. Но после отключения появилась ошибка: MSA missing for module 2012391. Ошибка появлялась всегда после перезагрузки и оси даже не начинали инициализироваться. Проблема по CAN шине. Своими силами разбираться желания особо у меня небыло. Нашёл ребят в польше, которым выслал весь компьютер с расширениями и они как бы его починили, но... не совсем. После ремонта, контролёр видит все блоки, через 50 меню видим все входы, управляем всеми выходами, в том числе аналоговые. После включения соответствующих выходов, все оси (у которых рабочие сервомоторы) управляются и слушаются. Но при старте не инициализируются и станок не запускается. Никаких ошибок нет. Кода заходим в 50 меню, а затем в какой либо блок расширения, в верхней строке видим счётчик энкодера. Во время управления конкретной осью, либо просто если ось подвинуть вручную или повращать энкодер, показания счётчика меняются. Кроме оси Х. А с осью Х происходят чудеса. При входе в блок DM02, который управляет осями Y1, Y2, X, и компенсатором нижней балки, в верхней строке должен высвечиваться счётчик энкодера, а справа сверху параметр аналогового входа. Аналоговый вход, в нашем случае, э то обратная связь положения компенсатора. При активации соответствующих выходов, включается мотор компенсатора и в одну либо другую сторону и  меняется значение обратной связи аналогого входа. А теперь самое интересное - в поле счётчика энкодера высвечивается то же самое значение, что и в окне аналогого входа.  Я не знаю это ли является причиной, лишь предполагаю, но ось Х не инициализируется и станок не запускается. Если отключаю ось X, X1, Z1, Z2, а оставляю только Y1 Y2 и R, то станок запускается и работает. Как только добавляю X, инициализация не проходит и станок не работает.  Прилагаю видео:  https://1drv.ms/v/s!Agwfggcm6YCVweRffGg_8KeuB2SeJA?e=lleTFw Если вдруг не качается напишите, размещу как-то по другому.  Прицепляю ещё BackUp, который был сделан сразу после ремонта компа, но станок ещё не был запущен.  TOOLS Внимание вопрос: Что за фигня и что можно с этим сделать. Очень буду благодарен за любые подсказки и направления движения.     
    • ID_Hacker
      Для помощи, нужен текст программы. Возможно циклы в Sinutain и станке различаются. Используйте версию Sinutrain такую же, как версия системного ПО в ЧПУ станка
    • ID_Hacker
      Если будут проблемы по энкодеру, SMC модуль перейдёт в аварийное состояние, у вас будет ошибка активного или пассивного датчика, в зависимости от активности измерительной системы. Если откажет связь с SMC модулем, он так же упадёт в аварию, но при этом будут ошибки устройств приводной системы. Провод датчика температуры даст ошибку по температуре. Короче не туда копаете.   Вы описание параметра читали? Из какой справки взяли рекомендацию? В руководстве по диагностике всё предельно чётко   У вас пропадает разрешение привода. Так как SL скорее всего, придётся лезть в STEP 7 и смотреть как собирается DB3x.DBX2.1. Какой порядковый номер у оси S1/C11?
    • dommast
      Тогда пусть это будет не благодарность, а простое человеческое спасибо. Спасибо за уделенное время для решения моего вопроса.  
    • BASH_HD
      По CNCNUMID   1112 = 4      значит более 4 осей без вмешательства не получить выходит.   по опциям не совсем ясно - в списке каталога функций нашлась только одна совпадающая строка:   A02B-0307-J948                       31i-A     Part Program Memory, 2 MB  другие опции есть, судя по всему они касаются Manual guide и языков.  но номера не совпадают с PDF от 12 года.    могу предположить что сама стойка сразу шла с активированными 4 осями и это как то заложено в ее номере, поэтому доп опций нет по активации осей. файл maintinf что я выше прикрепил содержит все названия модулей и опций.   остается главный вопрос - как теперь купить/доустановить опцию.  
    • gudstartup
      у вас есть коды активации и точное название опций??
    • ID_Hacker
      Эти программы меняют серийный номер раздела. К серийному номеру карты он не относится.
    • Maik812
    • dps
      Да. На моем случает 5шт кажется опций. И я сейчас уже не вспомню порядок восстановления. Если кто-то возьмется его все же полно и достоверно изложить- было бы очень замечательно. Или может инструкция есть от того же ХААс-а?
×
×
  • Создать...