Програмируемите функции на машинните инструменти с ЦПУ са разделени на две категории:
Една категория се използва за контролиране на траекторията на инструмента, т.е. движението на всяка ос на подаване, като линейна/кръгова интерполация, контрол на подаване, отместване и трансформация на началото на координатната система, настройка на мерната единица, отместване и компенсация на инструмента и т.н. Тази категория функции се наричат подготвителни функции, състоящи се от буквата 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
XOR: #i=#j X ИЛИ #k
И: #i=# И #k
Преобразуване от BCD в BIN: #i=BIN[#j]
Преобразуване от BIN в BCD: #i=BCD[#j]
4. Логически оператори
EQ: Равно на
NE: Не е равно на
GT: По-голямо от
GE: По-голямо или равно на
LT: По-малко от
LE: По-малко или равно на
5. Трансфер на програма и цикли
Безусловно прехвърляне: GOTO
Условен трансфер: IF [условен израз]
IF [условен израз] GOTO n, ако условието е изпълнено, преминете към програмен сегмент n
IF [условен израз] THEN, напр.: IF [#I=#J] THEN #K=0
6. Инструкции за цикъл
WHILE [условен израз] Dom (m=1,2,,3)
…
Ако условието е изпълнено, изпълнете програмата от Dom до ENDm (докато условието вече не е изпълнено); в противен случай изпълнете програмата след това





