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

4X постпроцессор для Powermill c постоянной скоростью по поверхности...


Алексей_000

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

Всем добрый день.

Из найденных мной постпроцессоров для вывода четвертой координаты в G-код в основном просто выводятся угловые координаты, а скорость подачи ни как не регулируется при повороте....Естественно миллиметры в минуту это не тоже самое что градусы в минуту...следовательно перемещение по поверхности сильно зависит от "диаметра" обрабатываемой детали (хотя более правильно  - от расстояния кончика инструмента до центра поворота)... Как я понял, для вывода правильной скорости в таком случае используется команда G93 InverseTime  или RTCP  но обработчик этих команд (в промышленных станках) находится уже на стороне станка...

А что делать если станок не поддерживает такие режимы ? Надо как-то заставить постпроцессор рассчитывать компенсацию скорости подачи при многоосевом перемещении.

Кинематика станка, понятное дело, вносит свои коррективы в алгоритм такого расчета, по этому примем самую распространенную - поворотная ось A вдоль координаты Х. (Исходный ноль - ось координаты А)

Для примера.

Обрабатываем цилиндр диаметром 50мм скорость 157мм.мин. Но так как станок угловые перемещения воспринимает как градусы в минуту ( т.е. 157гр/мин ), скорость на поверхности естественно гораздо ниже.

Так как длинна поверхности цилиндра диаметром 50мм. это 157мм, то скорость поворота должна быть 360 гр/мин.

Вот надо как-то все это художество пересчитывать в постпроцессоре.

Кто-то уже решил данную задачу ?

На форуме решения данной проблемы я не нашел, если что ткните носом.....

Да, кстати, в Mach3 есть поддержка G93 InverseTime ?

В описании G-кодов есть описание этой команды, а где ее активировать(и поддерживается ли она вообще) я так и не нашел.....

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


1 час назад, Алексей_000 сказал:

Надо как-то заставить постпроцессор рассчитывать компенсацию скорости подачи при многоосевом перемещении.

это можно настроить в постпроцессоре -

IT.png.3e66a370ea801681568f00f996d5e679.png

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

Это ни чего не дает, подача резания(в моем примере это 157мм/мин) выдается в самом начале кода и не меняется !!! Можно еще выставить в закладке МНОГООСЕВЫЕ параметр "Использовать постоянную по поверхности", но тут как раз (если я правильно разобрался) начинает выдаваться скорость в режиме InverseTime. 

В  режиме InverseTime выдается время за которое надо отработать перемещение........  F = 1 / T... 

В двух словах, в моем примере, перемещение при подаче в 157мм/мин  на полный оборот надо будет произвести за 1 минуту. Т.е. в код будет выведена подача F1. (соответственно в начале поворота надо выдать команду G93, а после поворота G94)

Но станок-то их не понимает !!!

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

Вычисления подачи в скрипте. Если непонятно куда, что подключать и что за формулы, пиши в личку.

5974221ec4591_1.thumb.jpg.3cc3fdddd1a9fdced7709aa4651f82f6.jpg59742228f2159_.thumb.jpg.569432e3d65c19f58845bfd4bf095868.jpg

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

Спасибо за отзыв ! Я уж думал эта тема ни кому не интересна...И странно, что ни кто не предложил свои услуги по написанию постпроцессора на заказ.......

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

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

На "цилиндрических" деталях работает нормально, сидел с секундомером измерял время... При 16 минутах обработки кода - совпадение с расчетным временем из статистики NC файла секунда в секунду .

Думаю ножки для табуреток уже можно делать, с разной степенью диаметральных размеров и замороченостью рельефа...мне правда не надо........

Но это только при ротационной обработке... Если обрабатывать, например, "палец кривошипа" (стратегия  "Проекция поверхности" ), где активно включается в работу ось Y , то скорость падает (но все равно раза в два быстрее чем просто одна подача на все)...Я, в принципе, понимаю почему, но не знаю пока как все это дело компенсировать......

Буду пробовать Ваш код !!! 

Хотя ,вроде,  все тоже самое, только написано немного иначе......

Скрипт.png

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

Проверил Ваш скрипт, все отлично работает !!!

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

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

Добрый день коллеги! 

У меня есть такой вопрос? 

Есть станок  DMG V 1035 (ульяновского производства) стойка 840D

Так вот, завод предлагает свою 4-ю ось производства Lidmon 

Подготовка 4-й оси есть 

А я хочу прикрутить другую ось итальянского производства  

вроде всё под сименс подходит, судя по документам.

Но есть сомнения!!! 

Кто не будь  решал такую задачу??

Может что посоветуете!!!

250.jpg

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

Пользуйтесь)) Сам я им не пользуюсь, станки 5 осей, умные))) Делал так для опыта, хорошо что кому то это пригодилось. 

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

Комрады, сбросьте пожалуйста проц с внедренным скриптом, что-то не могу осилить, нужен пример для подражания)

