Рис. 1.3. Этапы разработки управляющей программы в CAD/CAM -системе
Первый этап – создание 3D модели детали (осуществляется, как правило, конструктором в CAD системе), а также заготовки (осуществляется, как правило, технологом-программистом в CAD системе);
Второй этап – создание траектории обработки в CAM системе технологом-программистом;
Третий этап – проверка управляющей программы (верификация).
Наиболее подробно процесс создания управляющих программ в CAD/CAM –системе будет рассмотрен в следующих разделах.
1.2 Основные G коды и M команды
G – code это условное именование языка для программирования устройств с ЧПУ (CNC). Был создан компанией Electronic Industries Alliance в начале 1960-х. Финальная доработка была одобрена в феврале 1980-о года как RS274D стандарт. Комитет ИСО утвердил G – code, как стандарт ISO 6983-1:1982, Госкомитет по стандартам СССР — как ГОСТ 20999-83. В советской технической литературе G-code обозначается, как код ИСО-7 бит.
Производители систем управления используют G-code в качестве базового подмножества языка программирования, расширяя его по своему усмотрению. Программа, написанная с использованием G-code, имеет жесткую структуру. Все команды управления объединяются в кадры — группы, состоящие из одной или более команд. Кадр завершается символом перевода строки (ПС/LF) и имеет номер, за исключением первого кадра программы. Первый кадр содержит только один символ «%». Завершается программа командой M02 или M30.
Для удобства поиска необходимой команды ниже приведены таблицы с расшифровкой G кодов и М команд.
Табл. 1.1 Основные G коды [5]
Команда | Описание | Пример |
1 | 2 | 3 |
G00 | Ускоренное перемещение инструмента (холостой ход). При холостом перемещении производится линейная интерполяция перемещения аналогично команде G01. | G0 X0 Y0 Z100. |
G01 | Линейная интерполяция, модальная команда. Инструмент (рабочий орган) перемещается по отрезку прямой от исходной точки с координатами до исполнения команды в точку с заданными в команде координатами, скорость перемещения задаётся модальной командой F. | G01 X0. Y0. Z100. F200. |
G02 | Круговая интерполяция по часовой стрелке, модальная команда. Инструмент перемещается по дуге окружности по часовой стрелке от исходной точки с координатами до исполнения команды в точку с заданными в команде координатами, радиус дуги задаётся параметром R, либо указанием координат центра дуги параметрами I — (смещение центра по оси X относительно начальной координаты X), J — (смещение центра по оси Y относительно начальной координаты Y), К — (смещение центра по оси Z относительно начальной координаты Z) относительно начальных координат инструмента. Для указания плоскости, в которой производится круговая интерполяция должны быть предварительно указана плоскость круговой интерполяции (в этом же или некотором предварительном кадре через G17-G19). | G02 G17 X15. Y15. R5. F200. или G02 G17 X20. Y15. I-50. J-60. |
Продолжение табл. 1.1
1 | 2 | 3 |
G03 | Круговая интерполяция против часовой стрелки. Параметры и действие аналогичны команде G02. | G03 X15. Y15. R5. F200. |
G04 | Задержка выполнения программы, способ задания величины задержки зависит от реализации системы управления, P обычно задает паузу в миллисекундах, X — в секундах. | G04 P500 или G04 X.5 |
G10 | Переключение абсолютной системы координат. В примере начало координат станет в точке 10, 10, 10 старых координат. | G10 X10. Y10. Z10. |
G15 | Переход в полярную систему координат (X радиус Y угол) | G15 X15. Y22.5 |
G16 | Отмена полярной системы координат | G16 X15. Y22.5 |
G17 | Выбор рабочей плоскости X-Y | G17 |
G18 | Выбор рабочей плоскости Z-X | G18 |
G19 | Выбор рабочей плоскости Y-Z | G19 |
G20 | Режим работы в дюймовой системе | G90 G20 |
G21 | Режим работы в метрической системе | G90 G21 |
G22 | Активировать установленный предел перемещений (Инструмент не выйдет за их предел) | G22 G01 X15. Y25. |
G28 | Вернуться на референтную точку | G28 G91 Z0 Y0 |
G30 | Поднятие по оси Z на точку смены инструмента | G30 G91 Z0 |
G40 | Отмена компенсации радиуса инструмента | G1 G40 X0.Y0. F200. |
G41 | Компенсировать радиус инструмента слева от траектории | G41 X15. Y15. D1 F100. |
G42 | Компенсировать радиус инструмента справа от траектории | G42 X15. Y15. D1 F100. |
G43 | Компенсировать длину инструмента положительно | G43 X15. Y15. Z100. H1 S1000 M3 |
G44 | Компенсировать длину инструмента отрицательно | G44 X15. Y15. Z4. H1 S1000 M3 |
G49 | Отмена компенсации длины инструмента | G49 Z100. |
G50 | Сброс всех масштабирующих коэффициентов в 1,0. | G50 |
G51 | Назначение масштабов. В примере — уменьшение масштаба по оси X в 10 раз. | G51 X.1 |
G53 | Переход в систему координат станка. | G53 G0 X0. Y0. Z0. |
G54—G59 | Переключиться на заданную оператором систему координат | G54 G0 X0. Y0. Z100. |
G61—G64 | Переключение режимов Точный Стоп / Постоянная скорость |
Окончание табл. 1.1
1 | 2 | 3 |
G68 | Поворот координат на нужный угол | G68 X0 Y0 R45. |
G70 | Цикл продольного чистового точения | G70 P10 Q15. |
G71 | Цикл многопроходного продольного чернового точения | G71 P10 Q15. D0.5 UO.2 W0.5 |
G80 | Отмена циклов сверления, растачивания, нарезания резьбы метчиком и т. д. | G80 |
G81 | Цикл сверления | G81 X0 Y0. Z-10. R3. F100. |
G82 | Цикл сверления с задержкой | G82 X0. Y0. Z-10. R3. P100 F100. |
G83 | Цикл прерывистого сверления (с полным выводом сверла) | G83 X0. Y0. Z-10. R3. Q8. F100. |
G84 | Цикл нарезания резьбы | G95 G84 M29 X0. Y0. Z-10. R3 F1.411 |
G90 | Задание абсолютных координат опорных точек траектории | G90 G1 X0.5. Y0.5. F10. |
G91 | Задание координат инкрементально последней введённой опорной точки | G91 G1 X4. Y5. F100. |
G94 | F (подача) — в формате мм/мин. | G94 G80 Z100. F75. |
G95 | F (подача) — в формате мм/об. | G95 G84 X0. Y0. Z-10. R3 F1.411 |
G99 | После каждого цикла не отходить на «проходную точку» | G99 G91 X10. K |
Также в программе выделяются вспомогательные команды (M – команды), которые включают такие действия, как:
· Сменить инструмент
· Включить/выключить шпиндель
· Включить/выключить охлаждение
· Вызвать/закончить подпрограмму
Основные M команды представлены в таблице 1.2 [5].
Табл. 1.2 Основные М команды [5]
Код | Описание | Пример |
1 | 2 | 3 |
M00 | Приостановить работу станка до нажатия кнопки «старт» на пульте управления, так называемая «безусловная технологическая остановка» | G0 X0 Y0 Z100 M0 |
M01 | Приостановить работу станка до нажатия кнопки «старт», если включён режим подтверждения остановки | G0 X0 Y0 Z100 M1 |
M02 | Конец программы, без сброса модальных функций | M02 |
M03 | Начать вращение шпинделя по часовой стрелке | M3 S2000 |
M04 | Начать вращение шпинделя против часовой стрелки | M4 S2000 |
Окончание табл. 1.2
1 | 2 | 3 |
M05 | Остановить вращение шпинделя | M5 |
M06 | Сменить инструмент | T15 M6 |
M07 | Включить дополнительное охлаждение | M3 S2000 M7 |
M08 | Включить основное охлаждение. Иногда использование более одного M-кода в одной строке (как в примере) недопустимо, для этого используются M13 и M14 | M3 S2000 M8 |
M09 | Выключить охлаждение | G0 X0 Y0 Z100 M5 M9 |
M13 | Включить охлаждение и вращение шпинделя по часовой стрелке | S2000 M13 |
M14 | Включить охлаждение и вращение шпинделя против часовой стрелки | S2000 M14 |
M17 | Конец подпрограммы | M17 |
M48 | Разрешить переопределять скорость подачи | |
M49 | Запретить переопределение скорости подачи | |
M25 | Замена инструмента вручную | M25 |
M97 | Запуск подпрограммы, находящейся в той же программе (где P — номер кадра, в случае примера переход осуществится к строке N25), действует не везде, предположительно — только на станках HAAS | M97 P25 |
M98 | Запуск подпрограммы, находящейся отдельно от основной программы (где P — номер подпрограммы, в случае примера переход осуществится к программе O1015) | M98 P1015 |
M99 | Конец подпрограммы | M99 |
M30 | Конец программы, со сбросом модальных функций | M30 |
При написании управляющих программ также используются параметры команд (конкретные координаты точки, параметры режима резания и т.д.). Основные параметры команд приведены в таблице 1.3[5].
Табл. 1.3 Параметры команд [5]
Код | Описание | Пример |
1 | 2 | 3 |
X | Координата точки траектории по оси X | G0 X100 Y0 Z0 |
Y | Координата точки траектории по оси Y | G0 X0 Y100 Z0 |
Z | Координата точки траектории по оси Z | G0 X0 Y0 Z100 |
P | Параметр команды | G04 P101 |
F | Скорость рабочей подачи. Для фрезерных станков это дюймы в минуту (IPM) или миллиметры в минуту (mm/min), Для токарных станков это дюймы за оборот (IPR) или миллиметры за оборот (mm/rev). | G1 G91 X10 F100 |
S | Частота вращения шпинделя | S3000 M3 |
Окончание табл. 1.3
1 | 2 | 3 |
R | Параметр стандартного цикла или радиус дуги (расширение стандарта) | G81 R1 0 R2 −10 F50 или G2 G91 X12.5 R12.5 |
D | Параметр коррекции выбранного инструмента | G1 G41 D1 X10. F150. |
L | Число вызовов подпрограммы | M98 L82 P10 или G65 L82 P10 X_Y_R_ |
I | Параметр дуги при круговой интерполяции. Инкрементальное расстояние от начальной точки до центра дуги по оси X. | G03 X10 Y10 I0 J0 F10 |
J | Параметр дуги при круговой интерполяции. Инкрементальное расстояние от начальной точки до центра дуги по оси Y. | G03 X10 Y10 I0 J0 F10 |
K | Параметр дуги при круговой интерполяции. Инкрементальное расстояние дуги по оси Z. | G03 X10 Y10 I0 K0 F10 |
Ниже приведен пример написания управляющей программы ручным программированием (обработка буквы W) на фрезерном станке в плоскости ХУ [5].
Рис.1.4. Обрабатываемая поверхность ( W )
Программа по обработке контура буквы (рис. 1.4) представлена в таблице 1.4 с пояснениями.
Табл. 1.4 Программа
Кадр | Содержание | Комментарий |
1 | 2 | 3 |
% | Начало программы | |
N1 | G90 G40 G17 | Система координат абсолютная, компенсация на радиус инструмента выключена, плоскость интерполяции XoY |
N2 | S500 M3 | Задать скорость вращения шпинделя 500 об/мин и включить вращение шпинделя |
N3 | G0 X2.54 Y26.15 | Переход в координаты по x и y начала обработки на холостом ходу |
N4 | Z1.0 | Подвод инструмента к заготовке по Z, не доходя до поверхности 1 мм, на холостом ходу |
Окончание табл. 1.4
1 | 2 | 3 |
N5 | G1 Z-1.0 F100 | Врезание в заготовку на глубину 1 мм на подаче 100 мм/мин |
N6 | X5.19 Y2.0 | Первый штрих буквы W |
N7 | X7.76 | Продолжение движения |
N8 | X16.93 Y26.15 | Второй штрих буквы W |
N9 | X18.06 | Продолжение движения |
N10 | X25.4 Y2.0 | Третий штрих буквы W |
N11 | X25.96 | Продолжение движения |
N12 | X32.17 Y26.15 | Четвертый штрих буквы W |
N13 | G0 Z12 | Отвод инструмента от заготовки на высоту 12 мм на холостом ходу |
N14 | M5 | Выключить вращение шпинделя |
N15 | M30 | Конец программы |
1.3 Нулевые точки. Системы координат
Для достижения необходимых размеров и взаимного расположения поверхностей детали на станках с ЧПУ производиться обработка детали в выбранной системе координат.
При работе на станках с ЧПУ приходиться иметь дело с тремя основными системами координат, а именно:
ü Система координат станка;
ü Система координат детали;
ü Система координат инструмента.
Начало соответствующей системы координат принято называть «нулевая точка станка», «нулевая точка детали» и «нулевая точка инструмента» соответственно.
Рассмотрим более подробно приведенные выше системы координат.
1. Система координат станка. Является главной системой координат на металлорежущем станке. Относительно нее определяются положения других систем координат и нулевых точек. Отличительной особенностью данной системы координат является то, что ее положение на станка определяет производитель оборудования, однако она чаще всего привязана к определенной точке рабочего органа станка. Данная система координат не подлежит изменению пользователем. В данной системе координат ведется отсчет перемещений всех органов станка. Чаще всего направление осей совпадает с направлением подач органов станка.
2. Система координат детали. Данная система координат является самой главной для программирования, т.к. УП пишется именно в этой системе координат. Положение нулевой точки детали, как правило определяет технолог (программист) и относительно данной системы координат определяются координаты опорных точек траектории перемещения режущего инструмента (РИ) (рис. 1.1). Для удобства программирования, направление осей системы координат детали выбирается таким же как и в системе координат станка. В качестве нулевой точки чаще всего выбирается та точка от которой на данной операции стоит наибольшее количество размеров, или стоят самые точные размеры. Нулевых точек детали в управляющей программе может быть несколько, их количество определяет технолог (программист).
Часто в программировании используется такой термин, как смещение нулевой точки, который чаще всего характеризует расстояния, на которые смещена нулевая точка детали относительно системы координат станка. Смещение нулевой точки записывается как Xd, Yd, Zd. Данные размеры рекомендуется указывать на схемах обработки детали (рис. 1.5).