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

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

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




  • Сообщения

    • Ветерок
      "увеличение оптимизации". Оптимизацию невозможно ни увеличить, ни уменьшить.
    • gudstartup
      @boomeeeer может от страны зависит
    • david1920
      нет время нет заниматься да и информации новой нет Это я на других станках делал
    • gudstartup
      @david1920 имеется ввиду платы на системах с сертификацией опций фалом oprminf старые в расчет не принимаются вы свой 18i восстановили?
    • gudstartup
      очень даже спрашивают как обязательную информацию для проверки вашей компании налоговый идентификатор должен быть указан. на myfanuc не спрашивают а вот на портале к сожалению просто так не зарегаться. 
    • david1920
      На 0I-TC mate менял плату управления приводами На 18i-TB менял для диагностики платы процессоров (один был от Spinner другой простой) процы были одинаковые Всё работает
    • brigval
      Браком 1.04В версии 1.04Добавлено: Автоуменьшение высоты шрифта многострочного наименования в ОН чертежа.Добавлено: Переименование поверхностей, баз, размеров в порядке их следования на чертеже.Добавлено: Переименование изображений по ГОСТ: сначала виды, затем разрезы, сечения, выносные элементы.Добавлено: Выравнивание неассоциативных видов.Добавлено: Ручной ввод шага и угла наклона штриховки.Добавлено: Перемещаются в макроэлемент компоненты, исключаемые из спецификации.Добавлено: Выбор количества значащих цифр в значении площади поверхности детали для вставки в ТТ.Добавлено: Возможность не авторазмещать ТТ перед конвертацией чертежа в PDF.Добавлено: Добавлены кнопки «Выделить все включенные в расчет» и Выделить все исключенные из расчета».Добавлено: Версия КОМПАС-3D Home показывается в программе со словом Home.Добавлено: Улучшен алгоритм считывания и вставки ТТ чертежа.Добавлено: При конвертации чертежа в PDF удаляется старый файл с таким же обозначением в начале имени, как обозначение в начале имени нового файла.Добавлено: Улучшено считывание номеров позиций из 3D-модели сборки.Исправлено: Иногда скрытые и потом показанные объекты чертежа отображались не серым цветом.Исправлено: Иногда после ручного заполнения графы «Масса» ОН чертежа в окне программы масса могла отображаться не правильно.Исправлено: В некоторых случаях из ОН чертежа могла не считываться литера.Исправлено: В некоторых окнах программы неправильно показывался заголовок окна программы.Исправлено: Другие замеченные мелкие ошибки и неточности кода.Скачать
    • boomeeeer
      Не помню чтобы у меня такое спрашивали при регистрации.
    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
×
×
  • Создать...