مقدمه

برنامه‌ نویسی CNC به انگلیسی (computer numerical control) به فرایند تبدیل مدل سه بعدی از یک طرح به فهرستی از دستورالعمل‌های قابل خواندن برای ماشین اشاره دارد. این دستورالعمل‌ها سپس برای تولید خودکار یک قطعه با استفاده از تکنیک‌های کاهشی(subtractive )، در کنترلر یک ماشین CNC بارگذاری می‌شوند. برنامه‌ نویسی CNC بخش مهمی از تولید مدرن است. امروزه بیشتر ماشین‌کاری به جای ماشین‌های قدیمی با کارکرد دستی، روی ماشین‌های CNC انجام می‌شود. دلیل این امر این است که ماشین‌های CNC نسبت به ماشین‌های دستی، کیفیت و بهره‌وری بهبود یافته‌ای ارائه می‌دهند.

برنامه‌نویسی ماشین CNC می‌تواند به‌صورت دستی روی کنسول محلی دستگاه یا در حالت رایج‌تر، با کمک یک بسته نرم‌افزاری CAM (تولید به کمک رایانه- computer-aided manufacturing) انجام شود. نرم افزار CAM به میزان قابل توجهی دشواری برنامه ریزی مراحل ماشینکاری مورد نیاز بر روی یک قطعه پیچیده را کاهش می دهد. در این مقاله، برنامه‌نویسی ماشین CNC توصیف می‌گردد، نحوه عملکرد آن بررسی می‌شود، انواع مختلف برنامه‌ نویسی‌ CNC مورد بحث قرار می‌گیرد و بهترین نرم‌افزار برنامه‌ نویسی‌ CNC معرفی خواهد شد.

فهرست مطالب

برنامه‌ نویسی CNC چیست؟

برنامه ‎‌نویسی CNC تبدیل یک مدل سه بعدی CAD (طراحی به کمک رایانه – computer-aided design) به مجموعه‌ای از دستورالعمل‌های قابل خواندن توسط ماشین را شامل می‌شود که این دستورات عبارتند از: کدام ابزار برش استفاده شود، نرخ‌ باردهی (feed rate)، و محل انتقال ابزار برای ایجاد قطعه نهایی. فرایند ایجاد دستورالعمل برای ابزارهای برش، برنامه‌ نویسی ‌CNC است. برنامه‌نویسان CNC برای ایجاد برنامه‌های CNC از نرم‌افزار CAM استفاده می‌کنند یا می‌توانند به صورت دستی کدهای CNC را برای قطعات ساده وارد کنند. یک کنسول برنامه نویسی ماشین CNC محلی معمولی در شکل 1 زیر نشان داده شده است.

برنامه‌ نویسی CNC چگونه کار می‌کند؟

برنامه‌ نویسی CNC اطلاعات سه بعدی در مورد مشخصات و ابعاد یک قطعه ی برنامه ریزی شده را می‌گیرد و آنها را به دستورالعمل‌های خط به خط تبدیل می‌کند که ماشین CNC می‌تواند از آنها برای برش و براده برداری مواد ناخواسته و ایجاد شکل مطلوب استفاده کند. در بیشتر موارد برای استفاده از نرم افزار CAM ، برنامه‌ نویسی‌ CNC نیاز به دسترسی به مدل سه بعدی قطعه مورد نظر دارد.

برنامه‌نویس CNC از نرم‌افزار CAM برای ایجاد مسیرهای ابزار بر اساس هندسه، و ویژگی‌های قطعه مانند سوراخ‌ها، شیارها یا کانتورهای سطحی پیچیده استفاده می‌کند. سپس نرم افزار CAM، برنامه CNC را که اغلب G-code نامیده می‌شود، ایجاد می‌کند. سپس این G-code وارد دستگاه CNC می‌شود. هنگامی که دکمه شروع چرخه بر روی دستگاه فشار داده می شود، دستورالعمل‌های موجود در کد تا زمان تکمیل قطعه دنبال می‌شوند.

کدهای مورد استفاده در برنامه‌ نویسی CNC چه هستند؟

کدهای خاص برنامه‌ نویسی CNC برای هر وظیفه که با حروف مختلف الفبا مشخص می‌شوند، به ابزار ماشین می‌گویند چه زمانی، کجا و چگونه مواد را از ماده اولیه (stock) حذف کند. این کدها مجموعاً به عنوان “G-code” شناخته می‌شوند، اگرچه از نظر فنی، حرف “g” تنها به “هندسه”(geometry) قطعه اشاره دارد. اصطلاح عمومی «G-code» برای در بر گرفتن تمام انواع مختلف کد دستورالعمل‌های مورد نیاز برای ماشینکاری موفقیت‌آمیز یک قطعه استفاده می‌شود. برخی از رایج‌ترین انواع کد CNC در زیر فهرست شده اند:

  1. D-Code: به افست ابزار دستگاه CNC اشاره دارد. این افست می‌تواند فاصله از خط مرکزی یک ابزار تا لبه برش آن باشد یا اینکه ابزار تا چه اندازه از نگهدارنده ابزار بیرون است.
  2. F-Code: مخفف Feed rate هستند، نشان‌دهنده سرعت متغیری که لازم است ابزار هنگام برش در آن سرعت حرکت کند.
  3. G-Code: حرف “G” در G-code مخفف “Geometry” یا هندسه است. «G-Code» ها برای دستور دادن به دستگاه در مورد اینکه از کجا شروع به حرکت کند، کجا متوقف شود و چگونه بین این دو نقطه حرکت کند استفاده می شود.
  4. M-Code: به توابع متفرقه مانند کنترل خنک کننده و اسپیندل اشاره دارد. اساساً، M-code ها به عملکردهای غیرهندسی اشاره می‌کنند.
  5. N-Code: خطوط یا بلوک‌های کد ماشین را شناسایی می‌کنند. برچسب‌های خط به برنامه‌نویس CNC کمک می‌کنند تا کد CNC نوشته شده به صورت دستی را سازماندهی و دنبال کند. شماره خط اغلب برای کد تولید شده توسط CAM الزامی نیست.
  6. S-Code: کدهای سرعت دوران هستند و نشان‌دهنده سرعت مورد نظر اسپیندل ابزار در زمان‌های مختلف در طول فرآیند ماشینکاری هستند.
  7. T-Code: ابزار مورد استفاده هنگام ماشینکاری یک ویژگی خاص روی قطعه کار را شناسایی می‌کند.

