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

HELP Проблема с углами при 4ех осевом фрезеровании


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

Какая ситуация значит. 3ех осевой вертикальный фрезерный станок на котором установлен поворотный стол (4ая ось А). И не было бы проблемы если бы он не стоял как задняя бабка на токарном станке. То есть сейчас патрон на ней установлен в направлении -Х.

Проектируем 4 осевую обработку в фьючере. То есть идет фрезерование по 3 осям + поворотный стол вращает заготовку вокруг оси Х. Все классно. Постпроцессируем. Получаем код в котором вращение происходит в противоположенную сторону чем надо. Например:

X0.33 A-1.937F83.1

X6.92 F200.0

A-20.722F118.7

X0.33 A-24.556F83.1

Вращает против часовой. Хотя надо по часовой и в проекте все нормально вращает.

Возможно проблема с "осью заготовки" установы то крутим, а эту раз задашь и не развернешь.

Прошу помощи. Может в посте изменить что можно...

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


Какая ситуация значит. 3ех осевой вертикальный фрезерный станок на котором установлен поворотный стол (4ая ось А). И не было бы проблемы если бы он не стоял как задняя бабка на токарном станке. То есть сейчас патрон на ней установлен в направлении -Х.

Проектируем 4 осевую обработку в фьючере. То есть идет фрезерование по 3 осям + поворотный стол вращает заготовку вокруг оси Х. Все классно. Постпроцессируем. Получаем код в котором вращение происходит в противоположенную сторону чем надо. Например:

X0.33 A-1.937F83.1

X6.92 F200.0

A-20.722F118.7

X0.33 A-24.556F83.1

Вращает против часовой. Хотя надо по часовой и в проекте все нормально вращает.

Возможно проблема с "осью заготовки" установы то крутим, а эту раз задашь и не развернешь.

Прошу помощи. Может в посте изменить что можно...

Конечно в посте нужно поменять

<noindex>http://cnc-space.com.ua</noindex>

<noindex>http://surface.prom.ua</noindex>

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

Может в посте изменить что можно...

Какой контроллер станка и как заданы повороты в постпроцессоре?
Ссылка на сообщение
Поделиться на других сайтах

Какой контроллер станка и как заданы повороты в постпроцессоре?

Fanuc 0. Делался самими на основе стандартного из FC Fanuc 4-axis. Были сделаны незначительные изменения. В начале программы и перемещениях повороты задаются как:

<BOL> A[<ROT1-WIND>%360]

Подскажите, если не догоняю, где еще они могут задаваться.

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

Fanuc 0. Делался самими на основе стандартного из FC Fanuc 4-axis. Были сделаны незначительные изменения. В начале программы и перемещениях повороты задаются как:

<BOL> A[<ROT1-WIND>%360]

Подскажите, если не догоняю, где еще они могут задаваться.

У меня на HARDING-ах с FANUC-ами с поворотным столом справа (положительное вращение по ч. с., если смотреть на планшайбу) поворот задаётся <ROT1-MATH> c коэффициэнтом -1. Хотя, можно использовать <ROT1-MATH-R>.

В случае использования <ROT1-WIND>, можно так-же задать ему коэффициэнт (FACTOR) -1 в форматах слов.

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

У меня на HARDING-ах с FANUC-ами с поворотным столом справа (положительное вращение по ч. с., если смотреть на планшайбу) поворот задаётся <ROT1-MATH> c коэффициэнтом -1. Хотя, можно использовать <ROT1-MATH-R>.

В случае использования <ROT1-WIND>, можно так-же задать ему коэффициэнт (FACTOR) -1 в форматах слов.

УСПЕХ! :clap_1: Спасибо за подсказку с коэффициентом (FACTOR). Не знал. Ларчик просто открывался. Попробывал и <ROT1-MATH-R>, но через раз он в строке вместо отрицательного значения пишет 354.64 например. Может и с этим подскажите как быть. Но это для общего развития.

Сейчас с <ROT1-WIND> все заработало. Нашлепал программ. Будем пробывать. Думаю все хорошо будет. Спасибо! :smile:

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

Назрел еще вопрос. Как можно заставить пост выдавать кадры исключительно с угловыми перемещениями в приращениях???И реально ли это???

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

Назрел еще вопрос. Как можно заставить пост выдавать кадры исключительно с угловыми перемещениями в приращениях???И реально ли это???

G91A<@ROT1-WIND>

А зачем это нужно?

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

G91A<@ROT1-WIND>

