بررسی زبان برنامه‌نویسی G-code و دستورات نوع M و G

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

بررسی زبان برنامه‌نویسی G-code و تفاوت دستورات G-code و M-code

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

در واقع زبان برنامه‌نویسی G-code برای برقراری ارتباط بهتر با عملیات چاپ سه بعدی و همچنین درک بهتر آن، مجموعه‌ای از دستورها را در اختیار کاربران قرار می‌دهد که با G و M از هم متمایز می‌شوند.

بررسی اولیه دستورات نوع M و G

lines یا دستورات عمومی خط فرمان با نماد G مشخص می‌شوند و وظیفه آنها کنترل محورهای مختلف برای انجام عملیات چاپ است. از سوی دیگر miscellaneous commands به معنی دستورات متفرقه است و با حرف M متمایز می‌شوند و به وسیله آنها می‌توان مواردی مانند دما، فن و دیگر موارد را کنترل کرد.

پس از دستورات نوع M و G یک عدد برای تعیین نوع دستور نوشته می‌شود. برای مثال G0 برای حرکت خطی است و یا دستور M106 برای کنترل فن مورد استفاده قرار می‌گیرد. به این دلیل که دستورات نوع G کنترل کننده محور و حرکت هستند می‌توان برای آنها مقدار تعیین کرد.( G0 X0 Y0 Z0)

در ادامه، درباره تفاوت دستورات G-code و M-code اطلاعات بیشتری را ارائه خواهیم داد و به جنبه های خاص تر، از جمله نحوه ارتباط آنها با چاپ سه بعدی خواهیم پرداخت.

بررسی زبان برنامه‌نویسی G-code و تفاوت دستورات G-code و M-code

معرفی زبان RS-274، حکایت طغیان فرزند علیه پدر

نمونه از طراحی و زبان برنامه‌نویسی G-code

زبان برنامه‌نویسی CNC که تحت عنوان RS-274 شناخته می‌شود، حکایت طغیان فرزند علیه پدر است. در این زبان برنامه نویسی، دستورات بر اساس حروف الفبا دسته بندی می شوند و دستورات حروف مختلف نشان دهنده نوع متفاوتی از عملیات است.

به عبارت دیگر، هر حرف از حروف الفبا یک یا چند جنبه از عملکرد ماشین را کنترل می کند. برای مثال، دستوراتی که با S شروع می‌شوند که دستورات S-code نیز نامیده می‌شود با سرعت ارتباط دارند. در حالی که M-code همانطور که گفتیم، عملکردهای متفرقه را پوشش می‌دهد. از سوی دیگر K-code  افست Z را کنترل می کند و L-code تعداد تکرارها را کنترل می کند.

اما حکایت طغیان به این دلیل است که دستورات G-code  تنها یکی از 26 دسته دستور مختلف در این زبان می‌باشد. اما  کلمه “G-code” اغلب برای نشان دادن کل زبان RS-274 استفاده می شود. به همین دلیل، M-code را می توان به عنوان یک نوع G-code در نظر گرفت، حتی اگر از نظر فنی در یک سطح باشند. اکنون که با تاریخچه این دستورات آشنا شدید، بیایید به بررسی تفاوت دستورات G-code و M-code به صور دقیق‌تر بپردازیم.

بررسی تفاوت دستورات G-code و M-code

در عنوان‌های قبلی درباره تفاوت دستورات G-code و M-code و به صورت کلی اطلاعاتی را ارائه دادیم. در ادامه به صورت دقیق‌تر وارد جزئیات می‌شویم.

G-Code

در بخش قبل گفتیم که دستورات نوع G به معنی عمومی (General) است. از سوی دیگر و با اینکه به طور رسمی بیان نشده است، “G” در “G-code” اغلب به معنای  geometric یا هندسی نیز معرفی می‌شود. این ممکن است به این دلیل باشد که G-code بیشتر موقعیت، حرکت، و شکل هندسی قطعه ساخته شده را کنترل می‌کند.

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

M-Code

از سوی دیگر، M-code همانطور که گفتیم، توابع “متفرقه” را پوشش می دهد، اگرچه برخی از آنها به عنوان machining functions یا دستورات کنترل عملکرد ماشین نیز از آن نام می‌برند. این دستورات کارهای مختلفی از جمله تنظیم سرعت فن، اکسترودر یا اسپیندل را بر عهده دارند. در واقع M-code دستور اجرایی برای بعضی از ابزارهای ماشین است. به عنوان مثال، دستور M3 حرکت اسپیندل (spindle) را در جهت عقربه های ساعت تنظیم می کند.

دستورات نوع G و M در کجا کاربرد دارند؟

اکنون که تفاوت دستورات G-code و M-code را می دانید، به این سوال پاسخ خواهیم داد که این دستورات در کجا کاربرد دارند.

دستورات کد G و M در چاپگرهای سه بعدی، ماشین‌های CNC و دیگر ماشین‌های ساخت افزایشی و یا کاهشی (additive or subtractive manufacturing machines) مورد استفاده قرار می‌گیرند. حتی با وجود اینکه ممکن است به صورت مستقیم با این نوع دستورات در ارتباط نباشید، اما بسیاری از دستگاه ها از کدهای G و M برای تنظیم و اجرای عملکرد خود استفاده می کنند، ولی این برنامه نویسی توسط رابط های ساده تری مانند منوهای صفحه لمسی و نرم افزار CAM پنهان می شود.

یک مثال از این کار، تنظیم چاپگر سه بعدی در محور اصلی است. که ممکن است به نظر یک حرکت ساده باشد، اما در واقع چاپگر باید با کد هدایت شود. چاپگر هر سه محور را به یک نقطه خاص، به روشی خاص، با سرعت دقیق حرکت می دهد، و اگر دما را تنظیم کنید، این نیز دستور دیگری است.

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

نمونه ای از یک فایل G-code

تفاوت دستورات G-code و M-code، نتیجه گیری پایانی

به طور کلی، کد G و M شبیه به هم هستند زیرا هر دو در ماشین‌های خودکار استفاده می‌شوند و تفاوت‌های آنها در کارهایی است که هر دستور برعهده دارد. برای تنظیم و کنترل دما نمی‌توان از کد نوع G استفاده کرد و از سوی دیگر هدایت محور با استفاده از دستورات نوع M غیرممکن است.

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

قبل از پایان باید به این نکته اشاره کرد که برای حل مشکل عدم سازگاری G-code با فریمور (firmware) بعضی از پرینترهای سه بعدی کافی است که از نرم‌افزار Slicer استفاده کنید. نرم افزار Slicer با ارسال کد از طریق درایورهای پس پردازش مخصوص ماشین، نوع کد دریافتی را تشخیص می دهد و کد را به نوعی تبدیل می کند که سیستم عامل آن را درک کند.

در این بخش تلاش شد تا تفاوت دستورات G-code و M-code به بهترین شکل توضیح داده شود. برای کسب اطلاعات بیشتر، دیگر مقاله‌های ما را بخوانید.