چگونه کد نویسی CNC انجام می‌دهید؟

برای نوشتن کدهای CNC، ابتدا باید با اصول کلی ماشینکاری CNC، و همچنین نرم افزارهای CAD/CAM و زبان دستورالعمل ماشینی G-code آشنا باشید. درک اینکه از کدام ابزارهای CNC برای ساخت آن ویژگی ها استفاده می‌شود و اینکه یک ماده معین در حین برش چگونه رفتار می‌کند، کلید بهینه‌سازی بهترین مسیر ابزار و تنظیمات بار/سرعت در حین کارکرد خودکار است. همچنین مهم است که نرم افزار CAM، نحوه عملکرد آن و آنچه از برنامه نویس مورد نیاز است را درک کنید. مراحل کلی کدگذاری CNC به شرح زیر است:

  1. خروجی گرفتن مدل سه بعدی: ابتدا باید مدل CAD به نرم افزار CAM صادر (Export) شود. برخی از سیستم‌های CAD قابلیت‌های CAM یکپارچه دارند، بنابراین نیازی به خروجی گرفتن نیست.
  2. ایجاد مسیرهای ابزار (Tool Path): مدل CAD را به مسیرهای ابزار تبدیل کنید. این کار را می توان به صورت دستی انجام داد که بیشتر برای قطعات ساده مناسب است، یا می‌توانیم اجازه دهیم که نرم افزار CAM به طور خودکار مسیرهای ابزار را ایجاد کند. انتخاب ابزار باید بر اساس ویژگی های قطعه مورد نیاز و ابزار موجود باشد.
  3. تایید مسیرهای ابزار: در مرحله بعد، مهم است از صحت مسیرهای ابزار و عدم وجود خطر برخورد ماشین با قطعه کار یا فیکسچرها اطمینان حاصل کنید. این مرحله می‌تواند به صورت دستی، خودکار (با شبیه‌سازی مسیرهای ابزار در نرم‌افزار CAM) یا با استفاده از نرم‌افزار تأیید مسیر ابزار شخص ثالث انجام شود.
  4. وارد کردن کد در دستگاه CNC: سپس باید G-code را وارد دستگاه کرد. این فرآیند را می‌توان با استفاده از یک دستگاه ذخیره‌سازی قابل حمل مانند درایو فلش انجام داد، یا اگر دستگاه به شبکه محلی متصل باشد، می‌توان کد را مستقیماً در دستگاه بارگیری کرد.

بهترین نرم‌افزار برنامه نویسی CNC چیست؟

بهترین نرم افزار برنامه نویسی CNC برای یک کار به آن کار بستگی دارد. نرم‌افزار پیشرفته، انبوهی از تنظیمات و آنالیزها را ارائه می‌کند که می‌توان از آنها برای بهینه‌سازی دقیق فرآیند ماشینکاری استفاده کرد. در حالی که نرم‌افزارهای ساده‌تر فقط تنظیمات اساسی‌تر را برای کاربر نمایش می‌دهند. در زیر برخی از بهترین بسته‌های نرم افزاری برنامه‌ نویسی CNC که در حال حاضر موجود هستند، فهرست شده اند:

  1. Mastercam: در عین اینکه Mastercam قابلیت‌های CAD را پوشش می‌دهد، اما اساساً بسته نرم‌افزاری CAM است که هم قدرتمند و هم آسان برای استفاده می‌باشد. Mastercam یکی از اولین برنامه‌های CAM در بازار بود و از بیش از ۳۰ سال قبل وجود دارد. Mastercam یک انتخاب محبوب برای برنامه‌نویسان CNC است.
  2. Vectric: محصولات نرم‌افزاری Vectric به طور خاص برای کاربردهای مسیریابی (Routing) و حکاکی (Engraving) با CNC طراحی شده‌اند. Vectric طیف وسیعی از بسته‌های نرم‌افزاری عالی از جمله Aspire، VCarve و Cut2D را ارائه می‌دهد.
  3. Meshcam: مش‌کم یک بسته نرم افزاری CAM نسبتاً ساده است، بنابراین برای مبتدیان بسیار مناسب است. با این حال، متخصصان باتجربه نیز می‌توانند از سرعت آن برای برنامه‌نویسی قطعات ساده استفاده کنند.
  4. Fusion 360®: فیوژن 360® یک برنامه ترکیبی CAD/CAM است. این به این معنی است که مدل CAD را می توان ایجاد کرد و سپس کد CNC را می توان در یک بسته نرم افزاری تولید کرد. Fusion 360® هم برای استفاده آسان است و هم دارای ویژگی های پیشرفته برای کاربران متخصص تر است.
  5. Solidworks®: سالیدورکس® یک برنامه ترکیبی CAD/CAM دیگر است. با این حال، Solidworks® CAM یک ماژول افزونه است و به همین دلیل می تواند گران باشد. با این حال، این برنامه بسیار قدرتمند است و طیف وسیعی از ویژگی ها را دارد.
  6. PowerMill: نرم افزاری قدرتمند و محبوب برای برنامه نویسی CNC با رابط کاربری آسان و طیف وسیعی از ابزارها برای ماشینکاری دقیق و پیچیده. PowerMill برای طیف وسیعی از کاربردها از جمله ساخت قالب، هوافضا، و پزشکی مناسب است.

