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

Вопросы по Pm-post.


dtsyplov

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

Доброго времени суток всем, прошу помощи!!! Я уже не знаю что делать, начал изучать обработку по 4-ой оси вдоль оси Х в Powermill (Обработать с одной стороны, а после перевернуть на 180 градусов и обработать с другой стороны). Но каждый раз получаю сообщение "Направление оси Z траектории изменилось." Изучал по видео уроку сия процесс, там делали все просто, а это меняли направление оси Z на противоположный, а у меня он ругается на такие действия. Помогите кто чем может, прошу!(

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


Подскажите пожалуйста как через постпроцессор можно вывести в карту наладки на какой угол повернется ось В или допустим какой цикл будет работать (например haidenhain Q202-сверление) или включена коррекция на радиус или нет?

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

Вопрос знатокам можно ли создать файл карты наладки в самом постпроцессоре? Если можно то как это сделать?

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

Всем день добрый кому то вечер добрый! Приобрели чпу фрейзер ручного изготовления рабочим полем 205 по Х и 305 по Y, шильдик на нем Авиор-15М. и вот дошла очередь работать на 4 оси, расположили ее вдоль оси Y. Четвертая ост полноценная, УП делал в PowerMill 2019. Дошла очередь до записи НЦ и понял что нету постпроцессора под 4 ось повермил со станком была папка с файлами но там постпроцессоры для арткам. Второй день ползаю по интернету скачиваю разные файлы которые предлогают на форумах но при записи выдает ошибку!) кто нибуть может помоч, с чего начать куда плясать может быть как то можно написать свой! Я уверен каждый из вас это проходил!)

1 минуту назад, Woost сказал:

Всем день добрый кому то вечер добрый! Приобрели чпу фрейзер ручного изготовления рабочим полем 205 по Х и 305 по Y, шильдик на нем Авиор-15М. Плата кправления матч3!и вот дошла очередь работать на 4 оси, расположили ее вдоль оси Y. Четвертая ост полноценная, УП делал в PowerMill 2019. Дошла очередь до записи НЦ и понял что нету постпроцессора под 4 ось повермил со станком была папка с файлами но там постпроцессоры для арткам. Второй день ползаю по интернету скачиваю разные файлы которые предлогают на форумах но при записи выдает ошибку!) кто нибуть может помоч, с чего начать куда плясать может быть как то можно написать свой! Я уверен каждый из вас это проходил!)

 

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

Нужно курочить блок move circle

а с определением переменных? никак?

блок напиан стандартно

define block move circle

N ; G1 =C ; X ; Y ; Z ; I =C; J =C ; K

end define

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

Назрел следующий вопрос:

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

Сейчас думаю, как правильно вставить это всё в пост.

Соображения следующие:

1. PostProcessor (далее РР) позволяет запрашивать тип траектории TOOLPATH AXIS MODE. Но, попробовав на практике , понял, что это не подходит, т.к. допустим, траектория обозначается как 3+2, и далее в теле кода идёт вывод в начальную точку этой траектории и естественно, поворот обеих осей. Получается, нельзя поставить блокировку осей , когда видим, что траектория стала 3+2.

2. РР позволяет запрашивать ещё два параметра:

AXIS MODE = 3+2, 3AXIS, 5 AXIS. отличий от типа траектории не вижу.

Join-Up Axis Mode = 3+2, 3AXIS, 5 AXIS, NONE. - не нашёл описания что это и для чего.

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

Реализовывал ли это кто на практике?

Если есть другие пути решения этого вопроса, прошу к обсуждению.

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

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

Сделай отдельную процедуру для сверлежки и для 3+2, например.

1. PostProcessor (далее РР) позволяет запрашивать тип траектории TOOLPATH AXIS MODE. Но, попробовав на практике , понял, что это не подходит, т.к. допустим, траектория обозначается как 3+2, и далее в теле кода идёт вывод в начальную точку этой траектории и естественно, поворот обеих осей. Получается, нельзя поставить блокировку осей , когда видим, что траектория стала 3+2.

А это да...непросто. Вот каноничный пост в дакте, там видно как немцы это сделали. Очень громоздко((, но работает)).

DMG-DMU160P-S840D-5A-15.rar

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

Назрел следующий вопрос:

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

Сейчас думаю, как правильно вставить это всё в пост.

Соображения следующие:

1. PostProcessor (далее РР) позволяет запрашивать тип траектории TOOLPATH AXIS MODE. Но, попробовав на практике , понял, что это не подходит, т.к. допустим, траектория обозначается как 3+2, и далее в теле кода идёт вывод в начальную точку этой траектории и естественно, поворот обеих осей. Получается, нельзя поставить блокировку осей , когда видим, что траектория стала 3+2.

2. РР позволяет запрашивать ещё два параметра:

AXIS MODE = 3+2, 3AXIS, 5 AXIS. отличий от типа траектории не вижу.

Join-Up Axis Mode = 3+2, 3AXIS, 5 AXIS, NONE. - не нашёл описания что это и для чего.

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

Реализовывал ли это кто на практике?

Если есть другие пути решения этого вопроса, прошу к обсуждению.

То что вам нужно на иностранном языке называется axis clamping. Да, функция, действительно, полезная. Теперь насчёт того, как это реализовать. Можно реализовать и на базе аксисмода, почему нет. Вопрос в том, где его проверять. Кстати, версия порспроцессора тоже имеет значение, так как эта область неоднократно перерабатывалась. В современных версиях если проверять аксисмод в Toolpath Start, то можно гарантировать, что далее никаких поворотов уже не будет (все они уже прошли до, в джоинапах) и надо смело активировать клампинг на 3+2. Ну а в Toolpath End его, соответственно, деактивировать.

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

Пример реализации клампинга в скрипте приведен ниже:

var clamping = false;



function MoveLinear1()

