gcode

آموزش برنامه نویسی جی کد – Gcode: بخش دوم

Rating: 4.5/5. From 1 vote.
Please wait...

در قسمت اول آموزش 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 پرینتر سه بعدی و شرح کارکرد آنها

Code

Description

Milling :m (فرزکاری)

Turning :T (تراشکاری)

Corollary info

G00

تثبیت موقعیت سریع

M

T

حرکت در 2 یا 3 محور، دستور G00 (بر خلاف G01) لزوما به صورت سنتی در یک خط مستقیم بین نقطه شروع و نقطه پایان حرکت نمی کند. در این کد هر محور در حداکثر سرعت خود حرکت می کند تا مقدار بُردار آن به دست بیاید. معمولا در سرعت یکسان ابتدا بردار کوتاه تر به پایان می رسد. این مسئله مهم است زیرا می تواند باعث ایجاد «Dog-Leg» یا «Hockey-Stick » شود و برنامه نویس باید آن را در نظر بگیرد تا با توجه به موانع موجود از ایجاد تصادف و خرابی جلوگیری کند. برخی از دستگاه ها برای راحتی در برنامه نویسی سرعت های درون یابی یا «interpolated» را ارائه می دهند که برای خط مستقیم نیز مناسب است.    

G01

درون یابی خطی

M

T

معمول ترین کد برای تغذیه در حال برش. برنامه، نقاط شروع و پایان را مشخص می کند و به صورت خودکار نقاط میانی (درون یابی) را محاسبه کرده تا از طریق آنها خط مستقیم حاصل شود. سپس کنترل تندی زاویه ها را محاسبه می کند تا از طریق  موتورهای Servomotor یا Stepper محورها را هدایت کند. کامپیوتر هزاران محاسبه را در ثانیه انجام میدهد و موتورها به سرعت به هر دستور ورودی واکنش نشان می دهند.بنابراین مسیر ابزار واقعی دستگاه به وسیله سرعت تغذیه ارسالی در یک مسیر کاملا خطی در یک محدوده بسیار کوچک قرار می گیرد. 

G02

درون یابی دایره ای، ساعتگرد

T

M

از لحاظ محتوا به G01 بسیار شبیه است. دوباره، کنترل نقاط میانی را درون یابی می کند و به موتورها دستور می دهد تا به اندازه لازم بچرخند و حرکات لازم را برای قرارگیری ابزار مورد نظر انجام دهند. این روند هزاران بار در دقیقه تکرار می شود تا مسیر ابزار مناسب را تولید کند. در کد G02 درون یابی به جای مسیر خطی، مسیر دایره ای می سازد. همانطور که در G01 دیدیم، مسیر ابزار واقعی با استفاده از سرعت ارسالی (در G02 دایره ای) به صورت دقیق و در یک محدوده کوچک تعیین می شود. در واقع، اگر تمام شرایط درست باشد، درون یابی بسیار دقیق است و می تواند از عملیاتی مانند drilling جلوگیری کند. نشانی شعاع یا مرکز قوس: G02 و G03 از R برای شعاع مورد نظر و از IJK برای اجزای برداری که از نقطه شروع تا نقطه پایان می رود را مشخص می کند. Cutter comp: در بیشتر کنترل ها شما نمی توانید G41 یا G42 را در حالت های G02 یا G03 شروع کنید. شما باید قبلا این کار را در G01 انجام میدادید. اغلب یک حرکت خطی کوتاه برنامه ریزی می شود تنها برای این که به کاتر اجازه متعادل سازی را پیش از رویداد اصلی و برش دایره ای بدهد. Full circles: زمانی که نقطه شروع قوس و نقطه پایانی آن یکی باشند ، یک قوس 360 درجه یعنی یک دایره کامل برش داده می شود. (برخی کنترل های قدیمی تر از این کار پشتیبانی نمی کنند زیرا قوس ها نمی توانند از بین یک چهارم های قوس سیستم رد شوند. به جای آن، چهار یک-چهارم قوس پشت سر هم برنامه ریزی می شوند.)

G03

درون یابی دایره ای، خلاف ساعتگرد

M

T

اطلاعات همانند کد G02

G04

سکون زمانی

M

T

