Как написать постпроцессор для чпу станка
В статье описывается опыт созданий постпроцессоров на примере устаревших систем ЧПУ, решаются наиболее распространенных проблемы, возникающие при постпроцессировании управляющих программы для старых систем ЧПУ.
Современная cam система и старая система ЧПУ
Сегодня львиная доля всех управляющих программ написана с использованием CAM систем. Это очень удобно для современных станков. Использование CAM систем позволяет в разы уменьшить время написания управляющих программ, как для сложных деталей, так и для относительно простых. Помимо скорости написания увеличивается и точность обработки, а так же внедрение CAM систем позволило применить современные способы обработки, такие как высокоскоростное фрезерование и т.д.
Но в каждой бочке меда, есть своя ложка дегтя, выше уже упоминалось, что все это подходит, для современных станков с ЧПУ. Написать управляющую программу в CAM модуле не составит труда, сложно получить программу для конкретной стойки ЧПУ. Основные проблемы возникают при постпроцессировании созданной управляющей программы. Вы спросите, а что тут сложного, выбирается постпроцессор из списка и получается управляющая программа? Да действительно сейчас нет CAM системы, которая не содержала бы в себе, набор обобщенных постпроцессоров (Catia, Mastercam) или редактор постпроцессоров (Pro/Engender, Delcam-PowerMill). И если ваш парк станков состоит из Sinumerik, Haidenhain или других распространенных на сегодняшний день систем ЧПУ, то проблем с постпроцессором не возникнет. А как быть с такими системами ЧПУ как 2С42-65, 2С42, 2Р22, 2У22 и т.д. А ведь на многих заводах нашей страны сохранились станки с такими системами ЧПУ, некоторые уникальны в своем роде и используются для обработки простых деталей, обработка которых занимает не так много времени, в то время когда новое оборудование загружено более сложными деталями, требующие высокой точности.
Для создания постпроцессора воспользуемся универсальным генератором постпроцессоров IMSpost TM фирмы IMS Software Inc, которая является мировым лидером в данной области.
Постпроцессор преобразует данные о положении режущего инструмента рассчитанные в CAM-системе (формат APT/CL) в коды конкретного станка (G/M-коды), с учетом особенностей его кинематики. Одно из многих достоинств IMSpost TM это работа со всеми широко распространенными CAD/CAM-системами и аппаратными платформами, что позволяет создавать управляющие программы для оборудования с ЧПУ любого вида и сложности.
Создание постпроцессора
Так как IMSpost уже содержит в себе достаточно внушительную библиотеку постпроцессоров, которые используются как шаблоны, для создания новых. Выбрав подходящий можно приступить к созданию постпроцессора.
В данной статье предлагается пройтись по всем особо значимым пунктам Техкарты и решить наиболее часто встречающиеся проблемы, связанные со старыми ЧПУ.
Program Codes определяет используемые G и M функции. Любая программа начинает с заголовка («шапка»), которая всегда будет присутствовать в неизменном виде. В подпункте Start of program прописывается заголовок.
Смена инструмента обычно записывается функциями M6 и регистром T, их сочетание общепринято и редко меняется. Бывают случаи, что строчка с загрузкой инструмента не нужна в силу разных причин. Тогда можно проигнорировать пункт Tool Change или просто удалить в нем все заполненные пункты.
Следующий не мало важный пункт это коррекция Cutter Compensation. В нем определяются G функции, отвечающие за коррекцию и используемые регистры. Если требуется вектор направления, что не так уже редко встречается в старых системах ЧПУ, то необходимо лишь указать, какие регистр, для этого следует использовать.
Motion Functions сама большая и важная функция в данной части техкарты, которая отвечает за функции перемещения: ускоренное перемещение, линейная интерполяция, круговая интерполяция, Nurbs (сплайновая интерполяция) и т.д.
Для линейной интерполяции можно ввести свои собственные специальные условия, тем самым можно установить правила деления участка перемещения.
Следующим шагом следует круговая интерполяция. Для круговой интерполяции есть шесть способов вывода кода:
Из перечисленного видно, что проблем с круговой интерполяцией не должны возникнуть. Даже если будет использоваться последний пункт (разбиение на линейные участки) введя параметры линеаризации можно легко контролировать процесс разбиения дуги на линейные отрезки.
В Motion Functions помимо перечисленных выше способов есть и другие способы отображения движений: сплайновая интерполяция, копирование поверхностей, винтовая интерполяция и много другое.
Следующим пунктом идет Drill Cycle. Как видно из названия данный модуль отвечает за постоянные циклы сверления. Циклы являются больным местом всех постпроцессоров т.к. даже у двух одинаковых стоек может использоваться разная запись циклов и разный набор параметров. Для старых систем ЧПУ существует проблема с некоторыми параметрами, которые могут отсутствовать в современных CAM системах. Еще один нюанс в распространенных на сегодняшний день системах ЧПУ циклы в основном выглядит так: G81 (10,20,52,12), а в старых системах ЧПУ: G81, X22581, Y7000, Z20737, W20737, F1000. Так как шаблон, с которым мы работаем, создан для современной системы ЧПУ, то тут сразу понятно какого вида цикл мы получим. Тут уже ничего не поделаешь необходимо редактировать сам алгоритм вывода цикла или макрос. Говоря простым языком нам необходимы параметры, записанные в скобках адаптировать под выбранную систему ЧПУ или написать свой вывод. Указав в окне Drill Cycle все возможные параметры, открываем Macro Manager (Управление макросами), в открывшемся списке необходимо найти необходимый макрос. Так как в документации для каждой функции Техкарты указывается и связанный с ней макрос, поэтому найти его особого труда не составит.
И так зайдя в макрос, находим строку с выводом цикла, необходимо заменить ее. Прежде чем начать необходимо разложить цикл на части:
Если необходимого параметра нет, то тут есть несколько способов, которые зависят от CAM модуля и от искомого параметра:
Выбрав один из пунктов можно закончить формирование цикла, после чего просмотреть полученный результат в отладчике и при удовлетворительном результате перейти к следующему пункту.
End of Program отвечает за окончание программы т.е. здесь прописывается конец программы, тем же способом что и в самом первом пункте. На этом работу с Program Codes можно закончить и перейти к следующему пункту.
Раздел Sequence Number связан с нумерацией кадров, включает в себя все параметры необходимые для задания номера кадра. Предположим, что нумерация начинается с 10 с шагом 10 и номер не отделяется пробелом от остальных параметров входящих в кадр.
Определить единицы измерения, для карусельных станков например одна из координат может измеряться как линейное перемещение, а одна как угловое и т.д.
После окончания работы с данной частью Техкарты, постпроцессор будет полностью соответствовать требования системы ЧПУ. Осталась последнее, связать выводимые данные с кинематикой станка.
В данном разделе необходимо определить кинематику станка, наиболее простой способ это определить кинематику из модели станка. Кинематика станка создается в отдельном модуле IMSmodel, который поставляется вместе с IMSpost. Есть еще способы определить кинематику станка:
Помимо Техкарты существует еще и главное меню, которое помимо дублирования функций техкарты, содержит и дополнительные функции:
Определив вид и кинематику станка можно «прогнать» программу через полученный постпроцессор. Если в получено программе оси направлены правильно то постпроцессор готов, если же направление осей не совпадает, необходимо их поменять. Смена направления осей происходит в разделе Motion Axis, направление осей определяется по специальным правилам, которые описаны в документации на IMSpost.
Заключение
У человека прочитавшего данную статью может возникнуть вопрос. Зачем тратить деньги на создание постпроцессора для старого оборудования, если его все равно ждет модернизация или полная замена? Конечно, в этом есть доля истины, но если станок подлежит, модернизации меняется только стойка ЧПУ, кинематика, что является основным в IMSpost остается прежней, соответственно переделка постпроцессора под новую систему ЧПУ особого труда не составит.
На этом позвольте мне завершить данную статью, целью которой был рассказ о возможностях универсального генератора постпроцессоров IMSpost. Так же позвольте сказать спасибо каждому человеку, прочитавшему данную статью…
O компании ЗАО «Техпром»
Компания ЗАО «Техпром» является официальным дистрибьютором программных продуктов компаний: IMS Software Inc. (IMSpost, IMSverify), Dassault System (Catia, Enovia, Delmia, 3DVIA Composer), Simufact GmbH, MSC. Software. Компания ЗАО «Техпром» предлагает услуги по созданию и поддержки постпроцессоров для станков с любой системы ЧПУ, а также создание и поддержка виртуальных моделей станков для симулятора IMSverify.
Постпроцессоры станков с ЧПУ
Продолжаем публикацию выдержек из книги Ловыгина А.А., Васильева А.В. и Кривцова С.Ю.: сегодня информация о постпроцессорах для станков с ЧПУ и способах передачи управляющей программы на станок.
Для того чтобы абстрагироваться от большого разнообразия станков, систем ЧПУ и языков программирования обработки, САМ система генерирует промежуточный файл, содержащий информацию о траектории, угле поворота инструмента (в случае многокоординатной обработки) и обобщенные команды управления станком Обычно этот промежуточный файл называется CL-файлом (Cutter Location) или CLDATA-файлом.
Далее в работу вступает постпроцессор. Он преобразует этот промежуточный файл в программу обработки в строгом соответствии с форматом программирования конкретного станка с ЧПУ.
Такая технология позволяет программисту во время проектирования обработки в CAD/CAM системе не задумываться о том, на какой конкретно станок попадет УП и каков будет ее формат. Ему необходимо лишь выбрать постпроцессор, соответствующий определенному станку с ЧПУ. и тот возьмет на себя всю работу по созданию программы обработки определенного формата.
Откуда же взялась идея постпроцессирования, и почему до сих пор в этой области существуют проблемы? По идее, разработчики станков и систем ЧПУ должны соблюдать стандарты Ассоциации электронной промышленности (EIA) и Международной организации стандартизации (ISO). То есть одинаковые G коды на разных станках с ЧПУ должны выполнять одну и ту же функцию. В принципе эти стандарты соблюдаются, но только для основных команд станка, например, для включения СОЖ, линейной и круговой интерполяции.
Когда появились первые САМ системы, то для работы с конкретным станком с ЧПУ разрабатывался индивидуальный постпроцессор, который представлял собой исполняемый файл. Индивидуальный постпроцессор мог быть создан только опытным программистом (именно программистом, а не технологом-программистом), путем длительного общения со станочником для выяснения всех нюансов работы с определенным станком. После этого проходили испытания и доводка индивидуального постпроцессора “до ума”. В результате постпроцессор выполнял свои функции, но процесс его создания был очень долгим, мучительным и дорогим. Изменения в таком постпроцессоре мог сделать только сам автор-разработчик.
Текстовый файл написан на специальном макроязыке, который может быть изменен в случае необходимости самим технологом- программистом в любом текстовом редакторе. Вносить какие-либо изменения в исполняемый файл не требуется. Как правило, с CAD/CAM системой поставляется набор таких текстовых файлов, которые описывают правила для преобразования промежуточных файлов в программу обработки для нескольких десятков различных станков и систем ЧПУ. В данном случае постпроцессором можно смело называть именно текстовый файл. Исполняемый же файл является модулем САМ системы и работает незаметно для пользователя. В некоторых САМ системах присутствует и третий файл необходимый для постпроцессирования. Этот файл так же является текстовым. Он предназначен для ввода дополнительных условий и передачи специальной информации в управляющую программу.
К сожалению, разработчики CAD/CAM систем не придерживаются единого стандарта для формирования промежуточных CL-файлов. В результате, текстовый файл с описанием алгоритмов преобразования (постпроцессор) одной САМ системы будет абсолютно бесполезен для использования внутри другой САМ системы. Для разработки даже такого текстового пост¬процессора “с нуля” необходимы глубокие знания самой системы и принципов преобразования исходных данных. Поэтому пользователю предоставляют набор базовых постпроцессоров с редактируемыми переменными. Работая с этими переменными, пользователь может самостоятельно настроить пост¬процессор для имеющегося станка.
Сегодня наиболее эффективным и простым решением проблем постпроцессирования на предприятии является использование универсального постпроцессора. Универсальные постпроцессоры, позволяют работать со многими известными CAD/CAM системами и одновременно не зависеть от них. Дело в том, что в отличие от классических постпроцессоров, которые работают с промежуточным файлом только “родной” системы, универсальные постпроцессоры способны “перерабатывать” CL-файлы разных САМ систем. Прибавьте сюда продвинутый интуитивно-понятный графический интерфейс, позволяющий строить наглядную кинематическую схему станка и задавать типовые параметры системы ЧПУ, и вы получите мощное и универсальное средство для решения проблем совместимости любого оборудования с любой CAD/CAM системой.
Как оценить результаты работы постпроцессора? Очень просто. Если полученная программа не требует ручной правки и доводки, значит, пост¬процессор работает правильно. Это главный принцип. Хороший постпроцессор способен сформировать УП с учетом максимальных возможностей станка с ЧПУ и CAD/CAM системы и должен грамотно работать с постоянными циклами. К примеру, если система ЧПУ станка поддерживает винтовую интерполяцию, то желательно, чтобы постпроцессор не заменял ее множеством линейных перемещений. Естественно, что программа обработки не должна содержать лишних кодов и координат.
Как передать программу на станок с ЧПУ
Итак, программа обработки готова. После постпроцессирования CAD/CAM система открывает файл УП в специальном редакторе или в стандартном “Блокноте” операционной системы Windows. Многие системы поставляются со специальными редакторами УП, которые являются простым и удобным инструментом для правки и передачи программ на станок.
В большинстве случаев связь осуществляется в соответствии со стандартом RS-232. При этом COM-порт персонального компьютера соединяется кабелем со специальным разъемом на корпусе станка или панели УЧПУ. Для передачи данных необходимо, чтобы УЧПУ станка и коммуникационная программа были синхронизированы. Это достигается соответствующей настройкой параметров СЧПУ и коммуникационной программы. Например, если значение для стоповых битов (stop bits) системы ЧПУ станка равно двум, то такое же значение должно находится и в соответствующем параметре коммуникационной программы.
Для передачи УП, размер которых превышает размер свободной памяти СЧПУ, используется режим DNC. В этом режиме программа обработки не записывается в память системы ЧПУ, а выполняется прямо с компьютера. Система ЧПУ имеет (или создает в памяти) специальный программный буфер, в который приходит часть программы. Как только этот буфер заполняется, система посылает сигнал на компьютер, чтобы тот прекратил передавать данные. В это время СЧПУ станка выполняет кадры УП, находящиеся в буфере. Когда буфер освобождается, система ЧПУ посылает новый сигнал на ПК, который разрешает дальнейшую передачу данных. Этот процесс продолжается до полного выполнения УП. Для работы в режиме DNC необходимо, чтобы СЧПУ станка было соответствующим образом подготовлено производителем, а на персональном компьютере находилась коммуникационная программа с поддержкой этого режима.
Рассмотренный способ передачи данных не является единственным. Многие отечественные предприятия до сих пор используют перфораторы в качестве основного прибора для загрузки программ обработки. Некоторые станки с ЧПУ снабжены встроенным дисководом или умеют читать информацию с флэш-карт.
Предназначение постпроцессора для станка ЧПУ
Каким образом станок с ЧПУ выполняет передаваемые ему команды? Какой узел оборудования отвечает за это? Ответив на эти вопросы, можно успешно создавать основу для программирования станков и эксплуатировать их с высокой отдачей.
Что такое постпроцессор для ЧПУ? Для чего он предназначен? Главных понятий, которыми мы оперируем, два: управляющей траектории (пути инструмента, определяемого геометрией деталей) и управляющей программы, передающейся на модуль станка (технологические команды представлены на языке программирования и обуславливают перемещения на данном станке).
Под постпроцессором для станка с ЧПУ подразумевается модуль, преобразующий совокупность данных, содержащихся в управляющей траектории, и представляя их в виде управляющей программы.
Зачем нужен этот модуль
Постпроцессоры, по сути, – трансляторы, способные преобразовать информацию в другой формат. Воспринимать их в качестве простого конвертора – ошибочный подход. У этих устройств доминирует технологическая логика, предусматривающая многие специальные функции.
Программный модуль, работая над созданием управляющей программы для станка, учитывает и кинематику. Это понятие обобщает различные движения: вращательное, прямолинейное поступательное и перемещения стола вдоль оси шпинделя.
Обработка деталей на станке предусматривает координатные перемещения. Они передаются, соответственно технологическим командам, посредством языка программирования. Технологи-программисты, создавая программный модуль, используют CAM-систему. В сгенерированном нею файле содержатся данные про инструменты, траектории их движения, режимы резки и многие другие параметры. После их анализа программным модулем, формируется управляющая программа для определенного станочного парка.
Разновидности программных модулей
Различают два типа постпроцессоров:
Достоинство внешнего постпроцессора в том, что его единожды надо настроить для конкретного станка и он для разных систем один. Поэтому он имеет невысокую стоимость. Есть и недостаток – возникают проблемы во время перенастройки. Порой такой модуль приходит к заказчику в закрытом виде и его редактирование невозможно. Но и приходящие в открытом имеют для настройки не очень большие возможности. Особенно усложнена его настройка в случае, когда речь идёт о 5-осевых станках и больших обрабатывающих центрах.
Главное преимущество встроенного постпроцессора – ему доступны многие важные параметры и переменные (в случае с вариантом внешнего постпроцессора, к ним нет доступа). Вводится совокупность данных про инструменты или операции предстоящей обработки.
Имея информацию про номер патрона, материал фрезы, для модуля несложно различать технологические операции, выполняя движения по подводу и отводу инструмента, врезанию в толщу материала. В случае необходимости, он способен пользоваться корпоративной базой данных и системой PDM, чтобы их применять в ходе технологического процесса, генерируя множество сложных программ по обработке – с числом операций, превышающим 20.
Используя настройку станка
Чтобы было удобно настроить постпроцессор на конкретный станок, он условно разделен на составные:
Очень сложная структура шаблона, побуждает при его разработке пользоваться специальным редактором (генератор постпроцессоров), что несколько облегчает и ускоряет работу. Задача разработчиков – выбрать тип станка, ввести опции и нужные параметры, и с их помощью сгенерировать модуль. Таким образом, можно создать новый и модифицировать старый постпроцессор.
Иногда выполняют компиляцию, чтобы защитить его от редактирования, зачастую производится лицензирование модуля. Спецредактор служит для реализации других функций, ускоряющих разработку программного модуля.
ВАЖНО! Постпроцессоры в составе CAM-систем – важная и неотъемлемая часть. Без них они теряют всякий смысл.
Советы для работающих в этом направлении
Написание постпроцессоров для разных станков с числовым программным управлением, особой сложности не представляет. Некоторые советы для тех, кто работает в этом направлении:
ВАЖНО! Нельзя создать постпроцессор, который идеально подойдет к двум одинаковым станкам на разных предприятиях. Но перенастроить его, учитывая технологические особенности, реально.
Для старых систем есть выход
Общепризнанно, что многие из управляющих программ – написанное, благодаря использованию CAM систем, и это весьма удобно. Снижаются затраты времени на их разработку, детали обрабатываются с высокой точностью методом высокоскоростного фрезерования на современных станках.
А что делать, если в техническом парке эксплуатируются станки лишь старых моделей? Их используют для работы с простыми деталями, тогда как на новом оборудовании выпускают с высокой точностью детали большей сложности.
В подобных случаях есть единственно правильный выход – прибегнуть к созданию собственного программного модуля.
На сегодня известно несколько способов создания постпроцессора:
На специализированных сайтах сейчас создано солидную по объёму библиотеку готовых постпроцессоров. Используя их как шаблоны, можно приступать к написанию новых.
Ориентир – на Техкарту
Разделы в постпроцессоре – разного функционала: Program code, с указанием используемых кодов; Controller format, определяющий форматы контроллеров и Machine format – отвечающий за кинематику станка. Всё это, в конечном итоге, отображается в Техкарте.
Трех- координатный станок, имеющий старые системы управления, порой не способен одновременно выполнять перемещение по всем трем координатам.
Бывают производственные ситуации, когда необходимо перемещаться вдоль трех координатных осей. Например, инструмент должен сначала углубиться в материал, а затем перемещаться по остальным координатам. В случае ускоренного перемещения, установив удобные правила деления, включают опцию разбиения обрабатываемого участка.
Обратим внимание на круговую интерполяцию, то есть движение инструмента по дуговой траектории. Оказывается, существует 6 способов выведения кода. Часть из них – абсолютные координаты трех векторов. Важно знать длину отрезка, соединяющего центр с началом дуги; оперировать величиной радиуса; и уметь выполнить разбивку на ряд линейных участков.
Модуль Drill Cycle связан с циклами сверления. Две абсолютно одинаковые стойки могут использовать различные варианты параметров и разную их запись. Некоторые из них, приемлемые в случае со старыми системами ЧПУ, в современных не включены. Здесь необходимо редактирование, чтобы параметры были адаптированы для выбранных систем.
Завершение работы с Техкартой, ознаменует соответствие постпроцессора всем требованиям. Останется всю совокупность выводимых данных о станке связать с его кинематикой. В главном меню есть функции дополнительного плана и дублирующие функционал Техкарты. Они включают:
Заключение
У опытного программиста-технолога на качественную разработку постпроцессора – программного модуля, преобразующего данные в управляющую программу, – уходит половина дня или чуть больше. Менее опытный человек потратит на это два или три рабочих дня. Ведь учитывается материал, вид работы, каждая координатная ось, вдоль которой движется рабочий стол станка.
Если оборудование в ближайшее время заменять не собираются, написание постпроцессора для него окупит себя. В выигрыше будет самое главное – экономия времени. Станок, имеющий числовое и программное управление, используя один постпроцессор, будет работать с CAM системами разного типа.