При программировании обработки деталей на станках с ЧПУ в соответствии со стандартом DIN 66025 (ISO 6983), известном ранее как ISO 7bit, используются следующие операторы:
- N — номер кадра;
- G — подготовительные функции;
- Х, Y, Z, А, В, С — информация о перемещениях по осям;
- М — дополнительные функции;
- S — функции шпинделя;
- T — функции инструмента;
- F — функции подачи;
- D — номер коррекции инструмента;
- Н — вспомогательные функции (блоки данных коррекции инструмента в режиме DIN-ISO). При наличии действительного номера D актуального инструмента он индицируется дополнительно.
Для большей наглядности структуры кадра операторы в кадре должны быть расположены в следующей последовательности: N, G, X, Y, Z, А, В, С, F, S, T, D, M, H.
Управляющая программа состоит из n-го числа кадров, воспроизводимых непрерывно или с заданными паузами (при высокоскоростной обработке деталей из высокопрочных алюминиевых сплавов даже кратковременная остановка инструмента между смежными кадрами недопустима из-за опасности перегрева или проплавления обработанной поверхности за счет трения). Кроме того, возможен пропуск отдельных кадров и коррекция размеров путем подключения подготовительных функций. Это обеспечивает разработку управляющих программ для типовых технологических процессов.
Кадры управляющей программы состоят из следующих компонентов:
- команды (операторы) по DIN 66025;
- элементы высокоуровневого языка программирования ЧПУ;
- идентификаторы (определенные имена) для:
- системных переменных;
- определенных пользователем переменных;
- подпрограмм;
- кодовых слов;
- меток перехода;
- макросов;
- операторы сравнения;
- логические операторы;
- функции вычисления;
- управляющие структуры.
Так как набора команд по DIN 66025 недостаточно для программирования сложных процессов обработки на современных многоцелевых станках, он был дополнен элементами высокоуровневого языка программирования ЧПУ.
В отличие от команд по DIN 66025 команды высокоуровневого языка программирования ЧПУ состоят из нескольких букв адреса, к примеру:
- OVR — для коррекции скорости (процентовка);
- SPOS — для позиционирования шпинделя.
Структура программы имеет следующий вид: «%» (только для программ, разработанных на ПЭВМ), заголовок программы «О» или «:» с последующим номером программ, содержащим не более четырех цифр. Каждая строка в программе является кадром.
Каждый кадр программы имеет структуру:
- N — порядковый номер кадра (не более четырех знаков, нумерация ведется через 5 или 10 для возможности при отработке программы введения дополнительных кадров);
- подготовительная функция G;
- координаты Х, Y, Z, A, C, В;
- дополнительная функция М;
- функция шпинделя S;
- функция инструмента Т;
- функция подачи F;
- D — номер коррекции инструмента;
- H — блоки данных коррекции инструмента в режиме DIN-ISO. Команды действуют либо модально, либо покадрово.
Модально действующие команды сохраняют свою значимость во всех последующих кадрах с запрограммированным значением до тех пор, пока по тому же адресу не будет запрограммировано новое значение, отменяющее действующую прежде команду.
Действующие покадрово команды сохраняют свою значимость только в том кадре, в котором они программируются.
Каждый кадр заканчивается символом LF, запись символа LF не требуется, он автоматически создается при переключении строки. Программа заканчивается командами М2, М30 или М99. Кадр может состоять максимально из 512 символов (включая комментарий и символ конца кадра LF).
Подготовительные функции G обеспечивают все действия станка.
Х, Y, Z — линейные координатные оси станка, координата Z всегда параллельна оси шпинделя станка или перпендикулярна плоскости закрепления детали для станков с двухповоротной фрезерной головкой; А, С, В — угловые координаты вращения относительно линейных координатных осей. Если станок имеет больше двух шпинделей, а также инструментальных головок, то появляются дополнительные координатные оси Х’, Y’, Z’, А’, С’, В’ и т. д.
Следует отметить, что подготовительные функции позволяют переходить к системе координат детали, что в ряде случаев позволяет отказаться от применения специальных приспособлений.
Дополнительные функции М отвечают за включение, выключение шпинделя, насосных станций для подачи СОЖ, направление вращения шпинделя, конец программы.
Функция шпинделя S задает частоту вращения шпинделя.
Функция инструмента Т задает номер инструмента или инструментальной наладки.
Функция подачи F задает значение подачи.
Рис. 1. Система координат рабочего пространства станка и направления положительных перемещений
Система координат станка и направления положительных перемещений приведены на рисунке 1.
Управляющие программы могут быть составлены в системе координат станка, в этом случае применяемая станочная оснастка должна быть согласована с координатной сеткой стола станка. Согласование выполняется тем, что опорная плита приспособления имеет центрирующий палец и шпонку. Палец совмещается с втулкой, запрессованной в центре стола станка, а шпонка — с классным пазом. Таким образом, рабочее пространство станка в плоскости Х–Y совмещается с системой координат приспособления. В системе координат приспособления выполнены базовые поверхности, например плоскость и два пальца (цилиндрический и срезанный). Следовательно, погрешности базирования имеют место как при установке приспособления, так и при установке детали.
При интенсивной эксплуатации в условиях многономенклатурного производства, т. е. при частой смене приспособлений необходимо выполнять перепроверку не только оснастки, но и направляющих базовых поверхностей стола станка, а именно центрирующую втулку и классный паз.
С учетом этого целесообразно обработку выполнять в системе координат детали. Приспособление ориентируется только по одной оси, а привязка к системе координат детали выполняется измерительными датчиками. В этом случае кроме исключения погрешности базирования снижаются требования к срокам перепроверки оснастки, более того, появляется возможность шире применять нормализованные приспособления или наладки из них без привязки к системе координат станка.
Подготовительные функции G, дополнительные функции М приведены в таблицах 1, 2.
Так, на фрезерных станках смена инструмента выполняется в следующей последовательности: с помощью команды Т выбирается инструмент, а его смена происходит только по команде M6.
Для револьверных головок токарных станков для смены инструмента достаточно команды Т.
Функция шпинделя S задает частоту вращения шпинделя, функция инструмента Т задает номер инструментальной наладки или инструмента, функция подачи F задает значение подачи.
Таблица 1. Подготовительные функции G
Инструкция | Описание |
G00 | Линейная интерполяция при ускоренном перемещении |
G01 | Линейная интерполяция при скорости подачи |
G02 | Круговая интерполяция по часовой стрелке |
G03 | Круговая интерполяция против часовой стрелки |
G04 | Выдержка времени |
G05 | Круговая интерполяция с выходом на круговую траекторию по касательной |
G06 | Снижение допустимого уровня ускорения |
G07 | Отмена снижения допустимого уровня ускорения |
G0S | Управление скоростью подачи в точках перегиба |
G09 | Отмена управления скоростью подачи в точках перегиба |
G10 | Ускоренное перемещение в полярных координатах |
G11 | Линейная интерполяция в полярных координатах |
G12 | Круговая интерполяция по часовой стрелке в полярных координатах |
G13 | Круговая интерполяция против часовой стрелки в полярных координатах |
G14 | Программирование величины коэффициента усиления по скорости следящего привода |
G15 | Отмена G14 |
G16 | Программирование без указания плоскости |
G17 | Выбор плоскости У—Х |
G1S | Выбор плоскости Z—X |
G19 | Выбор плоскости У—Z |
G20 | Задание полюса и плоскости координат при программировании в полярных координатах |
G21 | Программирование классификации осей |
G22 | Активизация таблиц |
G23 | Программирование условного перехода |
G24 | Программирование безусловного перехода |
G32 | Нарезание резьбы в режиме линейной интерполяции без компенсирующего патрона |
G34 | Скругление угла для двух соседних прямолинейных участков (с допустимым отклонением под адресом Е) |
G35 | Выключение сглаживания угла |
G36 | Выключение запрограммированного при скруглении угла отклонения, которое становится равным машинному параметру |
G37 | Программирование точки для зеркального отображения или поворота координат |
G38 | Активизация зеркального отображения, поворота координат, масштабирования |
G39 | Отмена зеркального отображения, поворота координат, масштабирования |
G40 | Отмена эквидистантной коррекции |
G41 | Эквидистантная коррекция слева по направлению подачи |
G42 | Эквидистантная коррекция справа по направлению подачи |
G53 | Отмена смещения нуля |
G54-G59 | Инициация смещения нуля |
G60 | Смещение координатной системы программы |
G61 | Точное позиционирование при движении со скоростью подачи |
G62 | Отмена точного позиционирования |
G63 | Включение 100% от запрограммированного значения скорости |
G64 | Привязывание скорости подачи к точке контакта фрезы и детали |
G65 | Привязывание скорости подачи к центру фрезы |
G66 | Активизация значения скорости заданной потенциометром |
G67 | Отмена смещения координатной системы программы |
G68 | Вариант сопряжения отрезков эквидистант по дуге |
G69 | Вариант сопряжения отрезков эквидистант по траектории пересечения эквидистант |
G70 | Программирование в дюймах |
G71 | Отмена программирования в дюймах |
G73 | Линейная интерполяция с точным позиционированием |
G74 | Выход в начало координат |
G75 | Работа с датчиком касания |
G76 | Перемещение в точку с абсолютными координатами в системе координат станка |
G78 | Активизация сверлильной оси |
G79 | Деактивация одной сверлильной оси или всех сразу |
G80 | Отмена вызова стандартных циклов |
G81, G82 | Стандартный цикл сверления |
G83 | Стандартный цикл глубокого сверления |
G84 | Цикл нарезания резьбы с компенсирующим патроном |
G85, G86 | Стандартный цикл рассверливания |
G90 | Программирование в абсолютных координатах |
G91 | Программирование в относительных координатах |
G92 | Установка значений координат |
G93 | Программирование времени отработки кадра |
G94 | Программирование подачи в мм/мин |
G95 | Программирование подачи в мм/об |
G97 | Программирование скорости резания |
G105 | Установка нуля для линейных бесконечных осей |
G108 | Управление подачей в точках перегиба с учетом Look Ahead |
G112 | Деактивация опережающего управления скоростью |
G113 | Активация опережающего управления торможением |
G114 | Активация опережающего управления скоростью |
G115 | Деактивация опережающего управления скоростью |
G138 | Включение компенсации положения заготовки |
G139 | Выключение компенсации положения заготовки |
G145-845 | Активизация внешней коррекции со стороны программируемого контролера |
G146 | Выключение внешней коррекции инструмента |
G147, G847 | Вторичная компенсационная группа коррекций инструмента; коррекции соотнесены с осями |
G148 | Отмена дополнительной компенсации инструмента |
G153 | Отмена первого аддитивного смещения нуля |
G154-159 | Индикация первого аддитивного смещения нуля |
G160-360 | Внешнее смещение нуля |
G161 | Точное позиционирование при ускоренном перемещении |
G162 | Отмена точного позиционирования при ускоренном перемещении |
G163 | Точное позиционирование при ускоренном перемещении и перемещение со скоростью подачи |
G164 | Первая опция точного позиционирования |
G165 | Вторая опция точного позиционирования |
G166 | Третья опция точного позиционирования |
G167 | Отмена внешнего смещения нуля |
G168 | Смещение координатной системы управляющей программы |
G169 | Отмена всех смещений координатной системы |
G184 | Цикл нарезания резьбы без компенсирующего патрона |
G189 | Программирование в абсолютных координатах для бесконечных осей |
G190 | Программирование в абсолютных координатах «слово за словом» |
G191 | Программирование в относительных координатах «слово за словом» |
G192 | Установка нижнего предела частоты вращения в управляющей программе |
G194 | Программирование скорости (подачи, частоты вращения) с адаптацией ускорения |
G200 | Линейная интерполяция на ускоренном перемещении без торможения до V = 0 |
G202 | Винтовая интерполяция по часовой стрелке |
G203 | Винтовая интерполяция против часовой стрелки |
G206 | Активизация и сохранение в памяти максимальных значений ускорений |
G228 | Переходы от кадра к кадру без торможения |
G253 | Отмена второго аддитивного смещения нуля |
G254-259 | Инициация второго аддитивного смещения нуля |
G268 | Аддитивное смещение координатной системы управляющей программы |
G269 | Отмена аддитивного смещения координатной системы управляющей программы |
G292 | Установка верхнего предела частоты вращения в управляющей программе |
G301 | Включение осциллирующего движения |
G350 | Установка параметров осциллирующего движения |
G408 | Формирование гладкого ускорения при движении от точки к точке |
G500 | Обнаружение возможных коллизий при опережающем просмотре кадров |
G543 | Включение управления коллизиями при опережающем просмотре кадров |
G544 | Выключение управления коллизиями при опережающем просмотре кадров |
G575 | Переключение кадров высокоскоростным внешним сигналом |
G580 | Расформирование координатных осей |
G581 | Формирование координатных осей |
G608 | Формирование гладкого ускорения при движении от точки к точке для каждой оси в отдельности |
Примечание. Для каждой системы управления некоторые значения подготовительных функций могут иметь разные значения в зависимости от изготовителя станка. Следует отметить, что для расширения технологических возможностей оборудования у изготовителей систем ЧПУ имеет место тенденция увеличения подготовительных функций.
Таблица 2. Дополнительные функции М
Инструкция | Описание |
МО | Остановка программы |
М1 | Остановка по требованию |
М2 | Конец программы |
М3 | Включение вращения шпинделя по часовой стрелке |
М4 | Включение вращения шпинделя против часовой стрелки |
М5 | Остановка шпинделя |
М2=3 | Инструмент с механическим приводом включен по часовой стрелке |
М2=4 | Инструмент с механическим приводом включен против часовой стрелки |
М2=5 | Инструмент с механическим приводом выключен |
М6 | Автоматическая смена инструмента |
М7 | Включение обдува воздухом |
МS | Включение подачи СОЖ |
М9 | Выключение охлаждения |
М1О | Отключение обдува воздухом |
М11 | Зажим инструмента |
М12 | Разжим инструмента |
М13 | Включение вращения шпинделя по часовой стрелке совместно с включением СОЖ |
М14 | Включение вращения шпинделя против часовой стрелке совместно с включением СОЖ |
М15 | Включение СОЖ для смыва стружки |
М17 | Конец подпрограммы |
М19 | Ориентация шпинделя |
М21 | Включение зеркального отображения программы вдоль оси Х |
М22 | Включение зеркального отображения программы вдоль оси У |
М23 | Отключение зеркального отображения программы |
М29 | Включение режима жесткого резьбонарезания |
М3О | Конец программы с возможностью одновременного выключения питания станка |
М52 | Перемещение магазина на позицию вправо |
М53 | Перемещение магазина на позицию влево |
М7О | Инициализация магазина |
М71 | Опускание активного кармана магазина |
М72 | Поворот манипулятора на 60° |
М73 | Разжим инструмента |
М74 | Поворот манипулятора на 120° |
М75 | Зажим инструмента |
М76 | Поворот манипулятора на 180° |
М77 | Поднятие активного кармана магазина |
М98 | Вызов подпрограммы |
М99 | Возврат в основную программу |
Примечакие. Для разных систем управления и типов станков дополнительные функции могут иметь другие значения, например активировать перемещение задней бабки, функции загрузочного устройства, люнета и т. д.
При создании программы ЧПУ само программирование, т. е. преобразование отдельных рабочих переходов в язык ЧПУ, часто является лишь небольшой частью работы по программированию.
Перед программированием необходимо осуществить планирование и подготовку рабочих переходов. Чем точнее будет спланировано начало и структура программы ЧПУ, тем быстрее и проще будет осуществляться само программирование и тем более наглядной и менее подверженной ошибкам будет готовая программа ЧПУ.
Преимущество наглядных программ особо проявляется тогда, когда позднее необходимо вносить изменения.
Так как не каждая программа имеет такую же структуру, то не имеет смысла работать по типовому шаблону. Однако для большинства случаев целесообразно придерживаться следующей последовательности.
1. Подготовка чертежа детали заключается:
- а) в определении нулевой точки детали;
- б) в нанесении системы координат;
- в) в вычислении возможно отсутствующих координат.
2. Определение процесса обработки:
- а) Когда будут использоваться, какие инструменты и для обработки каких контуров?
- б) В какой последовательности будут изготовляться отдельные элементы детали?
- в) Какие отдельные элементы повторяются (возможно, в повернутом виде) и должны быть сохранены в подпрограмме?
- г) Имеются ли в других программах обработки деталей или подпрограммах контуры деталей, которые могут быть повторно использованы для актуальной детали?
- д) Где целесообразны или необходимы смещения нулевой точки, вращение, отражение, масштабирование (концепция фрейма)?
3. Создание технологической карты. Определить поочередно все процессы обработки станка, к примеру:
- а) движения ускоренным ходом для позиционирования;
- б) смена инструмента;
- в) определение плоскости обработки;
- г) свободный ход для дополнительного измерения;
- д) включение/выключение шпинделя, СОЖ;
- е) вызов данных инструмента;
- ж) подача;
- з) коррекция траектории;
- и) подвод к контуру;
- к) отвод от контура и т. д.
4. Перевод переходов на язык программирования: запись каждого перехода как кадра ЧПУ (или кадров ЧПУ).
5. Соединение всех отдельных переходов в операцию, как правило, в одной программе. Иногда, особенно при обработке крупногабаритных деталей в программу, могут быть выделены переходы черновой, получистовой и чистовой обработки. Это имело место при ограниченном объеме памяти, характерном для устаревших систем ЧПУ. Для современных систем программного управления объем памяти практически не ограничивает технологические возможности станков.
В современных системах программного управления широко применяются стандартные циклы обработки. Их использование значительно сокращает затраты времени на программирование.
Некоторые постоянные цикла для систем управления, используемые в программном обеспечении WIN NC SINUMERIK, приведены ниже:
- CYCLE81 — сверление, центрование;
- CYCLE82 — сверление, зенкерование;
- CYCLE83 — сверление глубоких отверстий спиральными сверлами;
- CYCLE84 — нарезание внутренней резьбы без компенсирующего патрона;
- CYCLE840 — нарезание внутренней резьбы с компенсирующим патроном для метчика;
- CYCLE85 — растачивание 1;
- CYCLE86 — растачивание 2;
- CYCLE87 — растачивание 3;
- CYCLE88 — растачивание 4;
- CYCLE89 — растачивание 5;
- CYCLE93 — проточка;
- CYCLE94 — внутренняя выточка;
- CYCLE95 — цикл снятия припуска;
- CYCLE96 — резьбовая выточка;
- CYCLE97 — цикл нарезания резьбы.
Следует отметить, что системы программного управления высокого уровня являются открытыми, что позволяет расширить библиотеку стандартных циклов обработки типовых поверхностей характерных для производства данного типа продукции и тем самым сократить сроки подготовки производства.
Рис. 2. Текущее положение между системами автоматизированного проектирования технологических процессов, управляющих программ и ЧПУ разных изготовителей
Применение CAM систем привело к необходимости для каждой системы программного управления разрабатывать постпроцессоры, без которых оборудование не понимает программы без их перевода в машинные коды (рис. 2).
Программирование современных систем ЧПУ выполняется в соответствии со стандартом ISO 6983 (DIN 66025), которому уже более 50 лет и который, как считают программисты, якобы тормозит развитие ЧПУ-технологий. Термин «ЧПУ-технологии», по мнению автора, не правомерен, обработка деталей на станках с ЧПУ подчиняется всем закономерностям технологии машиностроения и обработки металлов резанием или других методов формообразования.
Нарушение закономерностей технологических наук приводит:
- к повышенному короблению деталей;
- к снижению точности линейных размеров;
- к росту трудоемкости обработки деталей и т. д.
Основным отличием для многоцелевых станков является предельно выраженная концентрация операций, не только характерная для данного вида оборудования, но и реализуемая приводным инструментом и специальной шпиндельной оснасткой, а также методы обеспечения точности с использованием станочных измерительных систем. Стандарт поддерживает простые команды для элементарных перемещений и логических операций. В настоящее время для решения сложных геометрических и логических задач в системах программного управления кроме машинных кодов в соответствии с DIN 66025 (ISO 7bit) применяют языки программирования высокого уровня. Управляющие программы в стандарте ISO 6983 содержат незначительное количество информации, полученной на уровне CAD-CAM систем. Однако более серьезным недостатком, как считают разработчики систем программного управления, является невозможность двустороннего обмена информацией с этими системами, что означает, что любые изменения в управляющей программе не могут быть отображены в восходящем информационном потоке к системам CAD-CAM. Необходимо отметить, что это целесообразно не для всех отраслей промышленности. Так, например, сглаживание плавного сопряжений теоретических контуров сплайнами допустимо, а сопряжение двух поверхностей требует анализа возможных методов их формообразования, для ряда конструкционных материалов могут иметь место технологические ограничения, например, минимально допустимые радиусы сопряжения конструктивных элементов деталей из высокопрочных алюминиевых сплавов и т. д.
В отличие от DIN 66025 (ISO 6983) разрабатываемый стандарт STEP-NC ISO 14649 (на данный период разработаны не все его модули) определяет специальную структуру управляющей программы ЧПУ — program structure, которую используют для построения логических блоков в рамках структурного программирования обработки. Структура управляющей программы не является списком типовых обрабатываемых форм (features); она определяет план операции (workplan), который представляет собой последовательность исполняемых объектов (executables). STEP-NC предполагает широкий обмен информацией между инженерными службами, в том числе подготовки и планирования производства, а также цеховым уровнем.
Структура предполагаемого обмена информацией приведена на рисунке 3.
Структура планируемого информационного обмена вызывает массу вопросов:
- недостаточный уровень формализации инженерных работ затрудняет создание баз знаний;
- большое количество каталогов режущего инструмента, в которых приведена недостаточная информация для выбора инструмента для обработки специальных материалов и условий его применения, что требует в большинстве случаев экспериментальной проверки;
- в каталогах оборудования часто отсутствует информация о позиционной точности управляемых осей станка, динамические характеристики приводов и т. д.;
- устаревшие технологические справочники, разработанные еще для универсального оборудования и систематически переиздаваемые практически без обновления технологической информации;
- отсутствие систематизированной информации о прогрессивной технологической оснастке.
Рис. 3. Планируемый обмен информацией между инженерными службами и цеховым уровнем
Дополнительно необходимо отметить, что не существует типовых методов оптимизации программирования станков по параметрам, позволяющих выбрать наилучший станок или группу станков для выполнения того или иного технологической операции или процесса.
На эти проблемы много раз указывали пользователи различных станков, вовлеченные в процесс стандартизации STEP-NC. Производители оборудования и разработчики программного обеспечения стараются учесть требования пользователей и реализуют некоторые из указанных функций в своей продукции. Однако часто их работа не подчиняется единому стандарту, что, по существующему мнению, может тормозить обновление промышленных систем. Также нельзя не упомянуть о том, что выпускаемое оборудование редко пользуется всеми современными технологиями и в результате производственная база оказывается не такой эффективной и совершенной. С учетом этого изготовители систем программного управления выбрали компромиссный вариант, позволяющий работать как по DIN 66025 (ISO 6983), так и по ISO 14649 (рис. 4).
Рис. 4. Смешанная архитектура системы ЧПУ, поддерживающая стандарты DIN 66025 (ISO 6983) и ISO 14649 (STEP-NC)
Все это свидетельствует о том, что кроме совершенствования систем программного управления и методов программирования необходимо заниматься на системной основе и подготовкой технологической информации:
- инструмент, обеспечивающий интенсификацию режимов обработки;
- рекомендации по применению различных конструкций инструмента;
- зависимости для расчета резания;
- зависимости для расчета составляющих усилий резания;
- базы данных по оборудованию с ЧПУ и их технологические возможности, в том числе и в случаях оснащения разными системами управления;
- алгоритмы расчета режимов резания для станков, где в качестве привода главного движения применены электрошпинделя;
- стратегия обработки различных конструктивных элементов деталей на станках с ЧПУ;
- базы данных по применению серийно выпускаемой оснастки для станков с ЧПУ;
- измерительные системы для станков, включая датчики нулевого отсчета и измерительные;
- производственные инструкции по сборке инструментальных наладок и их балансировке;
- технологические регламенты по проверке точности станков с ЧПУ, перепроверки шпиндельной оснастки, особенно оправок и втулок типа HSK и многое другое.