Ресурсы Unigraphics: Создание постпроцессоров. Теория.

     Тут я опубликую часть теоретических знания из книг и публикаций, со своими изменениями. Опустив много всякой лабуды. Оставив только самое важное. Необходимое. То, что нужно помнить везде и всегда при работе.
Основную Теорию пишу на основе книги:
   "Молочник В. И., Гырдымов Г. П., Гольдштейн А.И. Проектирование постпроцессоров для оборудования с числовым программным управлением. — Л.: Машиностроение,1982 года."
  Существует 2-а варианта книги Молочника В.И - это известный профессор, автор и консультант многих постпроцессоров советской эпохи. В более поздней версии книги (1989) - лучше описана динамика и многокоординатная часть.
  По мимо этого у Вас под рукой всегда должны быть рукой книги по программированию Siemens, Fanuc, Heidenhain, наши русские.

Первое, что Вы должны представлять, это как создается технология обработки на станке, хотя бы приблизительно: 
Вам могут помочь в этом ->

Фельдштейн Обработка деталей на ЧПУ.   Разработка Технологического процесса.djvu (качество, не ахти, книга старая, да и сканер 6-и летней давности).

 

 - НЕ ОКОНЧЕНО.-

.....

Оборудование с числовым программным управлением. Современное оборудование с ЧПУ — это сложные технические системы, включающие в себя механические, электромеханические, гидравлические, электронные и другие узлы. Разработчику постпроцессора, однако, нет необходимости досконально изучать все блоки этого оборудования; поэтому в дальнейшем рассмотрим оборудование с ЧПУ, касаясь лишь существенных, с точки зрения разработчика постпроцессора, сторон.
   Специфика отдельных видов оборудования привела к созданию двух типов программного управления — позиционного и непрерывного (контурного). Позиционное управление находит применение в станках, где для перемещения или установки режущего инструмента можно использовать лишь независимо действующие серводвигатели. Такие станки предназначены для выполнения сравнительно простых операций — прямолинейного резания, сверления, расточки, нарезания резьбы. Контурное управление используется там, где требуется обеспечить произвольные траектории движения режущего инструмента. Характерными представителями этой группы оборудования являются токарные и фрезерные станки с ЧПУ.

Процессор и постпроцессоры.   Постпроцессор занимает промежуточное звено между решателем САПР и оборудованием с ЧПУ. Именно из-за огромного многообразия ЧПУ, разработчики САПР, в течение многих лет (начиная с 60-x гг.) создания своих продуктов, пришли к выводу, что не нужно напрямую выводить программы для ЧПУ. Эту работу следует предоставить отдельным программам - так называемым постпроцессорам. А язык\шаблон\массив всех выводимых\рассчитанных данных по траектории движения инструмента выводить в специальном общепринятом формате (промежуточном языке) APT\CLDATA, который постпроцессор должен читать.

Функции, выполняемые постпроцессором, весьма многообразны и выходят далеко за рамки простого кодирования в G - код. К типовым функциям постпроцессора можно отнести следующее:

  1. считывание данных, подготовленных решателем (процессором).
  2. перевод в координатную систему станка.
  3. проверка по ограничениям станка.
  4. Формирование команд на перемещение с учетом ЧПУ.
  5. Формирование команд, обеспечивающих цикл смены инструмента.
  6. Кодирование значений подач и скоростей шпинделя.
  7. Выдача команд на включение охлаждения, команд зажимов-разжимов.
  8. Назначение подачи с учетом ограничений, связанных с характером движения, допустимым диапазоном подач, особенностями реализации режимов разгона-торможения в УЧПУ.
  9. Формирование команд, обеспечивающих коррекцию с помощью корректоров системы ЧПУ.
  10. Обработка команд ЦИКЛ (разворачивание оператора ЦИКЛ в последовательность отдельных команд при отсутствии стандартных циклов в оборудовании).
  11. Диагностика ошибок.
  12. Выполнение ряд вспомогательных функций:
    подсчет длины,
    времени обработки,
    формирование листинга и перфоленты (если есть возможность).

ОСНОВНЫЕ ЭТАПЫ ПРОЕКТИРОВАНИЯ ПОСТПРОЦЕССОРА.

АНАЛИЗ ДАННЫХ ОБ ОБОРУДОВАНИИ С ЧПУ.
Состав документации на оборудование с ЧПУ. Перед началом проектирования разработчик должен изучить оборудование с ЧПУ. Документация, подлежащая проработке. поставляется вместе с оборудованием предприятия (фирмы) - изготовителем системы ЧПУ и станка.
   Из комплекта документации на систему управления для разработчика пост процессора представляют интерес инструкция по ручному программированию и описание алгоритмов функционирования УЧПУ. Из документации на станок требуется отобрать паспортные данные станка, общую схему станка и инструкцию по программированию. Инструкция, составленная предприятием - изготовителем станка, во многом повторяет инструкцию для системы управления, но содержит все особенности программирования для конкретного сочетания "система управления - станок".  Практика показывает, что зачастую некоторые необходимые данные в документации отсутствуют, а ряд сведений требуют пояснений на понятном для разработчика постпроцессора языке. Поэтому полезным оказывается непосредственный контакт разработчика либо с представителями заводов - изготовителей, либо с разработчиками системы управления и станка.
   Кроме изучения документации, разработчик должен познакомиться непосредственно (визуально) с работой оборудования с ЧПУ. Такое знакомство обычно устраняет многие неясные моменты.
Классификация данных о системе управления. Необходимые сведения о системе управления, как отмечалось выше, не изложены в отдельном документе. Поэтому они нуждаются в отборе и систематизации в целях наиболее удобного их использования при разработке постпроцессора.
   В первую очередь разработчик постпроцессора должен изучить функции системы ЧПУ, которые подразделяются по критерию возможности автоматического изменения их значений в процессе выполнения управляющей программы.
   Функции классифицируются по следующим группам:
автоматически программно управляемые:
  управление координатными движениями по осям станка X, Y, Z, U, V, W и т. д.;
  управление вращательными движениями вокруг осей станка А, В, С и т. д.;
  управление сменой инструмента;
  перемещения инструмента (подачей);
  управление выбором коррекционных установок;
  подготовительные операции (функции типа G);
  вспомогательные операции (функции типа М) и т. п.

программно управляемые с применением ручных способов;
  технологический останов;
  коррекцию размеров (компенсацию) инструмента;
  коррекцию величины подачи и т. п.

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

    При изучении функций системы управления рекомендуется составлять их описание по единой схеме.
1. Назначение - раскрывается содержание описываемой функции с точки зрения управления некоторым процессом, выполняемым на станке с помощью этой функции.
2. Тип функции —указывается принадлежность функции к одной из описанных выше групп.
3. Единица измерения.
4. Область допустимых значений.
5. Представление на носителе управляющей информации
6. Условия выполнения функции — описываются значения всех сопутствующих параметров, в том числе состояния и положения тумблеров, кнопок, переключателей системы управления, устанавливаемых автоматически или вручную оператором станка до начала выполнения функции или после ее выполнения для продолжения работы по программе.
7. Реализация функции — описывается принцип и последовательность действий органов и механизмов оборудования при выполнении некоторого процесса, протекающего под управлением функции.
8. Ограничения при применении функции — указываются пределы возможностей функции и совместимость ее с другими функциями системы управления.
9. Дополнительные характеристики — описывается то, что не охватывается предыдущими пунктами.
   При изучении функций системы управления разработчик параллельно знакомится с элементами ручного программирования. Однако освоение правил составления управляющих программ является самостоятельной задачей. Требуется изучить:
  правила кодирования управляющей информации;
  структуру кадра и формат управляющей перфоленты, включая специальные символы в начале (конце) управляющей программы и необходимую длину свободных участков перфоленты в начале и конце программы;
   рекомендуемую последовательность слов в кадре;
   рекомендации по использованию отдельных функций системы управления;
  рекомендации по объединению в один кадр, либо разнесению в разные кадры отдельных функций системы управления, а также   рекомендуемую последовательность записи этих функций.

    Целесообразно, если разработчик постпроцессора сам составит несколько пробных управляющих программ.
    Определенную группу данных образуют ограничения системы ЧПУ. Несмотря на то, что большинство ограничений фигурирует в описании функций системы управления, существует ряд ограничений, который не вписывается в перечень сведений о функциях.
    Так, ограничение на максимально допустимый радиус при движении инструмента по дуге окружности будет указано в описании функции, реализующей круговую интерполяцию. Ограничения на виды коррекции (например, допускается коррекция только гладких контуров) указываются в описании функции коррекции. Ограничения величин подачи будут даны в сведениях о функции подачи и т. д. Примерами ограничений, не входящих в описание функций системы управления, являются максимально допустимая длина управляющей перфоленты и минимальное время отработки кадра (ограничение появляется при учете скорости  учете скорости считывания перфоленты н максимального времени подготовки кадра в УЧПУ к интерполяции).
   При проектировании постпроцессоров, особенно для многокоординатного оборудования, может потребоваться знание некоторых внутренних алгоритмов функционирования устройства ЧПУ. В качестве примера можно привести алгоритм, устанавливающий соответствие между характеристикой скорости подачи и временем отработки кадра. Получение такого рода сведений обычно доставляет наибольшие затруднения.
Классификация данных о станке. Разработчик постпроцессора должен составить компоновочную схему, на которой должны быть представлены:
   взаимное пространственное расположение основных узлов и исполнительных органов станка;
   положение осей координатных перемещений, а также осей и центров вращательных движений;
   положительные направления перемещений и вращений.

Ограничения станка описываются по геометрическим и динамическим характеристикам, сюда относятся:
   пределы перемещений исполнительных органов станка;
   допустимые скорости перемещений исполнительных органов станка;
   допустимые мгновенные перепады скоростей перемещения исполнительных органов станка;
   допустимое ускорение перемещения исполнительных органов станка;
   совместимость перемещений исполнительных органов станка.

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

   В зависимости от конструкции станка одна и та же функция может относиться к любой из указанных выше групп. Так, смена инструмента может быть полностью автоматической, может требовать некоторых действий от оператора станка, может быть полностью ручной. Аналогичная структура имеет место для управления скоростью шпинделя, охлаждением, зажимами-разжимами осей и др.
   Описание функций станка следует проводить по той же схеме, что и описание функций системы управления. Функции, выполняемые и системой и станком, анализируются здесь с точки зрения работы станка.
   Особое внимание следует уделить исследованию вспомогательных функций (функций типа М), которые иногда называют технологическими командами. Сведения о технологических командах должны быть максимально подробными, поскольку они существенно влияют на правила комплектования кадра в постпроцессоре. Эти сведения должны содержать:
   кодирование команды;
   время исполнения команды;
   наличие ответа от станка в систему управления;
   механизм реализации команды;
   действия оператора станка в процессе исполнения команды;
   возможность совмещения с перемещениями;
   возможность совмещения с другими командами;
   команды, отменяемые данной командой;
   команды, необходимые после данной команды;
   действия оператора станка до и после исполнения команды.

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