جدول مقایسه نرم افزارهای CAM

نام نرم افزارقیمتسطح دشواریقابلیت های CADقابلیت های CAMکاربردها
Mastercamمتوسطمتوسطداردقدرتمند و انعطاف پذیرعمومی، ساخت قالب، هوافضا، پزشکی
Vectricمتوسطآسانداردمناسب برای مسیریابی و حکاکیمجسمه سازی، نجاری، ساخت تابلو
Meshcamپایینآساننداردمناسب برای مبتدیانقطعات ساده، نمونه سازی سریع
Fusion 360®رایگان (نسخه پایه)متوسطداردقدرتمند و انعطاف پذیرعمومی، طراحی صنعتی، مهندسی معکوس
Solidworks®بالامتوسطداردقدرتمند و انعطاف پذیرعمومی، ساخت ماشین، طراحی محصول
PowerMillبالامتوسطنداردقدرتمند و تخصصی برای ماشینکاری پیچیدهساخت قالب، هوافضا، پزشکی
جدول مقایسه نرم افزارهای CAM

انواع برنامه‌ نویسی CNC

سه نوع اصلی برنامه‌ نویسی CNC در زیر به تفصیل شرح داده شده است:

1. برنامه‌نویسی دستی CNC

رویکرد دستی، ابتدایی‌ترین شکل برنامه‌ نویسی CNC است. این شامل وارد کردن دستی دستورات به یک کنسول کنترلی است که معمولاً به دستگاه CNC متصل است. برنامه‌نویسی دستی CNC برای قطعات ساده یک گزینه خوب است. با این حال، می‌تواند روشی زمان‌بر و مستعد خطا برای برقراری ارتباط با دستگاه CNC باشد. به همین دلیل، برنامه‌نویسی دستی CNC برای قطعات پیچیده مناسب نیست. در برنامه‌نویسی دستی CNC، برنامه‌نویس باید درک خوبی از دستگاه CNC و نحوه عملکرد آن داشته باشد. بر خلاف نرم افزار CAM پیشرفته تر، برنامه نویسی دستی CNC هیچ نوع تجسم یا هشداری در مورد خطاهای احتمالی در کد ارائه نمی دهد که می تواند منجر به آسیب دیدن دستگاه CNC یا ابزار شود.

2. کدنویسی به کمک نرم افزارهای تولید به کمک کامپیوتر

نرم افزار CAM برای ایجاد برنامه های CNC برای قطعات ساده و پیچیده استفاده می شود. این رایج ترین روش برنامه نویسی CNC است. نرم افزار CAM سریعتر و دقیق تر از برنامه نویسی دستی CNC است. این برنامه به برنامه نویس یک نمایش بصری از مسیرهای ابزار را ارائه می دهد که به آنها کمک می کند تا هرگونه مشکل احتمالی مانند برخورد ابزار با فیکسچر نگهدارنده کار را مشاهده کنند.

نرم افزار CAM انعطاف پذیری بیشتری به کاربر می دهد تا برنامه را از یک نوع دستگاه CNC به نوع دیگر بدون نیاز به بازنویسی کل برنامه ترجمه کند، کاری که در زمان ایجاد G-Code دستی باید انجام شود. بسته‌های نرم‌افزاری CAM پیشرفته می‌توانند گران باشند، اما سرمایه‌گذاری برای کسب‌وکارهایی که برای تولید قطعات پیچیده به ماشین‌های CNC متکی هستند، معمولاً ارزشش را دارد.

3. برنامه‌نویسی مکالمه‌ای

برنامه‌نویسی مکالمه‌ای شامل استفاده از یک دستگاه CNC است که دارای رابط برنامه‌نویسی مکالمه‌ای داخلی است. این رابط به کاربر اجازه می دهد تا به جای استفاده از G-code، دستورات را به زبان انگلیسی ساده وارد کند. برخی از سیستم ها تعدادی سوال راهنمایی از اپراتور می پرسند تا کار را به طور کامل تعریف کنند. برنامه‌نویسی مکالمه‌ای برای عملیات ماشینکاری CNC ساده استفاده می‌شود. این یک روش سریع و آسان برای برنامه‌نویسی دستی است. برنامه‌نویسی مکالمه‌ای به عملیات ساده CNC محدود می‌شود.