{

  var out = "";



  if (

	GetParam("%p(Machine A)%", true) == GetParamPrevValue("%p(Machine A)%", true) &&

	GetParam("%p(Machine B)%", true) == GetParamPrevValue("%p(Machine B)%", true) &&

	GetParam("%p(Machine C)%", true) == GetParamPrevValue("%p(Machine C)%", true)

  )

  {

	if (!clamping) {

	  out += StandardResponse("%b(User Clamping ON)%");

	  clamping = true;

	}

  } else {

	if (clamping) {

	  out += StandardResponse("%b(User Clamping OFF)%");

	  clamping = false;

	}

  }



  out += StandardResponse();



  return out;

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

А это исходя из чего выставляется и где?

Да это просто флажок, контролирующий, что клампинг не будет включаться, когда он уже включен и наоборот. Иначеб он в каждом блоке мельтешил. А переменная сама объявляется рядом с функцией, как и написано.
Ссылка на сообщение
Поделиться на других сайтах

Скрипт возвращает User Clamping OFF или User Clamping ON.

И что дальше делать с этим?

Создаём переменную, тип группа, если состояние User Clamping ON, то значение М111, если User Clamping OFF, то значение М222.

Выводим её, если изменилась.

Так, или нет?

Кстати, версия порспроцессора тоже имеет значение, так как эта область неоднократно перерабатывалась. В современных версиях если проверять аксисмод в Toolpath Start, то можно гарантировать, что далее никаких поворотов уже не будет (все они уже прошли до, в джоинапах) и надо смело активировать клампинг на 3+2. Ну а в Toolpath End его, соответственно, деактивировать.

Проверял на РР2011сп3. Ставил в Toolpath start вывод ToolPath Axis Mode. Говорит, что 3+2 и далее следует переход с поворотами в начальную точку.

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

Скрипт возвращает User Clamping OFF или User Clamping ON.

И что дальше делать с этим?

Создаём переменную, тип группа, если состояние User Clamping ON, то значение М111, если User Clamping OFF, то значение М222.

Выводим её, если изменилась.

Так, или нет?

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

Проверял на РР2011сп3. Ставил в Toolpath start вывод ToolPath Axis Mode. Говорит, что 3+2 и далее следует переход с поворотами в начальную точку.

А вы точно в Toolpath Start вставляли, а не в Toolpath Header ? Если да, то хотел бы я видеть этот проект. Возможно это баг и его надо исправлять.

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

В итоге сделал так:

var clamping_C = false;var clamping_B = false;function MoveLinear1(){  var out = "";  if (    GetParam("%p(Machine C)%", true) == GetParamPrevValue("%p(Machine C)%", true)     // if current position the same as last position  )  {    if (!clamping_C) {    SetParam("%p(Caxis_lock)%","ON");       clamping_C = true;    }  } else {    if (clamping_C) {    SetParam("%p(Caxis_lock)%","OFF");       clamping_C = false;    }  }  if (    GetParam("%p(Machine B)%", true) == GetParamPrevValue("%p(Machine B)%", true)   )  {    if (!clamping_B) {    SetParam("%p(Baxis_lock)%","ON");    clamping_B = true;    }  } else {    if (clamping_B) {    SetParam("%p(Baxis_lock)%","OFF");      clamping_B = false;    }  }  out += StandardResponse();  return out;}

, добавил групповые пользовательские переменные Aaxis_lock, Baxis_lock.

Добавил в передвижения перед движением

Aaxis_lock

Baxis_lock

// кадр(ы) с движением

Получил на выходе следующее:

N110 G43.4  H11N115 X82.42 Y-469.N120 M3 S12000N125 G1 B0 C0N130 Z250.N145 Z179.19 F18000N150 lock C axisN155 lock B axisN160 Z119.19 F2500N175 Z120.5 F3000N180 X82.43 Z120.57N185 X82.58 Z120.85***************N565 X234.01 Z192.31N570 X243.34 Z192.55N575 Y-373. F18000N580 Z250.N585 UNlock B axisN590 X247.71 Y-371.49 B-89.29N600 X252.04 Y-370. B-88.57N605 X256.33 Y-368.52 B-87.84N610 X260.59 Y-367.05 B-87.09N615 X264.81 Y-365.6 B-86.34N620 X268.99 Y-364.15 B-85.57*********N1025 X588.83 Y-253.85 B-1.85N1030 X595.48 Y-251.56 B-0.73N1035 X600. Y-250. B0N1040 lock B axisN1045 ( ================= )N1050 (  TOOLPATH : D80_grooving_1  )N1055 (  STRATEGY USED : Offset_area_clear  )N1060 (  TOOLPATH WP : D80_grooving_1_1  )N1065 ( ================= )N1070 UNlock B axisN1075 X604.59 Y-247.8 B0.71 F18000N1090 X609.15 Y-245.61 B1.43N1095 X613.66 Y-243.44 B2.16N1100 X618.13 Y-241.3 B2.91N1105 X622.57 Y-239.17 B3.66

Можно сделать всё намного проще?

Если да, то как?

А вы точно в Toolpath Start вставляли, а не в Toolpath Header ? Если да, то хотел бы я видеть этот проект. Возможно это баг и его надо исправлять.

Киньте почтовый ящик в личку.

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

Можно сделать всё намного проще?

Если да, то как?

Сделано вполне нормально для случая когда клампинг на каждую ось свой. Проще пока нельзя. Вообще, думаю, неплохо бы включить эту функциональность в следующие релизы, а то, я смотрю, у народа она востребована.
Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...
Очкарик тощий

Не пинайте ногими.Сам понимаю,что туплю страшно,но туплю. :wallbash:

Надо в PM-post 4.8 сделать следующее: значение координаты должно выводиться умноженным на определённый коэффициент.Т.е. если значение по Х=2, коэф 0,5(предположим),то Х=2*0,5=1.Т.е. перемещение заданное в пауэрмилле,при постпроцессировании должно измениться,в зависимости от коэф.Надеюсь,что понятно объяснил.

Подскажите плиз.Надо срочно,а сам что-то туплю...

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

Спасибо.Но надо только по одной оси?Только по Х? А остальные без масштаба?

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

Спасибо.Но надо только по одной оси?Только по Х? А остальные без масштаба?

Я не знаю, что ВАМ надо.
Ссылка на сообщение
Поделиться на других сайтах
Очкарик тощий

Я очень извиняюсь,что не совсем корректно сформулировал.Надо только по Х масштабировать.

Ещё раз извиняюсь.Вроде и не совсем чайник уже и так облажаться с формулировкой... :blush: От волнения,видимо...

Предвидя возможное написание скрипта под это дело,сообщаю,что готов обсудить бюджет за помощь(в личке). :smile:

Очень сильно надо. :helpsmilie:

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

День добрый!

Помогите решить проблему:

множество обработки 3+2, вывод A C через машинные углы, расчет через "euler"

отдельные траектории включая 5 осей отлично рассчитываются, но когда предыдущая обработка была на A не равном 0 и С не равном 0, а следующая на нулевых A и С возникает следующее:

пост обнуляет машинный угол A, а машинный С не обнуляет.

Расчет ведется правильно - от локальной системы координат, и углы эйлера посчитаны верно, и станок если ему дать волю пересчитывает углы эйлера в машинные правильно.

могу обьяснить лишь тем, что внутренняя логика пмпоста в расчете машинных углов, правильно располагает вектор инструмента, а на угол С машинный забивает (именно забивает (он остается как в предыдущей траектории), а не забывает, потому как вывод принудительно машинного С подтвердил неверный расчет)

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

Спасибо.Но надо только по одной оси?Только по Х? А остальные без масштаба?

Да ладно, неужели pm-post не могет такого? duct же без роблем все делает.
Ссылка на сообщение
Поделиться на других сайтах
Очкарик тощий

Так вот и проблема... Пост сделал.Отладил.Работает.А вот эту маленькую пакость победить не могу.И сам в стену упёрся и добрые люди не подсказывают... :g:

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

Так вот и проблема... Пост сделал.Отладил.Работает.А вот эту маленькую пакость победить не могу.И сам в стену упёрся и добрые люди не подсказывают... :g:

А чем масштабирование в формате не устраивает? Масштабируются все координаты? Вам просто нужно создать отдельный формат для параметра Х, где и указать масштабирование. А в исходном формате (показанном мной на картинке) ничего не трогать. Если я правильно понял вопрос.

День добрый!

Помогите решить проблему:

множество обработки 3+2, вывод A C через машинные углы, расчет через "euler"

Так машинные углы или эйлеровы используются?

В общем, не видя постпроцессора, толком не разобраться. Могу сказать одно: проблема решаема, народ-то работает!

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • EnKlL
      Станок Samsung Pl1600m, такарно-фрезерный, проблема с револьверной головой выдаёт ошибку "EX22831 SERVO TURRET AMP ALARM!" что это такое и что с ней делать? Невозможно сменить инструмент, не в ручную, не через MDA
    • Eng.Destructor
      Сделал так: Добавил новый формат fs2 25 0 4 0 3t #No decimal, absolute, 3 поменял  result = newfs (25, thddepth$) # изменил 16 на 25 result = newfs (25, thdfirst$) # изменил 16 на 25 result = newfs (25, thdlast$) # изменил 16 на 25 result = newfs (25, thdfinish$) # изменил 16 на 25 Спасибо за наводку
    • arsenev
    • teqn1c
      Есть динозавр stratos plus на io mb -  В нем всего 256 КБ памяти  есть ли возможность через режим rtm подгружать программу с ПК через rs 232 ? В шкафу ещё есть разъем под карту но с нее получается только считать и опять таки сохранить на память станка. Соединение ПК-станок настроил ,есть возможность отправлять на него через альфакам программы ,но они сохраняются в память станка. В альфакам есть непрерывная отправка - она отправляет - но в режиме rtm ничего не происходит 
    • Metal_Cutter
      @arsenev В FC такого нет.
    • Bot
      HCL CAMWorks 2024, новая версия программного обеспечения CAM, полностью интегрированного с SOLIDWORKS и Solid Edge включает в себя передовые технологии, позволяющие сократить время программирования, уменьшить время цикла обработки и увеличить срок службы инструмента. Смотреть полностью
    • Александр1979
      Руководство для дусь взял здесь: https://www.cnczone.com/forums/daewoo-doosan/413426-every-doosan-service-manual-currently-auto-updated.html
    • ss_162
      Может есть у кого оригинальные резцы на продажу? Нужен резец SFCC 50 - это маркировка D`Andrea, или Искаровский, он такой же, только маркировка у него другая.
    • Aveovar
      Подскажи, как ты сделал несколько экранов с разных ракурсов
    • Kaktusito
      Всем доброго времени суток! Только начал заниматься редактированием постпроцессоров и сразу же столкнулся с проблемой. Суть в том что я нашел по форумам постпроцессоры с SolidCAM 2015 года, ибо у меня в версии 2022 года их почти нет, а мне нужен был более менее адекватный пост под токарку.  Закинул все файлы Gpptool 2015 года в свою папку, выбрал подходящий мне станок и начал генерировать УП.  Как вы поняли ничего мне не сгенерировало. Пишет ошибку "please change the name "Bore" in the VMID. This name is reserved for use in the GPP"  Сделал то что просит ошибка и был уверен что это не поможет, так оно и вышло. По итогу начало долбить другие ошибки. Очень еще не понятно с файлами которые я кидал в папку Gpptool потому что вместо стандартных двух у меня их аж 4 штуки.: gpp с циклами, gpp обычный, PRP и vmid. Хотя я знаю что в версиях вроде после 2017 уже идет по 2 файла. Что я только не пробовал кидал только 2 файла, кидал все 4, кидал содержимое файла с циклами в основной gpp, шёл по пути ошибок и исправлял что меня просили. В общем ничего не помогает  От безисходности пишу сюда, вы моя последняя надежда понять что происходит и почему ничего не работает. Заранее благодарю за ответы!
×
×
  • Создать...