100000

Бесплатные звонки по России:

8 800 101 64 00

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

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

 

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



Заметим, что на практике процесс формирования управляющей программы (УП) должен учитывать не только особенности системы Станок/ЧПУ, но традиции оформления управляющих программ, характерные для конкретного предприятия. Это позволяет, во-первых, создавать эффективные программы, не требующие ручного редактирования, во-вторых, сохранить их привычный вид. Из рисунка 1 видно, что одной из основных составляющих является ПОСТПРОЦЕССОР - именно он несет в себе информацию о том, как создать УП для конкретного станка. Для создания и отладки постпроцессоров в системе АДЕМ имеется специализированный модуль- "Генератор постпроцессоров ADEM-GPP".

Давайте рассмотрим его работу на примере создания постпроцессора для фрезерного станка NCT-90 со стойкой FANUC. Сразу отметим, что в выбранном нами постпроцессоре реализованы следующие виды обработки, хотя этот набор зависит только от желания пользователя и возможностей станка:

  • поддержка стандартных сверлильно-расточных циклов;
  • 2.5 координатная обработка с коррекцией и возможностью спиральной интерполяции;
  • поддержка механизма станочных подпрограмм;
  • 3-координатная обработка;
  • 2.5 координатная обработка с поворотом стола (5-ти позиционное фрезерование);
  • 5-ти координатная обработка.

 

 

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



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

Процесс создания постпроцессора предполагает выполнение 4-х этапов:

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

 

 

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



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

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

 

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



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

 

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



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

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

 

 

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



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

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

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

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

[24] Шпиндель/ N 1500.000 об/мин  
[25] Холостой ход  
[181] Иди в точку/ 0.000 0.000 2.000  
[23] Подача/ 200 мм/мин  
[181] Иди в точку/ 10.000 10.000 -8.000  
[181] Иди в точку/ 10.000 10.000 -10.000  



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

23; Правило для команды "Включить подачу"
_FD=1; Установить признак включения подачи (значение подачи в мм/мин автоматически сохраняется в переменную ПОДМИH, значение подачи на мм/оборот заносится в переменную ПОДОБ)
END; Завершение описания правила
25; Правило для команды "Включить холостой ход"
_FD=0; Установить признак холостого хода
END; Завершение описания правила
24; Правило для команды "Включить шпиндель"
IF ШВШП=ЧС _M1->3; Если направление вращения по часовой стрелке - вывод в окно _М1(окно первой группы, будут выведено в кадре первым) значения 3
ELSE M1->4; Иначе вывод в окно M1 значения 4
_S->NOБ; Вывод в окно _S значения оборотов шпинделя
END; Завершение описания правила
181; Правило для команды "Линейное перемещение"
IF _FD=0 DO; Проверка признака подачи/холостого хода
_G1->0; Если это холостой ход, то вывести в окно _G1 значение 0
ELSEDO; Иначе - это подача
_G1->1; Вывод в окно _G1 значение 1
_F->ПОДМИH; Вывод в окно _F значения подачи в мм/мин
ENDDO; Иначе - это подача
_NX->XT; Вывод в окно _NX координаты X точки в которую происходит перемещение
_NY->YT; Вывод в окно _NY координаты Y точки в которую происходит перемещение
_NZ->ZT; Вывод в окно _NZ координаты Z точки в которую происходит перемещение
КАДР; Формирование кадра управляющей программы
END; Завершение описания правила



После получения из файла 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, тратит на создание полностью готового постпроцессора 1-2 дня. 15-ти летний опыт успешной эксплуатации генератора постпроцессоров в CAD/CAM ADEM гарантирует пользователю возможность быстрой и качественной адаптации к ЛЮБОМУ оборудованию с ЧПУ, сведя затраты на этом этапе к минимуму. 

 

авторы статьи: Мальцев А.М., Сальников А.М.

Закрыть