چه کسی مسئول برنامه‌ نویسی CNC است؟

برنامه‌نویس CNC مسئول ایجاد برنامه‌های CNC است. برنامه‌نویس CNC می‌تواند برنامه CNC را به صورت دستی بنویسد یا از نرم‌افزار برنامه‌ نویسی CNC برای ایجاد برنامه CNC استفاده کند. در بسیاری از موارد، برنامه‌نویس CNC همچنین کار با دستگاه را انجام می‌دهد.

آیا تقاضا برای برنامه‌نویسان CNC زیاد است؟

بله، تقاضا برای برنامه‌نویسان CNC زیاد است. پیش‌بینی می‌شود که بازار کار برای برنامه‌نویسان CNC در آینده نزدیک به رشد خود ادامه دهد.

یادگیری برنامه‌ نویسی CNC چقدر طول می‌کشد؟

اصول برنامه‌ نویسی CNC را می‌توان در عرض چند هفته یاد گرفت، البته به توانایی یادگیری و تجربه قبلی فرد بستگی دارد. برخی از کارفرمایان ممکن است گواهینامه‌های پیشرفته‌تر مانند گواهینامه‌های ارائه شده توسط کالج‌های فنی یا دانشگاه‌ها را بخواهند. دریافت گواهینامه‌های حرفه‌ای پیشرفته می‌تواند تا پنج سال طول بکشد.

آیا برنامه‌ نویسی CNC آسان است؟

بله، اصول اولیه برنامه نویسی CNC نسبتاً آسان است. با این حال، تکنیک های پیشرفته تر برنامه نویسی CNC نیاز به درک موضوعات مختلفی دارد، از جمله:

  • ماشینکاری به طور کلی
  • انتخاب ابزار مناسب برای ایجاد ویژگی های خاص قطعه
  • واکنش مواد مختلف در حین ماشینکاری

با این وجود، با انگیزه کافی، می توان برنامه نویسی CNC را به راحتی هر موضوع پیشرفته دیگری یاد گرفت.

نکاتی برای یادگیری برنامه نویسی CNC

  1. با اصول اولیه شروع کنید: مفاهیم پایه ای مانند مختصات، سیستم های مرجع، و دستورات G-Code را یاد بگیرید.
  2. از منابع آموزشی آنلاین استفاده کنید: دوره های آنلاین، وبلاگ ها، و ویدیوهای آموزشی زیادی برای یادگیری برنامه نویسی CNC وجود دارد.
  3. تمرین کنید: بهترین راه برای یادگیری برنامه نویسی CNC، تمرین کردن است. سعی کنید برنامه های ساده ای برای قطعات ساده بنویسید.
  4. از یک جامعه CNC کمک بگیرید: انجمن ها و گروه های آنلاین زیادی وجود دارند که می توانید در آنها با سایر برنامه نویسان CNC ارتباط برقرار کنید و از آنها کمک بگیرید.

با این حال، با انگیزه کافی، برنامه‌ نویسی CNC را می‌توان به آسانی هر موضوع پیشرفته دیگری یاد گرفت.

تفاوت برنامه‌ نویسی CNC در ماشین‌های مختلف تولیدی

برنامه‌ نویسی CNC، اگرچه در همه ماشین‌ها به یک زبان کلی (G-code) نوشته می‌شود، اما در جزئیات و پیچیدگی‌ها با توجه به نوع ماشین و عملیات مورد نظر، تفاوت‌های قابل توجهی دارد. این تفاوت‌ها ناشی از تفاوت در حرکت ابزار، نوع ابزار، هندسه قطعه و سایر پارامترهای خاص هر ماشین است. در ادامه به بررسی تفاوت‌های برنامه‌ نویسی CNC در ماشین‌های تراشکاری، فرزکاری، برش، سوراخکاری و سنگ‌زنی می‌پردازیم:

1. تراشکاری CNC

  • حرکت ابزار: ابزار در امتداد محور اصلی قطعه کار حرکت می‌کند و عملیات‌هایی مانند تراشیدن، سوراخکاری و رزوه‌زنی را انجام می‌دهد.
  • کدهای خاص: از کدهای G و M خاصی برای تعریف عملیات‌های تراشکاری مانند چرخش اسپیندل، حرکت ابزار در امتداد محور Z، و تنظیم سرعت برش استفاده می‌شود.
  • پیچیدگی برنامه: به طور کلی، برنامه‌ نویسی CNC تراشکاری ساده‌تر از فرزکاری است، زیرا حرکت ابزار در یک جهت اصلی یعنی X انجام می‌شود.

2. فرزکاری CNC

  • حرکت ابزار: ابزار به صورت دورانی حول محور خود می‌چرخد و همزمان در امتداد محورهای X، Y و Z حرکت می‌کند تا سطوح مختلفی را ایجاد کند.
  • کدهای خاص: از کدهای G و M خاصی برای تعریف عملیات‌های فرزکاری مانند حرکت ابزار در امتداد مسیرهای پیچیده، تنظیم سرعت اسپیندل و عمق برش استفاده می‌شود.
  • پیچیدگی برنامه: برنامه‌ نویسی CNC فرزکاری به دلیل پیچیدگی حرکت ابزار و تنوع عملیات، نسبت به تراشکاری پیچیده‌تر است.