یک آدرس برای مدت ساکن بودن می گیرد (ممکن است U یا X یا P باشد). دوره سکون با یک پارامتر کنترل مشخص می شود که معمولا روی میلی ثانیه تنظیم می شود. بعضی دستگاه ها می توانند مقدار X1.0 ثانیه یا P1000 میلی ثانیه را قبول کنند که در واقع یکسان هستند. انتخاب مدت سکون: معمولا خیلی کمتر از یک ثانیه است. در زمان انتخاب مقدار مدت سکون حواستان باشد که سکون طولانی باعث اتلاف زمان چرخه می شود. در بعضی مواقع این امر چندان مهم نیست ولی برای تولیدات حجم بالا (بیش از هزاران چرخه) بهتر است محاسبه کنید که مثلا شما 100 میلی ثانیه لازم دارید و برای این که خاطر جمع باشید می توانید آن را روی 200 میلی ثانیه تنظیم کنید. اما 1000 میلی ثانیه بیش از حد طولانی است و تنها وقت شما را هدر می دهد.   

G05

P10000

دقت بالا کانتور کنترل(HPCC)

M

 

 

 

از یک بافر عمیق و فرآیند شبیه سازی استفاده می کند تا در طول فرزکاری شتاب و کندی بهتری را برای حرکت محور ها فراهم کند.

G05.1

Q1.

کنترل پیش نمایش پیشرفته AI

M

 

از یک بافر عمیق و فرآیند شبیه سازی استفاده می کند تا در طول فرزکاری شتاب و کندی بهتری را برای حرکت محور ها فراهم کند.

G06.1

ماشینکاری غیر همسان منطقی B-Spline (NURBS)

M

 

Non-Uniform Rational B Spline را برای کار بر روی منحنی های پیچیده و موج دار فعال کنید (این کد در برنامه نویسی Mazatrol 640M ISO تایید شده است).

G07

تعیین محور خیالی

M

 

 

G09

بررسی دقیق توقف، غیر مودال (کیفی)

M

T

نسخه مودال آن G61 است

G10

ورودی اطلاعات قابل برنامه ریزی

M

T

اصلاح مقدار مختصات کار و انحراف ابزار

G11

لغو نوشتن اطلاعات

M

T

 

G12

درون یابی تمام دایره ای، ساعتگرد

M

 

چرخه ثابت برای راحتی در برنامه ریزی درون یابی دایره ای 360 درجه با استفاده از شعاع ترکیبی. این کار برای کنترل های Fanuc استاندارد نیست.

G13

درون یابی تمام دایره ای  (کامل)، خلاف ساعتگرد

M

 

چرخه ثابت برای راحتی در برنامه ریزی درون یابی دایره ای 360 درجه با استفاده از شعاع ترکیبی. این کار برای کنترل های Fanuc استاندارد نیست.

G17

انتخاب سطح XY

M

 

 

G18

انتخاب سطح ZX

M

T

در اکثر تراش های CNC که از سال 1960 تا 2000 ساخته شده اند، تنها سطح موجود ZX است پس کدهای G17 و G19 استفاده نمی شوند. این امر در حال تغییر است و دورانی آغاز شده است که در آن ابزارهای چند منظوره و چندکاره به تدریج عادی می شوند. اما فرم ساده تر و قدیمی تر از بین نخواهد رفت بلکه فضا را برای تنظیمات جدید باز می کند. آدرس V را نیز ببینید.

G19

انتخاب سطح YZ

M

 

 

G20

برنامه ریزی در اینچ

M

T

به غیر از ایالات متحده و کمی هم کانادا و بریتانیا، این کد چندان معمول نیست. با این وجود، در بازار جهانی هر دو کد G20 و G21 در مواردی کارآمد هستند. کمترین مقدار افزایش در G20 یک هزارم اینچ است (0.0001) که از کمترین مقدار افزایش G21 (یک هزارم میلیمتر یا همان یک میکرومتر) بیشتر است. این تفاوت گاهی باعث می شود که کد G21 ترجیح داده شود.

G21

برنامه ریزی در میلیمتر

M

T

کاملا جهانی است. با این وجود، در بازار جهانی هر دو کد G20 و G21 در مواردی کارامد هستند.

G28

بازگشت به موقعیت خانه (نقطه مرجع دستگاه)

M

T

آدرس X Y Z را می گیرد که نقاط میانی را مشخص کند و ابزار از این طریق مسیر بازگشت به حالت صفر را پیدا کند. از لحاظ مقدار صفر، نه صفر دستگاه.

G30

بازگشت به موقعیت خانه ثانویه

M

T

