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

Анализ программ


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

 Задавался ли кто-нибудь вопросом о анализе программы на предмет ее эффективности(оптимальности). Имеется ввиду следущее. Я получил в CAM G-код. Далее мне нужно его проанализировать на предмет скажем, нет ли там нарушения динамики станка(смена направления на большой подаче). произошла ли смена инструмента через заданное время, и т.д. Вопрос такой, актуальна ли такая задача, и какие  важные моменты(критерии) можно было бы выявлять в программе. Мне еще в голову приходит менять подачу в зависимости от объема снимаемого материала. Предлагаю пофантазировать на эту тему предполагая, что информацию о программе можно получить любую.

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


Я, например,анализирую до того, как писать G-код. Интересуют в основном два момента - визуализация(что реально получится) и время выполнения.Если время не устраивает - тогда "в голову приходит менять подачу" или "объем снимаемого материала" :) Я не думаю о том - произошла ли смена инструмента и т.д. потому что я об этом думал, когда писал и прогонял постпроцессор.И я на 100% уверен, что сбоев не будет.

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

Я думаю, анализаторов "качества" G-кодов в чистом виде нет. Многие из функций, о которых говорил UAV присутствуют в программах графической верификации. Анализ и оптимизация величин подач и оборотов шпинделя, столкновения инструмента с деталью на быстрых ходах и прочее реализованы в той или иной степени, как приложения к задаче визуализации G-кода. Более подробно можно изучить данный вопрос на сайтах производителей программ. Если не знаете(где?), то даю линк на небольшой и далеко не полный обзор в этой области  <noindex>http://sapr2000.ru/link1.html</noindex>.

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

Ну по-моему контроль за нарушением динамики станка - это задача постпроцессора. И вообще серьёзно заниматься анализом G-кодов есть смысл (мне так кажется) заниматься только на стадии отладки постпроцессора. Иначе не останется время для работы. Если говорить о каком-то анализе, то конечно LexCAM прав - этим нужно заниматься до вывода G-кодов. Т.е. функции анализа (оптимизации обработки) должны быть в CAM-системе. Например, нужно сделать черновую обработку. Можно снимать по 2 мм на подаче 1000 мм/мин или по 10 мм на значительно меньшей подаче. Как быстрее на глаз сказать трудно, а чтоб САМ-система дала точный ответ ей все равно придется просчитать обработку в двух вариантах. Вот и весь анализ.

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

Quote: from sapr2000 on 11:46 - 18 Янв., 2002

Ну по-моему контроль за нарушением динамики станка - это задача постпроцессора..

Соглашусь. Постпроцессор просто обязан занижать подачу, если, например, на данном перемешении и минимальном времени отработки кадра такая подача не "успеет" отработаться приводом станка. Обычно это возникает на мелких участках траектории в несколько импульсов(напр.скругления).

Далее, как найти грань, которая разделяет врезание от столкновения? Только ли наличие быстрохода на таком перемещении, только ли плавое врезание? Ведь многие САМы не имеют по-переходной технологии, где такие вопросы решаются по умолчанию?

Quote: from sapr2000 on 11:46 - 18 Янв., 2002

LexCAM прав - этим нужно заниматься до вывода G-кодов.

Согласен. Любая приличная САМ-система должна обеспечить технолога максимальным кол-вом инструментов для инспекции траектории движения и техн.команд еще до постпроцессирования.

С другой стороны, Борис, ты хорошо знаешь  и другой подход - графическая верификацмя G-кодов. Это попытка на только рисовать, но и оптимизировать, и находить ошибки.

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

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

  - отлаживаешь постпроцессор

  - в G-коды "вкралась" ошибка и непонятно её происхождение

  - есть большие сомнения в правильности G-кодов

  - деталь сложная и дорогая, ошибка обойдется слишком дорого

  - при использовании старой или чужой программы

  Каждую программу верифицировать - так тоже времени не напасёшься. А анализ и оптимизация все же думаю должны делаться в САМ-системе.

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

Мы, кажется, немного удалились от темы. Вопрос стоял об анализе оптимальности УП. А мы кинулись в споры о том, в чем разница и зачем нужны верификаторы G-кодов и CL-файлов. :confused:

Мне помнится статья о оптимизации подач в EgeCAM. Я сам отношусь к этому процессу немного скептически, но если сабдж будет "обучаемым", а не слепо исполнять алгоритмы разработчиков, то тогда можно и подумать об его использовании. Иной раз подачи и обороты ставяться только исходя из опыта или результатов  пробного изготовления. А тут вмешивается сабдж и говорит - занизил подачу неправильно!

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

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

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

1. Понижать подачу если длина перемещения < Х.

2. Включать торможение (G9) если угол между перемещениями > X или след движение G00.

3. Сменить инструмент если время его работы > X или остановить обработку или пауза.

