در قسمت اول آموزش G-code، دستورات پرکاربرد در فایل g-code پرینترهای سه بعدی را توضیح دادیم. اکنون در قیمت دوم این مقاله به بررسی کامل ساختار یک فایل فرمت «جی کد» و متغیرهای آن میپردازیم.
مرجع آموزشی دستورات «جی کد» :
ساختار یک فایل کامل g-code
حالا ما به خوبی در شرایطی قرار داریم که می توانیم به کدهای واقعی که برای پرینت سه بعدی استفاده می شود نگاهی بیاندازیم.
اکثر برنامه های Gcode شامل سه مرحله مهم می شوند:
- مرحله اول پرینتر را برای فرآیند چاپ آماده می کند.
- مرحله دوم پرینتر را برای چاپ مدل راهنمایی می کند.
- مرحله سوم بعد از پایان چاپ، پرینتر را به حالت پیش فرض باز می گرداند.
بیایید جداگانه به هر یک از این بخش ها نگاهی بیاندازیم:
1- مرحله آماده سازی:
برخی کارها باید قبل از شروع چاپ انجام شوند. برای مثال، ما باید بستر چاپ را گرم کنیم، اکسترودر را گرم کنیم، نازل را تمیز کنیم، نازل را در موقعیت اولیه قرار دهیم و غیره. این کارها بخش اولیه هر برنامه ای است.
در اینجا پنج خط اول دستورهای آماده سازی «Gcode» برای یک پرینت سه بعدی واقعی وجود دارد. در این مرحله شما باید بتوانید با کمک جدول مرجعی که در انتهای مقاله آمده، کد را خوانده و آن را درک کنید.
G90
M82
M106 S0
M140 S100
M190 S100
خط اول مختصات را در موقعیت مطلق تنظیم میکند.
خط دوم به اکسترودر می گوید که میزان اکستروژن را به عنوان مقادیر مطلق تفسیر کند.
خط سوم فن را روشن می کند و آن را روی سرعت صفر قرار می دهد که در حقیقت یعنی فن خاموش است.
خط چهارم دمای بستر را روی 100 درجه تنظیم می کند.
خط پنجم به پرینتر می گوید که تا رسیدن بستر به دمای مناسب که در این مورد 100 درجه است، صبر کند.
نکته: در مرحله آماده سازی به غیر از زمانی که نازل تمیز می شود، پرینتر هیچ ماده ای را اکسترود نمی کند. این راه بسیار ساده ای است که مشخص شود که در چه زمانی مرحله آماده سازی به پایان رسیده و پرینت واقعی شروع می شود. در طول مرحله چاپ، پرینتر تقریبا به صورت مداوم در حال اکسترود کردن است.
2. مرحله چاپ سه بعدی:
پرینتر سه بعدی یک مدل را به صورت لایه به لایه چاپ می کند. نرم افزارهای اسلایسر مانند Simplify3D یا Cura معمولا مدل سه بعدی را به لایه های افقی فراوانی برش می دهند و این لایه ها با قرار گرفتن روی هم چاپ نهایی را می سازند.
بنابراین، مرحله چاپ شامل حرکتهای زیادی در محور X-Y (چاپ یک لایه)، یک حرکت در جهت Z (انتقال به لایه بعدی) و در ادامه دوباره حرکت های بسیار در محور X-Y (چاپ لایه های بعدی) می شود.
اینجا نشان داده شده است که این دستور «جی کد» چگونه است:
G1 X108.587 Y111.559 F525 ; controlled motion in X-Y plane
G1 X108.553 Y111.504 F525 ; controlled motion in X-Y plane
…
…
G1 Z0.345 F500 ; change layer
G1 X108.551 Y111.489 F525 ; controlled motion in X-Y plane
G1 X108.532 Y111.472 F525 ; controlled motion in X-Y plane
3. تنظیم شروع مجدد پرینتر سه بعدی:
سرانجام زمانی که عملیات چاپ تمام شد، خطوط پایانی دستورات «Gcode» پرینتر را به حالت منطقی پیش فرض بر می گرداند. برای مثال، نازل به حالت اصلی خود بر می گردد، حرارت خاموش می شود ( هم برای بستر و هم برای اکسترودر) و موتور از کار می افتد:
G28 ; bring the nozzle to home
M104 S0 ; turn off heaters
M140 S0 ; turn off bed
M84 ; disable motors
دستورات «Gcode» : ورودی و خروجی:
تا اینجا ما تنها در مورد دستوراتی صحبت کردیم که کامپیوتر به پرینتر ارسال می کند و اینگونه به نظر میرسد که این یک ارتباط یکطرفه است؛ اما در واقع چاپ سه بعدی یک ارتباط دو طرفه بین کامپیوتر و پرینتر میباشد. اینجا کارکرد آن را نشان می دهیم:
زمانی که شما دکمه پرینت را در کامپیوتر خود فشار می دهید، نرم افزار پرینت سه بعدی شروع به ارسال دستورات جی کد، به صورت خط به خط، به پرینتر می کند. پرینتر دستور یک خط را اجرا کرده و به کامپیوتر پاسخ می دهد. اگر پاسخ مشکلی نداشته باشد، کامپیوتر خط بعدی را برای اجرا ارسال می کند.
پاسخ پرینتر معمولا به صورت فرمت زیر می آید:
[] [] []
can be ok, rs or !!.
- OK به معنی این است که هیچ اشکالی پیدا نشده است. این باعث می شود که کامپیوتر خط بعدی را به پرینتر ارسال کند.
- Rs به این معنی است که دستورالعمل را دوباره ارسال کنید. این معمولا همراه با شماره خط مربوطه می آید.
دو علامت تعجب (!!) به معنی وجود اشکال سخت افزاری است. در این حالت دستگاه به سرعت خاموش و عملیات چاپ قطع می شود.
به علاوه این 3 پاسخ، پرینتر ممکن است پارامترهای دیگری مانند دما یا مختصات نازل و غیره را نیز به کامپیوتر ارسال کند.
گزارش دما در پاسخ به دستور «Gcode» M105 است و به شکل زیر می آید:
T:value B:value,
به صورتی که T نشان دهنده دمای اکسترودر و B نشان دهنده دمای بستر است. اگر دستگاه حسگر حرارتی نداشته باشد عدد -273 به عنوان مقدار ارسال می شود.
مختصات در پاسخ به دستورات «جی کد» M114 و M117 فرستاده می شوند. فرمت پاسخ به این صورت است.
C: X:9.2 Y:125.4 Z:3.7 E:1902.5.
در اینجا C به معنای مختصات کنونی است و در ادامه مختصات X,Y,Z و دیگر اطلاعات می آید.
ابزار تجسمی (Visualization Tools)
حالا که شما نوشتن جی کد را یاد گرفتید، نوبت شما است تا با نوشتن چند دستور «جی کد» درک خود را امتحان کنید. برای این کار می توانید از ابزار تجسمی آنلاین استفاده کنید و با نوشتن چند دستور «جی کد» و دیدن حرکت دستگاه نسبت به دستورات شما، خود را آزمایش کنید. کار خیلی جالبی است.
مقاله مرتبط: آموزش نرم افزار CURA – قسمت اول: مرحله مقدماتی
نرم افزار های برش مانند Simplify3D و Cura نیز دارای یک بخش ناظر «جی کد» (G-code viewer) هستند. در بخش ناظر شما قادر خواهید بود تا مسیر اکسترودر برای یک پرینت سه بعدی واقعی را ببینید. برای دیدن نمایش عالی «جی کد» در Simplify3D، ویدیو زیر را از دست ندهید:
جلوگیری از خرابی چاپ سه بعدی:
ناظر جی کد (G-code viewer) می تواند تفاوت بین موفقیت و شکست را در چاپ یک مدل سه بعدی سخت رقم بزند. عموما، ما پیشنهاد می کنیم که اگر می خواهید یک مدل سه بعدی پیچیده را چاپ کنید، بخش ناظر را اجرا کرده و مراحل چاپ را قدم به قدم به صورت شبیه سازی ببینید.
این کار را باید انجام دهید چرا که معمولا کدگذاری خودکار چندان ایده آل نیست. اغلب به موارد مشکل سازی برخورد می کنید که پشتیبانی لازم را ندارند و باعث خرابی در چاپ می شوند.
اکثر اوقات می توانید با استفاده از رابط گرافیکی و افزودن ساختارهای پشتیبانی لازم مشکل را حل کنید. اینجا برای نمونه ویدیویی وجود دارد که انجام این کار را برای یک مدل پیچیده سگ نشان می دهد.
آموزش دستورات «جی کد» : نتیجه گیری نهایی
در این آموزش مجموعا، آموختیم که چگونه یک پرینتر سه بعدی به وسیله دستورات «Gcode» یک مدل CAD را چاپ می کند. یاد گرفتیم چطور دستورات «جی کد» را بخوانیم و چند مثال واقعی هم دیدیم. در مورد مهمترین دستورات «جی کد» صحبت کردیم و راه های تجسمی و آزمایش آن را شناختیم.
در نهایت، یکی از ویژگی های مشترک نرم افزارهای اسلایسر یعنی ناظر «جی کد» را معرفی کردیم که می تواند از خرابی در چاپ جلوگیری کند.
امیدواریم که درک دستورات «جی کد» به شما کمک کند تا به کاربری آگاه تر و قدرتمند تر در زمینه پرینت سه بعدی تبدیل شوید. اگر این مقاله را مفید یافتید در انتشار و به اشتراک گذاری آن با علاقه مندان تلاش کنید. همینطور اگر سوالی یا مشکلی در این زمینه دارید با ما در قسمت نظرها در میان بگذارید.
ضمیمه 1: نکته ای درباره سازگاری کدهای جی کد:
هر پرینتر سه بعدی با یک سیستم عامل عرضه می شود. سیستم عامل های زیادی وجود دارد و سازندگان آنها «Gcode» های متفاوتی را ترجیح می دهند. این امر ممکن است مسائل مربوط به سازگاری را پیش بیاورد. دستورات جی کدی که برای یک دستگاه کار می کند ممکن است برای دستگاه دیگر کارایی نداشته باشد.
این مشکل معمولا با اتصال اسلایسری که کد را تولید کرده به یک دستگاه “پس-پردازشگر” حل می شود. “پس- پردازشگر” نوع و جنس کد را تشخیص داده و آن را تبدیل می کند تا برای سیستم عامل قابل درک باشد.
بنابراین، به دلیل همین تغییرات ظریف، دستورات جی کدی که شما در اسلایسر می بینید لزوما همان کد هایی نیستند که توسط دستگاه اجرا می شوند.
- جدول ضمیمه متغیرهای کدنویسی GCode پرینتر سه بعدی و شرح کارکرد آنها
-G00- تثبیت موقعیت سریع: حرکت در 2 یا 3 محور، دستور G00 بر خلاف G01 لزوما به صورت سنتی در یک خط مستقیم بین نقطه شروع و نقطه پایان حرکت نمی کند. در این کد هر محور در حداکثر سرعت خود حرکت می کند تا مقدار بُردار آن به دست بیاید. معمولا در سرعت یکسان ابتدا بردار کوتاه تر به پایان می رسد. این مسئله مهم است زیرا می تواند باعث ایجاد «Dog-Leg» یا «Hockey-Stick » شود و برنامه نویس باید آن را در نظر بگیرد تا با توجه به موانع موجود از ایجاد تصادف و خرابی جلوگیری کند. برخی از دستگاه ها برای راحتی در برنامه نویسی سرعت های درون یابی یا «interpolated» را ارائه می دهند که برای خط مستقیم نیز مناسب است.
-G01- درون یابی خطی: معمول ترین کد برای تغذیه در حال برش. برنامه، نقاط شروع و پایان را مشخص می کند و به صورت خودکار نقاط میانی (درون یابی) را محاسبه کرده تا از طریق آنها خط مستقیم حاصل شود. سپس کنترل تندی زاویه ها را محاسبه می کند تا از طریق موتورهای Servomotor یا Stepper محورها را هدایت کند. کامپیوتر هزاران محاسبه را در ثانیه انجام میدهد و موتورها به سرعت به هر دستور ورودی واکنش نشان می دهند.بنابراین مسیر ابزار واقعی دستگاه به وسیله سرعت تغذیه ارسالی در یک مسیر کاملا خطی در یک محدوده بسیار کوچک قرار می گیرد.
-G02- درون یابی دایره ای، ساعتگرد: از لحاظ محتوا به G01 بسیار شبیه است. دوباره، کنترل نقاط میانی را درون یابی می کند و به موتورها دستور می دهد تا به اندازه لازم بچرخند و حرکات لازم را برای قرارگیری ابزار مورد نظر انجام دهند. این روند هزاران بار در دقیقه تکرار می شود تا مسیر ابزار مناسب را تولید کند. در کد G02 درون یابی به جای مسیر خطی، مسیر دایره ای می سازد. همانطور که در G01 دیدیم، مسیر ابزار واقعی با استفاده از سرعت ارسالی (در G02 دایره ای) به صورت دقیق و در یک محدوده کوچک تعیین می شود. در واقع، اگر تمام شرایط درست باشد، درون یابی بسیار دقیق است و می تواند از عملیاتی مانند drilling جلوگیری کند. نشانی شعاع یا مرکز قوس: G02 و G03 از R برای شعاع مورد نظر و از IJK برای اجزای برداری که از نقطه شروع تا نقطه پایان می رود را مشخص می کند. Cutter comp: در بیشتر کنترل ها شما نمی توانید G41 یا G42 را در حالت های G02 یا G03 شروع کنید. شما باید قبلا این کار را در G01 انجام میدادید. اغلب یک حرکت خطی کوتاه برنامه ریزی می شود تنها برای این که به کاتر اجازه متعادل سازی را پیش از رویداد اصلی و برش دایره ای بدهد. Full circles: زمانی که نقطه شروع قوس و نقطه پایانی آن یکی باشند ، یک قوس 360 درجه یعنی یک دایره کامل برش داده می شود. (برخی کنترل های قدیمی تر از این کار پشتیبانی نمی کنند زیرا قوس ها نمی توانند از بین یک چهارم های قوس سیستم رد شوند. به جای آن، چهار یک-چهارم قوس پشت سر هم برنامه ریزی می شوند.)
-G03- درون یابی دایره ای، خلاف ساعتگرد:اطلاعات همانند کد G02
-G04- سکون زمانی: یک آدرس برای مدت ساکن بودن می گیرد (ممکن است U یا X یا P باشد). دوره سکون با یک پارامتر کنترل مشخص می شود که معمولا روی میلی ثانیه تنظیم می شود. بعضی دستگاه ها می توانند مقدار X1.0 ثانیه یا P1000 میلی ثانیه را قبول کنند که در واقع یکسان هستند. انتخاب مدت سکون: معمولا خیلی کمتر از یک ثانیه است. در زمان انتخاب مقدار مدت سکون حواستان باشد که سکون طولانی باعث اتلاف زمان چرخه می شود. در بعضی مواقع این امر چندان مهم نیست ولی برای تولیدات حجم بالا (بیش از هزاران چرخه) بهتر است محاسبه کنید که مثلا شما 100 میلی ثانیه لازم دارید و برای این که خاطر جمع باشید می توانید آن را روی 200 میلی ثانیه تنظیم کنید. اما 1000 میلی ثانیه بیش از حد طولانی است و تنها وقت شما را هدر می دهد.
-G05- مقدار P10000 – دقت بالا کانتور کنترل(HPCC)-از یک بافر عمیق و فرآیند شبیه سازی استفاده می کند تا در طول فرزکاری شتاب و کندی بهتری را برای حرکت محور ها فراهم کند.
-G05.1 : Q1- کنترل پیش نمایش پیشرفته AI: از یک بافر عمیق و فرآیند شبیه سازی استفاده می کند تا در طول فرزکاری شتاب و کندی بهتری را برای حرکت محور ها فراهم کند.
-G06.1- ماشینکاری غیر همسان منطقی B-Spline (NURBS): Non-Uniform Rational B Spline را برای کار بر روی منحنیهای پیچیده و موج دار فعال کنید (این کد در برنامه نویسی Mazatrol 640M ISO تایید شده است).
-G07- تعیین محور خیالی-
-G09- بررسی دقیق توقف، غیر مودال (کیفی): نسخه مودال آن G61 است
-G10- ورودی اطلاعات قابل برنامه ریزی: اصلاح مقدار مختصات کار و انحراف ابزار
-G11- لغو نوشتن اطلاعات-
-G12- درون یابی تمام دایره ای، ساعتگرد: چرخه ثابت برای راحتی در برنامه ریزی درون یابی دایره ای 360 درجه با استفاده از شعاع ترکیبی. این کار برای کنترل های Fanuc استاندارد نیست.
-G13- درون یابی تمام دایره ای (کامل)، خلاف ساعتگرد: چرخه ثابت برای راحتی در برنامه ریزی درون یابی دایره ای 360 درجه با استفاده از شعاع ترکیبی. این کار برای کنترل های Fanuc استاندارد نیست.
-G17- انتخاب سطح XY-
-G18- انتخاب سطح ZX: در اکثر تراش های CNC که از سال 1960 تا 2000 ساخته شده اند، تنها سطح موجود ZX است پس کدهای G17 و G19 استفاده نمی شوند. این امر در حال تغییر است و دورانی آغاز شده است که در آن ابزارهای چند منظوره و چندکاره به تدریج عادی می شوند. اما فرم ساده تر و قدیمی تر از بین نخواهد رفت بلکه فضا را برای تنظیمات جدید باز می کند. آدرس V را نیز ببینید.
-G19-انتخاب سطح YZ-
-G20- برنامه ریزی در اینچ:به غیر از ایالات متحده و کمی هم کانادا و بریتانیا، این کد چندان معمول نیست. با این وجود، در بازار جهانی هر دو کد G20 و G21 در مواردی کارآمد هستند. کمترین مقدار افزایش در G20 یک هزارم اینچ است (0.0001) که از کمترین مقدار افزایش G21-یک هزارم میلیمتر یا همان یک میکرومتر) بیشتر است. این تفاوت گاهی باعث می شود که کد G21 ترجیح داده شود.
-G21-برنامه ریزی در میلیمتر-کاملا جهانی است. با این وجود، در بازار جهانی هر دو کد G20 و G21 در مواردی کارامد هستند.
-G28- بازگشت به موقعیت خانه (نقطه مرجع دستگاه)-آدرس X Y Z را می گیرد که نقاط میانی را مشخص کند و ابزار از این طریق مسیر بازگشت به حالت صفر را پیدا کند. از لحاظ مقدار صفر، نه صفر دستگاه.
-G30- بازگشت به موقعیت خانه ثانویه-آدرس P را می گیرد که اگر دستگاه چند نقطه ثانویه داسته باشد، مشخص می کند کدام نقطه صفر دستگاه مناسب تر است (از P1 تا P4). آدرس X Y Z را می گیرد که نقاط میانی را مشخص کند و ابزار از این طریق مسیر بازگشت به حالت صفر را پیدا کند. از لحاظ مقدار صفر، نه صفر دستگاه.
-G31-پرش از عملکرد (برای آزمایش و سیستم اندازه گیری طول ابزار استفاده می شود).-
-G32- بندکشی تک نقطه ای، شکل بلند مدت (اگر از یک چرخه استفاده نمی کنید مثل G76)-شبیه درون یابی خطی G01 است با این تفاوت که هماهنگ سازی اتوماتیک برای خط کشی تک نقطه ای دارد.
-G33- بندکشی ثابت- بندکشی تک نقطه ای، شکل بلند مدت (اگر از یک چرخه استفاده نمی کنید مثل G76)-برخی از کنترل ها این کد را نسبت به G32 ترجیح می دهند
-G34- بندکشی متغیر-
-G40-لغو ابزار جبران شعاع-کاتر جبران شعاع را خاموش می کند (CRC). کدهای G41 و G42 را لغو می کند.
-G41-ابزار جبران شعاع چپ-جبران سازی شعاع سمت چپ (CRC) را فعال می کند تا فرز کاری انجام شود. فرزکاری: با توجه به کاتر مارپیچ سمت راست و جهت M03 اسپیندل، کد G41 مربوط به فرزکاری در جهت بالا می شود. آدرس D یا H را می گیرد که به آن مقدار آفست ثبت شده برای شعاع می گویند. تراشکاری: اغلب در تراش نیازی به آدرس های H یا D ندارد زیرا هر ابزاری که فعال است به صورت اتوماتیک هندسه آن را خود همراه دارد. از زمانی که برنامه نویسی CAM محبوبیت پیدا کرده، کدهای G41 و G42 تقریبا خودکار شده و از بین رفته است (البته نه کاملا). سیستم های CAM به کاربر اجازه می دهد برنامه را با صفر دیامتر کاتر انجام دهند. مفهوم اساسی جبران شعاع برش هنوز وجود دارد اما دهنیت برنامه نویسی متفاوت است. دیگر انسان مسیر ابزار را آگاهانه و سختگیرانه مانند کد های G41 و G42 و G40 تعیین نمی کند زیرا نرم افزار CAM این کار را انجام می دهد. این نرم افزار دارای حالت های مختلف برای CRC است مانند Control، wear، reverse wear، off و برخی حالت هایی که در آنها اصلا از G41 و G42 استفاده نمی شود. البته حالت هایی هم هستند که هنوز از آنها استفاده می شود و برای تلورنس های پایانی تنگ و محکم مناسب است.
G42-ابزار جبران شعاع راست-برای فرزکاری های معمول، کاتر جبران شعاع را در سمت راست فعال می کند. توضیحات آن شبیه به کد G41 است. در فرزکاری معمولی، تیغ برش سمت راست و جهت اسپیندل M03 را معین می کند.
G43-ابزار جبران ارتفاع منفی-آدرسی را میگیرد، معمولا H، برای تعیین مقدار ثبت شده ابزار. این مقدار منفی است. کد G43 نسخه معمول در مقایسه با G44 است.
G44-ابزار جبران ارتفاع مثبت-آدرسی را میگیرد، معمولا H، برای تعیین مقدار ثبت شده ابزار. این مقدار مثبت است. کد G44 نسخه غیر معمول در مقایسه با G43 است.
-G45-افزایش تک واحدی محور-
-G46-کاهش تک واحدی محور-
-G47-افزایش دو واحدی محور-
-G48-کاهش دو واحدی محور-
-G49-ابزار لغو جبران طولی-کد های G43 یا G44 را لغو می کند
G50-معین کردن حداکثر سرعت اسپیندل-آدرسی به نام S می گیرد که به عنوان rpm تفسیر می شود. بدون این ویژگی، حالت G96 اسپیندل را در حالت نزدیک شدن به حالت چرخش به حالت «wide open throttle» می برد.
-G50-لغو عمل مقیاس بندی- ثبت موقعیت (برنامه نویسی حرکت بردار از نقطه صفر به نوک ابزار)-ثبت موقعیت یکی از روش های اصلی برای ارتباط سیستم مختصات برنامه با موقعیت ابزار است که به صورت غیر مستقیم آن را به سیستم مختصات دستگاه مرتبط میکند و این تنها موقعیتی است که کنترل واقعا می داند. البته این برنامه ریزی دیگر چندان معمول نیست زیرا G54 و G59 روش های جدیدتر و بهتری هستند. G50 برای تراشکاری و G92 برای فرزکاری هستند. این آدرس های G معانی مختلفی دارندکه میبینید. ثبت موقعیت هنوز می تواند برای تغییر پایه ای برنامه مفید باشد. سوئیچ manual absolute که استفاده کمی در زمینه WCS دارد، در زمینه ثبت موقعیت مفیدتر است زیرا به اپراتور اجازه می دهد که ابزار را به فاصله معینی از یک بخش حرکت دهد و سپس به کنترل اطلاع دهد که چه فاصله ای را باید طی کند.
-G52-سیستم مختصات محلی (LCS)-به طور موقت برنامه صفر را به محل جدیدی تغییر می دهد. این کار در برخی مواقع کمک می کند که برنامه را ساده تر کنید. مثال معمول، حرکت از یک بخش به بخش دیگر در چند مرحله است. با کد G54 فعال، G52 X140.0 Y170.0 برنامه صفر را به 140 میلیمتر در X و 170 میلیمتر در Y جابجا می کند. زمانی که کار انجام شد، G52 X0 Y0 برنامه صفر را حالت G54 عادی بازمیگرداند. همین نتیجه را می توان با استفاده از WCS اصلی، G54/G55/G56/G57/G58/G59 و در کنترل های جدیدتر با G54.1 P1/P2/P3 و غیره به دست آورد. همچنین می توان از G10 برای اطلاعات ورودی قابل برنامه ریزی، که در آنها می توان مقادیر افست جدیدی را ثبت کرد، استفاده کرد. اینکه از کدام روش استفاده شود بستگی به درخواست دارد.
-G53-سیستم مختصات ماشین-مختصات مطلق (X,Y,Z,A,B,C) را به جای برنامه صفر از مرجع دستگاه صفر می گیرد. برای تغییر ابزار کارآمد است. غیر مودال و مطلق است. بلوک های بعدی به عنوان «بازگشت به G54» تفسیر می شوند، حتی اگر به طور خاص برنامه ریزی نشده باشند.
-G54 to G59-سیستم مختصات کار WCSs–تا حد زیادی جایگزین ثبت موقعیت شده است (G50 و G92 هر مقادیری از محور برنامه صفر را مستقیما به ماشین صفر متصل می کند. استاندارد آن 6 است (از G54 تا G59) با قابلیت اضافه شدن مجدد تا 48 به وسیله G54.1 P1 تا P48
-G54.1-P1 to P48-سیستم افزودن مختصات کار-در کنار 6 که عدد استاندارد است می تواند تا 48 افزایش یابد. نمونه های دیگر مانند G84.2 تکامل یافته اند. در کنترل های جدید برای این کار، سخت افزار مخصوص دارند.
-G61-بررسی دقیق توقف، مودال-با G64 می توان آن را لغو کرد. نسخه غیر مودال آن G09 است.
-G62-لغو خودکار گوشه-
-G64-حالت برش پیش فرض (بررسی دقیق توقف را لغو می کند)-G61 را لغو می کند
-G68-سیستم چرخش مختصات-سیستم چرخش مختصات در سطوح داده شده توسط G17 و G18 یا G19. مرکز چرخش با دو پارامتر ارائه می شود که پیاده سازی آن متفاوت است. چرخش با زاویه ای که با R داده شده است انجام می شود. به عنوان مثال این می تواند برای تنظیم سیستم مختصات در بخش های ناهموار استفاده شود. همچنین می تواند برای حرکات تکراری در اطراف مرکز استفاده شود. همه سیستم ها چرخش مختصات را پشتیبانی نمی کنند.
-G69-خاموش کردن سیستم چرخش مختصات-لغو کد G68
-G70-چرخه ثابت، چرخه تکرار چندگانه، برای Finish -شامل خطوط نیز می شود-
-G71-چرخه ثابت، چرخه تکرار چندگانه، برای Roughing -تاکید روی محور Z
-G72-چرخه ثابت، چرخه تکرار چندگانه، برای Roughing -تاکید روی محور X
-G73-چرخه ثابت، چرخه تکرار چندگانه، برای Roughing، با تکرار الگو-
-G73-چرخه حفاری برای فرزکاری، سرعت بالا-تا حد افزایش ثابت (پارامتر سیستم) بازپرداخت می کند. برای زمانی که نگرانی اصلی شکستگی چیپ است نه مسدود شدن آن. در قیاس با G83.
-G74-چرخه حفاری برای تراشکاری-
-G74-چرخه ضربه زدن برای فرزکاری، سمت چپ، جهت اسپیندل M04-توضیحات G84 را بخوانید
-G75-چرخه شیار انداختن برای تراشکاری-
-G76-چرخه مناسب بورینگ برای فرزکاری-شامل OSS و تغییر (توقف اسپیندل و تغییر ابزار برای بازپرداخت)
-G76-چرخه بندکشی برای تراشکاری، تکرار چندگانه چرخه-
-G80-لغو کلیه چرخه ها-فرزکاری: لغو تمام چرخه ها از جمله G73، G81، G83 و غیره. محور Z به ترتیب برنامه ریزی G98 یا G99 به سطح اولیه Z یا سطح R باز می گردد.
-G81-چرخه حفاری ساده-بدون سکون زمانی
-G82-چرخه حفاری با سکون زمانی-در انتهای حفره (عمق Z) برای چند میلی ثانیه که توسط آدرس P مشخص شده، ساکن است. برای زمانی که حفره انتهایی اهمیت دارد مناسب است. برای حفاری نقطه ای نیز کاربرد دارد. حواستان به مدت زمان سکون باشد که در توضیحات G04 آمده است.
-G83-چرخه حفاری (بازپرداخت کامل)-بعد از هر سوراخ به سطح R برمی گردد. مناسب برای تمیز کردن شیار تراشه ها. مقایسه با G73.
-G84-چرخه ضربه زدن، سمت راست، جهت اسپیندل M03-G74 و G84 دست راست و چپ و در واقع جفت هم در ضربه زدن با ابزار غیر سخت هستند. آنها را می توان با G84.2 و G84.3 در ضربه زدن سخت مقایسه کرد.
-G84.2-چرخه ضربه زدن، دست راست، جهت اسپیندل M03، ابزار سخت-توضیحات G84 را بخوانید. سرعت و مقدار ضربه زدن سخت با توجه به تیغ دلخواه، هماهنگ می شود. به عبارت دیگر، درجه چرخش اسپیندل با حرکت میکرونی محوری هماهنگ می شود. بنابراین، می تواند از ابزار سخت برای ضربه زدن استفاده کند. این ویژگی در دستگاه های قدیمی و دستگاه های جدید ارزان قیمت وجود ندارد و از کدهای G74 و G84 استفاده می شود.
-G84.3-چرخه ضربه زدن، سمت چپ، جهت اسپیندل M04، ابزار سخت-توضیحات G84 و G84.2 را بخوانید
-G85-چرخه سوراخ کاری، تغذیه-چرخه ای مناسب برای قلاویزکاری. در برخی موارد نیز برای ابزار تک نقطه ای سوراخ کاری خوب است، اگرچه کمبود عمق برش در مسیر بازگشت برای سطح نهایی خوب نیست. در چنین مواردی میشود G76 را به جای آن استفاده کرد.
نکته: اگر به توقف و سکون در انتهای سوراخ نیاز دارید، G89 را ببینید.
-G86-چرخه سوراخ کاری، تغذیه داخلی، توقف اسپیندل، خروج سریع-ابزار سوراخ کاری در راه برگشت از خود علامتی به جا می گذارد. برای برخی کارها مناسب است و در دیگر کارها می توان از G76 به جای آن استفاده کرد.
-G87-چرخه سوراخ کاری، سوراخ کاری پشت-برای سوراخ کاری پشت است. بازگشت به سطح اولیه (G98)؛ این چرخه نمی تواند از G99 استفاده کند زیرا سطح R آن بسیار دور است و از اسپیندل فاصله دارد.
-G88-چرخه سوراخ کاری، تغذیه داخلی، توقف اسپیندل، عملیات دستی-
-G89-چرخه سوراخ کاری، تغذیه داخلی، سکون زمانی، تغذیه خروجی-G89 همانند G85 است با این تفاوت که توقف زمانی در انتهای سوراخ وجود دارد
-G90-برنامه نویسی مطلق-موقعیت با توجه به نقطه صفر تعیین می شود.
-G90-چرخه ثابت، چرخه ساده، برای Roughing (تاکید روی محور Z)-زمانی که به برنامه نویسی مطلق مربوط نمی شود
-G91-برنامه نویسی افزایشی-موقعیت با توجه به موقعیت قبلی تعیین می شود.
-G92-ثبت موقعیت (برنامه ریزی بردار از نقطه صفر به نوک ابزار)-همان توضیحاتی که در ثبت موقعیت G50 داده شد.
-G92-چرخه بندکشی، چرخه ساده-
-G94-نرخ تغذیه در دقیقه-در گروه تراش های مدل A، نرخ تغذیه در هر دقیقه G98 استG94-چرخه ثابت، چرخه ساده، برای Roughing (تاکید روی محور X)-زمانی که به نرخ تغذیه در دقیقه خدمت نمی کند
-G95-نرخ تغذیه در هر دور-در تراش گروه A، نرخ تغذیه در هر دور G99 است
-G96-سرعت ثابت سطح (CSS)-تغییر خودکار سرعت اسپندل برای رسیدن به یک سرعت ثابت سطح. آدرس S را می گیرد که در G20 به عنوان sfm و در حالت G21 به عنوان m/min تفسیر می شود.
-G97-سرعت ثابت اسپیندل-آدرس S را میگیرد که به عنوان rev/min (rpm) تفسیر می شود. اگر برنامه نویسی نشده باشد، سرعت پیش فرض بسته به پارامتر سیستم است.
-G98-بازگشت به سطح اولیه Z در چرخه موجود-
-G98-نرخ تغذیه در دقیقه (گروه A)-برای گروه B نرخ تغذیه در دقیقه G94 است
-G99-بازگشت به سطح R در چرخه موجود-
-G99-نرخ تغذیه در هر دور (گروه A)-نرخ تغذیه در هر دور برای گروه B حالت G95 است.
- جدول ضمیمه متغیرهای M Code
-M00-توقف اجباری – دستگاه های غیر انتخابی زمانی که در اجرای برنامه به کد M00 می رسند، کار را متوقف می کنند.
-M01 – توقف اختیاری – دستگاه تنها زمانی در کد M01 کار را توقف می کند که کاربر به صورت اختیاری دگمه توقف را فشار دهد.
-M02 – پایان برنامه – برنامه به پایان می رسد؛ عملیات ممکن است به ابتدا برگردد یا برنگردد (بسته به کنترل)، مقادیر ثبت شده ممکن است مجددا تنظیم شوند یا نشوند. M02 کد اصلی پایان برنامه بود که حالا منسوخ شده است اما هنوز به عنوان حرکت وارونه از آن پشتیبانی می شود. بسیاری از کنترل های مدرن M02 را با M30 معادل می کنند. برای بحث بیشتر در این مورد M30 را ببینید.
-M30 – روشن کردن اسپیندل (ساعتگرد) – سرعت اسپیندل با آدرس S مشخص می شود که می تواند هر دور در دقیقه (حالت پیش فرض G97) یا فوت سطح در دقیقه یا متر در دقیقه (حالت G96 تحت G20 یا G21) باشد. قانون دست راست می تواند مشخص کند که کدام جهت ساعتگرد و کدام جهت خلاف ساعتگرد است.
دنده های سمت راست در جهت سفت شدن حرکت می کنند و دنده های سمت راست شیار به سمت کاتر و اینگونه مشخص می شود که حرکت ساعتگرد است. صرف نظر از تفاوت CW/CCW و نقطه قوت محلی، جهت M03 همیشه یکسان است.
-M04 – روشن کردن اسپیندل (خلاف ساعتگرد) – توضیحات M03 را بخوانید.
-M05 – توقف اسپیندل –
-M06 – تغییر خودکار ابزار (ATC) – بسیاری از دستگاه های تراش از M06 استفاده نمی کنند زیرا آدرس T خودش دارای آن شاخصه ها است.
برنامه نویسی برای هر ابزار خاص نیازمند اطلاع از روش کار آن دستگاه است. برای درک این که آدرس T چگونه کار می کند و آیا با M06 تعامل دارد یا خیر، باید روش های مختلفی مانند برنامه نویسی تراش، انتخاب ابزار ATC، حافظه تصادفی انتخاب ابزار ATC، مفهوم «ابزار در انتظار» و ابزار های خالی را مطالعه کنید.
-M07 – خنک کننده (در مه) –
-M08 – خنک کننده (در طوفان) –
-M09 – خاموش کردن خنک کننده –
-M10 – فعال کردن گیره پالت – برای مراکز ماشینکاری دارای پالت
-M11 – غیر فعال کردن گیره پالت – برای مراکز ماشینکاری بدون پالت
-M13 – روشن کردن اسپیندل (ساعتگرد) و خنک کننده روشن (در طوفان) – این «ام کد» هر دو کد M03 و M08 را به کار می اندازد. برای دستگاه های خاص، اینگونه دستورات ترکیبی که برنامه نویسی را سریع تر و کوتاه تر می کند چندان غیر معمول نیست.
-M19 – جهت گیری اسپیندل – جهت گیری اسپیندل اغلب داخل چرخه و به صورت اتوماتیک یا در زمان تنظیمات به صورت دستی انجام می شود اما همچنین از طریق کنترل برنامه توسط M19 نیز امکان پذیر است. ممکن است در مرجع، OSS که مخفف «توقف جهت گیری اسپیندل» است را ببینید که به معنی توقف جهت گیری اسپیندل در طول چرخه است.
-M20 – آینه، محور X –
-M21 – جلو بردن مرغک (Tailstock) –
-M22 – آینه، محور Y –
-M22 – عقب بردن مرغک (Tailstock) –
-M23 – خاموش کردن آینه –
-M23 – فعال کردن حرکت تدریجی به بیرون –
-M24 – غیر فعال کردن حرکت تدریجی به بیرون –
-M30 – پایان برنامه، بازگشت به ابتدای برنامه – امروزه M30 کد اصلی پایان برنامه محسوب می شود که عملیات را به ابتدای برنامه باز می گرداند. البته اکثر کنترل ها هنوز از کد اصلی پایان برنامه یعنی M02 پشتیبانی می کنند و آن را معادل M30 قرار می دهند.
توضیحات اضافی: مقایسه M02 با M30. کد M02 در روزهایی ساخته شد که قرار بود نوار پانچ به قدری کوتاه باشد که به چند لوپ ادامه دار تقسیم شود. اما در ادامه برای نوار های طولانی تر M30 ساخته شد که نیاز بود پیش از شروع چرخه جدید یک بار دیگر بتواند بگردد. در بسیاری از کنترل های مدرن، دیگر هیچ تفاوتی در عکلکرد این کد ها نیست و هر دو مانند M30 عمل می کنند.
-M41 – انتخاب دنده- دنده 1 –
-M42 – انتخاب دنده- دنده 2 –
-M43 – انتخاب دنده- دنده 3 –
-M44 – انتخاب دنده- دنده 4 –
-M48 – مجوز جلوگیری از تغذیه –
-M49 – جلوگیری از تغذیه مجاز نیست – جلوگیری از MFO. این قانون نیز معمولا به صورت خودکار انجام می شود، در چرخه ضربه زدن یا چرخه تک نقطه ای یعنی جایی که تغذیه با سرعت کاملا در ارتباط است. همانند جلوگیری از سرعت اسپیندل (SSO) و دگمه توقف تغذیه. برخی کنترل ها قادر هستند که SSO و MFO را در طول بند کشی فراهم کنند.
-M52 – خالی کردن آخرین ابزار اسپیندل – همچنین اسپیندل خالی
-M60 – تعویض خودکار پالت (APC) – برای مراکز ماشینکاری با تعویض پالت
-M98 – فراخوانی زیربرنامه – یک آدرس P می گیرد تا مشخص کند که به کدام زیربرنامه باید فراخوانده شود. برای مثال «M98 P8979» زیر برنامه O8979 را فرا می خواند.
-M99 – پایان زیربرنامه – معمولا در انتهای زیربرنامه قرار می گیرد، جایی که کنترل اجرایی به برنامه اصلی برگردانده می شود. به صورت پیش فرض کنترل به بلوکی بازگردانده می شود که M98 در برنامه اصلی آن را فراخوانده است. بازگشت به بلوک متفاوت را می توان با آدرس P مشخص کرد. از M99 همچنین می توان در برنامه اصلی برای چرخه بی پایان تراش استفاده کرد تا زمانی که کاربر آن را متوقف کند.
****
خب، به پایان این مطلب رسیدیم. لطفا نظرات خود را با ما به اشتراک بگذارید.