آدرس P را می گیرد که اگر دستگاه چند نقطه ثانویه داسته باشد، مشخص می کند کدام نقطه صفر دستگاه مناسب تر است (از P1 تا P4). آدرس X Y Z را می گیرد که نقاط میانی را مشخص کند و ابزار از این طریق مسیر بازگشت به حالت صفر را پیدا کند. از لحاظ مقدار صفر، نه صفر دستگاه.

G31

پرش از عملکرد (برای آزمایش و سیستم اندازه گیری طول ابزار استفاده می شود).

M

 

 

G32

بندکشی تک نقطه ای، شکل بلند مدت (اگر از یک چرخه استفاده نمی کنید مثل G76)

 

T

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

G33

بندکشی ثابت

M

 

 

G33

بندکشی تک نقطه ای، شکل بلند مدت (اگر از یک چرخه استفاده نمی کنید مثل G76)

 

T

برخی از کنترل ها این کد را نسبت به G32 ترجیح می دهند

G34

بندکشی متغیر

M

 

 

G40

لغو ابزار جبران شعاع

M

T

کاتر جبران شعاع را خاموش می کند (CRC). کدهای G41 و G42 را لغو می کند.

G41

ابزار جبران شعاع چپ

M

T

جبران سازی شعاع سمت چپ (CRC) را فعال می کند تا فرز کاری انجام شود. فرزکاری: با توجه به کاتر مارپیچ سمت راست و جهت M03 اسپیندل، کد G41 مربوط به فرزکاری در جهت بالا می شود. آدرس D یا H را می گیرد که به آن مقدار آفست ثبت شده برای شعاع می گویند. تراشکاری: اغلب در تراش نیازی به آدرس های H یا D ندارد زیرا هر ابزاری که فعال است به صورت اتوماتیک هندسه آن را خود همراه دارد. از زمانی که برنامه نویسی CAM محبوبیت پیدا کرده، کدهای G41 و G42 تقریبا خودکار شده و از بین رفته است (البته نه کاملا). سیستم های CAM به کاربر اجازه می دهد برنامه را با صفر دیامتر کاتر انجام دهند. مفهوم اساسی جبران شعاع برش هنوز وجود دارد اما دهنیت برنامه نویسی متفاوت است. دیگر انسان مسیر ابزار را آگاهانه و سختگیرانه مانند کد های G41 و G42 و G40 تعیین نمی کند زیرا نرم افزار CAM این کار را انجام می دهد. این نرم افزار دارای حالت های مختلف برای CRC است مانند Control، wear، reverse wear، off و برخی حالت هایی که در آنها اصلا از G41 و G42 استفاده نمی شود. البته حالت هایی هم هستند که هنوز از آنها استفاده می شود و برای تلورنس های پایانی تنگ و محکم مناسب است.

G42

ابزار جبران شعاع راست

M

T

برای فرزکاری های معمول، کاتر جبران شعاع را در سمت راست فعال می کند. توضیحات آن شبیه به کد G41 است. در فرزکاری معمولی، تیغ برش سمت راست و جهت اسپیندل M03 را معین می کند.

G43

ابزار جبران ارتفاع منفی

M

 

آدرسی را میگیرد، معمولا H، برای تعیین مقدار ثبت شده ابزار. این مقدار منفی است. کد  G43 نسخه معمول در مقایسه با G44 است.

G44

ابزار جبران ارتفاع مثبت

M

 

آدرسی را میگیرد، معمولا H، برای تعیین مقدار ثبت شده ابزار. این مقدار مثبت است. کد  G44 نسخه غیر معمول در مقایسه با G43 است.

G45

افزایش تک واحدی محور

M

 

 

G46

کاهش تک واحدی  محور

M

 

 

G47

افزایش دو واحدی محور

M

 

 

G48

کاهش دو واحدی محور

M

 

 

G49

ابزار لغو جبران طولی

M

 

کد های G43 یا G44 را لغو می کند

G50

معین کردن حداکثر سرعت اسپیندل

 

T

آدرسی به نام S می گیرد که به عنوان rpm تفسیر می شود. بدون این ویژگی، حالت G96 اسپیندل را در حالت نزدیک شدن به حالت چرخش به حالت «wide open throttle» می برد.

G50

لغو عمل مقیاس بندی

M

 

 

G50

ثبت موقعیت (برنامه نویسی حرکت بردار از نقطه صفر به نوک ابزار)

 

T