А зачем это нужно?

Станок один интересно очень работает. Настроен скорее всего так. Потом разберемся. Спасибо. Попробую.
Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...

Дело еще в том, что поворотный стол настроен на перемещение в относительных координатах. То есть если надо повернуть c 0 на 20 градусов а потом на  24  будет:

A0.

A20.

A4.

 

 

Станок естественно работает в абсолютных. Если просто поставить G91 проблема не решится ( тем более упоминания о G91 быть не должно, т.к в одном кадре может быть и абсолютное перемещение по xyz и "относительное" по А). Поэтому надо просто чтобы он считал ось А в относительных. Как быть?

Изменено пользователем mikhail171
Ссылка на сообщение
Поделиться на других сайтах

Почитайте документацию по программированию станка.

Там должна быть описана ситуация когда в одном кадре выводиться и абсолютные координаты и относительный.

К букве может добавляться префикс например IA (по подобию HEIDENHAIN)

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

Ссылка на сообщение
Поделиться на других сайтах
А это разве не в относительных пишет?

Все правильно. A<@ROT1-WIND> это relative style как раз. Программа похожая получается)Спасибо!!!

Изменено пользователем mikhail171
Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

А как заставить постпроцессор рассчитывать перемещения в приращениях (XYZ)?. С поворотными осями разобрались.

 

И еще вопрос, непонятно как FC рассчитывает подачи. У меня задано 300мм/мин. В получившемся коде на движениях с поворотом везде стоит F53. Этож мало. Как на это повлиять или избавиться вовсе???? устроит просто F300. в начале.

 

G1 Z48.054 F300.0
X1037.372 A-206.7726F53.4
X924.202 Z55.968 A-227.1429F53.1
X923.767 Z55.992 A-227.2211
X922.877 Z56.0 A-227.3813F53.2
X323.415 A-335.285
Изменено пользователем mikhail171
Ссылка на сообщение
Поделиться на других сайтах

 

А как заставить постпроцессор рассчитывать перемещения в приращениях (XYZ)?. С поворотными осями разобрались.

 

И еще вопрос, непонятно как FC рассчитывает подачи. У меня задано 300мм/мин. В получившемся коде на движениях с поворотом везде стоит F53. Этож мало. Как на это повлиять или избавиться вовсе???? устроит просто F300. в начале.

 

G1 Z48.054 F300.0
X1037.372 A-206.7726F53.4
X924.202 Z55.968 A-227.1429F53.1
X923.767 Z55.992 A-227.2211
X922.877 Z56.0 A-227.3813F53.2
X323.415 A-335.285

 

Когда идет перемещение по всем осям , включая поворот , то FeatureCam пересчитывает угловую подачу .Так у Вас должно быть задано в постпроцессоре. Поэтому подача разная

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

Не найду решение такой проблеме:

Станок не хочет отрабатывать кадр  

 

X782.879 A285.8917

X-6.14 A2464.9521
 
Соответственно ему необходимо сделать порядка 6 вращений по оси А. Делает поворот порядка 20 градусов (возможно 24,64, не проверял). Можно ли настроить пост чтобы разбивал этот кадр с А не более 360градусов???
Изменено пользователем mikhail171
Ссылка на сообщение
Поделиться на других сайтах

 

А как заставить постпроцессор рассчитывать перемещения в приращениях (XYZ)?. С поворотными осями разобрались.

 

И еще вопрос, непонятно как FC рассчитывает подачи. У меня задано 300мм/мин. В получившемся коде на движениях с поворотом везде стоит F53. Этож мало. Как на это повлиять или избавиться вовсе???? устроит просто F300. в начале.

 

Для вывода координат в приращениях в постпроцессоре используется символ @ (например, X<@X-COORD>).

Для задания подачи при непрерывной 4-осевой и 5-осевой обработке рекомендуется использовать инверсионную подачу F<ANG-INVTIME> (G93). Если она не поддерживается станком, то -  F<ANG-CFEED>.

Ссылка на сообщение
Поделиться на других сайтах
Можно ли настроить пост чтобы разбивал этот кадр с А не более 360градусов???
 

Надо разбивать на углы меньше 180° иначе может начать крутиться не в ту сторону.

Моя реализация ниже:

##### BEGIN LINEAR MOVE FORMAT #####
<IF><WRAP><THEN>
<IF>[lt(fabs(<@ROT1-WIND>),179)]<THEN>[# if move length is less than 180 output move ]
{N<SEQ>}{<MOTION>}{X<X-COORD>}{Y<Y-COORD>}{Z<Z-COORD>}
<IFNOT>[apxeq(<@ROT1-WIND>,0,.01)]<THEN>
<INCLUDE:IndexAngle>{F[prev_feed=<ANG-FPM>]}
<ELSE>
<IFNOT>[apxeq(<FEED>,prev_feed)]<THEN>
{F[prev_feed=<FEED>]}
<ENDIF>
<ENDIF>
<EOB>
<ELSE>
[# if move length greater than 180, break it into pieces ]
[:rev=ceil(fabs(<@ROT1-WIND>)/179.0)][# number of moves required with each move less than 90 ]
[:ang_pos_inc=(<@ROT1-WIND>)/rev][# each move increment ]
 
[# get initial angle and swap direction]
[:angle=<$ROT1-WIND>]
 
[:x_pos=<$X-COORD>]
[:each_rev_x=<@X-COORD>/rev]
<INCLUDE:WrapPosDir>
<ENDIF>
 
<ELSE>
{N<SEQ>}{<MOTION>}{<COMP-STAT>}
<IF><COMP-START><THEN>
D<COMP-NUM>
<ENDIF>
{X<X-COORD>}{Y<Y-COORD>}{Z<Z-COORD>}{F<FEED>}<EOB>
<ENDIF>
##### END LINEAR MOVE FORMAT #####
 
##### BEGIN WrapPosDir CUSTOM FORMAT #####
[:angle=angle+ang_pos_inc]
[:rev=rev-1]
{N<SEQ>}X[x_pos=x_pos+each_rev_x]A[angle%360]<INCLUDE:ModalFeed><EOB>
<IF>[gt(rev,0)]<THEN>
<INCLUDE:PosWrapAngle>
<ENDIF>
<IF>[gt(rev,0)]<THEN>
<INCLUDE:PosWrapAngle>
<ENDIF>
<IF>[gt(rev,0)]<THEN>
<INCLUDE:PosWrapAngle>
<ENDIF>
<IF>[gt(rev,0)]<THEN>
<INCLUDE:PosWrapAngle>
<ENDIF>
<IF>[gt(rev,0)]<THEN>
<INCLUDE:PosWrapAngle>
<ENDIF>
<IF>[gt(rev,0)]<THEN>
<INCLUDE:PosWrapAngle>
<ENDIF>
<IF>[gt(rev,0)]<THEN>
<INCLUDE:PosWrapAngle>
<ENDIF>
<IF>[gt(rev,0)]<THEN>
<INCLUDE:PosWrapAngle>
<ENDIF>
<IF>[gt(rev,0)]<THEN>
<INCLUDE:PosWrapAngle>
<ENDIF>
##### END WrapPosDir CUSTOM FORMAT #####
 
 
##### BEGIN PosWrapAngle CUSTOM FORMAT #####
[:angle=angle+ang_pos_inc]
{N<SEQ>}X[x_pos=x_pos+each_rev_x]A[angle%360]<INCLUDE:ModalFeed><EOB>
[:rev=rev-1]
##### END PosWrapAngle CUSTOM FORMAT #####
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • boomeeeer
      @anykeyto Я не оператор. Настраивал работу этой функции на токарно-фрезерном, где нужно было позиционировать шпиндель, для нарезания пазов. Что такое G07 не знаю. Вот такой пример для фрезерного станка нашёл   G108 B0; переключение на ось B для управления положением; G68.2 X10 Y10 Z20 I0 J90 K0 Положение заготовки (10,10,20) Угол Эйлера для определения характеристической системы координат; G53.2 Управление направлением инструмента   G109 B0 - отключит режим
    • anykeyto
      Ага, спасибо... А в связке с G07.1 это как работает? Есть детали ,кольца, на которых надо делать по 4 паза. Сейчас программист написал прогу под шаровую фрезу. Там рабочие движеня происходят через одновременное смещение по оси Х и Z... фреза убивается буквально на третьем кольце, да и обработка получаестя фиговой.. На сколько я понимаю надо стремиться к тому, чтобы на 5ти осном станке фреза всегда была перпендикулярна касательной ли самой поверхности. Мне посоветовал как раз цилндрческую интерполяцию, когда ось С преобразуется в плоскость. В мануале к HNC описано эт криво, но в примерах программ как раз сначала включается CTOS и потом G07.1. но дальше как запрограммировать понимания пока нет...  P.S. хочу добавить, что на 5-снике раньше работал только как оператор по готовым программам  на Хенденхайне. А сейчас на новом предприятии на новой для меня стойке нужно все делать с нуля и самостоятельно. С одной стороны интересно, с другой стороны спросить не у кого, в инете инфы по стойке нет от слова совсем, уж тем более видео....  чем это отличается от просто G0 C180? Или это уже будет шпиндель позиционироваться, а не стол?
    • AlexKaz
      Различают жёсткие и гибкие ротора. В данном случае вал жёсткий. Для него соответствуюшая формула. 4000 об/мин = 66.67 Гц, это ни о чём, эффекты для такой частоты почти не скажутся на жёстком роторе. Но проблема в том, что в лопаточных машинах (а насос на скрине наверное лопаточная?) собственные кратны числу лопаток. Я не разбирался в вопросе чтобы что-то здесь советовать. Лучше не спешить и внимательно почитать про модальный в лопаточных. Заодно проверить, а какое нагружение идёт в деталях насоса чтобы корректно выполнить престресс.
    • ДОБРЯК
      Хотите еще и матрицу масс изменить. :=) И сколько килограмм воды будете присоединять?  Опыт правильного моделирования, опыт расчета таких конструкций накапливается десятилетиями. Маловероятно, что кто-то на форуме будет вам объяснять как правильно моделировать, какие КЭ использовать, какие граничные условия задавать и т. д. Вы же всегда уклоняетесь от разговора на эти темы, даже для простых моделей.  Даже если перейдете на Ансис и не разберётесь в том, что он считает это не поможет вам написать грамотный отчет и объяснить грамотному заказчику, что вы там насчитали. Считает расчетчик, а программа это инструмент. Это только в рекламе пишут, что купите программу трехмерного моделирования, сделайте трехмерную модель, потом нажмите одну кнопку и на обычном игровом компьютере все посчитаете. Только в жизни все немножко иначе...:=)
    • Jesse
      Вот что у Биргера: Центробежные силы и индуцированный гироскопический момент зависят от квадрата частоты вращения вала   Хотя уже сама критическая частота зависит только от момента инерции колеса (альфа, бэта, гамма - это прогибы, углы поворота и прочая шелуха), т.е. частота вращения в формулу не входит, а всё определяется только моментом инерции Jm Ну у него рассматривается простая одномассовая система (фактически грузик на пружинке). Думаю поискать публикации.. мб где то раскопали аналитическую зависимость первой и высшей СЧ от частоты вращения для сложных систем. Хотя если выяснится что зависит,  всё равно обоснование придумывать придётся.  Эхх...
    • Fedor
      https://www.litres.ru/book/v-n-faddeeva/vychislitelnye-metody-lineynoy-algebry-65999878/  Ну и классику жанра :) 
    • Jesse
      4000 об/мин при наружном диаметре колеса 380 мм. Думаете, на больших оборотах вилка всё равно может разойтись и могут появиться гироскопические эффекты? Даже несмотря на вышеприведенные массово-инерционные оценки и расположение опор?   да я влияние престресс (вращение) особо не увидел... Думал обычным модальником прогнать, Ланцошом (он пошустрее).   Ещё мои раздумья направлены в сторону присоединённой массы воды, что по идее должно занижать частоты. Хотя для такого массивного вала как у меня даже на это дело можно забить, наверно...
    • Handrusik
      Maxx2000 - благодарю Павлуха - это не фриланс Утомлённый солнцем - приятно, что меня помнят
    • Борман
      Я так понимаю, что обороты не особо большие. ДК - это чисто высокооборотистая тема.   Просто мысли вслух... Если вилка будет сильно расходится, то всегда будет точка пересечения любого луча с кривой BW. Причем точка будет на меньших оборотах по сравнению с обычным престресс-модальником. Какие дальше действия ? С чем тут нужно дополнительно бороться по сравнению с тем, с чем нужно было бы бороться по результатам обычного престресс-модальника Если вилка не сильно расходится (от кривой обычного престресс-мобальника), то смысла стоить строгую ДК большого нет.    
    • boomeeeer
      На сименсе параметрами настраивается многое, что связано с менеджером иснструмента. Вызов возможен как по номерам, так и по именам инструментов. Через равно вроде как по имени вызывается (Т="имя"), а по номеру можно было, например, Т1 M6, а первый корректор подтянулся бы автоматически. И не всегда М6 на смену. Производитель мог нагородить чего угодно. Параметры надо смотреть
×
×
  • Создать...