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

Генерация параметрических циклов постпроцессором


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

На работе приходилось довольно часто собирать вручную циклы WHILE-DO различных уровней вложенности, что отнимало много времени. В конечном итоге мне это надоело и я написал функции для постпроцессора, управляемые событием пользователя. Событие пользователя сообщает постпроцессору о том, какие координаты должны меняться в процессе работы цикла, начальном, конечном и шаговом значениях и различных дополнительных параметрах.

Применение циклов WHILE в УП позволяет уменьшить ее объем до минимальных значений. Кроме этого появляется возможность изменять стартовые, конечные и шаговые значения для зацикленных контуров без перегенерации УП, что существенно повышает вариативность ее применения. Аналогичный функционал был разработан для постпроцессоров под системы ЧПУ RMS и SINUMERIK.

 

 

 

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


UnPinned posts

@GalielOТак работаем уже более 10 лет, с описанными вами случаями сталкивались только по началу. В конце концов это не гайд "вот так надо делать детали", а демонстрация работы алгоритма для постпроцессора. Понимаете разницу? Кто то понимает как это работает и для чего нужно, а кто то - нет. А кому то это и не нужно. 

Ссылка на сообщение
Поделиться на других сайтах
23 минуты назад, mr_Voden сказал:

демонстрация работы алгоритма для постпроцессора. Понимаете разницу? Кто то понимает как это работает и для чего нужно, а кто то - нет. А кому то это и не нужно.

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

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

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

@GalielOМне кажется, вы по прежнему не понимаете о чем идёт речь. Что на виде показан не пример обработки детали, а пример применения алгоритма для постпроцессора. Никого не агитирую применять такой подход в работе. Мне было нужно что то подобное и я это сделал.  Может вам это и не нужно вовсе? В конце концов, вместо наладчика может программист поменять параметры и не тратить время на перегенерацию уп, к примеру. Или не менять ничего вовсе. Насчёт востребованности: по началу в NX не было опций для вывода в подпрограмму, как я писал выше. Потом появилась. Как и смещения систем координат и многих других вещей. 

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

С учетом конструктивной критики, полученной в этой теме, продолжил разработки.

Что было добавлено нового:

Скрытый текст

1. Меню с опциями, появляющееся при старте постпроцессирования.
"Z-axis loop" - собственно свертка траектории в цикл по оси Z.
"1 operation -> 1 loop" - операция может содержать в себе только один цикл по оси Z. Если алгоритм распознал несколько таких циклов, то траектория выводится без изменений.
"1 operation -> N loops" - операция может содержать в себе несколько циклов по оси Z, и они выводятся все. Каждый выведенный цикл в таком случае содержит метку-комментарий с именем операции и порядковым номером выведенного цикла.
"Instanced operations to loop:" - свертка массивов операций в цикл.
"On/Off" - включение и выключение этой опции.
Меню запоминает выбранные опции и при перезапуске выбирать заново не нужно. Добавил в качестве эксперимента.
2. Добавлена возможность свертки в цикл круговых массивов 5-ти осевых операций. Не всегда целесообразно применять, т.к. при переходе к следующему элементу массива посчитал необходимым возвращаться в нулевое положение, а на это уходит время.
3. Добавлен обработчик helix_move для операций фрезерования отверстий и резьбофрезерования. В других операциях helix_move выводится без изменений.
4. Был доработан алгоритм генерации циклов по оси Z. Теперь распознает больше ситуаций и поточнее.
5. Теперь циклы по осям XY (линейные массивы и матрицы) реализованы смещением нуля, а не подстановкой переменных к этим координатам.
6. В комментарий к переменным, задающим стартовые условия для цикла, добавлено дефолтное (полученное при постпроцессировании) значение для удобства наладчика. 
Например: #100=12.47 (Z_START=14.). Добавил уже после заливки видео, перезаливать не стал.

Поскольку для Fanuc уже была разработана версия и она просто дорабатывалась, то было решено сделать дополнительно отдельную версию под Roeders RMS с присущими ей особенностями.

Примеры работы алгоритмов:

1. Свертка различных траекторий в цикл по оси Z

Скрытый текст

 

 

2. Линейный массив

Скрытый текст

 

 

3. Матрица

Скрытый текст

 


4. Круговой массив (разворот системы координат вокруг оси Z)

Скрытый текст

 


5. Круговой массив (вокруг 5-й оси)

Скрытый текст

 


6. Круговой массив 5-тиосевых операций (вокруг 5-й оси)

Скрытый текст

 

 

 

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

Здравствуйте! Я бы тоже не отказался от такой функции в NX 1880 для повторяющихся траекторий.  ОЧень удобно, а за какую сумму Вы планируете реализовать?

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

Здравствуйте, @MuxametshinRRРеализовать - можно. А остальное можно обсудить в лс. 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • 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 об/мин. Грешить на тех товарищей с которыми не сошлись по деньгам для обучения, как то не хочется. Поковырялся в настройках шпинделя, вроде всё в норме. Проводку на шпинделе прозвонил, целая. В чём причина, не понятна. Кто нибудь сталкивался с подобным, или с подобной стойкой? Может подсказать варианты причины подобного?
    • ДОБРЯК
    • Fedor
      https://en.wikipedia.org/wiki/Eigenvalue_algorithm   Вот , кстати, важное свойство которое раньше встречал у Стренга. :)    http://elibrary.bsu.edu.az/files/kitablar/1022.pdf   
×
×
  • Создать...