3. برش CNC (Wire EDM)

  • حرکت ابزار: یک سیم نازک با عبور جریان الکتریکی، ماده را ذوب و تبخیر می‌کند تا برش ایجاد شود.
  • کدهای خاص: از کدهای G و M خاصی برای تعریف مسیر حرکت سیم، سرعت برش، و پارامترهای الکتریکی استفاده می‌شود.
  • پیچیدگی برنامه: برنامه‌نویسی برش CNC نیاز به دقت بالایی در تعریف مسیر حرکت سیم دارد و اغلب از نرم‌افزارهای تخصصی برای این کار استفاده می‌شود.

4. سوراخکاری CNC

  • حرکت ابزار: ابزار سوراخکاری با حرکت عمودی به داخل قطعه نفوذ می‌کند تا سوراخ ایجاد کند.
  • کدهای خاص: از کدهای G و M خاصی برای تعریف عمق سوراخ، قطر سوراخ و سرعت نفوذ ابزار استفاده می‌شود.
  • پیچیدگی برنامه: برنامه‌ نویسی CNC سوراخکاری به طور کلی ساده است، اما در مواردی که سوراخ‌های پیچیده یا با عمق زیاد نیاز باشد، پیچیدگی‌های بیشتری خواهد داشت.

5. سنگ‌زنی CNC

  • حرکت ابزار: ابزار سنگ‌زنی با حرکت دورانی یا خطی روی سطح قطعه کار حرکت می‌کند تا آن را صاف و براق کند.
  • کدهای خاص: از کدهای G و M خاصی برای تعریف مسیر حرکت ابزار، سرعت سنگ‌زنی و عمق برش استفاده می‌شود.
  • پیچیدگی برنامه: برنامه‌ نویسی CNC سنگ‌زنی به دلیل حساسیت به پارامترهای فرآیند و نیاز به دقت بالا، می‌تواند پیچیده باشد.

تفاوت‌های کلیدی

  • نوع ابزار: هر ماشین از ابزارهای خاصی استفاده می‌کند که برای انجام عملیات‌های مشخص طراحی شده‌اند.
  • حرکت ابزار: مسیر حرکت ابزار در هر ماشین متفاوت است و بر اساس هندسه قطعه و نوع عملیات تعیین می‌شود.
  • پارامترهای فرآیند: هر ماشین پارامترهای فرآیند خاص خود را دارد که باید در برنامه‌نویسی در نظر گرفته شوند.
  • پیچیدگی برنامه: پیچیدگی برنامه‌نویسی با توجه به نوع ماشین و عملیات مورد نظر متفاوت است.

به طور خلاصه:

برنامه‌ نویسی CNC در ماشین‌های مختلف تولیدی، اگرچه بر اساس اصول یکسانی استوار است، اما در جزئیات و پیچیدگی‌ها با هم تفاوت دارند. درک این تفاوت‌ها برای برنامه‌نویسان CNC بسیار مهم است تا بتوانند برنامه‌های دقیق و کارآمدی برای هر نوع ماشین ایجاد کنند.

توضیحات خط به خط برنامه‌های G-code برای فرآیندهای مختلف CNC

برای هر کدام از فرآیندهای تولیدی تراشکاری، فرزکاری، سوراخکاری، سنگ‌زنی، برش وایرکات و برش لیزری یک نمونه برنامه G-code به عنوان مثال می زنیم و سپس هر خط را توضیح می‌دهیم. این مثال‌ها شامل عمده‌ترین حرکت‌های ابزار و قطعه‌کار و همچنین تعریف پارامترهای اصلی خواهند بود.با عرض پوزش از خوانندگان گرامی چون متن جی کدها می خواستیم به صورت برنامه قابل کپی باشد و متن غالب پست فارسی و از راست به چپ بود بنابراین متن جی کدها هم به صورت راست به چپ است.برای حل این مشکل باید متن برنامه نویسی CNC به صورت تصویر در اینجا قرار داده می شد.

1. تراشکاری (Turning)

G-code و برنامه‌ نویسی CNC نمونه برای تراشکاری یک قطعه ساده:

N10 G21
N20 G50 S1500
N30 G96 S200 M03
N40 G00 X50 Z2
N50 G01 X20 Z0 F0.2
N60 G01 X0 Z0
N70 G00 X50 Z2
N80 M30

توضیح خط به خط:

  • N10 G21: تنظیم واحد اندازه‌گیری به میلی‌متر (Metric).
  • N20 G50 S1500: محدود کردن سرعت اسپیندل به حداکثر 1500 دور در دقیقه.
  • N30 G96 S200 M03: تنظیم سرعت برش سطحی به 200 متر در دقیقه و شروع چرخش اسپیندل در جهت ساعتگرد.
  • N40 G00 X50 Z2: حرکت سریع ابزار به نقطه (X=50, Z=2) برای آماده‌سازی برش.
  • N50 G01 X20 Z0 F0.2: شروع برش مستقیم با حرکت خطی از X=50 به X=20 و Z=0 با نرخ پیشروی 0.2 میلی‌متر بر دور.
  • N60 G01 X0 Z0: ادامه برش به سمت مرکز قطعه کار (X=0).
  • N70 G00 X50 Z2: بازگشت ابزار به نقطه شروع.
  • N80 M30: پایان برنامه و بازنشانی.