4. Подачу  увеличить если обьем снимаемый инстр < X уменьшить если >X

5. Менять велечину подачи в зависимость от встречное/попутное фрезерование

 

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

И все же... этот список проблем нужен вам для разработки постпроцессоров или программы анализа?

Если для первого случая, то скажу прямо - существуют общие принципы расчета динамики(т.е. управления величиной подачи), ровно как и оригинальные схемы, применимые только для определенной системы ЧПУ( например, реализация функции разгона-торможения на буфере 12 кадров для архаики). В перечислении, которые вы сделали, они уже смешаны.

Более того, мне кажется, что величина подачи, пришедшая в постпроцессор с тем или иным перемещением, должна подвергаться модификации весьма осторожно. Многи мои клиенты впадают "в транс", если выдят занижение подачи на том или ином участке траектории. Приходится анализировать каждый случай и объяснять, почему это произошло. Например, F5000 при движении по трем координатам мной не трактуется как быстрый ход, если в паспорте(постпроцессоре) кол-во координат БХ равно =2. Подача F200 занижается до минимально возможной на перемещении 5 мм, если минимальное время отработки кадра равно 0.1сек. и т п.

Иными словами, оптимизация динамики привода - это четкий свод правил, которые могут быть настроены пользователями того или иного постпроцессора. Если эти правила недоступны для изменения технологом, то это есть плохо. Это недостатки присущи индивидуальным постпроцессорам. Более того, сложные макроязыки, встроенные в универсальные постпроцессоры современных САПР, не дают возможность быстро  изменить алгоритмы(в том числе расчета динамики) самому технологу. Для этого он вынужден прибегать к помощи специально выделенного программиста. Это тоже, согласитеь, неудобно.

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

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

2Администратор

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

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

Очень много полезной информации.

Я понял, что существующие проблемы надо решать постепенно. Часть в САМ системе, часть в постпроцессоре и часть в верификаторе. Доля которая прийдется на эти части зависит от используемых систем.

Большая часть, на мой взляд, лежит на САМ'е, далее на постпроцессоре...

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

Согласен с AVD - проблему нужно решать по частям последовательно.

А всписок проблемных параметров для UAV могу добавить еще один.

Для сферической фрезый может быть актуальным дифференциальное изменение оборотов в зависимости от того какая точка фрезы касается поверхности -  нижняя, боковая или какая-нибудь промежуточная.

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

Спасибо! за параметр. Как его узнать? Анализировать угол нормали с осью Z?  Предлагается изменять только обороты, а подачу оставлять, сохраняя скорость резания?

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

2UAV

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

Что касается подачи, то - зависимость скорости резания от подачи на один-два порядка слабее, то есть можно совсем не учитывать.

И еще, такое изменение оборотов приемлемо только для чистовой обработки, выражаясь количественно - если снимаемый слой не превышает приблизительно 30% от радиуса фрезы.

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

Заранее пардон за категоричность, но боюсь, коллеги, вы ударились в теоретизирование и можете оказать "далеки от народа" (с) не-помню-кто. Что-то мне не верится, что можно по ходу изменения осевой/радиальной глубины резания менять обороты - она (глубина) меняется частенько весьма быстро, а инертность вращения маховика, которым является система шпиндель+инстр. система+собств. инструмент относительно велика. Смеха ради попробуйте прикинуть мощьность привода главного движения, которорая вам потребуется и (особенно) моменты на нем.

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

  На токарных станках давно реализован алгоритм изменения скорости вращения от скорости резания в процессе обработки. Правда там методика расчета на два порядка проще. Для фрезерной обработки применить очень проблематично. Это не проще 3D-коррекции и "завязано" не только на возможности САМ-системы, но и станка.

 

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

Михаил, а причем здесь подача? Там связь совсем другая - от заданной скорости резения (м/мин) и известного обрабатываемого диаметра (координата "Х" в УП) вычисляются обороты шпинделя. Вот и все. Подробностей не помню т.к. токаркой лет 300 не занимался, но при обработке торцев деталей большого диаметра народ у нас этой функцией пользоваться очень любил.

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

Про подачу на оборот - это я к тому, что если её значение сравнительно невелико (как при токарке), то можно успеть разогнать/затормозить шпидель до нужной величины, если она к тому же плавно меняется.

Попробуем прикинуть для фрезерования.

Берём достаточно типовые параметры чистовой обработки по сырой стали:

Фреза - 4-х зубая шаровая SGS 14BM, из рекомендаций производителя берем

Fz=0.04 , то на оборот 0,16 при этом n=6000-8000 мин**-1.

Тогда линейная подача

Vf (она же F) =Fz x n x Z

То есть для приведенного примера -

Vf ( F ) = 0.04 x 8000 x 4 = 1280

То есть за 1 секунду проезжаем при скорости 1280 мм/мин ~21 мм.

Что все это значит?

