عملکردهای قابل برنامه ریزی ماشین ابزار CNC به دو دسته تقسیم می شوند:
یک دسته برای کنترل مسیر ابزار استفاده می شود، یعنی حرکت هر محور تغذیه، مانند درون یابی خطی/دایره ای، کنترل تغذیه، جابجایی مبدا سیستم مختصات و تبدیل، تنظیم واحد ابعاد، جابجایی ابزار و جبران و غیره. این دسته از توابع را توابع آماده سازی می نامند که شامل حرف G و به دنبال آن دو رقم است که به نام G{3} نیز شناخته می شود.
دسته دیگر توابع، توابع کمکی نامیده می شوند که برای تکمیل کنترل اجرای برنامه، کنترل دوک، کنترل ابزار، کنترل تجهیزات کمکی و ... استفاده می شود که در میان این توابع کمکی، Tx x برای انتخاب ابزار و Sx xxx برای کنترل سرعت اسپیندل استفاده می شود. سایر توابع با استفاده از کدهای M- متشکل از حرف M و به دنبال آن دو رقم پیاده سازی می شوند.
1. توابع کد G-که معمولاً استفاده می شود
موقعیت یابی G00 (پیمایش سریع)
درون یابی خطی G01 (نرخ خوراک)
G02 درون یابی دایره ای در جهت عقربه های ساعت
G03 درون یابی دایره ای خلاف جهت عقربه های ساعت
G04 مکث، توقف دقیق
توقف دقیق G09
G17 X/Y Plane را انتخاب کنید
G18 Z/X Plane را انتخاب کنید
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 Modal
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
Sine: #i=SIN[#j]
Arcsine: #i=ASIN[#j]
کسینوس: #i=COS[#j]
کسینوس معکوس: #i=ACOS[#j]
مماس: #i=TAN[#j]
Arctangent: #i=ATAN[#j]
ریشه مربع: #i=SQRT[#j]
مقدار مطلق: #i=ABS[#j]
گرد کردن: #i=ROUND[#j]
گرد کردن عدد صحیح: #i=FIX[#j]
گرد کردن عدد صحیح به پایین: #i=FUP[#j]
لگاریتم طبیعی: #i=LN[#j]
تابع نمایی: #i=EXP[#j]
OR: #i=#j یا #k
XOR: #i=#j X یا #k
AND: #i=# AND #k
تبدیل از BCD به BIN: #i=BIN[#j]
تبدیل از BIN به BCD: #i=BCD[#j]
4. عملگرهای منطقی
EQ: برابر است
NE: برابر نیست
GT: بزرگتر از
GE: بزرگتر یا مساوی
LT: کمتر از
LE: کمتر یا مساوی
5. انتقال برنامه و حلقه ها
انتقال بدون قید و شرط: GOTO
انتقال شرطی: IF [عبارت شرطی]
اگر [عبارت شرطی] GOTO n، اگر شرط برقرار است، به بخش برنامه n بروید
IF [عبارت شرطی] THEN، به عنوان مثال: IF [#I=#J] THEN #K=0
6. بیانیه های حلقه
WHILE [عبارت شرطی] Dom (m=1،2،،3)
…
اگر شرط برآورده شد، برنامه را از Dom به ENDm اجرا کنید (تا زمانی که شرط دیگر برآورده نشود). در غیر این صورت، برنامه را بعد از آن اجرا کنید





