IMSpost — универсальный генератор постпроцессоров для оборудования с ЧПУ
Модель станка и ее использование
Разработка постпроцессоров является традиционной задачей: еще до появления CAD/CAM-систем постпроцессоры входили в состав САП (систем автоматизации программирования), выполнявших роль средств автоматизации разработки управляющих программ для станков с ЧПУ. Геометрия обрабатываемой детали и технология обработки описывались в САП в текстовой форме (например, на языке АРТ), после чего выполнялся расчет траектории движения инструмента. Для результирующего описания траектории обычно использовался стандартный формат CLDATA (Cutter Locations DATA). Эти данные обрабатывались постпроцессором, который формировал управляющую программу (УП) для конкретной модели станка с ЧПУ.
Казалось, что развитие систем ЧПУ приведет к такой унификации форматов УП, что сделает постпроцессоры ненужными. Однако по ряду причин этого не произошло. Основная из них — стремление изготовителей оборудования с ЧПУ обеспечить пользователей собственными средствами автоматизации «ручного» программирования, реализованными в системе ЧПУ. Унификация формата УП осталась на уровне стандарта ISO, который носит достаточно общий характер и не избавляет от необходимости разработки постпроцессоров. Таким образом, и сегодня постпроцессоры входят в виде модулей в состав CAD/CAM-систем (или САМ-систем, далее мы не будем делать различий).
Потребность в разработке большого числа постпроцессоров и значительная трудоемкость их разработки привели к появлению средств автоматизации проектирования постпроцессоров. Эти средства прошли свой путь развития — от библиотек стандартных подпрограмм до специальных автоматизированных систем (генераторов постпроцессоров).
Сегодня практически любая CAD/CAM-система имеет в своем составе собственные генераторы для автоматизации разработки постпроцессоров. Эти генераторы используют во многом общие идеи, но различаются, так сказать, глубиной их реализации. Проблема состоит в том, что для разработчиков CAD/CAM-систем автоматизация проектирования постпроцессоров является второстепенной задачей, а основные их усилия направлены на решение других задач, в большей степени влияющих на положение выпускаемого продукта на рынке.
Данная ситуация привела к появлению на рынке фирм, специализирующихся на разработке таких генераторов постпроцессоров, которые могли бы встраиваться в CAD/CAM-системы или использоваться в качестве автономных средств автоматизации. Понятно, что уровень автоматизации проектирования постпроцессоров, обеспечиваемый этими генераторами, должен быть существенно выше того, который предлагается разработчиками CAD/CAM.
Наиболее известной из таких фирм является компания IMS Software, Inc. (США), выпустившая на рынок универсальный генератор постпроцессоров IMSpost. Эта разработка наиболее полно реализует современные идеи в области проектирования постпроцессоров, а именно:
- l действия постпроцессора по преобразованию траектории инструмента в управляющую программу описываются на специальном языке высокого уровня, в котором имеется возможность оперировать параметрами траектории инструмента и управляющей программы как понятиями языка. Этим достигается максимальная гибкость проектирования при одновременной простоте и компактности программы действий постпроцессора;
- l параметры, определяющие формат кадра, начала и конца УП, подготовительные и вспомогательные функции и другие характеристики управляющей программы, задаются в специальных настроечных таблицах (диалоговых окнах), что дополнительно упрощает проектирование и модификацию (редактирование) постпроцессора. Во многих случаях для разработки нового постпроцессора достаточно выполнить изменения в диалоговых окнах постпроцессора, взятого в качестве аналога;
- l с помощью специальных таблиц можно описать геометрию и взаимное расположение исполнительных органов и узлов станка с ЧПУ. Это обеспечивает автоматический расчет значений линейных и поворотных координат станка для каждого текущего положения инструмента, чем облегчается разработка постпроцессоров для многокоординатного оборудования с ЧПУ. Описание станка можно просматривать и редактировать в графическом режиме;
- l наиболее сложные алгоритмы постпроцессирования встроены в ядро IMSpost, что избавляет разработчика от необходимости решать такие задачи, как проблема нелинейности при многокоординатной обработке, замена серий «мелких» участков линейных перемещений на участки с круговой или сплайновой интерполяцией и др.
IMSpost позволяет быстро и эффективно создавать постпроцессоры для любых видов оборудования с ЧПУ — фрезерных обрабатывающих центров, многокоординатного оборудования, электроэрозионных и токарных станков. Генерируемые с помощью IMSpost постпроцессоры являются автономными системами и используют в качестве входной информации данные в формате CLDATA, которые подготавливаются CAM-системой. IMSpost адаптирован к форматам CLDATA следующих CAD/CAM-систем: CATIA, Cimatron, Euclid, MasterCAM, PowerMill, Pro/ENGINEER, SurfCAM, Unigraphics.
Рассмотрим подробнее основные характеристики генератора IMSpost.
Диалоговые окна
Диалоговые окна являются средством параметрической настройки постпроцессора. Они вызываются посредством выбора соответствующей опции меню или нажатием на соответствующую иконку инструментальной панели IMSpost. Диалоговые окна позволяют, в частности, настроить:
- l вывод нужной информации в начале и конце УП;
- l правила задания в УП команд смены инструмента, охлаждения, коррекции инструмента, подачи, оборотов шпинделя, сверлильных циклов;
- l правила задания перемещений при линейной, круговой и сплайновой интерполяции;
- l порядок нумерации кадров УП;
- l правила разбиения УП на части с учетом имеющегося размера памяти системы ЧПУ;
- l состав адресов кадра УП, порядок их вывода в кадре и правила задания информации под каждым адресом;
- l правила задания подпрограмм;
- l состав и правила задания подготовительных и вспомогательных функций (G- и М-функций), их разбиение по группам;
- l описание состава, характеристик и взаимного расположения исполнительных органов (осей) станка.
В качестве примера на рис. 1 приведено диалоговое окно IMSpost для настройки формирования постпроцессором команд круговой интерполяции. Здесь можно указать, какие G-функции используются для задания направления движения по и против часовой стрелки, способ задания начальной точки дуги (относительно конечной точки, относительно центра, с помощью радиуса), минимальное и максимальное допустимые значения радиуса при круговой интерполяции (в противном случае выполняется линейная аппроксимация дуги), точность линейной аппроксимации, наличие или отсутствие ограничения системы ЧПУ на расположение дуги в одном квадранте (при наличии ограничения будет выполнена разбивка дуги по квадрантам), возможность задания круговой интерполяции в произвольной плоскости.
Диалоговые окна IMSpost отличаются большим числом различных параметров и продуманными наборами их вариантов, которые учитывают самые разнообразные способы задания команд УП в различных моделях оборудования с ЧПУ. Тем не менее никакая параметрическая настройка не гарантирует того, что разрабатываемый постпроцессор сможет учесть все особенности конкретного оборудования с ЧПУ. Единственным гарантированным способом в этом случае является использование языка программирования.
Макроязык и макросы
В IMSpost используется высокоуровневый язык программирования (макроязык), с помощью которого описываются правила преобразования траектории движения инструмента, заданной в файле CLDATA, в управляющую программу. Программы на макроязыке (макросы) составляются так, что каждому виду оператора CLDATA соответствует свой макрос. При вызове постпроцессора он последовательно обрабатывает операторы файла CLDATA с помощью своих макросов и формирует команды УП.
Операторы макроязыка IMSpost позволяют передавать параметры, использовать локальные и глобальные переменные, работать с внешними файлами, получать доступ к параметрам оборудования с ЧПУ (заданным в диалоговых окнах), выполнять арифметические и логические операции, использовать тригонометрические и другие стандартные математические функции, выполнять условные и безусловные переходы, работать с текстовыми строками и др.
Группа операторов макроязыка IMSpost представляет собой специальные функции, реализующие достаточно сложные вычислительные процедуры, например замену серий «мелких» участков линейных перемещений на участки с круговой или сплайновой интерполяцией.
При создании нового постпроцессора в него автоматически включается набор макросов по умолчанию. Эти макросы можно редактировать, удалять или заменять, импортируя макросы из других постпроцессоров. Отладка макросов производится с помощью отладчика (Debugger) IMSpost, который позволяет выполнять макросы в пошаговом режиме, просматривать текущие состояния локальных и глобальных переменных и т.д. В качестве теста для отладки может использоваться файл CLDATA, сформированный CAD/CAM-системой, или любой набор операторов CLDATA, набранный в текстовом редакторе.
Модель станка и ее использование
Описание модели станка (его состава, характеристик и взаимного расположения исполнительных органов) наиболее важно для многокоординатного оборудования, так как избавляет разработчика постпроцессора от необходимости решения ряда нетривиальных математических задач. Напомним, что при многокоординатной обработке текущее положение инструмента в траектории описывается в виде x, y, z, i, j, k, где x, y, z — координаты центра торца инструмента, а i, j, k — орты, определяющие положение оси инструмента в системе координат детали. Например, для 5-координатного станка с тремя линейными осями X, Y, Z и двумя поворотными осями B, C постпроцессор должен выполнить преобразование (x, y, z, i, j, k) а (X, Y, Z, B, C), что требует от разработчика постпроцессора вывода соответствующих математических зависимостей. Разработчики, которые сталкивались с подобной задачей, знают, что ее решение требует значительных усилий, особенно при отсутствии опыта.
В IMSpost благодаря наличию модели станка эта задача решается принципиально иначе. Для создания модели необходимо описать в диалоговых окнах состав осей станка (окно Machine Motion), состав и параметры узлов станка (окно Machine Components) и взаимное расположение узлов станка (окно Machine Reference). На основе этих описаний IMSpost формирует пространственную модель станка, которую можно просматривать и редактировать в графическом режиме (рис. 2). При работе постпроцессора благодаря использованию модели текущие координаты исполнительных органов станка определяются на основе заданного текущего положения инструмента автоматически. Для получения координат станка (в макросе обработки перемещений инструмента) используется специальный оператор макроязыка.
Модель станка позволяет автоматически решать еще одну сложную задачу — так называемую проблему нелинейности. Проблема состоит в том, что последовательные положения в траектории инструмента рассчитываются в CAD/CAM из предположения линейности перемещения инструмента между этими положениями. Однако используемый в системах ЧПУ режим линейной интерполяции при отработке кадра приводит к тому, что инструмент движется по криволинейной траектории (рис. 3а). В результате этого возможны зарезания и брак обрабатываемой детали.
Решение проблемы нелинейности является функцией постпроцессора и заключается в следующем. Если отклонение инструмента от линейной траектории превышает заданный допуск, то постпроцессор формирует дополнительное положение инструмента в середине текущего участка, удовлетворяющее условиям линейности. После этого рассчитывается отклонение для каждого из полученных участков (рис. 3б). Если отклонение по-прежнему превышает допуск, то производится дополнительное деление. И так до тех пор, пока отклонение не окажется меньше допуска.
Проблема нелинейности является значительно более сложной задачей, чем расчет координат исполнительных органов станка. Кроме того, при ее «прямом» решении, то есть путем написания соответствующей программы, возникают достаточно высокие требования к используемым средствам программирования, но далеко не все генераторы постпроцессоров имеют в своем распоряжении такие средства.
В генераторе IMSpost наличие модели станка позволяет решать проблему нелинейности автоматически. При этом для получения массива дополнительных промежуточных точек в макросе обработки перемещений инструмента используется специальный оператор макроязыка. Допуск отклонения от линейной траектории устанавливается в макросе инициализации, который выполняется в начале работы постпроцессора.
Конечно, освоение генератора IMSpost, как и любой серьезной системы, требует определенных усилий, однако эти усилия быстро окупятся за счет резкого сокращения времени проектирования постпроцессоров. Кроме того, с помощью IMSpost разработчик постпроцессоров получает возможность оперативно учитывать практически любые требования и пожелания цеховых технологов к поступающим управляющим программам.
В нашей стране успешный опыт использования генератора IMSpost накоплен в ОАО «Волгобурмаш» (г.Самара), где разрабатываемые постпроцессоры интегрируются в CAD/CAM-системы Unigraphics и Cimatron. Поставки IMSpost в России осуществляет компания «Би Питрон», которая предоставляет заказчику документацию на русском языке, выполняет обучение и обеспечивает сопровождение.
«САПР и графика» 8'2002