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

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 пользователей

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




  • Сообщения

    • 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 на смену. Производитель мог нагородить чего угодно. Параметры надо смотреть
    • Den4ik85
      P.S этой ошибки не было при запуске,она возникла при выполнении команды смены инструмента "T=.." d1m6. (так учили на курсах) возможно,не тот номер ввел или не соответствовало название инструмента его номеру?
    • boomeeeer
      @Den4ik85 Подключаться к контроллеру и искать цепочку формирования сигнала ошибки DB2.DBX183.0. Возможно один из индуктивных датчиков на подсчёт ячеек магазина вышел из строя
×
×
  • Создать...