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

Вопросы по 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
      а вы хоть станок проверяли по программе на изделии на точность прежде чем товарищей этих выгнать? если нет то грешите на самих себя! система в наших краях еще не распространенная поэтому и тем тут нет надо в поднебесную писать
    • AlexArt
      Ну допустим, ты и на другом ресурсе это опубликовал. А не коммуниздил. Но вот продвигать воровство от государства, ворующее из Вики, это верх мерзости.
    • maxx2000
      Ах, да. Фильтры выбора добавили. Теперь можно выбрать только то что видно на первом плане, а не вместе с тем что с обратной стороны детали. В общем надо обновляться. Как раз работёнка на прессформу нарисовалась 
    • maxx2000
      Причина того - Кроилово. Кроилово всегда приводит к попадалову. Месяц простоял сколько мильонов деревянных потеряли? Вопрос риторический. И ещё будет стоять. Как памятник человеческой глупости и жадности.
    • AlexKaz
      "9 июля 1968 года на мышах был проведен самый знаменитый эксперимент американского ученого-этолога Джона Кэлхуна «Вселенная-25». Суть опыта заключалась в создании идеальных условий, где мыши могли бы жить и размножаться, не ведая никаких забот, вдали от хищников и в отсутствие эпидемий и заболеваний. Для этих целей ученый построил специальный загон, куда были помещены четыре пары белых мышей (самцов и самок). В распоряжении мышей всегда была чистая вода и еда в изобилии, специальные гнезда, где можно обустроить себе жилище ― гнезд в загоне хватало для проживания нескольких тысяч мышей. Температура в загоне в среднем составляла около 20 ℃ и была комфортной для мышей. Животные не подвергались никаким влияниям извне и жили в идеальных условиях в свое удовольствие. А дальше началось самое интересное. На первом этапе эксперимента мыши хорошо размножались, вели активный образ жизни, охотно играли. На следующей фазе эксперимента мыши стали есть меньше, перестали наедаться до отвала. На третьей фазе эксперимента, когда в загоне были уже сотни мышей, произошло распределение социальных ролей, стала ярко выраженной иерархия, клановость. Появились так называемые отверженные ― молодые особи, которых другие, взрослые мыши сгоняли в центр загона, не давали им вести нормальный образ жизни, причиняли физический вред. В природе такое, наверное, было бы невозможно, ведь эти мыши-агрессоры просто не дожили бы до старости: их бы съели хищники. Но в загоне Кэлхуна хищников не было, и взрослые мыши начали попросту издеваться над молодняком. Образовались две большие группировки: самцы-одиночки и самки-одиночки. При этом самки-одиночки отказывались спариваться <с менее статусными многочисленными молодыми самцами и с оставшимися старыми статусными> и отвергали ухаживания самцов. У мышей стал проявляться тотальный индивидуализм, мыши не стремились создать семью. На последней, четвертой стадии мышиная популяция стала сокращаться. Появились самцы, которых сам Кэлхун назвал «красивыми» (англ. beautiful ones), из-за отсутствия ран и рубцов. <В оригинале: They never engaged in sexual approaches toward females, and they never engaged in fighting, and so they had no wound or scar tissue. Thus their pelage remained in excellent condition. - Дословный перевод: Они никогда не прибегали к сексуальным подходам к самкам, и они никогда не участвовали в боях, и поэтому у них не было ран или рубцовой ткани. Таким образом, их шерсть сохранилась в отличном состоянии.> Эти мыши не вступали в борьбу за самок и территорию, не проявляли активности к размножению и только питались, спали и чистили шёрстку. У мышей стали проявляться различные формы девиантного поведения, вспышки агрессии. Самки стали проявлять агрессию, защищать себя сами, стали умерщвлять своих детенышей, а затем окончательно отказались размножаться. На пике эксперимента в загоне одновременно проживало чуть более двух тыс. мышей. Еды и гнезд было достаточно для дальнейшего роста популяции, но через четыре года после начала эксперимента Кэлхун остановил свой опыт, потому что в загоне осталось чуть более сотни мышей, и все они уже вышли из репродуктивного возраста. По итогам эксперимента Кэлхун пришел к выводу, что достижение определенной плотности населения и заполнение социальных ролей в популяции приводит к распаду общества" https://physicsoflife.pl/dict/pic/calhoun/calhoun.. https://scientificrussia.ru/articles/utopiya-dlya-mys.. https://ru.wikipedia.org/wiki/Кэлхун,_Джон_(этолог)
    • gudstartup
      @Koels вот в чем дело пока ds609 это предупреждение поэтому F может и не появится если sv601 это значит ошибка. возможно при нагреве радиатора серво определяет это как предупреждение или ваш вентилятор крутиться медленнее чем оригинальный и серва думает что он встал хотяпри этом обычно на экране в строке состояния FAN.мигает больше у меня вариантов нет....  
    • ДОБРЯК
      Решите любым алгоритмом. Тогда будет конструктивный разговор. :=)
    • Fedor
      https://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms     :) 
    • Юрий К.Ф.
      Добрый день. Не нашёл тут тему по стойке Китайско Китайской)) Lynuc N3ME. Видать мне так повезло с её наличием)) Приобрели 5-ти осевой Китаец. В б/у состоянии после удара по оси Z. Отремонтировали по механике, заменили батареи на драйверах, выставили лимиты. Всё Ок. Пригласили со стороны людей которые бы разобрались по операторской части. Те два выходных ковырялись, после сказали покажут расскажут, но за огромные деньги. Не сошлись. После месяц станок простоял, когда включили перестал реагировать на регулировку скорости шпинделя. То есть в режиме Jog, включаем обороты, которые стандартно 2140-2149 об/мин. При регулировке процетности не меняются (сама процентность показывает на мониторе). Так же при включении оборотов через команду M03S300 или другое значение, скорость так же показывает 2140-2149 об/мин. Грешить на тех товарищей с которыми не сошлись по деньгам для обучения, как то не хочется. Поковырялся в настройках шпинделя, вроде всё в норме. Проводку на шпинделе прозвонил, целая. В чём причина, не понятна. Кто нибудь сталкивался с подобным, или с подобной стойкой? Может подсказать варианты причины подобного?
    • ДОБРЯК
×
×
  • Создать...