brshatcher

Обработка горизонтальным шпинделем с поворотным столом.

29 posts in this topic

Pinned posts

Доброго времени суток, 

 

был бы благодарен за помощь. 4х осевую обработку делаю впервые, поэтому не совсем понимали проблема в программировании или же в посте. Суть така:

 

1. нужно обработать грань под углом 20град. Использовал операцию Floor_Wall. 

2. добавил вектор оси инструмента 20 грар. в сумуляции все в порядке (см. вложение). 

3. к сожалению нет возможности поставить оснастку в центре оси вращения поворотного стола. Пришлось поставить скраю стола. 

4. В G57 вводим координаты нуля нашей заготоки (пробовали и фактического нуля, и так же создавал систему координат с NX в центре стола). Но при повороте на 20 град. наша заготовка сдвигается относительно нуля на хороших 150мм. А пост сгенирировал прогу так, что это смещение не было учтено и он продолжает обрабатывать в приблизительно в той областе, где была заготовка до поворота. (см. фото). Условно говоря, если бы у нас шпиндель подворачивался, то все было бы правильно. А у нас повернулся стол и при это ушел наш 0 

 

Ну вот тут вопросы: то ли я криво создал операцию, то ли пост криво отработал? 

скрин.png

0град поворот.jpg

20град поворот.jpg

Share this post


Link to post
Share on other sites


UnPinned posts

Какой станок, стойка, где УП посмотреть. Давайте больше информации.

Share this post


Link to post
Share on other sites

А где в УП какая то трансформация типа Цикла 800 или траори с трансами и ротами? или что там на данной стойке отвечает за пересчет координат при повороте. А если их нет, то какая то своя подпрограмма для расчета смещения ноля при повороте стола! Ничего этого нет!!! и проектик бы тоже прикрепили, если возможно. 

Share this post


Link to post
Share on other sites

а почему пост не может это просчитать? проект во вложении

project.prt

Share this post


Link to post
Share on other sites

Пост знает расстояние от центра вращения стола до ноля детали?  Пост знает положение детали относительно нолей станка? Думаю что ничего этого он не знает, поэтому он и не может посчитать. 

Если нет какой либо подпрограммы для расчета положения при повороте, то как вариант,  замерить расстояние по осям о центра вращения стола, до нынешнего ноля детали, сместить в проекте ноль программы на эти величины, в станке занести в ж57 центр вращения стола , тогда получите правду. Но каждый раз перечитывать уп при новой установке детали. 

Лучше все таки , если нет в стойке стандартного , сделать подпрограмму для расчета положения детали при повороте и ввести ее в свой постпроцессор. 

2 people like this

Share this post


Link to post
Share on other sites

я пробовал начало системы координат задать в точке вращения стола. Но безуспешно. 

Share this post


Link to post
Share on other sites

В чем именно безуспешно?  Не совсем понятно

Share this post


Link to post
Share on other sites

ID: 9   Posted (edited)

Можно на самом деле вести 4 координатную обработку на станке без активной трансформации RTCP (если не не имеется). Для этого сначала располагаем деталь на столе реального станка в произвольном положении. Привязываемся к нужной технологической базе. Далее, задача узнать расстояние от точки привязки на станке до центра вращения стола - на станке заходим в таблицу нолей детали  - списываем координаты привязки от машинного ноля. Теперь надо знать центр поворота стола относительно машинного ноля и исходя из этого рассчитать координаты привязки детали относительно центра стола. Далее - садимся за проект обработки NX - ставим наше MKS сначала в место привязки на станке - далее смещаем его на полученные плечи (как бы в точку вращения стола). Далее - важно! В постпроцессоре вывод координат должен в данном случае - внимание!! - От развёрнутой системы координат! Не как при классической схеме при активной RTCP - от неразвернутой! Именно как при 3+2 - трансформации не происходит, на столе система неподвижна и не поворачивается - а поворачивается деталь относительно станка - или что равноценно - весь станок с осью инструмента, в ходе траектории, поворачивается относительно детали - именно от сюда следует, что вывод координат в постпроцессором из NX, необходимо обеспечить от развёрнутой системы, это обеспечивается соответствующими переменными в постпроцессоре. Да и ещё - только в случае 4 осевой обработки, чтобы избавиться от проблемы нелинейности, точнее свести ее к минимуму, помните - расчет траектории в NX, именно в этом случае ( без активной RTCP) должен быть насколько можно короткими отрезками, иначе на больших углах поворота в траектории будите получать не прямые а дуги от центра поворота стола. Ну вот в принципе и все для обработки с изменяемым вектором оси, в случае обработки с фиксированным ветром - концепция та же самая. 

Edited by Vladislav-dobrynin
1 person likes this

Share this post


Link to post
Share on other sites
9 часов назад, kosmonaft сказал:

Пост знает расстояние от центра вращения стола до ноля детали?  Пост знает положение детали относительно нолей станка? Думаю что ничего этого он не знает, поэтому он и не может посчитать. 

Если нет какой либо подпрограммы для расчета положения при повороте, то как вариант,  замерить расстояние по осям о центра вращения стола, до нынешнего ноля детали, сместить в проекте ноль программы на эти величины, в станке занести в ж57 центр вращения стола , тогда получите правду. Но каждый раз перечитывать уп при новой установке детали. 

Лучше все таки , если нет в стойке стандартного , сделать подпрограмму для расчета положения детали при повороте и ввести ее в свой постпроцессор. 

Поддержу

Share this post


Link to post
Share on other sites
20 часов назад, brshatcher сказал:

а почему пост не может это просчитать? проект во вложении

project.prt

Деталей нет, вы видимо файл сборки только загрузили.

Share this post


Link to post
Share on other sites

Некоторые импортные станкостроители предлагают для 4х свои циклы для расчета смещений нуля детали. Потому что, например,  для Sinumerik, нет цикла 800 у 4х ОЦ. Кому не лень, пишут свой цикл.

Share this post


Link to post
Share on other sites
В 09.10.2019 в 06:02, cepr сказал:

Некоторые импортные станкостроители предлагают для 4х свои циклы для расчета смещений нуля детали. Потому что, например,  для Sinumerik, нет цикла 800 у 4х ОЦ. Кому не лень, пишут свой цикл.

что значит нет?, есть и в 4х осях пересчет, если в станок к примеру горизонтальный и поворотный стол это ось B то пересчет по умолчанию есть, а если стоит поворотка то проще от центра поворотки писать программу без всяких пересчетов, и то 800 цыкл там тоже есть , только положение стола надо забивать в системные переменные 

Share this post


Link to post
Share on other sites

Повторяю, для 4х осевых цикла 800 нет. Есть циклы пересчета от изготовителей. У нас станки 4х нескольких фирм и ни у одного нет цикла 800. Если у вас есть, выкладывайте файл 800 и пример вызова.

Share this post


Link to post
Share on other sites

ID: 15   Posted (edited)

15 часов назад, cepr сказал:

Повторяю, для 4х осевых цикла 800 нет. Есть циклы пересчета от изготовителей. У нас станки 4х нескольких фирм и ни у одного нет цикла 800. Если у вас есть, выкладывайте файл 800 и пример вызова.

Стойка какая конкретно? на Sinumerik он стандартный и есть всегда. Может быть только не настроено меню блок поворота - т.е непосредственно переменным $TC_CARR не присвоены значения, через которые CYCLE800 работает. В любом случае простое копирование цикла не к чему не приведет. Можно написать свой цикл используя данные центра стола и тригонометрический пересчет, через матрицу поворота в плоскости, или пользоваться методом о котором я писал выше.

Edited by Vladislav-dobrynin

Share this post


Link to post
Share on other sites

Да, в Sinumerik цикл стандартный. Вот только в описании цикла на каждый странице Следовать указаниям изготовителя станка! 

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

Share this post


Link to post
Share on other sites
В 14.10.2019 в 05:40, cepr сказал:

Повторяю, для 4х осевых цикла 800 нет. Есть циклы пересчета от изготовителей. У нас станки 4х нескольких фирм и ни у одного нет цикла 800. Если у вас есть, выкладывайте файл 800 и пример вызова.

Ага, и TRAORI нет. Сказки люблю. Просто производители не хотят платить Сименсу за лицензии и придумывают костыли. Чем принципиально отличается цикл для 4-х осевого станка? Большим количеством нулей?

 

Share this post


Link to post
Share on other sites

Я говорю о нашем оборудовании. Если на вашем 4х-осевом есть TRAORI и CYCLE800, проведите пример. А то тут сплошная критика и несогласие и ни одного аргумента.

Share this post


Link to post
Share on other sites
37 минут назад, cepr сказал:

Если на вашем 4х-осевом есть TRAORI и CYCLE800, проведите пример.

DMG MORI DMF-360 с осью B на шпинделе. Всё есть. На других станках, даже с поворотным столом тоже есть. TRACYL (цилиндрическая интерполяция) отдельная опция.

Share this post


Link to post
Share on other sites
13 часа назад, cepr сказал:

Это же 5-осевой станок

Расскажите мне про опции данного станка, да. А если его вот таким купили? Или вообще без оси B?

Станок имеет очень много опций и может быть заказан в разных конфигурациях.

 

DMF-360-4-axis.thumb.jpg.07dd4401e5da06d30527b26e7c9a0053.jpg

Share this post


Link to post
Share on other sites

Причем этот станок? Тема о станке с горизонтальным шпинделем и поворотным столом.

Для топикстартера предлагаю цикл расчета смещения нуля при повороте стола.

Пример использования

G54

.

ZERO_XYZ_OB(55,50,30,-20,30)

G55

 

55 -новое смещение нуля G55

50,30,-20 - координаты x,y,z точки поворота

30 - угол поворота стола

 

Цикл написан для нуля станка в точке вращения стола. Если ноль станка отличается, в SPF изменить два параметра. С этим циклом работает не один десяток УП. Правда, он для Sinumerik. Думаю, для CNC532 не сильно отличается.

ZERO_XYZ_OF_B.SPF

Share this post


Link to post
Share on other sites

Спасибо! Вы уж простите за мою некомпетентность, но кудой этот цикл пихать? Я так понимаю в пост?

Ноль станка не в центре поворота

Share this post


Link to post
Share on other sites

ID: 24   Posted (edited)

В пост не пробовал, используем при ручном программировании. Обычный вызов подпрограммы, я привел пример. Только надо подтвердить положение стола G55 B0.

Правда, у нас нет ваших ЧПУ. Не проверить.

 

Edited by cepr

Share this post


Link to post
Share on other sites
4 часа назад, cepr сказал:

Цикл написан для нуля станка в точке вращения стола. Если ноль станка отличается, в SPF изменить два параметра. С этим циклом работает не один десяток УП. Правда, он для Sinumerik. Думаю, для CNC532 не сильно отличается.

ZERO_XYZ_OF_B.SPF

Только фрейм $P_UIFR использовать для итогового смещения, здесь не правильно и не грамотно. Можете затереть какую либо из существующих привязок. Есть фрейм $P_PARTFRAME - от предназначен для этой задачи, и именно его использует стандартный CYCLE800.

И брать начальное положение правильнее, опять же не из фрейма $P_UIFR, а из актуального фрейма $P_ACTFRAME который учитывает абсолютно все активные преобразования.

 

Для топикстартера - забыли сказать что ему надо определить координаты центра стола в машинной системе, на его станке, а именно вот эти переменные

N190 MCB_X=0
N200 MCB_Z=0

4 часа назад, brshatcher сказал:

Спасибо! Вы уж простите за мою некомпетентность, но кудой этот цикл пихать? Я так понимаю в пост?

На станок, в папку циклы пользователя, не забудь перезагрузить стойку после этого

Share this post


Link to post
Share on other sites
5 часов назад, Vladislav-dobrynin сказал:

На станок, в папку циклы пользователя, не забудь перезагрузить стойку после этого

Мне кажется проще пост допилить под ROT, чем под этот SPF. Хотя... Блаженны мученики...

Share this post


Link to post
Share on other sites

ID: 27   Posted (edited)

2 часа назад, grOOmi сказал:

Мне кажется проще пост допилить под ROT, чем под этот SPF. Хотя... Блаженны мученики...

Не понял! Это как? На станке нет ни траори, ничего то подобного, как туда рот допиливать? 

8 часов назад, Vladislav-dobrynin сказал:

Только фрейм $P_UIFR использовать для итогового смещения, здесь не правильно и не грамотно. Можете затереть какую либо из существующих привязок. Есть фрейм $P_PARTFRAME - от предназначен для этой задачи, и именно его использует стандартный CYCLE800.

И брать начальное положение правильнее, опять же не из фрейма $P_UIFR, а из актуального фрейма $P_ACTFRAME который учитывает абсолютно все активные преобразования.

 

Не подскажете как? Это вопрос, без шуток. Если ком. тайна - я пойму и продолжу разбираться! 

Edited by kosmonaft

Share this post


Link to post
Share on other sites
1 час назад, kosmonaft сказал:

На станке нет ни траори, ничего то подобного, как туда рот допиливать?

Команда ROT поворачивает систему координат относительно текущей на определённый угол.

ROT X90 

Повернёт на 90 относительно X. При чём тут TRAORI вообще?

Также как и команда TRANS X50 Y50 Z50 просто сместит вашу систему координат.

Рекомендую почитать документ отсюда. 1 раздел. Там всё про системы координат подробно расписано, а также где и какие настройки лежат.

 

1 час назад, kosmonaft сказал:

Не понял! Это как? На станке нет ни траори, ничего то подобного, как туда рот допиливать? 

Всё, затупил. Что-то диалоги совсем перепутал. Думал тут Семён стоит. Пора отдыхать. Извиняюсь.

Share this post


Link to post
Share on other sites
В 22.10.2019 в 07:07, cepr сказал:

Причем этот станок? Тема о станке с горизонтальным шпинделем и поворотным столом.

DMG DMC 70H Цикл 800 был, программ не осталось, да и  давно там работал. Да и заказывали пост чтобы был не через rot arot и прочее а именно через 800 цикл. И команда траори тоже там была. И всё работало.

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.