ثبت موقعیت یکی از روش های اصلی برای ارتباط سیستم مختصات برنامه با موقعیت ابزار است که به صورت غیر مستقیم آن را به سیستم مختصات دستگاه مرتبط میکند و این تنها موقعیتی است که کنترل واقعا می داند. البته این برنامه ریزی دیگر چندان معمول نیست زیرا G54 و G59 روش های جدیدتر و بهتری هستند. G50 برای تراشکاری و G92 برای فرزکاری هستند. این آدرس های G معانی مختلفی دارندکه میبینید. ثبت موقعیت هنوز می تواند برای تغییر پایه ای برنامه مفید باشد. سوئیچ manual absolute که استفاده کمی در زمینه WCS دارد، در زمینه ثبت موقعیت مفیدتر است زیرا به اپراتور اجازه می دهد که ابزار را به فاصله معینی از یک بخش حرکت دهد و سپس به کنترل اطلاع دهد که چه فاصله ای را باید طی کند. 

G52

سیستم مختصات محلی (LCS)

M

 

به طور موقت برنامه صفر را به محل جدیدی تغییر می دهد. این کار در برخی مواقع کمک می کند که برنامه را ساده تر کنید. مثال معمول، حرکت از یک بخش به بخش دیگر در چند مرحله است. با کد 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

سیستم مختصات ماشین

M

T

مختصات مطلق (X,Y,Z,A,B,C) را به جای برنامه صفر از مرجع دستگاه صفر می گیرد. برای تغییر ابزار کارآمد است. غیر مودال و مطلق است. بلوک های بعدی به عنوان «بازگشت به G54» تفسیر می شوند، حتی اگر به طور خاص برنامه ریزی نشده باشند.

G54 to G59

سیستم مختصات کار (WCSs)

M

T

تا حد زیادی جایگزین ثبت موقعیت شده است (G50 و G92). هر مقادیری از محور برنامه صفر را مستقیما به ماشین صفر متصل می کند. استاندارد آن 6 است (از G54 تا G59) با قابلیت اضافه شدن مجدد تا 48 به وسیله G54.1 P1 تا P48.

G54.1

P1  to P48

سیستم افزودن مختصات کار

M

T

در کنار 6 که عدد استاندارد است می تواند تا 48 افزایش یابد. نمونه های دیگر مانند G84.2 تکامل یافته اند. در کنترل های جدید برای این کار، سخت افزار مخصوص دارند.

G61

بررسی دقیق توقف، مودال

M

T

با G64 می توان آن را لغو کرد. نسخه غیر مودال آن G09 است.

G62

لغو خودکار گوشه

M

T

 

G64

حالت برش پیش فرض (بررسی دقیق توقف را لغو می کند)

M

T

G61 را لغو می کند

G68

سیستم چرخش مختصات

M

 

سیستم چرخش مختصات در سطوح داده شده توسط G17 و G18 یا G19. مرکز چرخش با دو پارامتر ارائه می شود که پیاده سازی آن متفاوت است. چرخش با زاویه ای که با R داده شده است انجام می شود. به عنوان مثال این می تواند برای تنظیم سیستم مختصات در بخش های ناهموار استفاده شود. همچنین می تواند برای حرکات تکراری در اطراف مرکز استفاده شود. همه سیستم ها چرخش مختصات را پشتیبانی نمی کنند. 

G69

خاموش کردن سیستم چرخش مختصات

M

 

لغو کد G68

G70

چرخه ثابت، چرخه تکرار چندگانه، برای Finish (شامل خطوط نیز می شود)

 

T

 

G71

چرخه ثابت، چرخه تکرار چندگانه، برای Roughing (تاکید روی محور Z)

 

T

 

G72

چرخه ثابت، چرخه تکرار چندگانه، برای Roughing (تاکید روی محور X)

 

T

 

G73

چرخه ثابت، چرخه تکرار چندگانه، برای Roughing، با تکرار الگو

 

T

 

G73

چرخه حفاری برای فرزکاری، سرعت بالا

 

T

تا حد افزایش ثابت (پارامتر سیستم) بازپرداخت می کند. برای زمانی که نگرانی اصلی شکستگی چیپ است نه مسدود شدن آن. در قیاس با G83.

G74

چرخه حفاری برای تراشکاری

M

 

 

G74

چرخه ضربه زدن برای فرزکاری، سمت چپ، جهت اسپیندل M04

M

 

توضیحات G84 را بخوانید

G75