2. فرزکاری (Milling)

برنامه‌ نویسی CNC برای فرزکاری یک پاکت مربعی:

N10 G21
N20 G17 G90 G40
N30 T1 M06
N40 G00 X0 Y0 Z5
N50 G01 Z-5 F100
N60 G01 X50 Y0 F200
N70 G01 X50 Y50
N80 G01 X0 Y50
N90 G01 X0 Y0
N100 G00 Z5
N110 M30

توضیح خط به خط:

  • N10 G21: تنظیم واحد اندازه‌گیری به میلی‌متر.
  • N20 G17 G90 G40: انتخاب صفحه XY، تنظیم مختصات مطلق و لغو جبران شعاع ابزار.
  • N30 T1 M06: انتخاب ابزار شماره 1 و اجرای تعویض ابزار.
  • N40 G00 X0 Y0 Z5: حرکت سریع ابزار به نقطه (X=0, Y=0, Z=5).
  • N50 G01 Z-5 F100: شروع حرکت برشی عمودی به عمق 5 میلی‌متر با نرخ پیشروی 100 میلی‌متر در دقیقه.
  • N60 G01 X50 Y0 F200: حرکت افقی از (X=0, Y=0) به (X=50, Y=0).
  • N70 G01 X50 Y50: حرکت به نقطه (X=50, Y=50).
  • N80 G01 X0 Y50: حرکت به نقطه (X=0, Y=50).
  • N90 G01 X0 Y0: بازگشت به نقطه شروع.
  • N100 G00 Z5: بازگشت ابزار به بالای قطعه.
  • N110 M30: پایان برنامه.

3. سوراخکاری (Drilling)

برنامه‌ نویسی CNC برای سوراخکاری یک سوراخ در مرکز قطعه:

N10 G21
N20 G17 G90 G40
N30 T1 M06
N40 G00 X0 Y0 Z5
N50 G81 X0 Y0 Z-10 R1 F150
N60 G00 Z5
N70 M30

توضیح خط به خط:

  • N10 G21: تنظیم واحد اندازه‌گیری به میلی‌متر.
  • N20 G17 G90 G40: انتخاب صفحه XY، تنظیم مختصات مطلق و لغو جبران شعاع ابزار.
  • N30 T1 M06: انتخاب ابزار شماره 1 و اجرای تعویض ابزار.
  • N40 G00 X0 Y0 Z5: حرکت سریع ابزار به نقطه (X=0, Y=0, Z=5).
  • N50 G81 X0 Y0 Z-10 R1 F150: اجرای عملیات سوراخکاری به عمق 10 میلی‌متر با نرخ پیشروی 150 میلی‌متر بر دقیقه.
  • N60 G00 Z5: بازگشت ابزار به بالای قطعه.
  • N70 M30: پایان برنامه.

4. سنگ‌زنی (Grinding)

برنامه‌ نویسی CNC برای سنگ‌زنی سطحی:

N10 G21
N20 G17 G90
N30 T1 M06
N40 G00 X0 Y0 Z5
N50 G01 Z-0.5 F50
N60 G01 X100 Y0
N70 G01 X100 Y50
N80 G01 X0 Y50
N90 G00 Z5
N100 M30

توضیح خط به خط:

  • N10 G21: تنظیم واحد اندازه‌گیری به میلی‌متر.
  • N20 G17 G90: انتخاب صفحه XY و تنظیم مختصات مطلق.
  • N30 T1 M06: انتخاب ابزار شماره 1 و اجرای تعویض ابزار.
  • N40 G00 X0 Y0 Z5: حرکت سریع ابزار به نقطه (X=0, Y=0, Z=5).
  • N50 G01 Z-0.5 F50: حرکت به عمق 0.5 میلی‌متر با نرخ پیشروی 50 میلی‌متر بر دقیقه.
  • N60 G01 X100 Y0: سنگ‌زنی از (X=0, Y=0) به (X=100, Y=0).
  • N70 G01 X100 Y50: حرکت به نقطه (X=100, Y=50).
  • N80 G01 X0 Y50: بازگشت به نقطه (X=0, Y=50).
  • N90 G00 Z5: بازگشت ابزار به بالای قطعه.
  • N100 M30: پایان برنامه.

5. برش وایرکات (Wire EDM Cutting)

G-code نمونه برای برنامه‌ نویسی CNC برش یک قطعه با وایرکات:

N10 G21
N20 G90 G40
N30 T1 M06
N40 G00 X0 Y0 Z0.5
N50 G01 Z-10 F100
N60 G01 X50 Y0
N70 G01 X50 Y50
N80 G01 X0 Y50
N90 G01 X0 Y0
N100 G00 Z0.5
N110 M30

توضیح خط به خط:

  • N10 G21: تنظیم واحد اندازه‌گیری به میلی‌متر.
  • N20 G90 G40: تنظیم مختصات مطلق و لغو جبران شعاع ابزار.
  • N30 T1 M06: انتخاب ابزار شماره 1 و اجرای تعویض ابزار.
  • N40 G00 X0 Y0 Z0.5: حرکت سریع سیم به نقطه شروع برش (X=0, Y=0, Z=0.5).
  • N50 G01 Z-10 F100: شروع برش به عمق 10 میلی‌متر.
  • N60 G01 X50 Y0: حرکت از (X=0, Y=0) به (X=50, Y=0).
  • N70 G01 X50 Y50: حرکت به نقطه (X=50, Y=50).
  • N80 G01 X0 Y50: حرکت به نقطه (X=0, Y=50).
  • N90 G01 X0 Y0: بازگشت به نقطه شروع.
  • N100 G00 Z0.5: بازگشت سیم به بالای قطعه.
  • N110 M30: پایان برنامه.

