Содержание страницы
Современные системы ЧПУ понимают более сотни различных команд, однако в своей повседневной работе технолог-программист использует лишь ограниченный, довольно узкий набор G- и М-кодов. Этому есть простое объяснение. Дело в том, что основная задача управляющей программы (УП) заключается в перемещении инструмента по заданным координатам. Для реализации таких перемещений нужно воспользоваться всего несколькими кодами, которые можно смело назвать базовыми. Здесь вы подробно ознакомитесь с базовыми G-кодами, которые понимают практически все. Обратите внимание на графический символ, обозначающий нулевую точку (см. рис. 1).
Рис. 1. Принятые обозначения на схемах
1. Код G00 – код ускоренного перемещения
Код G00 используется для ускоренного перемещения. Ускоренное перемещение, или позиционирование, необходимо для быстрого перемещения инструмента к позиции обработки или безопасной позиции. Ускоренное перемещение никогда не используется для выполнения обработки, так как скорость движения инструмента слишком высока и непостоянна. Применение кода G00 позволяет существенно снизить общее время обработки.
Вы уже знаете, что для фрезерования паза сначала нужно подвести фрезу максимально близко к поверхности заготовки, а затем осуществить вертикальное врезание в материал на нужную глубину. Для экономии времени на выполнение холостых ходов в программе обработки мы должны указать координаты точки у поверхности заготовки, в которую инструмент должен переместиться максимально быстро. Непосредственное врезание инструмента в материал заготовки осуществляется со скоростью рабочей подачи и при помощи другого кода.
Для выполнения ускоренного перемещения достаточно указать в кадре код G00 и координаты требуемой позиции. Условно кадр ускоренного перемещения выглядит так:
G00 Xn.n Yn.n Zn.n
Посмотрим, как будет перемещаться инструмент (см. рис. 2) из точки с координатами (0; 0) в данном фрагменте УП:
…
N05 G00 X10.0 Y20.0
N10 X40.0
N15 Y0.0
…
Рис. 2. Схема ускоренных перемещений фрезы
Кадр N05 обеспечивает ускоренное перемещение инструмента в точку с координатами (10; 20). Следующий кадр выполняет позиционирование в точку (40; 20). Кадр N15 перемещает инструмент в точку (40; 0). Так как G00 является модальным кодом, то нет никакой необходимости указывать его еще раз в кадрах N10 и N15.
Всегда необходимо оставлять небольшое расстояние между поверхностью заготовки и точкой, в которую должен быть перемещен инструмент при помощи кода G00. Если это расстояние будет близким к нулю, то возникает опасность столкновения инструмента с заготовкой, так как размеры заготовки или инструмента могут оказаться немного большими, чем вы ожидаете. Обычно безопасное расстояние находится в пределах от 0.5 до 5 мм. При ускоренном подводе инструмента к детали по трем осям сначала лучше выполнить позиционирование по осям X и Y, а уже затем по Z.
При отводе инструмента – обратный порядок перемещений. В любом случае рекомендуется разделять ускоренное перемещение на два кадра – на позиционирование по X, Y в одном кадре и по оси Z в другом. Дело в том, что при позиционировании с кодом G00 по трем осям одновременно траектория движения инструмента может не являться прямой линией. СЧПУ отдает команду двигателям на перемещение колонны или рабочего стола на максимальной скорости в указанную координату. Как только достигается требуемая координата по одной из осей, то ускоренное перемещение по этой оси прекращается, хотя перемещение по другим осям все еще может происходить.
Так как расстояния перемещения по трем осям различны, то траектория перемещения может выглядеть как ломаная линия. Результатом такого перемещения может стать неожиданное столкновение инструмента с крепежными элементами и приспособлениями.
Сравните два фрагмента УП:
…
N10 G00 X100.0 Y200.0 Z0.5
…
и
…
N10 G00 X100.0 Y200.0
N20 Z0.5
…
Во втором фрагменте ускоренное перемещение разбито на два кадра: сначала инструмент быстро перемещается в точку (100; 200), а уже после опускается по оси Z. Этот вариант является более предпочтительным, так как основное позиционирование осуществляется по осям X и Y далеко от заготовки и приспособления, тогда как в первом случае существует вероятность столкновения инструмента с деталью.
При работе с ускоренными перемещениями нужно проявлять повышенную внимательность. Современные станки с ЧПУ в этом режиме могут иметь скорость 30 метров в минуту и более. Скорее всего, оператор станка просто не успеет среагировать на неправильное перемещение на такой скорости, и может произойти серьезное столкновение. Опытный программист старается не допускать ускоренных перемещений инструмента ниже поверхности заготовки и всегда проверяет кадры, содержащие код G00.
2. G01 – код линейного перемещения
Код G01 предназначен для выполнения линейной интерполяции, или, говоря простым языком, для перемещения инструмента по прямой линии с заданной скоростью. Условно кадр для линейной интерполяции записывается следующим образом:
G01 Xn.n Yn.n Zn.n F n.n
Как видите, в этом кадре появилось слово данных F. Основное отличие кода G01 от G00 заключается в том, что при линейной интерполяции инструмент перемещается с заданной скоростью (скоростью рабочей подачи), при которой возможна механическая обработка материала. При этом СЧПУ поддерживает прямолинейное перемещение даже по трем осям одновременно.
N10 G01 X10.0 Y30.0 F100
N20 X40.0 Y40.0 Z40.0
В кадре N10 инструмент перемещается в точку (10; 30) со скоростью 100 миллиметров в минуту. Следующий кадр выполняет линейное перемещение в точку (40; 40; 40). Так как код G01 является модальным, то его не нужно указывать еще раз в кадре N20. То же самое относится и к скорости подачи F. Если в кадре N10 указана скорость F100, то она остается неизменной, пока не будет запрограммировано новое значение F. Линейная интерполяция используется не только для обработки в плоскости X–Y, но и для вертикального врезания в материал заготовки. На рис. 3 представлен пример перемещения инструмента в точку (30; 40) со скоростью подачи 50 мм/мин.
Рис. 3. Перемещение инструмента в точку (30; 40) со скоростью подачи 50 мм/мин
3. Круговое перемещение – коды G02 и G03
Если обработку по прямой линии несложно производить и на простом станке с ручным управлением, то перемещение инструмента по дуге точнее и проще выполнять на станке с ЧПУ.
Коды G02 и G03 предназначены для выполнения круговой интерполяции. Код G02 используется для перемещения по дуге по часовой стрелке, a G03 – против часовой стрелки. Направление перемещения определяется, когда мы смотрим на инструмент со стороны шпинделя, в отрицательном направлении оси Z. Как и при выполнении линейной интерполяции, в кадре круговой интерполяции необходимо указать скорость рабочей подачи F. Существуют два способа для формирования кадра круговой интерполяции.
Сравните структуру следующих кадров:
G02 Xn.n Yn.n Zn.n In.n Jn.n Kn.n Fn.n.
G02 Xn.n Yn.n Zn.n Rn.n Fn.n.
В первом варианте для выполнения кругового перемещения указывают:
- код G02 (G0З); координаты конечной точки дуги;
- I, J, К – слова данных и скорость рабочей подачи.
А во втором варианте вместо I, J, К указывают R. Выбор варианта записи кадра кругового перемещения зависит от возможностей ЧПУ и привычки программиста. Большинство современных станков с ЧПУ поддерживают оба варианта записи. В кадре с кодом круговой интерполяции необходимо указать координаты конечной точки перемещения (дуги). Если кроме X и Y в кадре находится Z-слово данных, то это значит, что производится винтовая интерполяция.
Винтовая интерполяция, которая поддерживается не всеми системами ЧПУ, позволяет выполнять фрезерование резьбы и обеспечивает плавное винтовое врезание инструмента в материал заготовки. Направление перемещения по дуге можно определить, если посмотреть на заготовку со стороны инструмента, как это показано на рис. 4. Если смотреть на заготовку с верху, то можно определить направление перемещения фрезы по дуге. Так как движение фрезы совпадает с движением часовой стрелки, то в УП используем код G02.
Рис. 4. Использование кода G02, когда движение фрезы совпадает с направлением движения часовой стрелки
Дуга с I, J, К
Для полного описания дуги недостаточно задать только координаты ее конечной точки. Необходимо также указать радиус и координаты центра (см. рис. 5).
Рис. 5. Координаты I, J, К позволяют определить центр дуги перемещения
При помощи I, J и К вы указываете относительные (инкрементальные) расстояния от начальной точки дуги до ее центра. Слово данных с I относится к оси X, слово данных с J – к оси Y, а слово данных с К – к оси Z. При этом в зависимости от расположения дуги значения могут быть положительными (см. рис. 6) или отрицательными (см. рис. 7).
Рис. 6. Для описания дуги № 1 необходимо указать положительное значение для I и отрицательное для J
Рис. 7. Для описания дуги № 2 необходимо указать положительное значение для I и положительное для J
Дуга с R
Более простой способ задания центра дуги основан на применении адреса R (радиуса). Если ваша стойка поддерживает такой формат для круговой интерполяции, то СЧПУ самостоятельно производит необходимые расчеты для определения координат центра дуги. Многие СЧПУ при работе с R требуют, чтобы окружность была разбита на несколько сегментов. Для однозначного определения формы дуги нужно указывать соответствующий знак перед числовым значением радиуса R. Для дуги, которая меньше 180°, значение R будет положительным (см. рис. 8), а для дуги больше 180°, значение R будет отрицательным (см. рис. 9).
Рис. 8. Положительное значение R для дуги меньше 180° (ее центр расположен снаружи хорды)
Рис. 9. Отрицательное значение R для дуги больше 180° (ее центр расположен внутри хорды)
Использование G02 и G03
Давайте разберемся, как работает круговая интерполяция, на примере. Приведенный ниже фрагмент управляющей программы перемещает инструмент по дуге с радиусом 3 мм из точки А (0; 0) в точку В (3; 3) со скоростью рабочей подачи 100 мм/мин.
N10 G02 X3.0 Y3.0 I3.0 J0.0 F100
Так как центр дуги находится на расстоянии 3 мм по оси X и 0 мм по оси Y относительно начальной точки А, то I будет равно 3.0, a J равно 0.
Полученная дуга составляет всего четверть от полной окружности. Попытаемся описать всю окружность постепенно. Следующий кадр перемещает инструмент из точки В (В1) в точку В2. Так как скорость рабочей подачи не изменяется, то нет необходимости повторно указывать F-слово данных.
Так как центр дуги находится на расстоянии 3 мм по оси X и 0 мм по оси Y относительно начальной точки А (см. рис. 10), то I будет равно 3.0, a J равно 0. Полученная дуга составляет всего четверть от полной окружности.
Рис. 10. Перемещение по дуге с R3 из точки А (0;0) в точку В (3;3)
Попытаемся описать всю окружность постепенно. Следующий кадр перемещает инструмент из точки В1 в точку В2. Так как скорость рабочей подачи не изменяется, то нет необходимости повторно указывать F-слово данных. Так как центр дуги находится на расстоянии 0 мм по оси X и 3 мм по оси Y относительно точки В, то I будет равно 0, a J равно –3. Таким образом, нам удалось создать перемещение по дуге из точки А в точку В2 при помощи двух кадров (см. рис. 11).
Рис. 11. Современные системы ЧПУ допускают описание подобной дуги в одном кадре
Этот пример неслучаен. Дело в том, что многие станки требуют именно такого разбиения окружности. То есть для описания полной окружности может потребоваться до четырех кадров. В настоящее время большинство систем ЧПУ позволяют выполнить операцию по описанию полной окружности за два или даже за один кадр. Поэтому перемещение из точки А в точку С можно записать следующим образом:
N05 G02 X6.0 Y0.0 I3.0 J0.0
А для полной окружности с радиусом 3 мм и центром в точке с координатами (0; 0) (см. рис. 12) справедливым будет следующий кадр:
N15 G02 Х-3.0 Y0.0 13.0 J0.0
Рис. 12. Описание полной окружности в одном кадре
Дуги такого типа несложно описать математически. Однако, если начальная и конечная точки дуги образуют некоторый сложный угол или эти точки находятся в разных квадрантах, то для нахождения значений I, J, К требуются определенные тригонометрические вычисления (рис. 13). При этом необходимо, чтобы расчеты были достаточно точными, иначе СЧПУ может выдать сообщение о невозможности построения дуги.
Рис. 13. Часто для расчета дуги «вручную» необходимо приложить некоторые усилия
На рисунке 14 изображена дуга, которую необходимо описать при помощи кодов круговой интерполяции с R-словом данных. В случае, когда инструмент перемещается по дуге по часовой стрелке (G02) из точки А в точку В, в УП должен присутствовать следующий кадр: G02 Х0 Y-10 R10. Если инструмент перемещается по дуге против часовой стрелки (G03) из точки В в точку А, в УП должен присутствовать следующий кадр: G03 Х10 Y0 R10.
Рис. 14. Дуга, которую необходимо описать при помощи кодов круговой интерполяции с R-словом данных