نویسنده : مهدی حسن زاده
۱. G-Code دقیقاً چیست و چه کاری میکند؟
G-Code یا کد هندسی (Geometric Code) رایجترین زبان برنامهنویسی برای کنترل ماشینهای CNC است. G-Code به ماشین میگوید:
- کجا برود (X/Y/Z)
- چه مسیری را طی کند (خطی / دایرهای)
- با چه سرعتی حرکت کند (Feed / Spindle)
- چه عملیاتهای جانبی انجام دهد (روشن/خاموش کردن اسپیندل، خنککاری، تعویض ابزار)
G-Code از فرمت Word-Address استفاده میکند، مانند G1 X50 F300 یا M3 S12000.
یک برنامه G-Code از بلاکها/خطوط تشکیل شده و هر بلاک از کلمات (Words) ساخته شده است. انواع کلمات رایج عبارتاند از:
- G: دستورات حرکت و هندسه
- M: دستورات جانبی ماشین
- X Y Z A B C: محورها
- F: سرعت تغذیه (Feed Rate)
- S: سرعت اسپیندل
- T: شماره ابزار
- I J K / R: پارامترهای قوس (Arc)
- N: شماره خط
- کامنتها
بسیاری از G-Codeها Modal هستند؛ یعنی یک دستور مثل G1 تا زمان تغییر فعال میماند.
۲. تاریخچه G-Code خلاصه اما دقیق
تاریخچه G-Code به شرح زیر است:
- ۱۹۴۹-۱۹۵۰: ایدههای اولیه NC (Numerical Control) توسط Parsons و MIT
- ۱۹۵۲: نمایش اولین ماشین NC در MIT
- اوایل دهه ۱۹۶۰: تلاشهای استانداردسازی تحت RS-274/EIA
- ۱۹۶۳: انتشار استاندارد اولیه RS-274
- ۱۹۷۹: تکمیل RS-274-D
- ISO 6983: پوشش فرمت برنامهنویسی G-Code در سطح بینالمللی
۳. ساختار استاندارد یک برنامه G-Code
ساختار استاندارد یک برنامه G-Code به شرح زیر است:
- خط ایمنی / مقداردهی اولیه (Safety Line / Initialization)
- انتخاب Work Offset (مثلاً G54)
- فراخوانی ابزار / تعویض ابزار (T, M6)
- تنظیم سرعت اسپیندل و استارت اسپیندل (S, M3/M4)
- حرکات سریع سپس حرکات برش (G0, G1, G2/G3)
- خاموش کردن و بازگشت (M5, M9, M30)
۴. کدهای G پرکاربرد CNC فرز/روتر/پلاسما
کدهای G پرکاربرد در CNC عبارتاند از:
- G0: حرکت سریع (Rapid Move)
- G1: حرکت خطی با تغذیه (Linear Feed)
- G2: قوس ساعتگرد (Arc CW)
- G3: قوس پادساعتگرد (Arc CCW)
- G4: توقف زمانی (Dwell)
- G20: واحد اینچ
- G21: واحد میلیمتر
- G90: حالت مطلق (Absolute)
- G91: حالت افزایشی (Incremental)
- G17/G18/G19: انتخاب صفحه (Plane Selection)
- G54 تا G59: Work Offsets (در برخی کنترلرها تا G59.3)
- G53: مختصات ماشین (Machine Coordinates)
- G40/G41/G42: جبران ابزار (Cutter Compensation)
- G80: لغو سیکلهای Canned
- G81/G82/G83: سیکلهای سوراخکاری (Drilling Cycles)
۵. کدهای M پرکاربرد
کدهای M پرکاربرد عبارتاند از:
- M3: چرخش اسپیندل ساعتگرد (CW)
- M4: چرخش اسپیندل پادساعتگرد (CCW)
- M5: توقف اسپیندل
- M7: خنککاری مهآب (Mist)
- M8: خنککاری سیال (Flood)
- M9: خاموش کردن خنککاری
- M6: تعویض ابزار
- M0: توقف برنامه
- M1: توقف اختیاری
- M2: پایان برنامه
- M30: پایان برنامه و ریست
۶. چند مثال کاربردی (قابل فهم و نزدیک به واقعیت)
مثال ۱: خط ایمنی برای فرز ۳ محوره با واحد میلیمتر
content_copy gcode
G21 G90 G17 G40 G80
مثال ۲: برش مربع ۵۰×۵۰ میلیمتر در عمق ۲ میلیمتر
content_copy gcode
G54
T1 M6
S12000 M3
G0 X0 Y0 Z5
G1 Z-2 F300
G1 X50 F600
G1 Y50
G1 X0
G1 Y0
G0 Z5
M5
M30
مثال ۳: مثال قوس (Arc) با استفاده از G2/G3 و I/J
content_copy gcode
G1 X0 Y0
G2 X10 Y10 I10 J0
این دستور یک قوس ساعتگرد از (0,0) به (10,10) با مرکز (10,0) ایجاد میکند.
۷. نکات مهم صنعتی که معمولاً باعث خطا میشوند
- دستورات Modal میتوانند خطرناک باشند: اشتباه در G90/G91 میتواند فاجعهبار باشد.
- همیشه Work Offset صحیح را تنظیم کنید: مثل G54
- تفاوتهای کنترلر مهم است: هر کنترلر ممکن است رفتار متفاوتی داشته باشد.
- در اجرای اول از Dry Run / Single Block / Feed و Spindle کاهشیافته استفاده کنید.
۸. منابع پیشنهادی برای مطالعه و رفرنس کدها
- LinuxCNC Documentation
- ISO 6983-1
- NIST RS274NGC Report
- منابع تاریخی Parsons/MIT NC
جمعبندی
G-Code زبان اصلی برنامهنویسی CNC است که با درک صحیح ساختار، کدهای G و M، و رعایت نکات ایمنی میتوان برنامههای دقیق و کارآمد برای ماشینکاری تولید کرد. آشنایی با تاریخچه و استانداردهای G-Code به درک بهتر این زبان کمک میکند.
نویسنده: مهدی حسنزاده
شرکت: رادنیک اتوماسیون