آموزش G-Code

آموزش کاربردی G-Code با یک مثال ساده

نوشته شده توسط احسان وارسته

مانند هر زبان ماشین دیگری دستورات g-code نیز مانند توابع صدا زده می شوند. یعنی اینکه اسم دستور در ابتدا و سپس پارامتر یا پارامترهای دستور در ادامه می آیند که با “خط فاصله” – Space – جدا میشوند.
دستورات g-code را می توان به دو دسته تقسیم کرد، دستورات حرکتی، دستورات عملکردی.
دستورات حرکتی آن دسته دستوراتی هستند که باعث جابجایی محورها میشوند. بعنوان مثال برای یک CNC سه محور دارای محور های X-Y-Z، برای انقال محور به مرکز ( نقطه 0،0،0 ) این خط دستور را می نویسیم:

X0 Y0 Z0

این خط دستور شامل 3 دستور است، انتقال محور X به مختصات 0، انتقال محور Y به مختصات 0 و انتقال محور Z به مختصات 0 ( مختصات 0،0،0 همان مختصات Home یا شروع است )

بعنوان نمونه، فایل خروجی از تبدیل یک فایل PLT که توسط CorelDraw طراحی شده و توسط نرم افزار All to G-Code Conventer به فایل g-code تبدیل شده است را مورد بررسی قرار میدهیم.


0:  G1 F1000
1:  Z10
2:  X-20.000000 Y-20.000000
3:  Z0
4:  X-20.000000 Y-20.000000
5:  X20.000000 Y-20.000000
6:  X20.000000 Y-20.000000
7:  X20.000000 Y20.000000
8:  X20.000000 Y20.000000
9:  X-20.000000 Y20.000000
10: X-20.000000 Y20.000000
11: X-20.000000 Y-20.000000
12: Z10
13: X0 Y0

همانطور که ملاحظه میکنید در خط 0 برنامه، دو دستور مشاهده میشود. دستور G1 و F1000.
دستور G1 به معنی حرکت خطی است، به این صورت که محور ها با سرعتی خطی ( یکنواخت ) حرکت کنند.
دستور F1000 برای تعیین Feedrate یا نرخ خوراک است. نرخ خوراک اصطلاحی است که برای سرعت حرکت محورها در سیستم های CNC عنوان می شود. در اینجا نرخ خوراک 1000 تنظیم شده و واحد آن میلی متر بر دقیقه است.
هر چه نرخ خوراک بیشتر باشد سرعت حرکت محورها زیاد، در نتیجه احتمال خرابی کار و شکستن و گیرکردن فرز درون کار بالا میرود. نسبت به نوع و جنس کار نرخ های متفاوتی برای فرزکاری استفاده می شود. برای مشاهده نحوه محاسبه نرخ خوراک و دیگر پارامتر ها به این مطلب مراجعه کنید.
ادامه دستورات برنامه همگی دستورات حرکتی هستند و صرفا جهت جابجایی محور ها استفاده می شوند. تنها نکته لازم به ذکر این است که با دقت به برنامه متوجه اعداد منفی Y و X میشوید که نشان میدهد محورها از نقطه صفر به هر دو جهت حرکت میکنند. این یعنی اگر شما بعنوان یک ماشین کار نقطه صفر دستگاه را در گوشه های ماشین CNC تنظیم کرده باشید این برنامه اجرا نخواهد شد! برای اینکه از ابعاد کار خود و همچنین میزان حرکت محورها از نقطه صفر مطلع شوید میتوانید از نرم افزار G-Code Analyser استفاده کنید.
این برنامه نمونه پس از اجرا مربعی به عرض 40 میلی متر ( 4 سانتی متر ) و عمق 1 سانتی متر برش میدهد.

ادامه دستورات کاربردی GCode شامل:

کدمثالتوضیح
G28G28 Zانتقال محور ها به نقطه Home یا صفر، در صورتی که نام محور(ها) در جلوی این دستور باشد صرفا آن محورها به نقطه 0 بر میگردند.
G90 , G91G90برای انتخاب نوع موقعیت دهی(positioning) است، در حالت G90 تمام پوزیشن هایی که در غالب X Y Z ارائه میشوند از نقطه صفر هستند. مثلا دستور X10 برای بار اول محور X را به نقطه 10 برده (در صورتی که واحد میلی متر باشد، 1 سانت از نقطه 0 محور X فاصله خواهد داشت)، و در صورتی که دوباره دستور X10 اجرا شود هیچ حرکتی اتفاق نمی افتد.
ولی در حالت G91 پوزیشن ها وابسته به موقعیت فعلی هستند ( و نه از مبدا )، که در این صورت دو بار اجرای دستور X10 محور X را 2 سانت از مبدا دور خواهد کرد.

برای مطالعه بیشتر در مورد G-Code ها می تواند

معرفی G-Code ها

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

احسان وارسته

یه علاقمند به حوزه علم و فناوری که دوست داره با به اشتراک گذاشتن دانشش قدم کوچکی برای کمک به جامعه فنی برداره :)
حمایت مالی

17 نظر

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

  • سلام آقا احسان. من ربات نویسنده دارم و یکی دو تا سوال کوچیک ازت دارم اگه ممکنه یه راه تماس بزاری ممنونتم میشم . ایمیلم
    Afshin.atyn4@gmail.com
    منتظرتم داداش

  • سلام
    من به علت محدودیت که در محور z دارم 5 سانتی متر.
    زمانی که نقطه صفر را مشخص میکنم 2 سانت و نیم از کار بلند میشه .
    چطوری میشه مقدار این رو کم کرد تا بتوانم کار با عمق بیشتر بزنم مرسی جواب بدید خیلی ممنون

    • سلام، اگه درست متوجه شده باشم محور Z شما 5 سانت میتونه جابجا بشه، و شما نقطه صفر رو روی 2.5 تنظیم میکنید. خب معمولا نرم افزارهایی که g-code تولید میکنن فرض بر اینه که Z در بالاترین نقطه قرار داده بشه، یعنی نقطه Home و اولیه برای شروع محور Z بالاترین نقطه اس، بعد که شما قطعه تون رو که حداکثر میتونه 5 سانت باشه میتونین برش بدین.

  • سلام من فایلم رو با فرمت جی کد ذخیره میکنم اما میخوام تو برنامه دیگه بازش کنم فایلم بهم ریختس

    • سلام، جی کد توی خیلی برنامه ها نمایش داده نمیشه و زبان حرکت ماشینه
      اون برنامه هایی هم که خروجی کار رو نشون میدن با پیش فرض دستگاه مثلا سه محور کار میکنن
      با چه برنامه ای بازش میکنین که بهم ریخته نمایش میده؟

  • سلام عزیز جان .من یه برنامه دستی برای دستگاه تراش فانوک میخواستم امکانش هست راهنمایی کنید .ممنونم

  • سلام خدمت شما سرورگرامی من دستگاه cnc 2*4 چوب دارم وقتی که از آرتکم ۹پرو جی کد میگیرم خطی که حکاکی میکند کلا بصورت زیک زاکی در میاد از آرتکم ۲۰۱۸ جی کد میگیرم محور y تا نصف صفحه میرود بعدش از نقطه صفر x خارج میشه اسپیندل خاموش میشه اگه لطف کنید مارا راهنمایی کنید ممنونم از لطف جناب عالی اگه زحمت نباشد جواب را به ایمیل من بفرستید 🙏

  • سلام،ممنون میشم اگه در مورد جی کد نوشتن برای برنامه مچ تری کمکم کنید،دستگاه ما سی ان سی تراش دستساز هست و فقط دو تا محور طول و عرض داره و با برنامه مچ تری کار میکنه کار زیادی هم باهاش نمیخایم انجام بدیم در حد یه دنده زنی روی لوله،ممنون میشم کمک کنید اگه هزینه ای هم لازم باشه پرداخت میکنم🙏

نظر بگذارید