فهرست مطالب:
بروزرسانیشده در خرداد 16, 1402
جی کد (G Code) و ام کد (M Code) چیست؟
اگر تازه وارد دنیای CNC و CAM شدید یا فقط به یک علاقه مند به CNC هستید، شاید اصطلاح “G-code” را شنیده باشید. G-code یک زبان برنامه نویسی برای ماشین های کنترل عددی رایانه ای (CNC) هستش. در این مقاله، شما را با معنای G-code و نحوه شروع استفاده از آن آشنا خواهیم کرد.
- G Code نویسی یعنی به زبان استاندارد با ماشین صحبت کردن؛ پس به عبارتی ماشین cnc زبان مخصوصی دارد که جی کد گفته میشه.
- پس ما باید اطلاعات رو با زبان قابل فهم ماشین بهش معرفی کنیم. در ادامه با ما همراه باشید تا الفبای زبان cnc رو با هم یاد بگیریم.
- نرم افزارهای CAD/CAM زبان انسان را به زبان ماشین ترجمه میکنند. زبان انسان نقشه است و زبان ماشین cnc کدهای جی کد.
- به طورکلی دستور برنامه های CNC شامل جی کد و ام کد (M کد) هستش که با خروجی گرفتن از نرم افزارهای نرم افزارهای CAD/CAM نقشه به جی کد ترجمه میشه!
به عنوان مثال، وقتی ماشینکاری یک قطعه مثل شکل زیر را از cnc میخواهیم، اون قطعه رو در نرم افزار های CAM ترسیم کرده و خروجی جی کد میگیریم. سپس فایل خروجی را به کنترلر دستگاه داده و اجرا میکنیم.
این عملیات یعنی تبدیل زبان انسان (نقشه) به زبان ماشین (gcode)
G-code (Geometric code) (کد هندسی) یک زبان برنامه نویسی است که توسط آن، کامپیوتر حرکات یک دستگاه CNC یا یک چاپگر سه بعدی را کنترل می کند. پارامترهایی مانند RPM اسپیندل، نرخ تغذیه، مختصات مسیر ابزار، اطلاعات ابزار، سرعت فن، نازل و دمای بستر و غیره را تعریف می کند.✕
- این پارامترها بسته به اینکه با یک دستگاه CNC کار می کنید یا یک چاپگر سه بعدی متفاوت است .
- یک برنامه نویس CNC مسئول برنامه نویسی یک دستگاه CNC با استفاده از نرم افزار کامپیوتری یا نوشتن دستی کل G-code برای فرآیند است.
- به طور کلی، Gکدها به طور خودکار با کمک نرم افزار CAM تولید می شوند، اما می توانید از ویرایشگرهای G-code نیز برای اصلاح و عیب یابی برنامه خود استفاده کنید.
- هر خط از کُد (که به عنوان بلوک نیز شناخته می شود) به ماشین می گوید که عملکرد خاصی را انجام دهد و اشکال با کامپایل کردن همه این خطوط کُد با هم ایجاد می شوند.
- یک بلوک از G-code میتواند به اجرای عملیات روی یک حلقه ادامه دهد، مگر اینکه دستور توقف داده شود یا با عملیات دیگری جایگزین شود. این کُدها به کدهای مُودال معروف هستند.
- به عنوان مثال، کدهای حالت (G90 و G91) کدهای مُودال هستند که یک سیستم مختصات خاص را برای برنامه ریزی حرکات ابزار انتخاب می کنند.
- کد G90 سیستم مختصات مطلق را فعال می کند و تمام دستورات اجرا شده پس از آن از سیستم مختصات مطلق پیروی می کنند مگر اینکه برنامه نویس سیستم مختصات افزایشی (G91) را فعال کند.
- در حالی که کدهای غیر مودال فقط در بلوکی که در آن رخ می دهند اجرا می شوند، به عنوان مثال، G04 (dwell).
تفاوت بین G کد و M کد
- G Code ها معمولا برای تعریف سیستم حرکت محورها کاربرد دارند و روش جابجایی محورها را تعیین میکنند.
- M Code ها معمولا فرمان های لحظه ای هستند. مثلا یک ابزار را روشن و خاموش میکنند. M Code ها گرچه از استاندارد خاصی پیروی میکنند ولی قابل تغییر متناسب با ویژگی های دستگاه هستند.
- اگر علاقه مند به آموزش برنامه نویسی CNC فرز و تراش سی ان سی (صفر تا صد) کلیک کنید.
G-code یکی از پرکاربردترین زبانهای برنامه نویسی است که برای کنترل دستگاههای سی ان سی استفاده می شود. بیشتر دستگاههای CNC جی کد را اجرا می کنند ، اگرچه زبانهای CNC دیگری مانند Heidenhain ، Mazak و سایر قالبهای اختصاصی وجود دارد.
چرا باید جی کد و ام کد را یاد بگیریم
جی کدها حکایت از این دارد که ماشین باید به کدام سمت حرکت کند، با چه سرعت باید حرکت کند، تا چه عمیق باید برش یابد و غیره.
با جی کد میتوان حرکتهای زیر را برای ابزار فراهم آورد:
- حرکت سریع به یک نقطه خاص
- حرکت با پیشروی مشخص روی خط و روی قطاعی از دایره
- تکرار یک سری از عملیاتها که مناسب برای سوراخ کاری، برش کاری، حدیده کاری و … میباشد.
- تعیین مشخصاتی برای ابزار نظیر افست از مرجع
زبان GCode در موارد زیر کاربرد دارد
- بخواهید کدهایی را از حالت استاندارد خارج کنید. مثلا وسط کار ، دستگاه خاموش شده و ابزار یا قطعه را عوض کنید.
- نرم افزار CAD/CAM ی که استفاده میکنید، کدهای خروجی اش کمی با زبان ماشین cnc متفاوت است. (به عبارتی گاهی برای ویرایش)
- یا به cnc و برنامه نویسی علاقه مند هستید و دوست دارید زبانش را یاد بگیرید.
نوشتن Gکد و مسیر ابزار برای حکاکی آرم “PROENG” (منبع: NC Viewer)
معرفی برخی از G-Code ها و M-Code ها
هر G-code معرف یک عملیات است. عملیات های مهم را به صورت مختصر ارائه کرده و در ادامه نکات کاربردی را بیان خواهیم کرد.
M کدهای مهم مورد استفاده در ماشین های تراش CNC کنترل فانوک Fanuc
Mکدهای تراش فانوک | عملکرد |
---|---|
M00 | توقف: برنامه , محور اصلی , دستگاه خنک کننده , پیشروی, بکار افتادن مجدد ماشین از طریق فشردن دکمه START |
M01 | توقف اختیاری . همانند M00 می باشد با این تفاوت که اگر دکمه توقف اختیاری روی پنل کنترل ماشین در حالت روشن باشد دستورات اجرا می شود. |
M02 | پایان برنامه |
M03 | دوران محور اصلی( اسپیندل SPINDE) درجهت عقربه های ساعت.(راست گرد) |
M04 | دوران محور اصلی( اسپیندل SPINDE) درجهت خلاف عقربه های ساعت. ( چپ گرد) |
M05 | توقف محور اصلی ( اسپیندل SPINDEL) |
M06 | اجرای تعویض ابزار |
M07 | روشن شدن موتور خنک کننده فشارقوی |
M08 | روشن شدن موتور خنک کننده ماشین |
M09 | خاموش شدن موتور خنک کننده ماشین |
M13 | دوران محور اصلی( اسپیندل SPINDE) درجهت عقربه های ساعت همزمان با روشن شدن موتور | خنک کننده ماشین |
M14 | دوران محور اصلی( اسپیندل SPINDE) درجهت خلاف عقربه های ساعت همزمان با روشن شدن موتور خنک کننده ماشین |
M18 | کنسل M19 |
M19 | توقف محور اصلی( اسپیندل SPINDE) در موقعیت زاویه ای دقیق |
M30 | همانند کد M00 میباشد. توقف برنامه وبرگشت به نقطه شروع برنامه |
M40 الی M45 | کدهای تعویض دند ها در گیربکس ماشین |
M68 | سه نظام بسته |
M69 | سه نظام باز |
M98 | فراخوانی زیر برنامه |
M99 | پایان زیر برنامه و برگشت به برنامه اصلی |
M کدهای مهم مورد استفاده در ماشین های تراش CNC کنترل زیمنس Siemens
Mکدهای تراش زیمنس | عملکرد |
---|---|
M00 | توقف: برنامه , محور اصلی , دستگاه خنک کننده , پیشروی, بکار افتادن مجدد ماشین از طریق فشردن دکمه START |
M01 | توقف اختیاری . همانند M00 می باشد با این تفاوت که اگر دکمه توقف اختیاری روی پنل کنترل ماشین در حالت روشن باشد دستورات اجرا می شود. |
M02 | پایان برنامه |
M03 | دوران محور اصلی( اسپیندل SPINDE) درجهت عقربه های ساعت.(راست گرد) |
M04 | دوران محور اصلی( اسپیندل SPINDE) درجهت خلاف عقربه های ساعت. ( چپ گرد) |
M05 | توقف محور اصلی ( اسپیندل SPINDEL) |
M06 | اجرای تعویض ابزار |
M07 | روشن شدن موتور خنک کننده فشارقوی |
M08 | روشن شدن موتور خنک کننده ماشین |
M09 | خاموش شدن موتور خنک کننده ماشین |
M17 | پایان زیر برنامه و برگشت به برنامه اصلی |
M30 | همانند کد M00 میباشد. توقف برنامه وبرگشت به نقطه شروع برنامه |
M40 الی M45 | کدهای تعویض دند ها در گیربکس ماشین |
G کدهای مهم مورد استفاده در ماشین های تراش CNC کنترل فانوک Fanuc
Gکدهای تراش فانوک | عملکرد |
---|---|
G00 | حرکت سریع خطی ( حرکت خرگوشی ) |
G01 | حرکت خطی با پیشروی (F) قابل کنترل ودلخواه |
G02 | حرکت دایره ای موافق عقربه های ساعت |
G03 | حرکت دایره ای مخالف عقربه های ساعت |
G04 | مکث زمانی تعریف مکث با آدرس p G04 P… تعریف مکث با آدرس X G04 X… |
G17 | انتخاب صفحه XY به عنوان صفحه ماشینکاری |
G18 | انتخاب صفحه XZ به عنوان صفحه ماشینکاری |
G19 | انتخاب صفحه YZ به عنوان صفحه ماشینکاری |
G20 | تعریف واحد اندازه گیری ماشین برحسب اینچ |
G21 | تعریف واحد اندازه گیری ماشین برحسب میلیمتر |
G27 | بررسی برگشت ابزار به نقطه رفرنس |
G28 | برگشت اتوماتیک ابزار به نقطه رفرنس .. G28 U.. W ..G28 X.. Z |
G29 | برگشت اتوماتیک ابزار از نقطه رفرنس به نقطه قبلی |
G30 | برگشت اتوماتیک ابزار به نقطه رفرنس دوم و… .. G30 U.. W ..G30 X.. Z |
G32 | پیچ تراشی یک مرحله ای (دریک بلوک برنامه) ..G32 X.. F |
G33 | پیچ تراشی یک مرحله ای (دریک بلوک برنامه) |
G40 | کنسل کننده کدهای جبران شعاع ابزار |
G41 | جبران شعاع ابزار به سمت چپ مسیر برنامه نویسی شده |
G42 | جبران شعاع ابزار به سمت راست مسیر برنامه نویسی شده |
G50 | انتقال نقطه صفر تعریف عده دوران ماکزیمم در موقع استفاده از کد G96 …N10 G50 S |
G53 | کنسل کردن کدهای انتقال نقطه صفر |
G54 الی G59 | انتقال ( جابجایی ) نقطه صفر |
G70 | سیکل پرداخت کاری خارجی و داخلی |
G71 | سیکل خشن کاری خارجی و داخلی |
G72 | سیکل خشن کاری پیشانی |
G73 | سیکل کپی تراشی |
G74 | سیکل سوراخکاری در جهت Z |
G75 | سیکل شیارتراشی روی محیط کار (در جهت X) سیکل سوراخکاری در جهت X |
G76 | سیکل پیچ تراشی چند مرحله ای |
G80 | کنسل سیکل های سوراخکاری |
G83 | سیکل سوراخکاری در جهت Z |
G84 | سیکل قلاویز کاری در جهت Z |
G86 | سیکل بورینگ کاری در جهت Z |
G87 | سیکل سوراخکاری در جهت X |
G88 | سیکل قلاویز کاری در جهت X |
G89 | سیکل بورینگ کاری در جهت X |
G90 | سیستم اندازه دهی بصورت مطلق سیکل یک مرحله ای روتراشی |
G91 | سیستم اندازه دهی بصورت نسبی ( زنجیره ای ) |
G92 | انتقال نقطه صفر و نن تعریف عده دوران ماکزیمم در موقع استفاده از کد G96 سیکل یک مرحله ای پیچ بری |
G94 | سیکل یک مرحله ای پیشانی تراشی |
G96 | تعریف مقدار سرعت برش ( مقدار S ثابت و مقدار n متغییر) |
G97 | تعریف عده دوران ( مقدار n ثابت و مقدار S متغییر) |
G98 | تعریف مقدار پیشروی (F) بر حسب میلیمتر بر دقیقه mm/min |
G99 | تعریف مقدار پیشروی (F) بر حسب میلیمتر بر دور |
G کدهای مهم مورد استفاده در ماشین های تراش CNC کنترل زیمنس Siemens
Gکدهای تراش زیمنس | عملکرد |
---|---|
G00 | حرکت سریع خطی ( حرکت خرگوشی ) |
G01 | حرکت خطی با پیشروی (F) قابل کنترل ودلخواه |
G02 | حرکت دایره ای موافق عقربه های ساعت |
G03 | حرکت دایره ای مخالف عقربه های ساعت |
G04 | مکث زمانی مکث زمانی برحسب ثانیه با آدرس F G04 F… مکث زمانی برحسب تعداد دور اسپیندل G04 S… |
G17 | انتخاب صفحه XY به عنوان صفحه ماشینکاری |
G18 | انتخاب صفحه XZ به عنوان صفحه ماشینکاری |
G19 | انتخاب صفحه YZ به عنوان صفحه ماشینکاری |
G25 | محدود کردن عده دوران حداقل برای اسپیندل مشخص کردن محدوده ماشینکاری (پایین ترین محدوده) |
G26 | محدود کردن عده دوران حداکثر برای اسپیندل مشخص کردن محدوده ماشینکاری ( بالاترین ترین محدوده) |
G33 | پیچ تراشی در یک بلوک برنامه ( یک مرحله ای ) |
G40 | کنسل کننده کدهای جبران شعاع ابزار |
G41 | جبران شعاع ابزار به سمت چپ مسیر برنامه نویسی شده |
G42 | جبران شعاع ابزار به سمت راست مسیر برنامه نویسی شده |
G53 | کنسل کردن کدهای انتقال نقطه صفر |
G54 الی G59 | انتقال ( جابجایی ) نقطه صفر |
G70 | تعریف واحد اندازه گیری ماشین برحسب اینچ |
G71 | تعریف واحد اندازه گیری ماشین برحسب میلیمتر |
G74 | رفتن به نقطه رفرنس |
G75 | رفتن به نقطه ثابت مثل نقطه تعویض ابزار |
G90 | سیستم اندازه دهی بصورت مطلق |
G91 | سیستم اندازه دهی بصورت نسبی ( زنجیره ای ) |
G94 | تعریف مقدار پیشروی (F) بر حسب میلیمتر بر دقیقه mm/min |
G95 | تعریف مقدار پیشروی (F) بر حسب میلیمتر بر دور mm/u |
G96 | تعریف مقدار سرعت برش ( مقدار Vc ثابت ومقدار n متغییر) |
G97 | تعریف عده دوران ( مقدار n ثابت ومقدار Vc متغییر) |
دستورات M Code برای چاپگر سه بعدی
عملیات ماشینکاری یک چاپگر سه بعدی به طور قابل توجهی با سایر ماشین های CNC متفاوت است. این به این دلیل است که پرینت سه بعدی یک فناوری ساخت افزودنی است، یعنی با افزودن مواد به جای حذف آن، بخشی را ایجاد می کند. پرینترهای سه بعدی با ذوب کردن مواد و رسوب لایه به لایه روی بستر کار می کنند.
این شامل یک نازل داغ است که بسته به ماده مورد استفاده برای عملیات چاپ تا دمای ذوب مورد نیاز گرم می شود. ویژگی منحصر به فرد پرینترهای سه بعدی نیاز به مواد پشتیبانی در موارد خاص است. این در جایی استفاده می شود که قطعه دارای اورهانگ است و برای جلوگیری از شکستگی نیاز به حمایت دارد.
معمولاً متریالی که برای ساپورت استفاده می شود با متریال قطعه متفاوت است و پس از اتمام پرینت به راحتی جدا می شود.
پس از اتمام پرینت، می توان قطعه را به راحتی با گرم کردن بستر کار جدا کرد تا لایه پایه قطعه کار ذوب شود و در نتیجه خطر آسیب دیدن قطعه از بین برود.
از این رو، چاپگرهای سه بعدی دارای کدهای M بسیار متفاوتی هستند که این قابلیتهای ویژه مانند شروع و توقف فرآیند گرمایش، تنظیم دمای مورد نیاز، تنظیم سرعت فن و غیره را کنترل میکنند.
در جدول زیر برخی از رایج ترین M کدهای برای چاپگر سه بعدی استفاده می شود.
Mکدهای پرینتر سه بعدی | عملکرد |
---|---|
M104 | شروع به گرم کردن اکسترودر |
M109 | منتظر می ماند تا درجه حرارت اکسترودر به دمای تنظیم شده برسد |
M140 | شروع به گرم کردن تخت (بستر) |
M190 | منتظر می ماند تا درجه حرارت تخت (بستر) به دمای تنظیم شده برسد |
M106 | تنظیم سرعت فن |
17 دیدگاه
خیلی خوب بودش مرسی
درود و سپاس
درود رشته من شیمی هست ولی به cnc خیلی علاقه دارم اما از برنامه نویسی چیزی بلد نیستم امیدی هست که یاد بگیرم.
درود بر شما. برنامه نویسی یک سری شرایط نیاز داره یعنی شما باید با دستگاه های دستی تراش و فرز و ابزار های براده برداری آشنا باشید. هیچ کاری نشد نداره اما باید صبور باشید و یادگیری داشته باشید در محیط صنعتی باشید. مطالعه داشته باشید. تلرانس ها و اندازه گیری یاد بگیرید. جواب کوتاه در صورت علاقه مندی + پشتکار = بله
درود بر شما جالبه من دومی نفری هستی که دیدم از خانوما دنبال این حرفه شیرین هستن من خودم هم دارم با سی ان سی کار میکنم و خیلی خوشحال هستم از ذوق خانومای این نسل
داداش من با یه خانم از اصفهان آشنا شده بودم ایشون در امر سنتر خیلی کمکم کرد یعنی خیلی برام وقت گذاشت از راه دور تصویری تلفنی با دست نوشته خدا سلامتشون کنه خانما کم نیستن در این رشته
تلاش وتمرین کنی حتما
برنامه نویسی cnc یاد گرفتی
محیط یا پلت فارم که این زبان در آن کود میشود را میشود بگوید ؟
درود متوجه سوال شما نشدیم! لطفا مجداد سوالتون رو مطرح بفرمایید.
سلام من یک مبتدی هستم و در یک محیط صنعتی کار میکنم علاقه ی زیادی به cncو برنامه نویسی کد نویسی دارم لطفا منابع مورد نیاز برای یادگیری از صفر تا صد را معرفی کنید
درود، به شرطی که با دستگاههای تراش و فرز دستی (منوال) آشنایی داشته باشید. این آموزش برنامه نویسی CNC برای شما مفید خواهد بود. سرفصل ها را مطالعه و پیش نمایش ها را مشاهده کنید.
سلام و درود ممنون بابت این مطالب مفید
میخواستم شروع به یادگیری cnc بکنم ولی نمیدونم چی باید یاد بگیرم ممنون میشم راهنمایی کنید
درود و سپاس از شما علی عزیز، به شرطی که با دستگاههای تراش و فرز دستی (منوال) آشنایی داشته باشید. این آموزش برنامه نویسی CNC برای شما مفید خواهد بود. سرفصل ها را مطالعه و پیش نمایش ها را مشاهده کنید.
سلام من تازه دارم یاد میگیرم نوشتن برنامه رو…الانم میخوام برنامه نیم پین ریخته گری رو بزنم که این نیم پین ها بر روی قالب ها بسته میشن کسی که در نوشتن این برنامه منو کمک کنه….ممنون میشم
سلام ودرودبرشما، یه سوال داشتم ازخدمتتون، من دستگاه فرزدارم حین اجرای برنامه پاکت سه بعدی دستگاه ازباندری تعیین شده خارج میشه، علتش چی میتونه باشه، ممنون میشم راهنماییم کنید، ازمسترکمx9استفاده میکنم
درود، شما باید موقع تعیین باندری استراتژی مورد نظر رو تعریف و انتخاب کنید. که ابزار داخل محدوده باشد یا خارج از محدوده که این موارد همگی در آموزش فرز مسترکم بررسی شده است. معمولا برای پاکت های باز از نوع خارج محدوده استفاده می شود و در پاکت بسته از نوع داخلی
مقدار بار باقی مانده در پرداخت باید صفر باشد چک کنید مقدار منفی وارد نشده باشد!