چرخه شیار انداختن برای تراشکاری

 

T

 

G76

چرخه مناسب بورینگ برای فرزکاری

M

 

شامل OSS و تغییر (توقف اسپیندل و تغییر ابزار برای بازپرداخت)

G76

چرخه بندکشی برای تراشکاری، تکرار چندگانه چرخه

 

T

 

G80

لغو کلیه چرخه ها

M

T

فرزکاری: لغو تمام چرخه ها از جمله G73، G81، G83 و غیره. محور Z به ترتیب برنامه ریزی G98 یا G99 به سطح اولیه Z یا سطح R باز می گردد.

تراشکاری: معمولا در تراش ها لازم نیست زیرا آدرس جدید گروه G (G00 و G03) تمامی چرخه های فعال را لغو می کند.

G81

چرخه حفاری ساده

M

 

بدون سکون زمانی

G82

چرخه حفاری با سکون زمانی

M

 

در انتهای حفره (عمق Z) برای چند میلی ثانیه که توسط آدرس P مشخص شده، ساکن است. برای زمانی که حفره انتهایی اهمیت دارد مناسب است. برای حفاری نقطه ای نیز کاربرد دارد. حواستان به مدت زمان سکون باشد که در توضیحات G04 آمده است.

G83

چرخه حفاری (بازپرداخت کامل)

M

 

بعد از هر سوراخ به سطح R برمی گردد. مناسب برای تمیز کردن شیار تراشه ها. مقایسه با G73.

G84

چرخه ضربه زدن، سمت راست، جهت اسپیندل M03

M

 

G74 و G84 دست راست و چپ و در واقع جفت هم در ضربه زدن با ابزار غیر سخت هستند. آنها را می توان با G84.2 و G84.3 در ضربه زدن سخت مقایسه کرد.

G84.2

چرخه ضربه زدن، دست راست، جهت اسپیندل M03، ابزار سخت

M

 

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

 

G84.3

چرخه ضربه زدن، سمت چپ، جهت اسپیندل M04، ابزار سخت

M

 

توضیحات G84 و G84.2 را بخوانید

G85

چرخه سوراخ کاری، تغذیه

M

 

چرخه ای مناسب برای قلاویزکاری. در برخی موارد نیز برای ابزار تک نقطه ای سوراخ کاری خوب است، اگرچه کمبود عمق برش در مسیر بازگشت برای سطح نهایی خوب نیست. در چنین مواردی میشود G76 را به جای آن استفاده کرد.

اگر به توقف و سکون در انتهای سوراخ نیاز دارید، G89 را ببینید.

G86

چرخه سوراخ کاری، تغذیه داخلی، توقف اسپیندل، خروج سریع

M

 

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

G87

چرخه سوراخ کاری، سوراخ کاری پشت

M

 

برای سوراخ کاری پشت است. بازگشت به سطح اولیه (G98)؛ این چرخه نمی تواند از G99 استفاده کند زیرا سطح R آن بسیار دور است و از اسپیندل فاصله دارد.

G88

چرخه سوراخ کاری، تغذیه داخلی، توقف اسپیندل، عملیات دستی

M

 

 

G89

چرخه سوراخ کاری، تغذیه داخلی، سکون زمانی، تغذیه خروجی

M

 

G89 همانند G85 است با این تفاوت که توقف زمانی در انتهای سوراخ وجود دارد

G90

برنامه نویسی مطلق

M

T:B

موقعیت با توجه به نقطه صفر تعیین می شود.

فرزکاری: همانطور که در بالا گفته شد.

تراشکاری: در برخی مواقع استفاده می شود (گروه Fanuc مدل B و طراحی های مشابه) اما در اکثر تراش ها (گروه Fanuc مدل A و طراحی های مشابه) از G90 و G91 در حالت های مطلق/ افزایشی استفاده نمی شود. به جای آن، U و W آدرس های افزایشی هستند و X و Z آدرس های مطلق می باشند.  

G90

چرخه ثابت، چرخه ساده، برای Roughing (تاکید روی محور Z)

 

T(A)

زمانی که به برنامه نویسی مطلق مربوط نمی شود

G91

برنامه نویسی افزایشی

M

T:B

موقعیت با توجه به موقعیت قبلی تعیین می شود.

فرزکاری: همانطور که در بالا گفته شد.