Все это значит, что если мы обрабатываем поверхность с более-менее выраженным рельефом, то (при наличии n-оптимизированной УП) необходимо постоянное изменение скорости вращения шпинделя. По моим наблюдениям даже легкий шпиндель гравировального типа разгоняется-тормозится в диапазоне 0,5 полного где-то 3-5 секунд. За это время он уезжает в нашем примере на 60-105 мм (что ни к черту). То есть нужно либо еще и прогнозирование какое-то придумывать в этом оптимизаторе, либо искать принципиально новые шпинделя (при этом плюнув на износ механики ;)). Словом сдаётся мне, что не сильно хорошая это идея - n-оптимизация.

(Отредактировал(а) MFS - 17:40 - 26 Фев., 2002)

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

В дополнение к списку проблемных параметров.

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

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

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




  • Сообщения

    • Orchestra2603
      Ох... надо осторожно)) усталость берется из-за накопления микропластических деформаций. А они всегда есть, даже задолго до достижения предела текучести. Просто до этого предела в циклике дислокации рождаются и аннигилируют, поэтому на макроскопическом уровне процесс выглядит обратимым, т.е. упругим. Но на микро уровне какая-то маленькая часть этих дислокаций сохраняется, и потихоньку это дело накапливается. Кром того, в какой-то момент скопление этих дислокаций вблизи концентратора или трещины начинает менять НДС локально, а это подстегивает еще большее накопление дислокаций и т.д., и т.п.   В малоцикловой это происходит все значительно быстрее, поскольку за каждый цикл порождается уже значительное количество дислокаций, и соответственно ждать долго до рарзушения не приходится.   Поправьте, если не прав.
    • cepr
      Есть возможность восстановить по неосторожности удаленную УП?
    • Guhl
      Если энкодер криво надели намаал, то все шесть вариантов могут быть ошибочными Неужели на современном фануке нет методики установки датчика, описанной в инструкции? Раньше было как-то так: устанавливаем корпус датчика по метке, даем (+) на U, даём (-) на V и W, с ограничением тока на несколько ампер. Ротор занимает определённое положение, вращаем полый вал энкодера пока не появится сигнал С1, затягиваем муфту. Все работает. Более того, я слышал, что современные фануки сами могут в автомате подстроиться под текущее положение энкодера на валу Может этот документ окажется полезным   CENTROID_Fanuc_Retrofit_Manual.pdf
    • lem_on
      Да нету там этой опции, Шура любит просто поумничать.   Зайти в диагностику и там будет в одной из вкладок список опций. 
    • 1123sss
      В итоге решилось очень просто. Нужно было прописать в программе для измерения _KNUM=$P_UIFRNUM чтобы она подставляла номер активной привязки, указанной в программе
    • 1123sss
      Проблему со сменщиком паллет решили. Для того чтобы сменщик паллет ставил паллеты на свои места нужно было выставить правильное значение параметра 155 (B RATIO (STEPS/UNIT) Проблема 2 решилась когда вернули параметру 224 значение 0 (кто то успел полазить в параметрах)
    • clavr
      "Надписи"  - это внешний вид грани  в модели Справка Solid естественно она будет видна только когда закрашенное исполнение. Заветной кнопочки именно для этой функции нет.  
    • Fedor
      Наверное все-таки сместить в сторону напряжений сжатия ...  Этого же добиваются при напряжении бетона в строительстве. 
    • clavr
      это новая фича. она работает. но это нужно две точки заново ставить если размер не слетел. много телодвижений. Плохо что в новой версии старые методы не работают(
    • Говорящий Огурец
      Разберем на вашем конкретном примере, который, видимо, выдает пост ваших программистов ЧПУ. Не самый удачный вариант, на мой взгляд, кстати говоря, но уж как есть:   L C+90 FMAX L A-90 FMAX PLANE SPATIAL SPA-90 SBP0 SPC90 STAY   Здесь сначала идет поворот физических осей станка, линейным движением, и лишь потом программный разворот системы координат, в котором параметр STAY означает "не трогать физические оси". Но вы их потрогали двумя кадрами выше :) И как вы справедливо заметили, эти 3 строчки можно заменить одной - последней, где поведение физических осей будет описано опцией TURN - вращать вслед за поворотом СК. В первом приближении, PLANE SPATIAL как раз максимально похож на 800й цикл. Он точно так же не привязан к физическим осям станка и можно использовать одну и ту же программу на 5тиосевых станках с разной кинематикой. Смещение нулевой точки можно делать отдельным циклом, после чего применять PLANE. Можете посмотреть еще и CYKL19 для 3+2 трансформаций. Возможно, он покажется вам проще. Вот он как раз жестко связан с осями станка. Что касается М128 - это вообще не в ту степь. Это включение RTCP - контроль положения кончика инструмента. Для непрерывной 5тиосевой обработки. Аналог сименсовского TRAORI
×
×
  • Создать...