Тестирование. Вопросы комплексной отладки тесно связаны с задачей тестирования, т. е. с задачей создания (на входном языке САПР) комплекса тестовых задач, в достаточной степени обеспечивающих проверку правильности функционирования постпроцессора. Можно рекомендовать следующую последовательность тестовых задач.
1. Простая задача, содержащая одно - два перемещения инструмента из точки в точку на небольшой подаче. С помощью этого теста проверяется правильность совместной работы основных блоков постпроцессора.
2. Задача, содержащая простые перемещения инструмента и различные операторы управления постпроцессором. Этот тест должен обеспечить проверку правильности комплексного функционирования блоков, занимающихся обработкой операторов управления постпроцессором.
3. Задача, содержащая простые перемещения инструмента при завышенных подачах, недопустимых перепадах составляющих скорости подачи, превышении пределов допустимых перемещений станка и т. п. Данный тест позволяет проконтролировать правильность работы блока динамики.
4. Задача, содержащая сложные перемещения инструмента. С помощью такой задачи проверяется детально работа блоков, тоже обрабатывающих данные о движении инструмента.
5. Комплексная задача, содержащая как сложные перемещения инструмента, так и различные операторы управления постпроцессором. Эта задача может впоследствии служить примером, используемым при передаче постпроцессора в опытную эксплуатацию.
   После того как постпроцессор отлажен на указанных тестовых задачах, следует провести проверку работы постпроцессора  на реальных программах обработки деталей с выходом на оборудование с ЧПУ.

 

МЕТОДЫ РЕШЕНИЯ ТИПОВЫХ ЗАДАЧ ПОСТПРОЦЕССОРАХ

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

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

Рассмотрим последовательно способы решения этих задач.
Учет скорости считывания перфоленты. Несмотря на то, что перфоленты уже давно не используются. Эта часть очень важна. Проблему скорости выполнения УП остается одной из важных. Одним из случаев подобного, это когда в программе очень много мелких перемещений и скорость подачи достаточна высока, может приводить к тому, что ЧПУ само будет занижать подачу или приводить к получению не того контура детали, или высока вероятность остановки станка в результате сбоя ЧПУ.
  Работа контурной темы ЧПУ построена таким образом, что в процессе отработки данного кадра одновременно осуществляются ввод и подготовку к выполнению последующего кадра. Следовательно, при перемещении инструмента всегда должно быть выполнено условие

t i  ≥ τ i+1

 
где   t i  - время отработки i-го кадра;
       τ i+1  - время считывания и подготовки (i+1) - кадра.
Выполнение этого соотношения обеспечивается следующим образом:
 

 

 

   Рассчитывается время N-ом кадре - τ N . Если превосходит время отработки кадра, записанного в (N-1) - й строке, то принимается   t N-1  ≥ τ N  и контурная скорость подачи в (N-1)-м кадре занижается по вышенарисованной формуле. Где  S N-1  - перемещение инструмента в (N-1) -м кадре.
   При подсчете τ N  используется скорость считывания ленты, а также данные о времени подготовки в УЧПУ кадра для случаев линейной интерполяции, круговой интерполяции и др. Если такие данные отсутствуют, то можно ограничиться введением поправочного коэффициента в τ N.
   Случай, когда анализируемый (N-1)-й кадр не содержит команд на перемещения, рассматривается особо. Здесь решение, принимаемое блоком динамики, зависит от особенностей конкретного оборудования (наличие или отсутствие ответа станка в систему управления и др.). Упрощенным способом учета скорости считывания является обеспечение выполнения условия: время обработки любого кадра не должно быть меньше некоторой минимальной величины.

 

Учет ограничений по скоростям перемещения исполнительных органов станка. Скорости перемещения исполнительных органов станка (подачи по каждой координате станка) вычисляются и известны; поэтому учет ограничений здесь несложен и сводится к циклической проверке выполнения неравенства

V k ≤V k доп

где V k — подача по k - координате;
    
 Vk доп—максимально допустимая подача по k-й координате.
   Значения максимально допустимых подач нам должны быть известны. Проверка осуществляется для элементов N-й строки УП. Если какая-либо составляющая V k оказывается больше допустимой, то контурная скорость V и время отработки кадра t пересчитываются по формулам:

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

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

Так как составляющие ускорения меняются в процессе движения, то для простоты можно ограничиться выполнением условия

a≤a доп ,

где aдоп выбирается как минимальное из допустимых ускорений всех приводов станка. При невыполнении неравенства контурная скорость снижается по формуле:

Учет ограничений по допустимым мгновенным перепадам подач (скоростей перемещения) исполнительных органов оборудования. Мгновенные перепады подач возникают при резком изменении направления движения, а также при скачкообразном изменении величины контурной скорости. В паспортных данных станка приводятся ограничения по мгновенным перепадам подач (НО может и не приводиться). Выполнение этих ограничений, так же как и ограничений по скоростям и ускорениям, обеспечивает недопущение сбойных ситуаций оборудования. Под сбойной ситуацией понимается, в конечном счете, потеря точности при обработке контура, остановка станка, срыв приводов. Для учета мгновенных перепадов подач постпроцессор должен анализировать характер изменения скорости в точках перехода с одного участка обработки на другой. При этом должно выполняться условие.

 где  V ki — подача по i - координате станка в конечной точке (N-l)-гo участка движения;
         V нi — подача по i-й координате станка в начальной точке N-го участка движения;
      Δ