6. برش لیزری (Laser Cutting)

G-code نمونه برای برش یک قطعه با لیزر:

N10 G21
N20 G90
N30 G00 X0 Y0
N40 M03
N50 G01 X50 Y0 F200
N60 G01 X50 Y50
N70 G01 X0 Y50
N80 G01 X0 Y0
N90 M05
N100 M30

توضیح خط به خط:

  • N10 G21: تنظیم واحد اندازه‌گیری به میلی‌م

تر.

  • N20 G90: تنظیم مختصات مطلق.
  • N30 G00 X0 Y0: حرکت سریع لیزر به نقطه شروع برش.
  • N40 M03: روشن کردن لیزر.
  • N50 G01 X50 Y0 F200: برش از (X=0, Y=0) به (X=50, Y=0) با نرخ پیشروی 200 میلی‌متر بر دقیقه.
  • N60 G01 X50 Y50: حرکت به نقطه (X=50, Y=50).
  • N70 G01 X0 Y50: حرکت به نقطه (X=0, Y=50).
  • N80 G01 X0 Y0: بازگشت به نقطه شروع.
  • N90 M05: خاموش کردن لیزر.
  • N100 M30: پایان برنامه.

این برنامه‌ها نمونه‌های ساده‌ای هستند که عمده‌ترین حرکت‌ها و پارامترهای مورد نیاز برای هر فرآیند را نشان می‌دهند. بسته به پیچیدگی قطعه کار و فرآیند، می‌توان برنامه‌های بسیار پیچیده‌تری ایجاد کرد.

کدهای G-code اختصاصی برای وایرکات و برش لیزری در CNC

برای فرآیندهای وایرکات (Wire EDM) و برش لیزری (Laser Cutting)، G-code های استانداردی وجود دارد که می‌تواند شامل پارامترهای خاص این ماشین‌ها مانند قطر سیم، جریان عبوری از سیم در وایرکات، و توان لیزر باشد. این پارامترها در ماشین‌های مختلف ممکن است به‌صورت کدهای G یا M تعریف شوند یا از طریق تنظیمات خاصی در ماشین اعمال شوند.

کدهای اختصاصی برای برنامه‌ نویسی CNC وایرکات (Wire EDM):

در وایرکات، پارامترهای خاص مانند قطر سیم، جریان سیم، ولتاژ و نوع پالس ممکن است با کدهای خاصی تعریف شوند. به عنوان مثال:

  • M50: تنظیم قطر سیم (به‌طور مثال 0.25 میلی‌متر).
  • M51: تنظیم جریان سیم (به‌طور مثال 10 آمپر).
  • M52: تنظیم ولتاژ.
  • M53: تنظیم نوع پالس (مثلاً پالس کوتاه یا بلند).

نمونه‌ای از G-code و برنامه‌ نویسی CNC برای وایرکات با تنظیم قطر سیم و جریان عبوری:

N10 G21
N20 G90
N30 M50 D0.25   ; تنظیم قطر سیم به 0.25 میلی‌متر
N40 M51 I10     ; تنظیم جریان عبوری از سیم به 10 آمپر
N50 G00 X0 Y0
N60 G01 X50 Y0 F100
N70 G01 X50 Y50
N80 G01 X0 Y50
N90 G01 X0 Y0
N100 M30

کدهای اختصاصی برای برنامه‌ نویسی CNC برش لیزری (Laser Cutting):

در برش لیزری، پارامترهایی مانند توان لیزر، فرکانس پالس، و سرعت برش نیز ممکن است با استفاده از کدهای خاص در برنامه‌ نویسی CNC تعریف شوند:

  • M100: تنظیم توان لیزر (به‌طور مثال 500 وات).
  • M101: تنظیم فرکانس پالس (مثلاً 20 کیلوهرتز).
  • M102: تنظیم نوع گاز محافظ.

نمونه‌ای از G-code و برنامه‌ نویسی CNC برای برش لیزری با تنظیم توان لیزر:

N10 G21
N20 G90
N30 M100 P500    ; تنظیم توان لیزر به 500 وات
N40 M101 F20     ; تنظیم فرکانس پالس به 20 کیلوهرتز
N50 G00 X0 Y0
N60 M03          ; روشن کردن لیزر
N70 G01 X50 Y0 F200
N80 G01 X50 Y50
N90 G01 X0 Y50
N100 G01 X0 Y0
N110 M05         ; خاموش کردن لیزر
N120 M30

  • این کدهای اختصاصی ممکن است در ماشین‌های مختلف متفاوت باشند و ممکن است در دستگاه خاص شما با کدها یا دستورات دیگری جایگزین شوند. همیشه باید به دفترچه راهنمای ماشین خاص خود مراجعه کنید تا از کدهای صحیح و نحوه تنظیم پارامترها مطمئن شوید.
  • برخی از ماشین‌های CNC ممکن است نیاز به تنظیمات بیشتری از طریق رابط کاربری دستگاه داشته باشند که به‌طور مستقیم در کد G نشان داده نمی‌شوند.

