ماشینکاری CNCبه عنوان یکی از حیاتیترین فرآیندهای اصلی در تولید مدرن عمل میکند و امکان تولید قطعات پیچیده، پیشرفته و با تلرانس بالا را برای صنایع هوافضا، خودرو، پزشکی، رباتیک و محصولات مصرفی فراهم میآورد. در پشت کارایی، دقت و ثبات استثنایی ماشینکاری CNC، کدهای G و کدهای M قرار دارند - زبانهای برنامهنویسی پایهای که تمام حرکات و عملکردهای دستگاه CNC را دستور میدهند و کنترل میکنند.
بسیاری از اپراتورهای ماشینکاری و خریداران تولیدی جدید اغلب کدهای G و M را با هم اشتباه میگیرند و از نقشهای منحصر به فرد و مکمل آنها در عملیات CNC بیاطلاع هستند. به زبان ساده، کدهای G هندسه برش و حرکت ابزار را کنترل میکنند، در حالی که کدهای M سختافزار ماشین و عملکردهای کمکی مانند کنترل اسپیندل و سیستمهای خنککننده را مدیریت میکنند. این تمایز حیاتی برای بهینهسازی عملکرد ماشین CNC، حذف خطاهای برنامهنویسی و تولید قطعات سفارشی با کیفیت بالا ضروری است.
در این راهنمای جامع ۲۰۲۶ از
SMS، ما همه چیز را در مورد کدهای G و M برنامهنویسی CNC، از جمله تعاریف، اصول کار، مثالهای کامل برنامه، نمودارهای کامل کد و تفاوتهای کلیدی را بررسی میکنیم و به شما کمک میکنیم تا اصول اولیه برنامهنویسی CNC را برای عملیات فرزکاری و تراشکاری تسلط پیدا کنید.
ماشینکاری CNC چیست؟ تعریف و مزایای کلیدی
قبل از پرداختن به برنامهنویسی کدهای G و M، لازم است اصول اولیه ماشینکاری CNC را درک کنید. این فناوری که مخفف کنترل عددی کامپیوتری (Computer Numerical Control) است، یک فناوری تولید خودکار است که از سیستمهای کنترل کامپیوتری و ابزارهای ماشین دقیق برای ساخت قطعات دقیق و پیچیده از فلزات، پلاستیکها، آلیاژها و مواد خام مختلف استفاده میکند.
ماشینکاری CNC با جایگزینی روشهای سنتی ماشینکاری دستی، انقلابی در تولید مدرن ایجاد کرده است. این روش دقت، سرعت و انعطافپذیری بینظیری را ارائه میدهد و از نمونهسازی سفارشی تا تولید انبوه در مقیاس بزرگ پشتیبانی میکند. چهار مزیت کلیدی آن را در سراسر بخشهای صنعتی جهانی ضروری میسازد:
: ماشینکاری CNC تلرانسهای فوقالعاده دقیق و جزئیات پیچیده قطعات را که ماشینکاری دستی قادر به تکرار آن نیست، به دست میآورد و استانداردهای دقیق صنعتی را برآورده میکند.
: عملیات خودکار و مسیرهای ابزار بهینهشده، فرآیندهای حذف مواد را ساده میکنند، نیروی کار دستی را کاهش میدهند و زمان تولید را کوتاهتر میکنند.
: سازگار با طیف گستردهای از مواد و کاربردهای ماشینکاری، از قطعات ساختاری ساده تا اجزای هندسی پیچیده را پوشش میدهد.
: ماشینهای CNC دستورالعملهای برنامهریزی شده یکسان را به طور مکرر اجرا میکنند و کیفیت ابعادی ثابت را برای قطعات تولید دستهای با انحراف صفر تضمین میکنند.
برنامهنویسی CNC چگونه ماشینهای CNC را کنترل میکند؟
برنامهنویسی CNC به عنوان پلی بین طراحی دیجیتال و ماشینکاری فیزیکی عمل میکند. تکامل کنترل برنامهنویسی CNC محدودیتهای ماشینکاری سنتی را به طور کامل حذف کرده و استفاده از کد G&M را بهینه کرده است.
قبل از اینکه سیستمهای CNC کامپیوتری رایج شوند، ماشینکاران برای کنترل حرکات ماشین به کارتهای پانچ شده دستی و نوارهای کاغذی متکی بودند. اپراتورها برای ایجاد کدهای اولیه ماشین، سوراخهایی را در توالیهای ثابت پانچ میکردند. در حالی که این روش در تولید اولیه کاربردی بود، بسیار خستهکننده و ناکارآمد بود. علاوه بر این، کارتهای پانچ شده به راحتی در کارگاههای شلوغ ماشینآلات آسیب میدیدند، تغییر شکل میدادند یا گم میشدند که اغلب باعث خطاهای تولید و تاخیر در پردازش میشد.
پس از معرفی تجهیزات CNC با کنترل کامپیوتری، ورود کد به صورت دستی استاندارد شد. با این حال، برنامهنویسی قطعات سفارشی پیچیده نیازمند صدها ورودی کد دستی بود که منجر به حجم کاری سنگین، بهرهوری پایین و خطاهای انسانی مکرر میشد.
ظهور نرمافزارهای پیشرفته CAD و CAM انقلابی در برنامهنویسی مدرن CNC ایجاد کرده است. گردش کار امروزی بسیار هوشمند و کاربرپسند است: برنامهنویسان فقط نیاز دارند مدل قطعات و فیکسچرهای ماشینکاری را در نرمافزار حرفهای وارد کنند، ابزارهای برش را انتخاب کنند و پارامترهای اسپیندل و مسیرهای ابزار را تنظیم نمایند. سیستم به طور خودکار کدهای G و M دقیقی را تولید میکند که با تمام ماشینهای CNC رایج سازگار هستند.
این فرآیند تولید کد مبتنی بر نرمافزار، برنامهنویسی CNC را به شدت ساده میکند، دقت ماشینکاری را بهبود میبخشد و از تولید قطعات با هندسه فوقالعاده پیچیده پشتیبانی میکند و به گردش کار استاندارد مورد استفاده تولیدکنندگان حرفهای از جمله SMS تبدیل شده است.
کدهای G در برنامهنویسی CNC چیست؟
کدهای G (کدهای هندسی)، که از استاندارد صنعتی RS-274D پیروی میکنند، پرکاربردترین دستورات اصلی برنامهنویسی CNC هستند. تمام دستورات G-code از فرمت الفبایی عددی پیروی میکنند که با حرف "G" شروع میشود و مخفف Geometry (هندسه) است. به عنوان اساس ماشینکاری CNC، کدهای G حرکات ابزار و مسیرهای برش هندسی را به طور کامل کنترل میکنند و به ماشینهای CNC میگویند که از کجا شروع به برش کنند، چگونه حرکت کنند و چه زمانی در طول ساخت قطعه متوقف شوند.
یکی از چالشهای کلیدی برای ماشینکاران این است که فرمت کدهای G مختص دستگاه است. برندهای مختلف تجهیزات CNC تفاوتهای ظریفی در فرمتبندی دارند، مانند وجود یا عدم وجود فاصلهها بین دستورات و صفرهای پیشرو (به عنوان مثال، G3 در مقابل G03). استفاده از کدهای G ناسازگار باعث ایجاد خطاهای برنامهنویسی و قطعات معیوب میشود. بنابراین، اپراتورها باید قبل از برنامهنویسی، با قوانین کدنویسی دستگاه خود به طور کامل آشنا باشند.
علاوه بر دستورات استاندارد G، برنامهنویسی CNC از آدرسهای حرفی اختصاصی برای تعریف پارامترهای ماشینکاری چندبعدی استفاده میکند که وظایف ماشینکاری دقیق و پیچیده را امکانپذیر میسازد:
: چرخش ابزار را حول محور X کنترل میکند
: شعاع قوسهای تولید شده در طول ماشینکاری را تعریف میکند
: مختصات سهبعدی ابزارهای برش را نشان میدهد؛ X/Y برای موقعیت افقی و عمودی، Z برای عمق برش
: مختصات مرکزی افزایشی قوسهای ماشین را نشان میدهد
: شماره خطوط برنامه را برای مرتبسازی کد و عیبیابی خطا مشخص میکند
مثال کامل عملی برنامه CNC (کد یکپارچه G&M)
در زیر یک برنامه ماشینکاری CNC کامل و استاندارد صنعتی آورده شده است که کدهای اصلی G و M را ادغام میکند و شامل راهاندازی ایمنی، فرزکاری، سوراخکاری، تعویض ابزار و بازنشانی برنامه است. این کد کاری با اکثر ماشینهای CNC FANUC، Haas و Siemens سازگار است:
راهنمای مرجع بلوک برنامه ماشینکاری CNC |
بلوک | توضیحات | هدف |
% | شروع برنامه | شروع برنامه |
O00001 (پروژه ۱) | شماره برنامه (نام برنامه) | شروع برنامه |
(T1 0.25 فرز انتهایی) | توضیحات ابزار برای اپراتور | شروع برنامه |
N1 G17 G20 G40 G49 G80 G90 | بلوک ایمنی برای اطمینان از اینکه دستگاه در حالت ایمن قرار دارد | شروع برنامه |
N2 T1 M6 | بارگذاری ابزار شماره ۱ | تغییر ابزار |
N3 S9200 M3 | سرعت اسپیندل ۹۲۰۰ دور در دقیقه، روشن در جهت عقربههای ساعت | تغییر ابزار |
N4 G54 | استفاده از آفست فیکسچر شماره ۱ | حرکت به موقعیت |
N5 M8 | روشن کردن خنککننده | حرکت به موقعیت |
N6 G00 X-0.025 Y-0.275 | سریع بالای قطعه | حرکت به موقعیت |
N7 G43 Z1.0 H1 | حرکت سریع به صفحه ایمن، استفاده از آفست طول ابزار شماره 1 | حرکت به موقعیت |
N8 Z0.1 | حرکت سریع به صفحه تغذیه | حرکت به موقعیت |
N9 G01 Z-0.1 F18 | حرکت خطی به عمق برش با سرعت 18 IPM | حرکت به موقعیت |
N10 G41 Y0.1 D1 F36 | جبران قطر ابزار سمت چپ خط ورود، آفست قطر شماره 1، 36 IPM | ماشینکاری کانتور |
N11 Y2.025 | حرکت خطی | ماشینکاری کانتور |
N12 X2.025 | حرکت خطی | ماشینکاری کانتور |
N13 Y-0.025 | حرکت خطی | کانتور ماشین |
N14 X-0.025 | حرکت خطی | کانتور ماشین |
N15 G40 X-0.4 | غیرفعال کردن جبران قطر ابزار برش با حرکت خروجی | کانتور ماشین |
N16 G00 Z1 | حرکت سریع به صفحه ایمن | کانتور ماشین |
N17 M5 | خاموش کردن اسپیندل | تعویض ابزار |
N18 M9 | خاموش کردن خنک کننده | تعویض ابزار |
(مته T2 0.25) | توضیحات ابزار برای اپراتور | تغییر ابزار |
N19 T2 M6 | بارگذاری ابزار شماره ۲ | تغییر ابزار |
N20 S3820 M3 | سرعت اسپیندل ۳۸۲۰ دور در دقیقه، روشن در جهت عقربههای ساعت | تغییر ابزار |
N21 M8 | روشن کردن خنککننده | حرکت به موقعیت |
N22 X1 Y1 | حرکت سریع بالای سوراخ | حرکت به موقعیت |
N23 G43 Z1 H2 | حرکت سریع به صفحه ایمن، استفاده از آفست طول ابزار 2 | حرکت به موقعیت |
N24 Z0.25 | حرکت سریع به صفحه تغذیه | حرکت به موقعیت |
N25 G98 G81 Z-0.325 R0.1 F12 | چرخه حفاری سوراخ (کنسرو). عمق Z-.325، F12 | حفاری سوراخ |
N26 G80 | لغو چرخه مته | سوراخ مته |
N27 Z1 | حرکت سریع به صفحه ایمن | سوراخ مته |
N28 M5 | خاموش کردن اسپیندل | پایان برنامه |
N29 M9 | خاموش کردن خنککننده | پایان برنامه |
N30 G91 G28 Z0 | بازگشت به موقعیت اولیه دستگاه در محور Z | پایان برنامه |
N31 G91 G28 X0 Y0 | بازگشت به موقعیت اولیه دستگاه در محورهای XY | پایان برنامه |
N32 G90 | بازنشانی به حالت موقعیتیابی مطلق (برای ایمنی) | پایان برنامه |
N33 M30 | بازنشانی برنامه به ابتدا | پایان برنامه |
% | پایان برنامه | پایان برنامه |
توابع کد G پایه پرکاربرد
کدهای G استاندارد، عملیات ماشینکاری پیچیده را به وظایف استاندارد و تکرارپذیر تبدیل میکنند و از عملکرد پایدار دستگاه و کیفیت ثابت قطعه اطمینان حاصل میکنند. کدهای G زیر بیشتر برای فرزکاری و تراشکاری CNC روزمره اعمال میشوند:
: ابزار برش را با حداکثر سرعت دستگاه و بدون برش مواد به مختصات از پیش تعیین شده منتقل میکند. با افزایش سرعت تمام حرکات موقعیتیابی غیربرشی، کارایی ماشینکاری را بهینه میکند.
: رایجترین دستور برش CNC. ابزار را با سرعت تغذیه تعیین شده در یک خط مستقیم دقیق حرکت میدهد، ایدهآل برای تمام وظایف برش خط مستقیم و ماشینکاری سطوح صاف.
- G02 – درونیابی دایرهای در جهت عقربههای ساعت
: ابزار را در یک مسیر دایرهای در جهت عقربههای ساعت هدایت میکند تا قوسها و ویژگیهای قطعات دایرهای را بسازد و نتایج ماشینکاری منحنی دقیق را تضمین کند.
- G03 – درونیابی دایرهای خلاف جهت عقربههای ساعت
: حرکت قوس پادساعتگرد را اجرا میکند و توابع G02 را آینهکاری میکند تا وظایف ماشینکاری منحنی معکوس و دایرهای را تکمیل کند.
: حرکت دستگاه را برای مدت زمان از پیش تعریف شده متوقف میکند. این تابع به ابزارهای برش اجازه میدهد تا خنک شوند یا دوکها به سرعتهای هدف پایدار برسند و کیفیت ماشینکاری سطح را بهبود میبخشد.
جدول کامل توابع G Code
این نمودار دقیق G code، دستورات اصلی برای فرزکاری و تراشکاری را پوشش میدهد، از جمله طبقهبندی، توابع اصلی، ویژگیهای مودال و سناریوهای قابل اجرا:
کد | دستهبندی | تابع | مودال | برای تراشکاری یا فرزکاری |
G17 | انتخاب صفحه | انتخاب صفحه XY | بله | هر دو |
G96 | سرعتها و تغذیهها | سرعت سطح ثابت | بله | تراشکاری |
G91 | موقعیتیابی و حالتها | حالت افزایشی | بله | هر دو |
G03 | درونیابی دایرهای (پادساعتگرد) | ایجاد قوسها و دایرهها (پادساعتگرد) | بله | هر دو |
G04 | تابع توقف | مکث برای مدت زمان مشخص | خیر | هر دو |
انتخاب صفحه G18 | انتخاب صفحه | انتخاب صفحه XZ | بله | تراشکاری |
G19 | انتخاب صفحه | انتخاب صفحه YZ | بله | تراشکاری |
G20 | سیستم واحد | حالت سیستم اینچ | بله | هر دو |
G21 | سیستم واحد | حالت سیستم متریک | بله | هر دو |
G40 | جبران ابزار | لغو جبران ابزار | بله | فرزکاری |
کدهای M در برنامه نویسی CNC چیست؟
کدهای M (کدهای متفرقه) دستورات کمکی ضروری در برنامه نویسی CNC هستند که با حرف "M" شروع می شوند. برخلاف کدهای G که حرکات هندسی برش را کنترل می کنند، کدهای M تمام عملیات غیر هندسی ماشین را مدیریت می کنند و توابع سخت افزاری کمکی مورد نیاز در طول فرآیند ماشین کاری را کنترل می کنند.
کدهای M رفتارهای اصلی دستگاه را کنترل میکنند، از جمله توقف برنامه، پایان برنامه، عملیات اسپیندل، تعویض سیستم خنککننده و تعویض خودکار ابزار. یک قانون برنامهنویسی حیاتی برای تمام تجهیزات CNC: فقط یک کد M در هر بلوک برنامه مجاز است. کدهای M متعدد و همپوشان در یک خط باعث تداخل عملکرد، خرابی برنامه و خطاهای جدی ماشینکاری میشوند.
مشابه کدهای G، قالببندی کدهای M در برندهای مختلف دستگاه متفاوت است، مانند M3 در مقابل M03. ماشینکاران حرفهای باید با استانداردهای کدنویسی مخصوص تجهیزات آشنا باشند تا از گردش کارهای ماشینکاری روان و بدون خطا اطمینان حاصل کنند.
توابع کدهای M پایه پرکاربرد
در حالی که کدهای M جزئی مخصوص دستگاه هستند، دستورات پایه زیر با تقریباً تمام فرزها و تراشههای CNC سازگار هستند:
: به طور موقت برنامه CNC در حال اجرا را متوقف میکند و برای از سرگیری ماشینکاری به مداخله دستی اپراتور نیاز دارد.
: برنامه ماشینکاری را به طور کامل خاتمه میدهد و عملیات کنترل دستگاه را متوقف میکند، برای راهاندازی مجدد به تنظیم مجدد دستی نیاز دارد.
- M03 – اسپیندل روشن (در جهت عقربههای ساعت)
: چرخش اسپیندل در جهت عقربههای ساعت را فعال میکند، همیشه با دستورات سرعت اسپیندل سری S همراه است.
- M04 – اسپیندل روشن (خلاف جهت عقربههای ساعت)
: چرخش اسپیندل در خلاف جهت عقربههای ساعت را برای عملیات برش معکوس آغاز میکند.
: چرخش اسپیندل را به طور کامل متوقف میکند، که برای تعویض ایمن ابزار و پایان برنامه ضروری است.
جدول کامل لیست توابع کد M
این چارت کامل کدهای M تمام دستورات کمکی اصلی را پوشش میدهد، با طبقهبندی واضح، توضیحات عملکردی، ویژگیهای مودال و انواع ماشینکاری قابل اجرا:
کد | دسته بندی | عملکرد | مُدال | برای تراشکاری یا فرزکاری |
M08 | کنترل خنککننده | سیلاب خنککننده یا روشن | خیر | هر دو |
M42 | توابع کمکی | انتخاب دنده بالا | خیر | تراشکاری |
M19 | کنترل اسپیندل | تغییر جهت اسپیندل | خیر | فرزکاری |
M00 | کنترل برنامه | توقف برنامه | خیر | هر دو |
M02 | کنترل برنامه | پایان برنامه | خیر | هر دو |
M03 | کنترل اسپیندل | روشن شدن اسپیندل، در جهت عقربههای ساعت | خیر | هر دو |
M04 | کنترل اسپیندل | اسپیندل روشن، خلاف جهت عقربههای ساعت | خیر | هر دو |
M05 | کنترل اسپیندل | توقف اسپیندل | خیر | هر دو |
M06 | تغییر ابزار | تغییر خودکار ابزار | خیر | هر دو |
M09 | کنترل خنککننده | خاموش کردن خنک کننده | خیر | هر دو |
کدهای G در مقابل کدهای M: جدول خلاصه تفاوت نهایی
برای کمک به خوانندگان در تمایز و به خاطر سپردن سریع تفاوت بین کدهای G و کدهای M، تعاریف اصلی، عملکردها و اصول کاری آنها را در یک جدول مقایسهای بصری خلاصه کردهایم:
ویژگی | کدهای G (کدهای هندسی) | کدهای M (کدهای متفرقه) |
عملکرد اصلی | هدایت حرکت هندسی و عملکرد برش اصلی ماشینهای CNC | کنترل عملیات کمکی غیرحرکتی ماشینهای CNC |
عملیات کلیدی | موقعیتیابی سریع، تغذیه خطی، درونیابی دایرهای، حرکت مختصات سهبعدی | توقف/پایان برنامه، تعویض ابزار، روشن/خاموش کردن اسپیندل، سوئیچ خنککننده |
ویژگی عملکردی | کدهای هندسی برای طراحی و شکلدهی قطعه | کدهای متفرقه برای عملیات کمکی ماشین |
شیء کنترلی | مسیر ابزار، هندسه برش، دقت ابعادی قطعه | سیستم PLC ماشین و توابع کمکی الکترومکانیکی |
منطق کاری | فعالسازی و اجرای حرکات برش ماشین CNC | فعالسازی PLC ماشین برای تغییر وضعیت سختافزار کمکی |
تخصص حرفهای SMS در ماشینکاری CNC
برنامهنویسی دقیق کد G و کد M، اساس تولید قطعات CNC با دقت بالا و بدون نقص است. در SMS، تیم برنامهنویسی حرفهای CNC ما تسلط عمیقی بر قوانین استاندارد و مخصوص ماشین کد G&M دارد و تجربه عملی غنی در بهینهسازی مسیر ابزار و منطق برنامهنویسی را دارا است.
ما راهحلهای سفارشیسازی یکپارچه ماشینکاری CNC را برای مشتریان جهانی ارائه میدهیم که شامل طراحی CAD، برنامهنویسی CAM، بهینهسازی کد، ماشینکاری دقیق و تحویل قطعه نهایی میشود. هر برنامه به شدت بازرسی میشود تا تداخلات برنامهنویسی و خطاهای حرکتی حذف شوند و از کیفیت پایدار هم برای سفارشیسازی نمونه اولیه و هم برای سفارشات تولید انبوه اطمینان حاصل شود.
پلتفرم خدمات کاربرپسند ما از قیمتگذاری فوری CNC و ردیابی پروژه در زمان واقعی پشتیبانی میکند و به تولیدکنندگان جهانی کمک میکند تا قطعات CNC مقرونبهصرفه و با دقت بالا را به طور مؤثر به دست آورند.
نتیجهگیری
دستگاههای CNC بدون کدهای استاندارد G و M قادر به کار خودکار یا تولید قطعات با دقت بالا نیستند. کدهای G مسیرهای برش هندسی را تعریف میکنند که ساختار قطعات را شکل میدهند، در حالی که کدهای M عملکرد پایدار سیستمهای کمکی ماشین را تضمین میکنند. همافزایی کامل این دو مجموعه کد، کارایی بالا، دقت و تکرارپذیری ماشینکاری مدرن CNC را تضمین میکند.
تسلط بر کدهای رایج G و M و تفاوتهای اصلی آنها یک مهارت اساسی برای تمام برنامهنویسان و ماشینکاران CNC است. برای خریداران تولید، همکاری با تولیدکنندگان حرفهای مانند
SMS با قابلیتهای برنامهنویسی ماهرانه، به طور موثری نرخ نقص را کاهش میدهد، چرخههای تولید را کوتاه میکند و کارایی کلی تولید را بهبود میبخشد.