تراشکاری: در برخی مواقع استفاده می شود (گروه Fanuc مدل B و طراحی های مشابه) اما در اکثر تراش ها (گروه Fanuc مدل A و طراحی های مشابه) از G90 و G91 در حالت های مطلق/ افزایشی استفاده نمی شود. به جای آن، U و W آدرس های افزایشی هستند و X و Z آدرس های مطلق می باشند.

G92

ثبت موقعیت (برنامه ریزی بردار از نقطه صفر به نوک ابزار)

M

T:B

همان توضیحاتی که در ثبت موقعیت G50 داده شد.

فرزکاری: همانطور که در بالا گفته شد.

تراشکاری: در برخی مواقع استفاده می شود (گروه Fanuc مدل B و طراحی های مشابه) اما در اکثر تراش ها (گروه Fanuc مدل A و طراحی های مشابه) ثبت موقعیت با G50 انجام می شود.

G92

چرخه بندکشی، چرخه ساده

 

T:A

 

G94

نرخ تغذیه در دقیقه

M

T:B

در گروه تراش های مدل A، نرخ تغذیه در هر دقیقه G98 است

G94

چرخه ثابت، چرخه ساده، برای Roughing (تاکید روی محور X)

 

T:A

زمانی که به نرخ تغذیه در دقیقه خدمت نمی کند

G95

نرخ تغذیه در هر دور

M

T:B

در تراش گروه A، نرخ تغذیه در هر دور G99 است

G96

سرعت ثابت سطح (CSS)

 

T

تغییر خودکار سرعت اسپندل برای رسیدن به یک سرعت ثابت سطح. آدرس S را می گیرد که در G20 به عنوان sfm و در حالت G21 به عنوان m/min تفسیر می شود.

G97

سرعت ثابت اسپیندل

M

T

آدرس S را میگیرد که به عنوان rev/min (rpm) تفسیر می شود. اگر برنامه نویسی نشده باشد، سرعت پیش فرض بسته به پارامتر سیستم است.

G98

بازگشت به سطح اولیه Z در چرخه موجود

M

 

 

G98

نرخ تغذیه در دقیقه (گروه A)

 

T:A

برای گروه B نرخ تغذیه در دقیقه G94 است

G99

بازگشت به سطح R در چرخه موجود

M

 

 

G99

نرخ تغذیه در هر دور (گروه A)

 

T:A

نرخ تغذیه در هر دور برای گروه B حالت G95 است.

  • جدول ضمیمه متغیرهای M Code

Code

Description

Milling :m (فرزکاری)

Turning :T (تراشکاری)

Corollary info

M00

توقف اجباری

M

T

دستگاه های غیر انتخابی زمانی که در اجرای برنامه به کد M00 می رسند، کار را متوقف می کنند.

M01

توقف اختیاری

M

T

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

M02

پایان برنامه

M

T

برنامه به پایان می رسد؛ عملیات ممکن است به ابتدا برگردد یا برنگردد (بسته به کنترل)، مقادیر ثبت شده ممکن است مجددا تنظیم شوند یا نشوند. M02 کد اصلی پایان برنامه بود که حالا منسوخ شده است اما هنوز به عنوان حرکت وارونه از آن پشتیبانی می شود. بسیاری از کنترل های مدرن M02 را با M30 معادل می کنند. برای بحث بیشتر در این مورد M30 را ببینید.

M30

روشن کردن اسپیندل (ساعتگرد)

M

T

سرعت اسپیندل با آدرس S مشخص می شود که می تواند هر دور در دقیقه (حالت پیش فرض G97) یا فوت سطح در دقیقه یا متر در دقیقه (حالت G96 تحت G20 یا G21) باشد. قانون دست راست می تواند مشخص کند که کدام جهت ساعتگرد و کدام جهت خلاف ساعتگرد است.

دنده های سمت راست در جهت سفت شدن حرکت می کنند و دنده های سمت راست شیار به سمت کاتر و اینگونه مشخص می شود که حرکت ساعتگرد است. صرف نظر از تفاوت CW/CCW و نقطه قوت محلی، جهت M03 همیشه یکسان است.

M04

روشن کردن اسپیندل (خلاف ساعتگرد)

M

T

توضیحات M03 را بخوانید.

M05

توقف اسپیندل

M

T

 

M06

تغییر خودکار ابزار (ATC)

M

T

بسیاری از دستگاه های تراش از M06 استفاده نمی کنند زیرا آدرس T خودش دارای آن شاخصه ها است.