V i доп ограничение по мгновенному перепаду подачи для i-й координаты станка;
       m — число координат станка.
   Решение, принимаемое блоком динамики для того, чтобы удовлетворить неравенствам, во многом зависит от особенностей конкретной системы управления. Однако во всех случаях сводится к организации снижения контурной скорости очке перехода с одного участка на другой до приемлемой величины.

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

  1.  Организация режима торможения. Многие системы ЧПУ позволяют с помощью специального признака, задаваемого в кадре, организовывать режим торможения до фиксированной скорости. Так, для УЧПУ модели ИЦО-П\2С42\2С65 наличие в кадре подготовительной функции G9 приводит к снижению контурной скорости (торможению) в конце отработки кадра на станке до скорости 100 мм/мин или до 0 (в зависимости от настройки станка). При этом в следующем кадре производится разгон до прежнего (либо нового, если оно задано) значения скорости (рис. а, б).
      В устройстве ЧПУ модели Н33 аналогичный режим торможения (до скорости 240 мм/мин) осуществляется с помощью признака, указываемого под адресом F в старшем разряде кода подачи. (Цифра 4).
      Задача постпроцессора здесь состоит, однако, не только в том, чтобы сформировать в кадре соответствующий признак. Если перемещение в кадре достаточно велико, то может возникнуть ситуация, когда участок, требуемый для осуществления торможения, превосходит по величине участок пути в кадре. 

    В этом случае необходим просмотр и корректировка величин подач в предыдущих кадрах. Алгоритм такой корректировки связан с учетом правил изменения величины контурной скорости и рассматривается несколько ниже (см. ниже).

  2. Ступенчатое снижение скорости. Если в системе ЧПУ реализовано только скачкообразное изменение скорости, то снижения подачи в точке перехода можно добиться, организовав ступенчатое торможение и последующий ступенчатый разгон. 

    В этом случае первоначальные перемещения разбиваются на ряд участков, па каждом из которых назначается соответствующая подача.

  3. Формирование промежуточного кадра. Режим торможения до фиксированной скорости не всегда может обеспечить выполнение неравенств (см. выше). Например, при реверсе по координате станка, управляемого УЧПУ модели Н33, мгновенный перепад составит (при режиме торможения до фиксированной скорости) 480 мм/мин, что не удовлетворяет ограничениям, обычно равным 240-300 мм/мин. В таком случае постпроцессор должен сформировать промежуточный кадр, в котором задана подача 120 мм/мин, и поместить его между кадрами, содержащими рассматриваемые участки. Тогда величина подачи в точке, соединяющей участки, будет равна 120 мм/мин и, следовательно, мгновенный перепад составит 240 мм/мин, что удовлетворит ограничениям. При этом режим торможения до фиксированной скорости можно не указывать

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

В станках с программным управлением применяются приводы подач, которые можно разделить на две принципиально отличные группы:
   1) приводы с управлением по разомкнутому циклу, т. е. без обратной связи а);
   2) приводы с управлением по замкнутому циклу, т. е. с обратной связью — следящие приводы б).

  Первая группа приводов требует использования исполнительных элементов со строго дозированным перемещением на каждый импульс входного воздействия. В качестве этих элементов в станках с ЧПУ получили применение шаговые электродвигатели. Из принципа их работы следует, что погрешность обработки не должна превышать значения, соответствующего одному импульсу команды (одному шагу электродвигателя). В противном случае, ошибки, возникающие из-за того, что электродвигатель не успевает отрабатывать все импульсы команды, будут накапливаться. Кроме того, во многих конструкциях шаговых электродвигателей не допустим ни один сбой, кик при этом электродвигатель полностью теряет управление.
   Следовательно, в управляющей программе максимальные частоты командных импульсов и скачки этих частот не должны превышать допустимых для данного электродвигателя, т. е. должны выполняться ограничения по скоростям перемещений и по мгновенным перепадам подач исполнительных органов станка. В случае разомкнутой системы управления, для постпроцессора не возникает задач по учету каких-либо дополнительных факторов.
   Основным достоинством приводов с шаговыми электродвигателями является простота реализации разомкнутого цикла управления. Недостатки шаговых двигателей состоят в трудности получения больших подач при малой цене импульса и в больших требованиях к механической передаче от двигателя до управляемого органа станка. Приводы с шаговыми электродвигателями применяются в основном в станках невысокой точности.
   Для получения более высоких точностей обработки необходимо применение обратной связи, т. е. измерение фактических размеров обрабатываемой детали и управление приводом в функции разности размеров, заданных в программе и полученных фактически. Размер детали определяется косвенно, путем измерения перемещений исполнительных органов станка.

 

   Ошибки следящих приборов подразделяются на статическую, соответствующую неподвижному состоянию и динамическую, которая соответствует непрерывно изменяющемуся воздействию на входе. Оба вида ошибок стремятся минимизировать уже на этапе конструирования оборудования. Таким образом, если при составлении управляющей программы удовлетворим ограничениям по скоростям, ускорениям и мгновенным перепадам, то ошибка воспроизведения контура не превысит некоторого предела, определяемого рабочими характеристиками приводов. Такой предел, однако, может не устраивать технолога. Отсюда возникает задача учета динамической ошибки в постпроцессоре в целях дополнительного увеличения точности воспроизведения контура.
   Динамическая точность воспроизведения заданного контура определяется входными сигналами, соответствующими контуру, и передаточными функциями следящих приводов станка. Зная то и другое, в принципе можно вычислить в постпроцессоре динамическую погрешность следящего привода и, если ошибка на контуре превышает допустимую, скорректировать значение контурной скорости. Такой подход, однако, в общем случае неприемлем, так как он недопустимо снизит быстродействие постпроцессора. Поэтому постпроцессор обычно производит учет динамической ошибки только в наиболее критической ситуации —в случае резкого изменения направления движения.

   На рис. показаны заданная и реальная траектории движения инструмента при обходе угловых точек.

   Есть Теорема, что при одинаковых характеристиках приводов величина перебега l не зависит от расположения обрабатываемого профиля в системе координат, а зависит только от значения контурной скорости V в угловой точке, т. е, l=f(V). Эту зависимость можно получить, используя значения некоторых динамических характеристик приводов. Однако в постпроцессоре удобнее использовать экспериментально полученную зависимость, в которой каждому значению подачи Vi ставится в соответствие получаемый перебег li=f(Vi). Далее, на основании зависимости li=f(Vi) находим максимально допустимое значение подачи V доп в угловой точке. Снижение подачи до величины V доп может быть осуществлено постпроцессором с помощью одного из рассмотренных выше способов.


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

На рис. изображены различные ситуации торможения до скорости Vk при одной и той же длине 5 участка пути в кадре (ускорение торможения а = const). При снижении скорости от значения Vнз, необходимый тормозной путь Sт > S, т. е. торможение не успевает закончиться к концу кадра. Это приводит к сбойной ситуации СЧПУ.

  На рис. изображены те же случаи торможения от Vн1, Vн2 до Vн3, НО по оси абсцисс указано время.
  Задача постпроцессора в случае
Sт > S, состоит в том, чтобы снизить значение контурной скорости в кадре до такой величины V'н  при которой новый тормозной путь S'т =S. Снижение скорости в i - кадре может привести, в свою очередь, к необходимости организовывать торможение в (i-1) - м кадре до скорости V'н  . Здесь также может возникнуть ситуация, когда Sт > S и т.д. Поэтому буфер кадров (если Вы его предусмотрели) должен иметь достаточное для организации правильного торможения в любой реальной ситуации.

   Количество строк буфера N определяется исходя из  особенностей того оборудования, для которого разрабатывается постпроцессор. При этом N должно быть достаточным для того, чтобы путем анализа и корректировки строк исключить возможность сбойных ситуаций СЧПУ и станка.
   Типовым условием для определения числа строк буфера N является требование правильной организации торможения при любых начальном и конечном значениях контурной скорости подачи. Ясно, что наибольшая длина тормозного участка и, соответственно, наибольшее время торможения будет иметь место при сбросе скорости от ее максимального значения до нуля. При линейном законе изменения контурной скорости, наибольшее время торможения будет равно:

 t*торм = Vmax / a

где Vmax — максимально допустимое значение скорости подачи;
             а — ускорение торможения.
   Наибольшее число кадров, которое может потребоваться для организации торможения и которое определяет размерность буфера,

  N =  [ t*торм/ τmin ] + 1

где τmin — минимально допустимое время отработки кадра, а квадратные скобки означают целую часть числа. Величина τmin обычно связана с ограничением по скорости считывания управляющей ленты или временем отработки кадра.
При определении N, качестве Vmax целесообразно брать не ускоренную, а максимальную рабочую подачу, так как «мелкие;» кадры появляются при аппроксимации различных кривых и поверхностей, описывающих контур детали. Поскольку на таких участках имеет место обработка детали инструментом, то и подача находится в пределах рабочей.

   Алгоритм решения задачи строится следующим образом. Если в кадре, записанном в (N — 1)-й строке буфера, требуется торможение, то строится цикл с использованием параметра i, определяющего номер анализируемой строки.
 
Первым действием в цикле является расчет длины тормозного участка по формуле
- S(i)т
 где V(i)н  - скорость подачи в начале торможения в i - кадре;
  V(i)к  - скорость, до которой требуется затормозиться в   i - кадре;
  a - ускорение разгона-торможения, равное const.
  Если S(i)т S(i) (рис. ниже  а-б), то алгоритм заканчивает работу.
  Если
S(i)т> S(i), то рассчитывается
максимальная скорость V(i)н.т, от которой можно успеть затормозиться  до V(i)к.
  Далее, величина V(i)н.т, сравнивается с величиной подачи в начальной точке кадра V(i)н.р. Если V(i)н.т<V(i)н.р (рис ниже  г), то следует принять подачу в i-м кадре V(i)
=V(i)н.т, и перейти к анализу (i-1) - й строки. Если же V(i)н.тV(i)н.р, можно принять V(i)=V(i)н.р и закончить просмотр буфера.

 Алгоритм построен так, чтобы не рассчитывать скорость в точке пересечения участков разгона и торможения. Если все же выполнить этот расчет, то в случаях, изображенных на рис. б), в), следует принять V(i) = VR . Приведенный алгоритм носит обобщенный характер и уточняется при реализации.

Все написанное выше, с небольшими вариациями используется в генераторе постпроцессоров UG MDFG.
  Опция Deceleration Span Parameters [Параметры участка Торможения]. В ней можно задать постоянную ускорения, значение перебега (оператор MCHTOOL/n ). Имеется таблица максимальных подач перебега для 20 значений.
  Расчет параметров торможения выполняется следующим образом.
  Постпроцессор берет запрограммированное или принимаемое по умолчанию значение допустимого перебега  и находит в таблице соответствующую максимальную подачу, которая обеспечивает допустимый перебег при изменении направления движения на 90 градусов. Затем эта подача пересчитывается с учетом фактического угла изменения направления. полный останов эквивалентен изменению направлению на 180 градусов. Если пересчитанное значение допустимой подачи ("подача торможения") меньше, чем запрограммированная подача, то постпроцессор рассчитывает длину участка торможения, необходимого для снижения скорости  с запрограммированного значения до значения подачи торможения. Координаты начальной точки участка торможения рассчитывается путем вычитания его длины из общей длины перемещения. Постпроцессор формирует кадр перемещения в расчетную промежуточную точку на запрограммированной подаче, а затем кадр перемещения в конечную точку на подаче торможения.
  Вычисления производятся по обычным формулам из курса физики и математики:

FA=FRMAX/(1-cos(A))
SS=[ (FP)2-
(FA)2 ] / (2a+c)

где :

FA        - расчетная подача торможения
FRMAX
- максимальная допустимая подача из таблицы
A           - угол изменения направления
SS
        - длина участка торможения
FP        -  запрограммированная подача
a
           -  постоянная ускорения
c
           - постоянная станка

Опережающий просмотр. Для реализации динамической устойчивости иногда применяется так называемой LOOK AHEAD. LOOK AHEAD - это предпросмотр вперед на N-число кадров УП, с целью изменения перепадов скоростей и контурной скорости. В разных системах УЧПУ он решается по разному. Иногда полной компиляцией УП и размещением её в куче памяти. Чаще всего создается своеобразный буфер с разным числом ячеек (от 1000 кадров - Heidenhain, до 4 кадров - система ЧПУ MTC200).

