Программируемые функции станков с ЧПУ делятся на две категории:
Одна категория используется для управления траекторией инструмента, т. е. движением каждой оси подачи, например, линейная/круговая интерполяция, управление подачей, смещение и преобразование начала системы координат, установка единиц измерения, коррекция и компенсация инструмента и т. д. Эта категория функций называется подготовительными функциями и состоит из буквы G, за которой следуют две цифры, также известные как G-коды.
Другая категория функций называется вспомогательными функциями и используется для управления выполнением программы, управления шпинделем, управления инструментом, управления вспомогательным оборудованием и т. д. Среди этих вспомогательных функций Tx x используется для выбора инструмента, а Sx xxx используется для управления скоростью шпинделя. Остальные функции реализуются с помощью кодов M-, состоящих из буквы M, за которой следуют две цифры.
1. Часто используемые функции G-кода
G00 Позиционирование (ускоренный ход)
G01 Линейная интерполяция (скорость подачи)
G02 Круговая интерполяция по часовой стрелке
G03 Круговая интерполяция против часовой стрелки
G04 Пауза, Точная остановка
G09 Точная остановка
G17 Выбор плоскости X/Y
G18 Выбор плоскости Z/X
G19 Выбор плоскости Y/Z
G27 Возврат и проверка контрольной точки
G28 Возврат в исходную точку
G29 Возврат из контрольной точки
G30 Возврат ко второй контрольной точке
G40 Отмена компенсации радиуса инструмента
G41 Компенсация радиуса левого инструмента
G42 Компенсация радиуса правого инструмента
G43 Компенсация длины инструмента +
G44 Компенсация длины инструмента -
G49 Отмена компенсации длины инструмента
G52 Установка местной системы координат
G53 Выбор системы координат станка
G54 Выбор системы координат заготовки 1
G55 Выбор системы координат заготовки 2
G56 Выбор системы координат заготовки 3
G57 Выбор системы координат заготовки 4
G58 Выбор системы координат заготовки 5
G59 Выбор системы координат заготовки 6
G60 Позиционирование в одном-направлении
G61 Режим точного останова
G64 Режим резки
G65 Вызов макропрограммы
G66 Модальный вызов макропрограммы
G67 Отмена модального вызова макропрограммы
G73 Фиксированный цикл сверления глубоких отверстий
G74 Фиксированный цикл обратного нарезания резьбы
G76 Фиксированный цикл чистового растачивания
G80 Отмена фиксированного цикла
G81 Фиксированный цикл сверления
G82 Фиксированный цикл сверления
G83 Фиксированный цикл сверления глубоких отверстий
G84 Фиксированный цикл нарезания резьбы
G85 Фиксированный цикл растачивания
G86 Фиксированный цикл растачивания
G87 Фиксированный цикл обратного растачивания
G88 Растачивание с фиксированным циклом
G89 Растачивание с фиксированным циклом
G90 Режим команды абсолютного значения
G91 Режим команды приращения значения
G92 Установка нулевой точки заготовки
G98 Фиксированный цикл возврата в исходную точку
G99 Возврат фиксированного цикла в точку R
2. Часто используемые функции M-кода
M00 Пауза программы
M01 Условная остановка программы
M02 Конец программы
M03 Вращение шпинделя вперед
M04 Обратное вращение шпинделя
M05 Остановка шпинделя
M06 Замена инструмента
M08 Охлаждение включено
M09 Выключение охлаждения
M18 Отмена ориентации шпинделя
M19 Ориентация шпинделя
M29 Жесткое нарезание резьбы
M30 Завершение программы и возврат к заголовку программы
M98 Вызов подпрограммы
M99 Конец подпрограммы Возврат/Повторение выполнения
3. Общая арифметика
Дополнение: #i=#j + #k
Вычитание: #i=#j - #k
Умножение: #i=#j * #k
Подразделение: #i=#j / #k
Синус: #i=SIN[#j]
Арксинус: #i=ASIN[#j]
Косинус: #i=COS[#j]
Обратный косинус: #i=ACOS[#j]
Касательная: #i=TAN[#j]
Арктангенс: #i=ATAN[#j]
Квадратный корень: #i=SQRT[#j]
Абсолютное значение: #i=ABS[#j]
Округление: #i=ROUND[#j]
Округление целых чисел: #i=FIX[#j]
Целочисленное округление вниз: #i=FUP[#j]
Натуральный логарифм: #i=LN[#j]
Экспоненциальная функция: #i=EXP[#j]
ИЛИ: #i=#j ИЛИ #k
Исключающее ИЛИ: #i=#j X ИЛИ #k
И: #i=# И #k
Преобразование из BCD в BIN: #i=BIN[#j]
Преобразование из BIN в BCD: #i=BCD[#j]
4. Логические операторы
Эквалайзер: Равен
НЭ: Не равно
ТГ: Больше чем
GE: Больше или равно
ЛТ: Меньше чем
LE: Меньше или равно
5. Перенос программы и циклы
Безусловная передача: ПЕРЕЙТИ
Условный перенос: ЕСЛИ [условное выражение]
IF [условное выражение] GOTO n, если условие выполнено, перейти к сегменту программы n
IF [условное выражение] THEN, например: IF [#I=#J] THEN #K=0
6. Операторы цикла
WHILE [условное выражение] Dom (m=1,2,,3)
…
Если условие выполнено, выполнить программу от Dom до ENDm (пока условие не перестанет выполняться); в противном случае выполните программу после





