Постпроцессирование кода управляющей программы
Постпроцессор является связующим звеном между CAM системой и станком с числовым программным управлением при автоматизированной подготовке управляющих программ. Сделано это для того, чтобы не перегружать САМ систему огромным многообразием станков, языков программирования систем управлений и т.д.
Постпроцессор — это транслятор, который переводит траектории движения инструмента из системы CAM на язык, понятный системе управления для отработки станком данных перемещений. В ряде отечественных систем автоматизированной подготовки управляющих программ постпроцессоры называли «паспортами».
Благодаря постпроцессору, технологу программисту не нужно задумываться о тонкостях программирования того или иного станка, на котором будет производится обработка детали, а достаточно всего лишь указать нужный постпроцессор, и он сделает всю необходимую работу по преобразованию траектории движения инструмента в нужный код.
Напрашивается вопрос. Почему к каждому станку нужен свой постпроцессор, если G код является международным стандартом по программированию станков с ЧПУ? Помимо стандартных функций, адресов и команд производитель станка и системы управления добавляет собственные данные позволяющие реализовать возможности станка в полном объеме, именно поэтому часто бывают случаи, когда два станка одного производителя с одинаковыми системами управления будут по-разному программироваться.
В постпроцессоре обычно хранятся следующие данные:
- формат кадра системы управления;
- диапазон скоростей вращения шпинделя;
- допустимая предельная величина рабочей подачи;
- кинематика и компоновка станка, иногда даже указывается размерная цепочка кинематических трансформаций;
- диапазон перемещения осей;
- стандартные и специфические М функции, созданные производителем станка;
- стандартные и специальные циклы, позволяющие не только производить частоповторяющиеся технологические операции, но и действия непосредственно со станком, например, смена фрезерных шпинделей, циклы изменения динамики станка и точного останова в зависимости от технологических задач и т.д.;
- логика отвода режущего инструмента между операциями, перед/после разворотом рабочей плоскости;
- команды включения трансформаций, например, для разворота рабочей плоскости, непрерывной пятиосевой обработки;
- дополнительная вспомогательная информация в виде комментариев, сносок, для удобства работы наладчиков в цеху, данных о управляющей программе, дате ее создания, общем времени обработки, критически важных размерах режущего инструмента, тонкостях обработки и т.д.
Используя данную информацию и траекторию движения инструмента, постпроцессор генерирует код программы для конкретного станка и системы управления. По сути все препроцессоры можно поделить на два типа внешние и внутренние. К внешним постпроцессорам относится стороннее от САМ системы программное обеспечение, которое в качестве входной информации использует код траектории движения инструмента выводимый из САМ в универсальном формате СL-DATA (Cutter Locations DATA)и преобразует его в управляющую программу. Внутренние постпроцессоры получили более широкое распространение, так как они созданы разработчиками конкретной САМ системы, для обеспечения максимально эффективного вывода управляющей программы. В них могут быть дополнительно реализованны события пользователя, например, перестраивающие логику работы постпроцессора для вывода программы под конкретную технологическую задачу.
Несмотря на то, что сам постпроцессор написан на языке высокого уровня, в современных наиболее широко распространяемых в мире САМ системах существуют свои собственные генераторы постпроцессоров (у каждой фирмы, производящей САМ, он индивидуален и к другой не подходит). Это программное обеспечение, позволяющее пользователям создавать собственные постпроцессоры в более удобной среде с применением блочной графической структуры (см. рисунок 1), подсказок, ассоциативных связей и т.д. Данный аспект существенно облегчает написание постпроцессора.
Рисунок 1. Пример навигационного окна генератора постпроцессоров
Почти все постпроцессоры делят управляющую программу на несколько частей:
- начало программы – так называемая «шапка» программы, в которою входит строка безопасности, сброс трансформаций, данные о программе, инициализация переменных задействованных в работе и т.д.;
- начало операции – действия, которые нужно вывести постпроцессору в код программы перед вызовом первого инструмента, по какой логике осуществлять дальнейшие смены инструмента, что делать при ручной смене инструмента, какие кадры выводить для первого перемещения. Возможно опционально дополнить логикой на перемещение подвода, врезания и т.д.;
- форматы кадров для вывода перемещений – линейного, кругового, перемещения быстрого хода, движения по спирали и т.д.;
- алгоритмы работы с циклами обработки;
- задание синтаксиса функций – какие номера функций присутствуют на станке, численные или буквенные, нужно ли обязательно выводить знак «+», величина числовой разрядности перед запятой, после и т.д.;
- конец операции - действия, которые нужно вывести постпроцессору в код программы после выхода инструмента, для безопасного отхода, сброса трансформаций, выключения СОЖ или шпинделя и т.д.;
- конец программы – выключение всех активных команд, трансформаций, задание метки конца программы;
- окно описания пользовательской логики и алгоритмов для работы постпроцессора.
Несмотря на то, что год от года разработчики генераторов постпроцессоров делают их более интуитивно понятными и доступными для пользователей, увы этого недостаточно чтобы не совершить фатальные ошибки. При создании постпроцессора, самое главное четко понимать безопасную логику работы со станком и системой управления. Незначительная ошибка в алгоритмах работы постпроцессора может привести к аварии, дорогостоящим ремонтам и простою оборудования.