G-code (کد هندسی) یکی از پرکاربردترین زبانهای برنامهنویسی در CNC (کنترل عددی کامپیوتری) محسوب میشود که برای هدایت ماشینهای تولیدی با کنترل کامپیوتری به کار میرود. این زبان به معنای دقیق کلمه یک زبان برنامهنویسی کامپیوتری نیست، بلکه مجموعهای از زبانهای سطح بالا و نسبتا قابل خواندن برای انسان است که وظیفه ارائه دستورالعملهایی مثل کنترل موتور، سوئیچها یا رلهها و سایر عملکردهای مرتبط با ماشین را بر عهده دارد.
این دستورات شامل حرکت محورهای ماشین، تنظیم سرعت اسپیندل و مشخص کردن موقعیتهای فیزیکی بر اساس مختصات مطلق یا افزایشی هستند. در مراکز ماشینکاری CNC ، دستورات G-code برای انجام فرآیندهایی مانند برش دقیق که در حذف مواد از قطعات مکانیکی تخصصی به کار میرود، صادر میشود. به عنوان مثال، تولید میللنگهای پیچیده برای موتورهای احتراق داخلی از این دسته فرآیندهاست. علاوه بر این، زبان G-code یکی از رایجترین ابزارها در ماشینهای تولید افزودنی (از جمله چاپگرهای سهبعدی) نیز به شمار میرود.
در هر دو کاربرد، G-code مجموعهای از مسیرهای حرکتی دقیق و قابل تکرار را شکل میدهد که در قالب دستوراتی برای حرکت، موقعیتیابی، سیگنالدهی موتور و کنترل دستگاههای تخصصی طراحی شدهاند. این مقاله به بررسی جامع G-code پرداخته و عملکردهای اصلی آن را توضیح میدهد. همچنین کاربردهای مختلف این زبان در فرآیندهای صنعتی تشریح شده و در نهایت بهترین ابزارهای ویرایش G-code معرفی خواهند شد.
G-CODE چیست ؟
G-code یک زبان برنامهنویسی تخصصی است که از مجموعهای از دستورات دقیق برای اجرای عملیاتهای مشخص در برش CNC و ماشینآلات صنعتی استفاده میکند. کنترلکننده ماشین، این دستورات را به حرکات دقیق محورها، اسپیندل، و عملکرد خنککننده تبدیل میکند. در ادامه چند نمونه از دستورالعملهای G-code آورده شده است:
G21واحد اندازهگیری را به سیستم متریک (میلیمتر) تنظیم میکند.
G0 X34: ابزار با حداکثر سرعت ممکن 34 میلیمتر در امتداد محور X از موقعیت فعلی خود جابهجا میشود.
G1 X34 F150: ابزار با سرعت کنترلشده (150 میلیمتر بر ثانیه) به مقدار 34 میلیمتر در امتداد محور X حرکت میکند.
این زبان همچنین مواردی چون موقعیت هندسی ابزار، سرعت مورد نیاز دوک، تغییرات ابزار، و تنظیمات مرتبط با مسیر و سرعت حرکت ابزار به سمت قطعه کار را پوشش میدهد. بسیاری از دستورات G مودال هستند، به این معنا که دستگاه تا زمانی که با دستور دیگری از همان نوع جایگزین نشوند، آنها را فعال و معتبر در نظر میگیرد.

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

کد و زیر برنامه G-CODE
دستور M98 وظیفه فراخوانی یک زیربرنامه مشخص به همراه تعداد دفعات تکرار آن را بر عهده دارد. این دستور به دستگاه اعلام میکند که یک برنامه فرعی را اجرا کند و مشخص کند چند بار آن باید تکرار شود. پایان اجرای زیربرنامهها توسط کد M99 مشخص میشود، که کنترل دستگاه را به برنامه اصلی بازمیگرداند.
به عنوان مثال، هنگامی که دستور M98 P53000 نوشته شود، عدد P نشاندهنده شماره برنامه O3000 است و عدد 5 بیانگر تعداد دفعات تکرار زیربرنامه خواهد بود. در کنترلرهای FANUC، نسخه دیگری از زیربرنامهها قابل مشاهده است که به صورت M98 P3000 L5 نوشته میشود. در این روش، همانند حالت قبل، M98 نشاندهنده اجرای زیربرنامه است، اما P3000 معرف برنامه فرعی O3000 است و L5 تعداد تکرارها را مشخص میکند.
زیربرنامهها بسته به نوع عملکرد میتوانند در عملیات مختلفی مانند نمایهسازی محور Z میان برشهای مکرر به کار روند. چه در قالب اولین مثال و چه در روش دوم از زیربرنامه، دستور M99 وظیفه بازگرداندن کنترل دستگاه به برنامه اصلی یا زیربرنامه قبلی در صورت تودرتو بودن را بر عهده دارد. علاوه بر این، یکی از کاربردهای رایج زیربرنامهها مربوط به بازنشانی وضعیتهای مدال قبل یا بعد از تغییر ابزار است که این عمل به عنوان یک اقدام ایمنی ضروری لحاظ میشود.
در مورد دستور M97، از این کد برای اشاره به یک شماره خط مشخص در یک برنامه استفاده میشود. با توجه به این که شماره خط باید متعلق به همان برنامه ماشین باشد، دستور M97 نیازی به نوشتن برنامه جداگانه ندارد، بلکه صرفاً باعث تکرار خطوط انتخابشده میشود. مشابه زیربرنامههای M98، دستور M97 نیز با کد M99 خاتمه مییابد تا عملکرد آن کامل شود.
