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

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

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



  • Сообщения

    • M_u_x_a
      @fenics555, согласен с Вами полностью. Риски, о которых Вы говорите - имеют место наравне с прочими. Выкладываю шаблон и форматку, сохранено в Creo 11. Если сравнить мануалы, реализовано по-разному. Но правка результатов не принесла.  
    • RokiSIA
      Вот и попались, пусть теперь они уже отбрехиваются
    • davidovka
      Выкладывайте свои, посмотри что не работает.
    • Anat2015
      А что, бывает по другому, программисты и операторы сразу сознаются?
    • fenics555
      так пока кто-то пользуется кнопкой "сделайкрасиво" он набивает номенклатуру, библиотеку изделий, с уже неправильно указанными параметрами. И вдальнейшем другим конструкторам пользоваться штатными средствами никак не получится, кроме как открыть КАЖДЫЙ файл, добавить нужные парметры (тут можно импортом из шаблона)  и лапками подправить. КАЖДЫЙ! И сборки. Все. Еще с булками разобраться. Иначе без этой DLLки выводиться будет ерунда. ДАЖЕ СРАНЫЙ ЧЕРТЕЖ ОБЫЧНОЙ ДЕТАЛИ! И никто другой даже не додумается, в чем же дело. Ну вот возьмет он (Конструктор с кнопочкой умной) и уволится от неразделенной любви, или по дороге на работу разобьется. Ну фактор человеческий. Бывает. Он работал, получал ЗП за то, что делал "вроде правильно", но любой другой придет- и не сможет сразбегу "в красоту"! И Бос такой, затягивая сигару: "Эх, салага, вот Стас был- да! ..." Ну там, слеза скупая, всё такое. И не объяснить, что он х8йню делал. Поэтому я стараюсь работу работать так, чтоб после меня "Фен -просто красавчик" сказал тот, кто будет после.
    • M_u_x_a
      Уважаемые Господа @fenics555 и @-stas- ! Каждый из вас по-своему прав. Пользоваться или нет дополнительными приложениями при возможности реализации штатными средствами - это выбор каждого инженера. Тут влияет ещё и специфика работы, взаимодействие с другими инженерами и тд. Лично я, пожалуй, вижу в конкретно этом инструменте скорее положительное, нежели бесполезное. В списке дополнительных приложений запущено и работает. Дело в том, что тот релиз, на который я жаловался, был под Creo 1. С этим мне помог уважаемый @davidovka , за что мой ему поклон. Однако, желаемого результата достичь не удалось, несмотря на правку графы таблицы согласно инструкции-мануалу. Теперь там просто пусто, не заполняет. Прошу кинуть в мою сторону шаблон детали и форматку с которыми оно точно работает. Успехов всем в делах и делишках.
    • Сергей Кочев
      При разборе полётов, все утверждали, что программа отлажена и её ни кто не менял и сделали по ней две детали. Ну вот зашёл в свойства файла программы и увидел, что программу редактировали именно в день аварии. Сздана 11.10 Изменена 30.10. Был в отпуске хотел посмотреть Action Log к сожалению уже данные перезаписались.
    • Даниил_91
      спасибо, просто по поиску не нашел конкретной темы кстати надо попробовать, об этом даже не подумал, спасибо
    • Onizuka
      Удалите параметр DRAWN_BY и создайте снова. Список должен обновиться после этого
    • semsv
      Вам с этим вопросом сюда: https://cccp3d.ru/forum/28-creo/
×
×
  • Создать...