Заранее спасибо!

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • karlf
      Тут красная не должна гореть   А тут должна зелёная гореть  Есть ещё самый первый бэкап, который со станком приехал, но он в формате .ВСК, не пойму чем и как его открыть
    • tompsongun
      Коперник 4.4.2 - исправил регресс - свойство Наименование из имени файла при запуске затиралось, если в свойстве конфига модели его не было, но если ввести символ при переименовке, то считывание из имени файла происходило. сделал проверку, и если Наименование и Обозначение в свойствах модели иные чем имя файла - включится чек-бокс Своё;  - считывание свойств Формат, Примечание, Раздел, Наименование из свойств общих, если они не обнаружены в конфиге. Коперник 4.4.2.zip  
    • adolf80
      А реально ЛИР-390Ф кто ни будь ставил вместо РОН285? Работает на хенде?
    • Larionov
      Доброго дня, коллеги! Подобная беда. Настроил по инструкции Fanuc Oi-mf. Пинг есть. Но при смене устройства. Ищет папку и не выдает ошибку поиска. Подскажите в какую сторону копать? Где может быть проблема?  
    • Koels
      А вообще, я потрогал сам радиатор привода в работе, и не смотря на включённые вентиляторы на самом радиаторе, он был очень горячий. Прикрутили два здоровых вентиля к этому привода, может дело было в перегреве. Дк меняли целиком привод новый, я писал, до меня ещё дело было. Меняли привод каждые пол года
    • Anat2015
      Бывает, что виноват не сам вентилятор, а схема его контролирующая, в приводе стоит.
    • Koels
      Про все это в курсе. И про внутренний вентилятор и про радиатор. Разъём тоже в норме. Вот это очень полезно. Спасибо.
    • Anat2015
      Это не описание ошибки, а описание массива ошибок. О чем ваша конкретная ошибка говорит должно быть в мануале на станок. Если энкодеры по оси абсолютные и наверняка есть программные конечники, можно попробовать их изменить, чтобы ось оказалась в разрешенной зоне. Если есть аппаратные датчики overtravel - заблокировать их. Только все очень аккуратно, чтоб еще дальше не уехать и не сломать механику. А с какого перепугу шпиндель поехал выше точки смены инструмента? Кто то порылся в параметрах? Опять человеческий фактор?
    • Anat2015
      @Madmax70 Это клон уже обсуждаемого. Админу надо просто удалить это.
    • Maks Horhe
      Можно и так сказать) Пока я не выслал бэкап посмотрите пожалуйста, будет работать уп? Станок 3х фрезер, fanuc 0i mf plus. Именно в таком виде, в одном файле, может где ошибся, подскажите. Пока не пробовал. %  O0001(FREZA D40R5) G21 G0 G17 G40 G49 G80 G90 T1 M6 (D40) G0 G90 G54 X0. Y0. S800 M3 G43 H1 Z20. M8 G1 F500. X0. Y0. G66 P8888 X0. Y0. G67 G66 P8889 X0. Y0. G67 G66 P8890 X0. Y0. G67 M5 M9 M30 % O8888 #20=20(RFrezi) #21=63.7(DNach) #22=-121.0(Z) #23=4.5(Angle) #24=1(step Z) #25=0.25(step CIRC) #33=-1(G2-1 G3+1) (****************) G90 G1 Z1.0 #11=0 #12=0 #13=1.0 #26=ROUND[3.142*#21/#25](N) #27=#21/2-#20 #31=#27 #28=0 #29=#24*TAN[#23] #30=#29/#26 #32=360/#26 N1 #1=#11+#27*COS[#28] #2=#12+#27*SIN[#28] #3=#13+[#27-#31]/TAN[#23] IF [#3 LT #22] GOTO2 G1 X#1 Y#2 Z#3 #27=#27-#30 #28=#28+#32*#33(G2 or G3) IF [ABS[#28] GE 360] THEN #28=0 IF [#27 LE 0.1] GOTO3 GOTO1 N2 X#1 Y#2 G2 I[#11-#1] J[#12-#2] N3 G1 X#11 Y#12  (Z[#13+5]) X#11 Y#12 M99 % O8889 #20=20(RFrezi) #21=45(DNach) #22=-121(Z) #23=0.001(Angle) #24=0.5(step Z) #25=0.25(step CIRC) #33=-1(G2-1 G3+1) (****************) G90 G1 Z-113.0 #11=0 #12=0 #13=-113. #26=ROUND[3.142*#21/#25](N) #27=#21/2-#20 #31=#27 #28=0 #29=#24*TAN[#23] #30=#29/#26 #32=360/#26 N4 #1=#11+#27*COS[#28] #2=#12+#27*SIN[#28] #3=#13+[#27-#31]/TAN[#23] IF [#3 LT #22] GOTO5 G1 X#1 Y#2 Z#3 #27=#27-#30 #28=#28+#32*#33(G2 or G3) IF [ABS[#28] GE 360] THEN #28=0 IF [#27 LE 0.1] GOTO6 GOTO4 N5 X#1 Y#2 G2 I[#11-#1] J[#12-#2] N6 G1 X#11 Y#12  (Z[#13+5]) X#11 Y#12 M99 % O8890 #20=20(RFrezi) #21=44.969(DNach) #22=-195(Z) #23=-4.5(Angle) #24=0.5(step Z) #25=0.25(step CIRC) #33=-1(G2-1 G3+1) (****************) G90 G1 Z-121.0 #11=0 #12=0 #13=-121.0 #26=ROUND[3.142*#21/#25](N) #27=#21/2-#20 #31=#27 #28=0 #29=#24*TAN[#23] #30=#29/#26 #32=360/#26 N7 #1=#11+#27*COS[#28] #2=#12+#27*SIN[#28] #3=#13+[#27-#31]/TAN[#23] IF [#3 LT #22] GOTO8 G1 X#1 Y#2 Z#3 #27=#27-#30 #28=#28+#32*#33(G2 or G3) IF [ABS[#28] GE 360] THEN #28=0 IF [#27 LE 0.1] GOTO9 GOTO7 N8 X#1 Y#2 G2 I[#11-#1] J[#12-#2] N9 G1 X#11 Y#12  G1 Z[0+10] F2000. X#11 Y#12 M99 %  
×
×
  • Создать...