برنامه نویسی برای هر ابزار خاص نیازمند اطلاع از روش کار آن دستگاه است. برای درک این که آدرس T چگونه کار می کند و آیا با M06 تعامل دارد یا خیر، باید روش های مختلفی مانند برنامه نویسی تراش، انتخاب ابزار ATC، حافظه تصادفی انتخاب ابزار ATC، مفهوم «ابزار در انتظار» و ابزار های خالی را مطالعه کنید.

M07

خنک کننده (در مه)

M

T

 

M08

خنک کننده (در طوفان)

M

T

 

M09

خاموش کردن خنک کننده

M

T

 

M10

فعال کردن گیره پالت

M

 

برای مراکز ماشینکاری دارای پالت

M11

غیر فعال کردن گیره پالت

M

 

برای مراکز ماشینکاری بدون پالت

M13

روشن کردن اسپیندل (ساعتگرد) و خنک کننده روشن (در طوفان)

M

 

این «ام کد» هر دو کد M03 و M08 را به کار می اندازد. برای دستگاه های خاص، اینگونه دستورات ترکیبی که برنامه نویسی را سریع تر و کوتاه تر می کند چندان غیر معمول نیست.

M19

جهت گیری اسپیندل

M

T

جهت گیری اسپیندل اغلب داخل چرخه و به صورت اتوماتیک یا در زمان تنظیمات به صورت دستی انجام می شود اما همچنین از طریق کنترل برنامه توسط M19 نیز امکان پذیر است. ممکن است در مرجع، OSS که مخفف «توقف جهت گیری اسپیندل» است را ببینید که به معنی توقف جهت گیری اسپیندل در طول چرخه است.

M20

آینه، محور X

M

 

 

M21

جلو بردن مرغک (Tailstock)

 

T

 

M22

آینه، محور Y

M

 

 

M22

عقب بردن مرغک (Tailstock)

 

T

 

M23

خاموش کردن آینه

M

 

 

M23

فعال کردن حرکت تدریجی به بیرون

 

T

 

M24

غیر فعال کردن حرکت تدریجی به بیرون

 

T

 

M30

پایان برنامه، بازگشت به ابتدای برنامه

M

T

امروزه M30 کد اصلی پایان برنامه محسوب می شود که عملیات را به ابتدای برنامه باز می گرداند. البته اکثر کنترل ها هنوز از کد اصلی پایان برنامه یعنی M02 پشتیبانی می کنند و آن را معادل M30 قرار می دهند.

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

M41

انتخاب دنده- دنده 1

 

T

 

M42

انتخاب دنده- دنده 2

 

T

 

M43

انتخاب دنده- دنده 3

 

T

 

M44

انتخاب دنده- دنده 4

 

T

 

M48

مجوز جلوگیری از تغذیه

M

T

 

M49

جلوگیری از تغذیه مجاز نیست

M

T

جلوگیری از MFO. این قانون نیز معمولا به صورت خودکار انجام می شود، در چرخه ضربه زدن یا چرخه تک نقطه ای یعنی جایی که تغذیه با سرعت کاملا در ارتباط است. همانند جلوگیری از سرعت اسپیندل (SSO) و دگمه توقف تغذیه. برخی کنترل ها قادر هستند که SSO و MFO را در طول بند کشی فراهم کنند.

M52

خالی کردن آخرین ابزار اسپیندل

M

T

همچنین اسپیندل خالی

M60

تعویض خودکار پالت (APC)

M

 

برای مراکز ماشینکاری با تعویض پالت

M98

فراخوانی زیربرنامه

M

T

یک آدرس P می گیرد تا مشخص کند که به کدام زیربرنامه باید فراخوانده شود. برای مثال «M98 P8979» زیر برنامه O8979 را فرا می خواند.

M99

پایان زیربرنامه

M

T

معمولا در انتهای زیربرنامه قرار می گیرد، جایی که کنترل اجرایی به برنامه اصلی برگردانده می شود. به صورت پیش فرض کنترل به بلوکی بازگردانده می شود که M98 در برنامه اصلی آن را فراخوانده است. بازگشت به بلوک متفاوت را می توان با آدرس P مشخص کرد. از M99 همچنین می توان در برنامه اصلی برای چرخه بی پایان تراش استفاده کرد تا زمانی که کاربر آن را متوقف کند.

نوشته مهرداد سینایی


دیدگاه خود را بنویسید:

نظرات پس از بررسی مدیر سایت تایید میشود

15 + 1 =