سوالات متداول

ماشینکاری CNC چیست؟

ماشینکاری CNC یا کنترل عددی کامپیوتری فرآیندی است که در آن ماشین‌ها با استفاده از دستورات کامپیوتری، قطعات را با دقت و سرعت بسیار بالا می‌سازند. به عبارت ساده‌تر، به جای اینکه یک کارگر ماهر با دست قطعه‌ای را شکل دهد، یک ماشین تحت کنترل کامپیوتر این کار را انجام می‌دهد. این روش برای ساخت قطعات پیچیده و دقیق در صنایع مختلف مانند خودروسازی، هوافضا و پزشکی بسیار کاربرد دارد.

آیا برنامه‌نویسی CNC سخت است؟

فرایند ماشینکاری CNC ممکن است پیچیده باشد، اما قطعاً غیرممکن نیست. انتظار داشته باشید که بیش از ۳ سال کار سخت برای تسلط بر آن نیاز داشته باشید، اما می‌توانید با چند ساعت آموزش ساده، قطعات پایه را ایجاد کنید.

برنامه‌ نویسی CNC و PLC چه تفاوتی دارند؟

CNC (کنترل عددی کامپیوتری): برای ساخت قطعات فیزیکی استفاده می‌شود. به ماشین می‌گوید چه کاری انجام دهد و چگونه یک قطعه را بسازد.
PLC (کنترل کننده منطقی برنامه‌پذیر): برای کنترل فرآیندهای صنعتی و اتوماسیون استفاده می‌شود. به تجهیزات می‌گوید چه زمانی شروع یا متوقف شوند.

مراحل برنامه نویسی CNC چیست؟

برنامه‌ نویسی CNC شامل مراحل زیر است:
انتخاب نرم‌افزار CAD/CAM: ابتدا از نرم‌افزار CAD برای طراحی مدل سه بعدی قطعه استفاده کنید. سپس، این مدل را به نرم‌افزار CAM انتقال دهید تا به کد G تبدیل شود.
ایجاد مسیرهای ابزار: در نرم‌افزار CAM، مسیرهایی را برای حرکت ابزار مشخص کنید. این مسیرها باید با شکل قطعه و روش ماشینکاری مطابقت داشته باشند.
برنامه‌نویسی G-code: کد G را بررسی و اصلاح کنید تا مطمئن شوید که ماشین دقیقا همان کاری را انجام می‌دهد که شما می‌خواهید.
انتخاب ابزار: ابزارهای مناسب برای هر عملیات را انتخاب کنید. عوامل مختلفی مانند جنس ماده، سرعت برش و عمر ابزار را در نظر بگیرید.
سیستم مختصات کار: سیستم مختصات را در نرم‌افزار CAM تنظیم کنید تا ماشین بتواند موقعیت قطعه را تشخیص دهد.
شبیه‌سازی برنامه: قبل از اجرای برنامه، آن را در نرم‌افزار CAM شبیه‌سازی کنید تا از صحت آن اطمینان حاصل کنید.
پس‌پردازش: پس از ایجاد برنامه، آن را در نرم‌افزار CAM پس‌پردازش کنید تا کد G نهایی را تولید کنید.
انتقال برنامه: کد G را به ماشین CNC انتقال دهید.
اجرای آزمایشی: قبل از شروع تولید واقعی، برنامه را روی یک قطعه آزمایشی اجرا کنید تا از صحت آن اطمینان حاصل کنید.

خلاصه

این مقاله برنامه‌ نویسی CNC را معرفی کرد، توضیح داد که چه چیزی است و نحوه استفاده از آن در تولید را بررسی کرد.این مقاله برای اولین بار در سایت بازارگاه ساخت و تولید ایران به نشانی Digimfg.ir منتشر شده است.

اعلامیه‌های حق تکثیر و علامت تجاری

  • MASTERCAM علامت تجاری ثبت شده CNC Software, LLC است.
  • Solidworks® علامت تجاری ثبت شده Dassault Systèmes SolidWorks Corp است.
  • VECTRIC علامت تجاری CYBER UNION INTERNATIONAL INC است.
  • MESHCAM علامت تجاری Demokritos Frangos است.
  • FUSION 360® علامت تجاری Autodesk, Inc است.

منابع

xometry.com/resources/machining/cnc-programming

سلب مسئولیت

محتوای ارائه شده در این صفحه وب صرفا جنبه اطلاع رسانی دارد. DIGIMFG هیچگونه ضمانت یا مسئولیتی، چه به صورت صریح یا ضمنی، در خصوص صحت، کامل بودن یا اعتبار اطلاعات بر عهده نمی گیرد. پارامترهای عملکرد، تلرانس های هندسی، ویژگی‌های طراحی خاص، کیفیت یا نوع مواد، یا فرایندها را نباید نمایانگر آنچه توسط تأمین کنندگان یا تولیدکنندگان شخص ثالث در شبکه DIGIMFG ارائه می‌شود، دانست. خریدارانی که به دنبال دریافت قیمت هستند موظفند تا الزامات فنی ویژه موردنیاز برای قطعات را تعریف کنند. برای کسب اطلاعات بیشتر، لطفاً به شرایط و ضوابط ما مراجعه کنید.

نوشته‌های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *