8 - 2000

Генератор постпроцессоров в CAD/CAM ADEM

Андрей Мальцев, Алексей Сальников

Количество СAM-систем, имеющихся на российском рынке, уже давно перевалило за десяток. Все они вполне справляются с расчетом траектории движения инструмента. При этом каждая из них формирует траекторию в некотором универсальном формате, не зависящем от модели конкретного станка. Как правило, в качестве выходного формата используются различные диалекты CLDATA- или APT-файлов. Попытки их стандартизации хотя и позволили навести некоторый порядок, но до стандарта, принятого всеми, дело так и не дошло. А поскольку тема используемых форматов выходит за рамки данной статьи, то мы и сосредоточимся на вопросе преобразования данных из универсального формата в код конкретной управляющей программы — другими словами, на адаптации под конкретные производственные условия. В общем виде этот процесс можно представить, как показано на рис. 1.

Рис. 1. Создание управляющей программы

Рис. 1. Создание управляющей программы

Отметим, что на практике процесс формирования управляющей программы (УП) должен учитывать не только особенности системы «станок—ЧПУ», но и традиции оформления управляющих программ, характерные для кон­кретного предприятия. Это позволяет, во-первых, создавать эффективные программы, не требующие ручного редактирования, а во-вторых, сохранить их привычный вид. Из рис. 1 видно, что одной из основных составляющих является построцессор — именно он несет в себе информацию о том, как создать УП для конкретного станка.

Рис. 2. ADEM: от модели до создания CLDATA

Рис. 2. ADEM: от модели до создания CLDATA

На предприятии НПК «Крона» (г.Ижевск) уже длительное время используется система ADEM (рис. 2). Для создания и отладки постпроцессоров в системе ADEM имеется специализированный модуль — генератор постпроцессоров ADEM-GPP. Давайте рассмотрим его работу на примере создания постпроцессора для фрезерного станка NCT-90 со стойкой FANUC. Сразу отметим, что в вы­бранном нами постпроцессоре реализованы следующие виды обработки (хотя этот набор зависит только от желания пользователя и возможностей станка):

• поддержка стандартных сверлильно-расточных циклов;

• 2,5-координатная обработка с коррекцией и возможностью спиральной интерполяции;

• поддержка механизма станочных подпрограмм;

• 3-координатная обработка;

• 2,5-координатная обработка с поворотом стола (5-позиционное фрезерование);

• 5-координатная обработка.

В этой статье мы рассмотрим только основные этапы работы модуля ADEM-GPP. Кроме создания, редактирования и отладки самих постпроцессоров, он обеспечивает возможности ведения базы данных оборудования с ЧПУ, доступного для использования в системе ADEM. После запуска генератора добавляем постпроцессор в базу данных, указав его номер, модель станка и любой комментарий. При создании нового постпроцессора можно выбрать любой имеющийся в качестве аналога. Заметим, что база данных уже содержит более 250 постпроцессоров на отечественные и зарубежные станки.

Рис. 3. Создание нового постпроцессора

Рис. 3. Создание нового постпроцессора

Процесс создания постпроцессора предполагает выполнение четырех этапов (рис. 3):

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

2. Создание макрокоманд  — определение последовательности действий, которые необходимо автоматически выполнить при получении команды, например, «смена инструмента».

3. Формирование структуры кадра  — описываются максимально возможный кадр, который может принимать система ЧПУ, форматы вывода для вспомогательных, подготовительных функций и числовой информации, порядок появления окон в кадре и др.

4. Создание правил заполнения окон в макете кадра  — правила создаются с помощью ориентированного на технологов языка программирования и описывают порядок преобразования универсальной входной информации и вывода этих данных согласно формату, описанному в макете.

Рис. 4. Заполнение паспорта станка

Рис. 4. Заполнение паспорта станка

Итак, после занесения постпроцессора в базу приступаем к его созданию. На первом этапе заполняем паспорт станка (рис. 4). Выбираем тип оборудования — в нашем примере это обрабатывающий центр; кроме того, можно выбрать прессы, токарные, фрезерные, сверлильные и электроэрозионные станки нескольких модификаций. Определяем соответствие осей станка и детали, наличие механизма подпрограмм. Используя дерево свойств, задаем параметры управления шпинделем, подачей, охлаждением, способы смены инструмента, включения/выключения коррекции и возможные варианты ускоренных перемещений. Указываем наличие линейного и кругового интерполятора, величины максимально возможных перемещений, необходимость разбиения дуг на квадранты. Если один из интерполяторов на станке отсутствует, ADEM будет автоматически выполнять аппроксимацию перемещений с заданной точностью.

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

Далее приступаем к определению макрокоманд. Этот механизм очень удобен для описания последовательности действий, которые необходимо выполнить. Например, перед тем, как произвести смену инструмента, мы указываем, что сначала необходимо отключить СОЖ и шпиндель, выполнить отвод предыдущего инструмента в позицию смены (согласно параметрам, указанным в паспорте) и заменить инструмент (рис. 5). Аналогичным образом описываем команду окончания обработки.

Рис. 5. Определение макрокоманд

Рис. 5. Определение макрокоманд

Рис. 6. Структура кадра

Рис. 6. Структура кадра

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

«Номер кадра»  — используется для нумерации кадров управляющей программы. В нем определяются литера окна (например, N001), число позиций в номере кадра, интервал нумерации и признак подавления лидирующих нулей;

«Подготовительная функция»  — задает режим и условия работы станка и системы ЧПУ, например включение линейной и круговой интерполяции. Параметры подготовительных функций определяются через другие окна кадра. Определяются литера окна, число позиций в номере функции, интервал нумерации. Номер группы задает порядок появления в кадре в случае необходимости вывода нескольких подготовительных функций в одном кадре. Если признак модальности не установлен, то это указывает на необходимость вывода функции в каждом кадре, а если он установлен — только при изменении значения;

«Вспомогательная функция»  — используется для включения вспомогательных функций станка, например включение/выключение шпинделя. Параметры соответствуют типу окна «Подготовительная функция»;

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

«Синхродорожка»  — используется для формирования пропусков в управляющей программе внутри кадра и между кадрами;

«Текст»  — используется для вывода текстовой информации;

«Символьное окно»  — используется только для вывода символьной части (литеры) окна;

«Конец кадра»  — используется для формирования конца кадра.

Теперь настало время поговорить о правилах заполнения окон в макете кадра. В генераторе постпроцессоров разработан специализированный язык, требующий минимальных навыков программирования и максимально ориентированный на технолога. С помощью этого языка и создаются правила заполнения окон.

Как уже говорилось, любая CAD/CAM-система формирует некий универсальный файл (CLDATA), который содержит набор технологических инструкций и команд перемещения инструмента. Каждая команда в этом файле уникальна и определяется либо кодом, либо ключевым словом и обладает рядом параметров (свойств). Когда система адаптации ADEM считывает очередную команду, она приравнивает значения параметров, пришедших с текущей командой, к набору предопределенных переменных и доступных в генераторе постпроцессоров. Таким образом, можно получить доступ к любому параметру, пришедшему из универсального файла, и к множеству других, которые формируются автоматически. Например, если обрабатывается команда линейного перемещения, то из CLDATA берутся координаты текущей точки, при этом автоматически рассчитываются текущее приращение, угол излома траектории, координаты, тип следующего перемещения и многое другое.

При выполнении правил возможно использование дополнительных команд, описать которые в одной статье невозможно. Поэтому мы будем предполагать, что необходимые команды уже выполнены, например команда автоматической вставки пробелов между элементами кадра. Во время работы можно организовать чтение команд CLDATA из нескольких источников, предварительный просмотр всего набора команд без вывода кадров, выполнить вывод фрагментов УП в отдельные файлы (например, для организации автоматической замены инструмента по стойкости). Кроме того, мы будем использовать в примере две команды « -> » — вывод информации в окно макета кадра и команду вывода кадра УП — « КАДР» . Команда вывода значения в окно не формирует кадр, а просто сохраняет значение в промежуточном буфере. Формирование кадра происходит после выполнения команды « КАДР» согласно параметрам макета кадра.

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

[24] Шпиндель/ N 1500.000 об./мин

[25] Холостой ход

[181] Иди в точку/ 0.000 0.000 2.000

[181] Иди в точку/ 10.000 10.000 -8.000

[23] Подача/ 200 мм/мин

[181] Иди в точку/ 10.000 10.000 -10.000

Предположим, мы создали правила для вышеописанных команд (рис. 7).


 

Рис. 7. Правила для команд


Рис. 7. Правила для команд

После получения из файла CLDATA команды «Включить шпиндель» выполняется соответствующее правило, которое помещает в буфер следующую информацию:

M3S1500

После получения команды «Холостой ход» и команды «Иди в точку/0.000 0.000 2.000» и выполнения правил (до команды КАДР) буфер будет содержать следующее:

M3S1500G0X0.Y0.Z2.

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

N007 G0 X0.0 Y0.0 Z2.0 S1500 M3

Далее команда линейного перемещения сформирует следующий кадр. Заметьте, что функция G0 в этом кадре отсутствует, поскольку для данного окна установлен признак модальности, а перемещение на холостом ходу все еще активно:

N008 X10.0 Y10.0 Z-8.0

Следующие два правила для команд «Включить подачу» и «Линейное перемещение» сформируют кадр N009. Правило включения подачи просто установит признак подачи, по которому во время выполнения правила 181 будут выведены само значение, координаты точки и функция G1:

N009 G1 X10.0 Y10.0 Z-10.0 F200

Итоговый фрагмент УП будет выглядеть следующим образом:

N007 G0 X0.0 Y0.0 Z2.0 S1500 M3

N008 X10.0 Y10.0 Z-8.0

N009 G1 X10.0 Y10.0 Z-10.0 F200

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

По отзывам специалистов, технолог, владеющий навыками работы в модуле ADEM-GPP, тратит на создание полностью готового постпроцессора один-два дня. 15-летний опыт успешной эксплуа­тации генератора постпроцессоров в CAD/CAM ADEM гарантирует пользователю возможность быстрой и качественной адаптации практически к любому оборудованию с ЧПУ, сведя затраты времени и средств на этом этапе к минимуму.

«САПР и графика» 8'2000