Примеры алгоритмов торможения ЧПУ.

Интерполятор УЛИ-1,2,5:

Величина отработки команды ~ определяется из соотношения:

 t= 60 sqrt(Δx2+Δy2+Δz2)/F

 Δx, Δy, Δz - перемещения в мм,  F - подача в мм\мин

Частота обработки кадра в Гц :     f=1/t   .

 Система программного управления станка характеризуется максимально допустимой величиной перепада частоты по координате, при которой не возникает дополнительной динамической ошибки. Как правило, эта величина одинакова для всех координат и колеблется для разных станков и систем ЧПУ в пределах 50-200 Гц.
 В процессе программирования расчета времени обработки команды проверяют, не превышает ли перепад частот по координатам между программируемым участком и предыдущим максимально допустимым. Если перепад выше допустимого, то на предыдущем участке необходимо запрограммировать торможение. Разгон в интерполяторах осуществляется не по программе, а автоматически после команды с торможением и в начале программы, поэтому в программе не кодируется. Исходя из определенного времени отработки участка торможения, вычисляется его величина.
  Время отработки участка торможения заложено в нескольких вариантах (0.5 ; 1; 2; 4) сек в системе интерполятора. Если участок содержит
Δi импульсов по координате x и отрабатывается за T0, то участок торможения, отрабатываемый за tт = 0.5 сек , будет содержать Δiт  импульсов:
В общем виде:

   Δiт = (Δiт/T0 ) tт
 
 Δi0 = Δi - Δiт  - участок торможения
  
tотр = T0 + tт - общее время отработки кадра, с торможением.

 Так происходит выделение участка торможения, если программируемый участок отрабатывается за время, большее времени торможения. Если участок, в конце которого надо произвести торможение, отрабатывается за время, равное времени торможения, то участок торможения не выделяется. В конце команды ставится код торможения. И, наконец, если участок отрабатывается за время, меньшее времени торможения, то к нему присоединяется часть предыдущего участка так, чтобы объединенный участок имел необходимое время отработки, = времени торможения.
 

Электроника 60  В УЧПУ используется разгон-торможение по линейному закону:
 при разгоне

  vт = vт + Δv , если (vт + Δv)<vз
 
vт = vз          , если (vт + Δv)>vз

 при торможении

  vт = vт - Δv , если (vт - Δv)vз
 
vт = vз         , если (vт - Δv)vз

где  vт - текущее значение скорости в памяти, Δv -  величина ступени разгона.
   Путь разгона Sр суммируется на всех участках разгона. При замедлении до нулевой скорости путь торможения  Sт  =Sр + Sд, где  Sд - участок доработки, необходимый при точном позиционировании. При замедлении до промежуточной скорости фактически путь торможения вычитается из пути разгона.
 

Fanuc  Я не собираюсь полностью набирать инструкцию по программированию касающеюся динамики. :):) - но Вам советую прочитать, особенно про высокоскоростной режим работы. (G5 P1, G8, , )
 Но вот интересная математика для разгона-торможения в кадре, и учет максимальной подачи в кадре.

 Пусть подача F.
 
Имеем Vx , Vy , Vz  - скорости вдоль каждой оси.
 
Vi,max - максимальная скорость по осям (параметр № 1780,...... ).

 Тогда рассчитаем Rmax = max{ Vx/Vx,max,Vy/Vy,max,Vz/Vz,max }
 
Новая пересчитанная подача  Fnew = F/Rmax
 

FMS-3000   1.Расчет составляющей подачи по осям при линейной интерполяции: 

 2. В этой УЧПУ расчет результирующей подачи производиться следующим образом:
1. Определяются направляющие косинусы:
 
2. Вычисляются максимально возможные контурные подачи и выбирается минимальная из рассчитанных максимально возможных контурных подач. Таким образом, время позиционирования будет минимальным, при этом ни по одной из осей, участвующих в движении, подача не превысит максимальной.
  - максимально возможные подачи по координатам из станочных параметров осей;
   



ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ ПОСТПРОЦЕССОРОВ ДЛЯ МНОГОКООРДИНАТНОГО ОБОРУДОВАНИЯ

Определение координат исполнительных органов станка. Как уже отмечалось, при программировании многокоординатной обработки процессор САПР формирует записи, содержащие группы (х, у, z, i, j, k), где значения x, y, z являются последовательными положениями центра (конца) инструмента в системе координат детали, а значения i, j, k — составляющие вектора (направляющие косинусы) оси инструмента для каждого положения.
   Задача постпроцессора — вычисление по х, у, z, i, j, k координат исполнительных органов станка так, чтобы реализация значений этих координат на станке обеспечивала требуемое положение центра инструмента и требуемый наклон оси. Такое преобразование производится в постпроцессоре при обработке текущей опорной точки. Трудности решения этой задачи в общем виде связаны с большим разнообразием координатных схем многокоординатных станков, которые можно разделить на три основных типа:
(Советское деление)
  станки с поворотным столом и наклоняемой шпиндельной головкой;
  станки с не наклоняемой шпиндельной головкой и столом, совершающим поворот в двух взаимно перпендикулярных плоскостях;
  станки без поворотных столов со шпиндельной головкой, поворачивающейся в двух взаимно перпендикулярных плоскостях.
  Существуют станки, не вписывающиеся в эту классификацию
.
  Кроме того, в рамках каждой из приведенных групп возможны разнообразные варианты, так что конечные формулы расчета координат исполнительных органов станка будут различаться.
  Вот деление фирмы Siemens ( брошюра за 2004 год, простите за отвратительное качество, все что осталось)

  Я не буду останавливаться на показе вывода этих формул, кому интересно -  поищите соответствующую литературу или смотрите здесь

например, GPM использует описанные ниже методы для расчета координат траектории инструмента . Coordinate Value Calculation [Расчет значений координат]

For All Machine Types Except Lathes [Для всех типов станков за исключением токарных] For Lathes [Для токарных станков]

 

Xp,Yp,Zp

Координаты в ссылочной системе координат станка без поворота.

Xr,Yr,Zr

Координаты в системе координат станка с поворотом.

ORIGIN(x,y,z)

Вектор от нулевой точки системы координат детали до нулевой точки системы координат станка задается командой ORIGIN.

TRANS(x,y,z)

Вектор переноса системы координат детали задается командой TRANS.

SET(x,y,z)

Вектор от нулевой точки станка до нулевой точки системы координат станка задается командой SET/XAXIS.

ZOFF

Длина инструмента, которая задается в команде LOAD .

I,J,K

Входной вектор оси инструмента.

RA

Угловая позиция поворотной оси задается входным вектором оси инструмента.

Xm,Ym,Zm

Координаты станка (без поворота)

Machine Tool Coordinates [Координаты станка]

Xp

= (програмируемое значение X) + TRANS(x) - ORIGIN(x)

Yp

= (програмируемое значение Y) + TRANS(y) - ORIGIN(y)

Zp

= (програмируемое значение Z) + TRANS(z) - ORIGIN(z)

Non-Multi-Axis Mode (no tool axis vectors) [Не многоосевой режим (без векторов оси инструмента)]

Xr

= Xp

Yr

= Yp

Zr

 = Zp

Multi-Axis Mode [Многоосевой режим]

Поворотная ось в плоскости YZ

RA

= ARCTAN (-J/K)

 

Xr

= Xp

 

Yr

= Yp * cos(RA) + Zp * sin(RA)

 

Zr

= -Yp * sin(RA) + Zp * cos(RA)

Поворотная ось в плоскости ZX

RA

= ARCTAN (I/K)

 

Xr

= Xp * cos(RA) - Zp * sin(RA)

 

Yr

= Yp

 

Zr

= Xp * sin(RA) + Zp * cos(RA)

Поворотная ось в плоскости XY

RA

= ARCTAN (J/I)

 

Xr

= Xp * cos(RA) + Yp * sin(RA)

 

Yr

=-Xp * sin(RA) + Yp * cos(RA)

Machine Tool Coordinates [Координаты станка]

Xm

= Xr - SET(x)

Ym

= Yr - SET(y)

Zm

= Zr - SET(z) + ZOFF

Cycle Values [Значения в циклах]

Rapid R

= Zm + RAPTO значение

Depth Z

= Zm + FEDTO значение

Некоторые токарные станки с ЧПУ требуют программирования в X и Z координатах, некоторые в X и -Z, и некоторых в X и Y. Чтобы упростить программирование, когда токарный станок заданный в MDF обрабатывается GPM, Unigraphics, использует собственную систему координат. При этом имеется два базовых размера:

  • Размер c это расстояние паралельное к оси вращения СКС.

  • Размер d это расстояние перпендикулярное к оси вращения СКС..

Специальная система координат преобразуется в систему координат токарного станка с ЧПУ постпроцессором следующим образом:

Formula Definitions [Описание формул]

(c,d,0)

Координаты файла средней линии

Xp

Координата позиции конечной точки инструмента, паралельная осевой линии, измеренная от нулевой точки станка, в системе координат детали.

Yp

Координата позиции конечной точки инструмента, перпендикуляная осевой линии, измеренная от нулевой точки станка, в системе координат детали.

ORIGIN (c,d)

Вектор от нулевой точки детали до нулевой точки станка заданный командой ORIGIN.

TRANS (c,d)

Вектор переноса системы координат детали заданный командой TRANS.

XOFF

Расстояние от ссылочной точки револьверной головки до конечной точки инструмента, паралельное осевой линии, которое задано командой TURRET.

YOFF

Расстояние от ссылочной точки револьверной головки до конечной точки инструмента, перпендикулярной осевой линии, которое задано командой TURRET.

TLC

Смещение инструмента паралельно осевой линии
= XOFF если точка трассировки задана от сылочной точки револьверной головки
= 0 если точка трассировки - это конечная точка инструмента

TLD

Смещение инструмента перпендикулярно осевой линии
= YOFF если точка трассировки задана от сылочной точки револьверной головки
= 0 если точка трассировки - это конечная точка инструмента

(см. MACHIN/OPTION,99)

R

Коэфициент определяющий вывод Радиус/Диаметр
= 1 для оси вывода X в режиме радиуса
= 2 для оси вывода X в режиме диаметра

Xm

координата оси X станка

Zm

координата оси Z станка

Xp, Yp Calculations [Расчет координат Xp, Yp]

Xp

= (програмируемое значение c) + TRANS(c) - ORIGIN(c)

Yp

= (програмируемое значение d) + TRANS(d) - ORIGIN(d)

Machine Tracking Point Calculations [Расчет точки трассировки станка]

Xm

= R*Q* (Yp - TLD)

Zm

= Xp - TLC

For Production Center Mill Mode With Radius And Angle (Polar) Coordinates [Координаты для обрабатывающего центра в фрезерном режиме в полярных координатах (с радиусом и углом)]

Formula Definitions [Описание формулы]

RA

Угловая позиция поворотной оси определяется из координат Xp,Yp,Zp.

Xm,Ym,Zm

Координаты

Machine Tool Coordinates - Unrotated [Координаты станка - Без поворота]

Xp

= (програмирумое значение  X) + TRANS(X)-ORIGIN(X)

Yp

= (програмирумое значение  Y) + TRANS(Y)-ORIGIN(Y)

Zp

= (програмирумое значение  Z) + TRANS(Z)-ORIGIN(Z)

Machine Tool Coordinates - Rotated [Координаты станка - Поворот]

Xm

= SQRT (Xp**2 + Yp**2)

Ym

= 0

Zm

= Zp

RA

= ARCTAN (Yp/Xp)

 

  Единственно, нужно уточнить, что преобразование {x, y, z, i, j, k}<>(Х, Y, Z, A, B, C) может является однозначным, т. е. не существует другого набора (X', У', Z', А', В', С'} обеспечивающего то же положение инструмента в пространстве. А может иметь  место неоднозначность. Так, в станках с поворотным столом неоднозначность возникает, если последующие положения инструмента должны быть диаметрально противоположными наружной поверхности цилиндра, закрепленного на поворотном столе. Это перемещение может быть осуществлено посредством поворота стола на 180° в положительном или отрицательном направлении или посредством простого движения не вращающегося стола на расстояние, равное сумме диаметров цилиндра и инструмента. Неоднозначность может иметь место и для станков без поворотных столов, с вращающейся шпиндельной головкой. Неопределенность возникает в случае, когда ось инструмента переходит из наклонного положения в вертикальное, поскольку при этом значение одного из углов может быть произвольным.
  Еще одной проблемой преобразования, являются ограничения кинематики станка.
 Очень часто для стола или головы с осью С - в процессе раскрутки наступает лимит вращения ( ±192º или ±400º ). Постпроцессор должен сформировать кадры отхода от детали\заготовки, затем возвращения оси С в ближайшее минимальное значение. А затем возвратить инструмент обратно в точку обработки. В результате этих манипуляций на металле могут появится "риски".

Решение проблемы нелинейности. В функции постпроцессора для многокоординатного оборудования входит решение так называемой проблемы нелинейности. Эта проблема состоит в том, что при наличии одновременных поворотных и поступательных перемещений центр инструмента движется по криволинейной траектории между двумя точками (рис. а).

  Постпроцессор\ЧПУ обязан обеспечить движение центра инструмента по прямой (рис. б) или с отклонением от прямой в пределах заданного допуска δ. Для этого отрезок движения должен быть разбит на необходимое число участков, на каждом из которых отклонение δ от линейной траектории меньше допустимого. Реализация этого алгоритма можно найти в постпроцессорах UG. Раньше это приходилось делать вручную. Сейчас с ростом вычислительных способностей RISC, ALPHA - процессоров, эту часть часто перекладывают на систему ЧПУ.
 

  УЧПУ станков по расчету и контролю движения инструмента можно разделить на 2 части:

от кончика инструмента: от точки подвески инструмента:

 В этом случае проблема нелинейности и линеаризации решается оператором или макросом:
  Siemens -
   TRAORI\TRAOFF
  Heidenhain  -
функциями класса подпрограмм M128\M129  M114\M115
  Fanuc      - G43.4-5
(Вообще то, система Fanuc изначально создавалась для роботизированных систем и роботов, а не для станков)
  Mazatrol  - G54.x

 

 К этому классу ЧПУ относятся системы среднего класса, как Альфа, 4С300, NC110-210, и др. Часто применяемые для модернизации старых станков.
 В этом случае, при создании обработки Вы должны учитывать вылет инструмента
  ( для UG: задавать в операторах ORIGIN(0,0,z)  и в описании инструмента (Tool Offset) )
 
- оператор на станке должен вносить этот вылет в соответствующее значение таблицы инструментов.

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

Более подробно как проводить линеаризацию программным путем Вы можете ознакомиться в  соответствующей литературе или в шаблонах PB.

Расчет характеристики контурной скорости подачи. На участках многокоординатной обработки устройство ЧПУ реализует режим линейной интерполяции, где перемещение по каждой координате осуществляется (исключая разгон-торможение) равномерно на протяжении отработки кадра. Такой закон движения не обеспечивает постоянства контурной скорости подачи.
  См рис, где при совместной работе координат X и В вектор контурной скорости V меняется по величине при постоянных значениях |V
X| и |VB|.

   Теоретически ошибки воспроизведения контурной скорости могут быть сколь угодно велики. Так, при |VX| = |VB| контурная скорость при прохождении инструментом вертикального положения равна 2Vx, если движение по X осуществляется в положительном направлении, и = 0, если направление движения по X отрицательно. Однако, в обоих случаях в кадрах УП задана одна и та же подача.
   Закон изменения контурной скорости на протяжении отработки кадра определяется выражением

  Подстановка формул кинематики в это выражение даст закон изменения контурной скорости V на протяжении отработки кадра. Полученный расчет можно использовать для оценки отклонения реальной контурной скорости от заданной. Оценка, однако, носит ретроспективный характер и не дает разработчику постпроцессора ответа на вопрос, какую же величину подачи следует формировать в кадре. Для решения поставленной задачи целесообразно принять следующий алгоритм: формировать в кадре код подачи так, чтобы реальное время отработки кадра было равно заданному. Так как формируемое число не совпадает, в общем случае, с контурной скоростью, будем называть его характеристикой подачи.
   Из указанного вытекает, что разработчик постпроцессора должен знать закон, по которому в УЧПУ осуществляется связь между характеристикой подачи и временем отработки кадра. Этот закон должен быть, точно или приближенно, реализован в постпроцессоре при расчете характеристики подачи.
   В устройстве ЧПУ ИЦО-П, связь между временем отработки кадра t и характеристикой подачи V
F определяется формулой:

   Ясно, что точная реализация этого алгоритма в соответствующем постпроцессоре не представляет затруднений.
В устройстве ЧПУ Н55, управляющем 5-координатным станком, величины t и V
F связаны соотношением

где ni число импульсов в кадре, выданных одновременно по i координатам; i = 1,5; t — время отработки кадра, с.
   Таким образом, здесь задача сводится к определению временного распределения импульсов в кадре. Точное вычисление распределения импульсов предполагает моделирование соответствующего блока интерполятора в постпроцессоре.
 

 

Copyright © 2001—2009 че