تشريح G كدها

G كدهاي فرز CNC سيستم كنترل FANUC

نوع كد

كاربرد

گروه

كد

پايدار

حركت خطي سريع

01

G00

پايدار

حركت خطي همراه با پيشروي تعريف شده

01

G01

پايدار

حركت دايره اي موافق عقربه هاي ساعت

01

G02

پايدار

حركت دايره اي مخالف عقربه هاي ساعت

01

G03

غير پايدار

زمان مكث

00

G04

پايدار

انتخاب صفحه XY

02

G17

پايدار

انتخاب صفحه XZ

02

G18

پايدار

انتخاب صفحه  YZ

02

G19

پايدار

انتخاب سيستم اينچي

06

G20

پايدار

انتخاب سيستم متريك

06

G21

غير پايدار

برگشت ابزار يه نقطه ي مرجع

00

G28

غير پايدار

برگشت ابزار از نقطه ي برگشت به نقطه قبلي

00

G29

پايدار

لغو كننده G42 و G41

07

G40

پايدار

تصحيح كننده شعاع ابزار (چپ)

07

G42

پايدار

تصحيح كننده شعاع ابزار(راست )

07

G42

پايدار

تصحيح كننده طول ابزار (مثبت )

08

G43

پايدار

تصحيح كننده طو ابزار (منفي )

08

G44

پايدار

لغو تصحيح كننده طول ابزار

08

G49

پايدار

تعيين نقطه صفر قطعه كار ( انتخاب اول )

14

G54

پايدار

تعيين نقطه صفر قطعه ي كار (انتخاب دوم )

14

G55

پايدار

تعيين نقطه صفر قطعه كار ( انتخاب سوم )

14

G56

پايدار

تعيين نقطه صفر قطعه كار (انتخاب چهارم )

14

G57

پايدار

تعيين نقطه صفرقطعه كار ( انتخاب پنجم )

14

G58

پايدار

تعيين نقطه صفر قطعه كار (انتخاب ششم‌)

14

G59

پايدار

فرا خواني ماكرو

00

G65

پايدار

فراخواني ماكرو ي پايدار (مدال)

12

G66

پايدار

كنسل كننده ماكروي پايدار (مدال )

12

G67

پايدار

لغو كننده سيكل ها

09

G80

پايدار

سيكل سوراخكاري يك مرحله اي

09

G81

نوع كد

كاربرد

گروه

كد

پايدار

سيكل سوراخكاري يك مرحله اي ( همراه با مكث )

09

G82

پايدار

سيكل سوراخكاري عميق (چند مرحله اي )

09

G83

پايدار

سيكل قلاويز زني

09

G84

پايدار

سيكل بورينگ كاري و برقو كاري

09

G85






G86

09

سيكل بو رينگ كاري

پايدار

G90

03

انتخاب سيستم مطلق

پايدار

G91

00

انتخاب سيستم افزايشي

پايدار

G92

00

انتقال نقطه صفر قطعه كار

پايدار

G94

05

تعريف پيشروي بر حسب ميلي متر بر دقيقه

پايدار

G95

05

تعريف پيشروي بر حسب ميلي متر بر دور

پايدار

G98

10

برگشت ابزار به صفحه ي اوليه (درسيكل ها)

پايدار

G99

10

برگشت ابزار به سطح R ( در سيكل ها )

پايدار

                

جهت حرکت و اندازه گیری موقعیت

سیستم مختصات

جهت حرکت ابزار ماشین بر اساس سیستم مختصاتی می باشد که با محورهای حرکتی ماشین تعیین شده است . سیستم مختصات براساس محورهای اصلی x،y،z ، بر یک سیستم مختصات کار تنزینی استوار است .

این سیستم مختصات به صورت زیر تعریف شده است :

·        محور دوم عمودی بر محور اول است .

·  اگر محور اول در مسیر کوتاهتر به سمت محور دوم بچرخد ( )  یک پیچ راستگرد که در یک مهره قرار دارد در جهت محور سوم حرکت می کند .

به طور کلی جهت محورها این جا هم براساس مدل انگشتان دست راست است . انگشتان دست راست خود را به گونه ای باز کنید که انگشتان شصت ، اشاره و وسطی بر یکدیگر به طور عمود قرار گیرند . انگشت شصت جهت محور x  ، انگشت اشاره جهت محود yو انگشت وسطی راستای محور z را نشان می دهد . محل برخورد سه انگشت مبدأ مختصات است . محور اسپیندل اصلی در بسیاری از ماشینها در جهت منفی محور z انتخاب می گردد . یعنی جهت مثبت محور z به سمت داخل اسپیندل است . برای تعیین جهت چرخش محورهای دورانی A,B,C انگشت شصت را در جهت مثبت محور مربوط بگیرید ، جهت بسته شدن سایر انگشتان جهت چرخش محور چرخشی متناظر را نشان می دهد .

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

برنامه نويسي معمولي ( G وM كدي)

اين نوع برنامه نويسي در دو سيستم (ISO  693/1  ) و ( RS-2740 ) EIA استاندارد شده است .

اين دو نوع استاندارد داراي تفاوت هايي مي باشند ، حتي شركت هاي مختلف سازنده كنترلر ماشين هاي CNC با وجود تبعيت از يك نوع استاندارد باز هم داراي تفاوت هايي در تعريف G وM  كدها هستند لذا بايد توجه داشت كه :

       (( دو ماشين با كنترلر هاي مختلف وجود ندارند كه داراي برنامه نويسي كاملا مشابه باشند)). اما تسلط بر يكي از كنترلر ها برنامه نويس را قادر خواهد سخت كه با مواجه شدن با كنترلر جديد با مطالعه كاتالوگ دستگاه در صدد برنامه نويسي آن برآيد.

چند شركت اصلي سازنده ي كنترلر هاي CNC عبارتند از :

شركت فانوك  fanuc (امريكايي )

شركت زيمنس siemens ( آلماني )

 شركت فيليپس PHILIPS (هلندي )

 شركت سين سيناتي Cincinati ( امريكايي )

شركت هايدين هاين HEIDENHAIN (آلماني )

 شركت كاديلاك     Cadilac  (امريكايي )

شركت گرونديك  GRUNDIG (الماني )

شركت امكو EMCO  (اتريشي ) براي ماشين هاي CNC آموزشي

برنامه نويسي M وG كدي در ماشين هاي CNC اعم از تراش ،فرز ،واير كات ،ليزر،پانچ،وغيره استفاده شده است .در برنامه نويسي توسط زبان APT  و سيستم هاي CAD/CAM  نيز برنامه در نهايت به وسيله پست پروسسور  به M وG كد تبديل و به ماشين ارسال مي شود . از اين رو آشنايي با اين زبان برنامه نويسي (M و G كد ) ضروري مي باشد.

انواع برنامه های CNC

انواع برنامه ها

1- سیکلهای ثابت (canned cycles) : زیر برنامه های خودکاری هستند که در حافظه ی سیستم وجود دارند ( به نظر سازندگان بستگی دارد ). این فرآیند ها داده های متغییری را می پذیرند و با استفاده از آنها در وقت و انرژی صرفه جویی می شود . اگر لازم باشد پس از تنظیم این برنامه ها مطابق داده های مدنظر برنامه نویس ، به کمک کدهای خاص در برنامه ی اصلی در مرحله مربوط احضار و اجرا می شوند . طبیعت این برنامه ها بستگی به کاربرد CNC دارد .

2-حلقه های برنامه : برای به حد اقل رساندن زحمت نوشتن مراحل متعدد برخی از برنامه ها کاربرد دارند . مثلا تعریف تعدادی سوراخ برای دریل کاری که در یک راستا و با یک فاصله از هم قرار دارند .

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

3- ماکرو(macro) : همانند نرم افزار CAD یک برنامه ی ماکرو CNC ، زیر برنامه ای است که تعدادی عملیات را در ارتباط با یک دستور خاص اجرا می کند . ماکروهای CNC همانند حلقه ها برای کنترل عملیات تولید تکراری به کار برده می شوند . برنامه های ماکرو توسط سازنده در حافظه وارد شده اند .

مزاياي ماشين هاي CNC

مزاياي ماشين هاي CNC  

1-دقت و كيفيت قطعات

2-سرعت بالا ،سرعت خطي ثابت

3-كاهش خطاي انساني

4-توانايي ساخت قطعات پيچيده

5-انعطاف پذيري بالا در تعويض يا ارتقاء توليد : بر خلاف سايرسيستمهاي خودكارسازي كه هر گونه تغيير در توليد مستلزم تغيير و يا تجهيز اجزاي سخت افزاري (بادامكها ،طبلكها ، شيرها،كنتاكتورها،IC ها و … مي باشد.)در CNC به دليل نرم افزاري بودن كنترل هرگونه تغيير ،اصلاح و يا ارتقاي توليد به راحتي با اضافه كردن يا پاك كردن اعداد،حروف و علائم مسير مي باشد .

6- استفاده بهينه از نيروي انساني

7-خطر كمتر براي اپراتور

8- كاهش زمان اندازه گيري و كنترل (از هر 30 قطعه يكي كنترل مي شود.)

9- كاهش زمان تنظيم اوليه

10-كاهش هزينه ي ساخت قيد و بند ها :به دليل توانايي حركت هاي متنوع ابزار بر روي وجوه مختلف قطعه كار مي باشد . مثلا اگر بخواهيم با يك ماشين فرز معمولي يك چند ضلعي بتراشيم حتما نياز به دستگاه تقسيم داريم اما در ماشين هاي CNC هر فرم و شكلي با حد اقل قيد و بند قابل ساخت است.

11- به دليل دقت بالاي قطعات توليد شده توسط CNC ،سرعت مونتاژ كاري بالا مي رود و مونتاژ مي تواند به صورت اتومات انجام گردد.

12- كاهش هزينه ي ابزار سازي

13- امكان استفاده از ماشين CNC براي عمليات متناوب 20 ساعت كار در شبانه روز،در صورتي كه ماشين هاي سنتي براي كار بيش از 8 ساعت دچار مشكل مي شوند.

14- امكان دسترسي به قابليت تكرار تلرانس ها و دقتهاي مورد نياز

15- امكان شبيه سازي و تست نمودن برنامه قبل از اجراي برنامه بر روي ماشين و اطمينان از درستي آن

16- امكان كنترل از راه دور ماشين و متصل شدن به سيستم هاي CAD/CAM و CIMS

جایگاه CNC در فرآیند ساخت

CAM چیست ؟

به هر فر آیند ساخت خود کار که با کامپیوتر کنترل شود CAM (Computer Aided Manufacturing) گفته می شود وبر پایه پیشرفت ماشینهای کنترل عددی NC در دهه های 1940و 1950 گسترش یافت . اکنون CNC فرآیندهای ساخت خودکار مختلفی را تحت پوشش خود قرار داده است مانند فرز کاری ، تراش کاری ، برش با شعله ، برش با لیزر ، پانچ،نقطه ی جوش و وایرکات.

گسترش هم زمان ربوتها ی کنترل کامپیوتری و کارخا نجات خودکار به پیشرفت واحد های ساخت کامل ، سیستم های تحت کنترل کامپیوتر مرکزی و سر انجام به آنچه که تحت فلسفه ای به نام  FMS(ّFlexible Manufacturing System  ) شناخته شده است منجر شد و واژه ی CAM از درون این مجموعه و فناوری ساخت تحت کنترل کامپیوتر سر برآورد . مهمترین اجزای CAMدر زیر آمده است :

الف) تکنیک های برنامه نویسی و تولید به CNC

ب) مونتاژ و ساخت ربوتیک تحت کنترل کامپیوتر

پ) سیستم های ساخت انعطاف پذیر (FMS)

ت) تکنیک های بازرسی و معاینه به کمک کامپیوتر (CAI) [1]

ث) تکنیک های تست به کمک کامپیوتر (CAT) [2]

موارد زیر را می توان به عنوان مزایای CAM برشمرد :

الف) نرخ تولید بالاتر با صرف انرژی کاری کمتر

ب) اشتباهات کمتر انسانی و افزایش ضریب اطمینان

پ) انعطاف پذیری بیشتر در ساخت

ت) صرفه جویی در هزینه ها با افزایش راندمان ساخت ( مواد دور ریز کمتر) و افزایش بازدة منابع و مونتاژ

ث) قابلیت تکرار فرآیند های تولید با ذخیره سازی اطلاعات

ج) کیفیت بالاتر محصولات

به مجموعه کامل تکنیک های CAD, CAM در یک فرآیند تولیدی CAD CAM گویند . به عنوان مثال ، شکل قطعه در یک صفحه ی نمایش vdu با داده های گرافیکی طراحی می شود و سپس به سیگنالهای الکتریکی در کابل های متصل به سیستمهای ساخت تبدیل شده آنگاه قطعه به طور خودکار در یک ماشین CNC تولید می گردد ..

به طور کلی مزایای CNC نسبت به NC به صورت زیر است :

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

ب) کل برنامه در حافظه ی کامپیوتر ذخیره شده و به عنوان یک سیکل کامل تولید به جای اجرای بلوکها ( پس از خواندن و تحلیل و اجرای هر کدام ) در نظر گرفته می شود . در CNC های متداول امروز پس از زدن کلید اجرا (به اصطلاح NC کردن ) و پیش از این که هر بلوک اجرا شود واحد کنترل تا ده بلوک بعدی برنامه را بررسی می کند و نتیجه محاسبات مربوط در حافظه ذخیره می شود و در صورتی که ایرادی ( از لحاظ منطق ریاضی ، محدودة کار ماشین یا ساختار برنامه ) در برنامه وجود داشته باشد آن را مشخص می نماید و این اشتباه را به صورت هشداری در بالای صفحه ی نمایش (monitor) نشان می دهد .

پ) برای اجرای هر چند مرتبه  یک برنامه به صورت پشت سر هم فقط یک بار بارگذاری آن کافی است .

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

ث) برنامه های CNC می توانند شامل زیر برنامه هایی برای تکرار بخشی از برنامه باشند . یک بار نوشته می شوند و ممکن است چند بار از طریق دستوراتی خاص در برنامه احضار و اجرا شوند . این قابلیت امکان حذف اطلاعات تکراری را برای برنامه نویسان فراهم کرده است .

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

چ) می توان شکل های مشابه را در برنامه های پارامتری CNC تعریف کرد و برای هر مورد به راحتی تغییرات لازم در ابعاد را وارد نمود .

ح) در CNC امکان مبادله ی مستقیم اطلاعات با سیستم های کامپیوتری دیگر فراهم شده است نظیر پایگاه اطلاعاتی CAD ، کامپیوتر های میزبان کنترل عددی مستقیم (DNC) و سیستم های مدیریت تولید به کمک کامپیوتر یا CAMP(computer aided production mana gment) .

آشنایی با ماشین ها CNC

واژه متداول CNC از کلمات Computer Numerical Control  به معنای کنترل عددی کامپیوتری گرفته شده و معرف سیستم های کنترل پیشرفته ای است که هدایت انواع مختلف ماشین های ابزار، رباتها و خطوط انتقال را در کارخانه ها بر عهده دارند. بدین معنا که کلیه دادهها و اطلاعات با استفاده از کامپیوتر و امکانات حافظه ای آن ابتدا پردازش وسپس توسط ریز پردازنده ها (Micro Processor ) به علائم الکتریکی (Pulse) تبدیل و به موتور محورهای محرکه منتقل می شوند.

نسل اول این ماشینها  NC بودند بدین مفهوم که فاقد کامپیوتر بوده و دستگاه طبق منطقی خاص٬ از جمله نوار یا کارتهای پانچ شده کار می کرده است .

به طور مثال برای حرکت سوپورت دستگاههای معمولی این امر توسط اپراتور با چرخاندن ورنیه سوپورت صورت می گیرد ولی در سیستم های NC این امر توسط کارت مخصوصی که در دستگاه جا گذاری می شد انجام  می گرفت و اکنون این عمل در اکنون این عمل در  دستگاههای CNC توسط کدهای مخصوصی (G کد و M کد) که در برنامه نوشته می شود صورت می گیرد .

پلانهای کاری  

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

هر دو محور یک پلان را مشخص می کنند محورهای x.y.z صفحات xy.yz.zx را می سازند. تعیین صفحه ی کاری در ابتدای هر برنامه الزامی است . بدین منظور برای معرفی هر کدام از این صفحات یک تابع اولیه برای سیستم کنترل تعریف شده است .

توابع مربوط به این پلان ها در زبان برنامه نویسی G17,G18.G19  می باشد .

انتخاب پلان با انتخاب محورهای دلخواه دیگر      G16 [4]

پلان x,y(محور اول و محور دوم )                   G17  

پلان x-z (محور اول – محور سوم )                  G18  

پلان y-z (محور دوم – محور سوم )                 G19

پلانهای کاری استاندارد

نکته : در صورتی که در برنامه مشخص نشود چه پلانی برای عملیات ماشینکاری در نظر گرفته شده است به طور خودکار G17 از سوی کنترل در نظر گرفته می شود (بر اساس اطلاعات موجود در CLDATA ).

آشنایی CNC

این ماشینها برای کنترل عملکرد هایشان ، به اطلاعات خاصی نیاز دارند :

v    ابعاد قطعه

v    طول مسیر حرکتی ابزار ها و محورها

v    ترتیب مراحل ماشینکاری

v    انتخاب ابزار

v    سرعتها

v    میزان باربرداری

این اطلاعات در چند خط شامل حرف و عدد با ترتیب و طبقه بندی ویژه ای به سیستم کنترل ماشین CNCداده می شود .

 

1-1خلاصه ای از تاریخ فناوری ماشینهای کنترل عددی :

پیش از دهه 1950 دو نوع روش متفاوت تولید در صنعت ساخت وجود داشت :

1.    حجم تولید کم – یا متوسط – که با عملیات دستی صورت می گرفت ، سرعت تولید پایین بود و قطعات مشابه ، ابعاد کاملا" یکسانی نداشتند .

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

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

از زمان جنگ جهانی دوم به بعد ، تقاضاها تغییر کرد ، پیشرفتهای فناوری و رقابتهای بین المللی ، همه را به سمت یافتن دیدگاهی جدید نسبت به طراحی محصول و سرعت تولید بیشتر سوق داد . تولید یک محصول بدون اصلاح کیفیت خصوصیات و کارکرد برای مدت طولانی همانند قبل تداوم نمی یافت در مورد بسیاری از تولیدات که همواره ممکن بود لازم باشد روی آنها تغییرات جزئی در مدت زمان نسبتا" کوتاه صورت گیرد . فرآیند تولید خودکار به روش قدیمی غیر قابل توجیه می نمود . ماشین ابزار ها یا سیستم های ساخت خودکار قدیمی با سیستم ها مکانیکی ، الکترو مکانیکی ،پنو ماتیکی یا هیدرو لیکی کنترل می شدند و ایجاد تغییرات در کارکرد یا ویژگی های تولیدی آنها بسیار مشکل بود . به عنوان مثال در ساخت ماشین ابزار های خودکار کلاسیک از با دامک ها ، غلطک ها ، استاپهای مکانیکی ، سوئیچ ها ، ریل های هدایت کننده بر حسب نوع عملیات و کارکرد مورد نظر سازندگان استفاده می شد هر تغییری در این ماشینها مستلزم ایجاد تغییر مکان و ابعاد در این اجزا بود . بنابراین به نوع جدیدی از کنترل کننده های انعطاف پذیر احساس نیاز شد . همچنین در این سیستم جدید باید کنترل ابزار با دقت بالاتر و بدون دخالت انسان صورت می گرفت .پس از جنگ جهانی دوم ، در ساخت محصولاتی مانند هوا پیماها و اتو مبیل های پیشرفته از قطعاتی استفاده می شد که از نظر شکل پیچیده تر بودند و تولید آن ها زمان زیادی می طلبید . سیستم کنترل های جدید باید می توانستند با عمل سیگنالها با سرعت زیاد ، حرکت ابزار را با دقت بالاتری کنترل کنند . ظهور اولین کامپیوتر الکترونیکی دیجیتالی در پایان جنگ جهانی دوم با سرعت تحلیل صدها برابر بالاتر از انواع پیشین امکان گسترش این سیستم کنترل نوین را فراهم کرد . پس از جنگ جهانی نیاز به ساخت هواپیماهای جنگنده با قدر ت و قابلیت های بالا به طور مستقیم زمینه ساز ورود این سیستم به دنیا ی صنعت شد و نیروی هوایی آمریکا نشان داد که این فناوری جدید چگونه موجب بهبود در توانایی های تولید شده است . در خلال جنگ جهانی دوم ، شرکت پار سونز ( parsons  corporation) برای حرکت دادن میز ماشین فرز در جهات طولی و عرضی به طور همزمان به کمک دو اپراتور ، از میز مختصاتی برای ماشین کاری مسیر ها و مکان های محاسبه شده ( بر اساس اطلاعات عددی موقعيت ابزار ) استفاده کرد . جان پارسونز از همین شرکت بر اساس تجربه اش در ماشین کاری قطعات پیچیده ، تصمیم گرفت تا حرکت سه محور ابزار را به طور همزمان کنترل کند . ولیام . تی . وبستر و تعدادی از مهندسان دیگر از ( Air  Material command )  یک مجموعه کامپیوتر دیجیتال و سرو و مکانیزم ها را برای حصول فناوری ماشین کاری پروفیل های با دقت تولید بالا به کار گرفتند . اولین اقدام برای مطالعه روی عملی شدن کنترل کامپیوتری ماشین ابزار در برنامه تحقیقات شرکت پار سونز قرار گرفت که از مطالعات لابراتوار سرو و مکانیز م های انستیتو فناوری ماسا چوست (Massachusetts institute of Technology=MIT) در اکتبر 1949 بهره برد . مطالعات MIT عملی شدن سیستمی که بتواند عملکرد مناسبی برای ماشین کاری با دقت بالا داشته باشد را نشان داد . اولین ماشین فرز عمودی سه محور همزمان با کنترل سیستم جدید در MIT به سال 1952 ساخته شد . این ماشین با واحد کنترل هیبرید دیجیتال – آنالوگ با استفاده از نوار های سوراخ شده ی باینری بود که ماشین کنترل عددی (numerically controlled machine) نامیده شد .

در مجموع با این ماشین برای تولید قطعه ای جدید نیاز به تغییر در ساختار مکانیکی دستگاه نبود تنها کافی بود تا برنامه روی یک نوار سوراخ شده ذخیره شود . در طول سالهای 1952تا 1955 پژو هشهای دیگری برای تست و پیشرفت سیستم کنترل ماشین NC جدید و مطالعه برای کاربرد آن روی دیگر ماشین ابزار ها با مشارکت MIT و نیروی هوایی ایلات متحده انجام گرفت . توسعه و اصلاح تکنیک های برنامه نویسی NC موضوع مهم دیگری برای تحقیق بود اما طرح انتقال این فناوری به صنایع ناموفق ماند و هیچ شرکتی حاضر به خرید یا ایجاد سیستم NC نشد زیرا زمینه های مهندسی جدیدی باید در ارتباط با این فناوری شامل ؛ الکترونیک ، کنترل دیجیتال ، اندازه گیری با دقت بالا و بر نامه نویسی تعریف می شد . در سال 1956 نیروی هوایی خود پیشتاز ساخت یکصد ماشین بزرگ برای تولید قطعات هواپیما شد . در این مورد چهار شرکت همکاری کردند .

Kearney and tracker                   bendix            

Giddings andlewis                     gneral electric  

Morey                                   general dynamics    

CiNCinnati                             EMI(british)         

 

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

این ماشین های NC بین سالهای 1958تا 1960 در چند شرکت هواپیما سازی به کار گرفته شدند . با رفع مشکلات موجود در طراحی سیستمهای کنترل عددی و با آموزش برنامه نویسان و کاربران و تکنسین های تعمیر و نگه داری تا سال 1962 کمپانی هوا فضا شروع به خرید یا ساخت ماشین های NC کرد .

موفقیت کاربر NC به دو فاکتور مهم بستگی داشت : اصلاح سیستم کنترل کننده و توسعه ی نرم افزار برنامه نویسی . سیستم حرکت بار برداری یک بخش حیاتی از ماشین NC بود زیرا موقعیت دهی و دقت کانتورینگ را تامین می کرد . برای کاهش اصطحکاک و لغزش قطعات متحرک از ریل های بدون اصطحکاک با اجزای رولینگ میان ریل و این قطعات استفاده شد . در این مورد محورهای ساچمه ای جایگزین پیچ های ذوزنقه ای معمولی شدند . مکانیزم های حرکتی آنتی بکلش (anti backlash ) برای به حداقل رساندن خطاهای مکان یابی در نتیجه پس زنی (backlash ) اجزای متحرک گسترش یافتند . موتور های جریان مستقیم مجزا برای حرکت دادن محورهای مختلف به جای یک حرکت مرکزی به خدمت در آمدند . ماشینهای NC به سیستم های فیدبک و اندازه گیری دقیق تر موقعیت مکانی برای حرکتهای خطی و زاویه ای مجهز شده اند زیرا نیازمند حلقه کنترلی بسته ای (closed loop  control ) بودند . کمی بعد حرکتهای اضافی دیگری نیز شامل خطی و دورانی غیر از محورهای کلاسیک x, y,z برای ماشین کاری کانتورهایپیچیده پدیدار گشته و سیستم های انتخاب و تغییر ابزار خودکار روی این ماشینها نصب شدند . پس از پایان دهه 1950 نوع جدیدی از این ماشینها به نام مرکز ماشین کاری NC ( NC  machine  center  ) وارد صحنه شدند . این ماشینها چند کاره بودند . قابلیت انجام فرز ، تراش ، دریل و بورینگ را با هم داشتند . در مدت زمان نه چندان طولانی ، تغییرات دیگری در ساختار ماشینهای NC ایجاد شد مستحکمتر ساختن ساختار ماشین ، تکمیل و پشتیبانی ابزار گیر و پایه ها ، انتقال راحتتر و بهتر براده ها و موارد دیگری که بر افزایش دقت ماشینکاری تاثیر حیاتی داشتند . نرخ براده برداری نیز افزایش یافت .

جنبه دیگر این تحولات به سیستم کنترل NC (  NC controller  ) مربوط می شد . کنترلر های NC را می توان به دو نوع تقسیم کرد حلقه کنترلی باز ، و حلقه کنترلی بسته . بیشتر ماشینهای NC مدرن مجهز به حلقه کنترلی بسته بودند که برای جبران اشتباهات مکان یابی بر پایه فیدبک از ((واحد اندازه گیری مکانی ) عمل می کردند . در کنترل کننده ماشینهای NCاولیه از لامپهای خلاء و رله های الکتریکی استفاده می شد و یک سرو و مکانیزم هیدرولیکی را کنترل می کرد . این سیستم کنترل دقت کمی داشت و چندان قابل اعتماد نبود . با پیشرفت فناوری الکترونیک ، نسل دوم و سوم کنترلر های NC با مدارهای دیجیتالی با استفاده از ترانزیستور ها و بردهای مدار یکپارچه وارد میدان شدند . برای این کنترلرها لازم بود ، برنامه NC تحت کدهای خاصی روی نوارهای کاغذی سوراخدار نوشته شده و از طریق یک نوار خوان وارد کنترلر در پایان دهه 1960 امکان کارگزاری فناوری فقط خواندنی ( Read onley memory=Rom) بر کنترل کننده ها فراهم شد . بخشی از دستورات عملیاتی را می شد در Romذخیره کرد و در صورت نیاز آن را از واحد کنترل ماشین ( Mcu) باز خوانی نمود. با کاهش پیوسته ابعاد میکروپروسسورها و کامپیوتر ، در دهه 1970 و ترکیب شدن یک کامپیوتر اختصاصی به یک کنترلر NC ، کنترل عددی کامپیوتری =(computer numerical control ) (  CNC پا به عرصه وجود نهاد و بدین ترتیب نوارهای کاغذی یا مغناطیسی از میدان بیرون شدند . هر برنامه را ، هم در حافظه کنترلر و هم در یک کامپیوتر و تجهیزات ورودی و خروجی ، مختلفی می شد تبادل اطلاعات انجام داد و به این ترتیب امکانات جدیدی در صنایع تحت عنوان DNC ( direct numerical control ) عرضه شد . در این سیستم گاهی یک کامپیوتر مرکزی برای رهبری چند ماشین CNC به کار گرفته می شد . دستاوردهای فناوری NC، امروزه ، بدون پیشرفت و اصلاح نرم افزارهای برنامه نویسی ناممکن بود . در سال 1955 یک سیستم برنامه نویسی NC به عنوان نمونه در MIT روی کامپیوتر ویرل ویند (wirl wind ) آزموده شد . در سال 1957 اعضای موسسه صنعتی هوا فضا ( Aero Space Industries Association) تلاش کردند تا یک برنامه کامپیوتری که می توانست برای همه انواع سیستمهای NC متناسب باشد بسازند . ارتقای این برنامه به یک گروه تحقیقاتی ریاضیدان از کمپانی هواپیما سازی ، با همکاری MIT محول شد . این برنامه کامپیوتری اواخر سال 1957 تکمیل شد و APT ( Automatically Programmed Tool ) نامیده شد این نرم افزار برای استفاده در یک سیستم کامپیوتر IBM طراحی شد . اولین سطح این برنامه اشتباهات زیادی داشت ، تا سال 1960 ترمیم و اصلاح این برنامه ادامه پیدا کرد تا اینکه APT III حاصل شد که به طور گسترده در صنایع دهه 1960 مورد استفاده قرار گرفت .

یکی از مهمترین تصمیماتی که در خلال پیشرفت و اصلاح APT  گرفته شد این بود که این نرم افزار باید برای استفاده در هر چهار سیستم NC تحت پشتیبانی نیروی هوایی طراحی شود . بنابراین خروجی از پروسسور APT که مکان ابزار و عملکرد مورد نظر را مشخص می کرد باید در فرمت استانداردی که مستقل از سیستمهای NCاست کار می کرد . این زبان باید توسط برنامه ی کامپیوتری دیگر ی که پست پروسسور (post processor ) نامیده می شود به کدهای NC خاصی که برای ماشین NC قابل فهم باشد ترجمه می شد . در سال 1961 گروه دیگری طرح اصلاح شده دیگری از APT (APT long range program) را ارائه کرد . به زودی در اروپا و آمریکا اشکال مختلفی از زبان ها ی برنامه نویسی رایج شد که عموما بر پایه APT یا طرحی شبیه به آن بودند . برای مثال :adAPT،exAPT، ifAPT، mini APT، NelAPT، compact ii(این یکی مشتقی از APT نبود ) زبان APT رایج ترین زبان برنامه نویسی شد واز سال 1974 در ایالات متحده ی آمریکا استاندارد گردید . این زبان از سوی شرکت IBM پشتیبانی می شد .

با قرار گرفتن این فناوری در ساخت و تولید در کنار طراحی مهندسی به کمک کامپیوتر که این یکی نیز به لطف رشد و توسعه کامپیوتر و نرم افزار های طراحی پیشرفتهای زیادی داشت ، سیستم  CAD/CAM(Computer Aided Design and Computer Aided manufacturing) پایه ریزی شد اما تا سال 1980 به خاطر هزینة بالای آن و قابل اطمینان نبودن از سوی بسیاری از شرکت ها مورد استقبال قرار نگرفت .

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

به این ترتیب فناوری NC فلسفه اتوماسیون ، روش طراحی فرآیند ، کنترل و... را متحول کرد .

آشنایی مختصر با برنامه نویسی ماشین های CNC

برنامه نویسی ماشین های CNC

نوشتن یک برنامه

یعنی نوشتن مجموعه ای از دستورات قابل اجرا برای کامپیوتر است بطوریکه برنامه های کامپیوتر باید با زبانهای برنامه نویسی شوند . 

تعریف برنامه نویس NC & CNC

برنامه نویس (Part Programmer) باید برای نوشتن برنامه های ماشینکاری قطعات دارای اطلاعات و تجربیاتی در زمینه مکانیک , ابزاربرشی و قید و بستها باشد . استفاده از اطلاعاتی نظیر قابلیت ماشینکاری (Machinability) و فرآیند تولید نیز از اهمیت قابل ملاحظه ای برخوردار می باشد . به منظور تهیه برنامه های پیچیده تر تسلط بر مسائل جبر و مثلثات کارساز خواهد بود

برنامه نویس کسی است که علاوه بر مهارت ماشین افزار درجه 1 بتواند از عهده کارها زیر بر آید :

1- راه اندازی ماشین افزار معمولی CNC

2- برنامه نویسی و انجامعملیات ساخت قطعات مورد نظر در ماشینهای CNC

3- اطلاعات تکنولوژی قطعات

4-بررسی اجزا کامپیوتر و ساختار نرم افزار آن

5- اطلاعات ریاضی در حد مورد نیاز

6- اطلاعات رسم فنی

ادامه نوشته

M COD های مورد استفاده در ماشینهای CNC

M00 = Program stop
M01 = Optional program stop
M02 = End of program (no rewind or return to start of program)
M03 = Start the spindle in the forward direction (CW)
M04 = Start the spindle in the reverse direction (CCW)
M05 = Stop the spindle / Spindle off.
M06 = Tool change command
M07 = Coolant on mist
M08 = Coolant on flood
M09 = Coolant off
M13 = Spindle on forward, coolant on
M14 = Spindle on reverse, coolant on
M15 = Spindle off, coolant off
M19 = Spindle orientation on. Used to locate the tool tip position for boring tools. Sometimes output with a value that represents the angle of the tool tip orientation.
M20 = Spindle orientation off
M30 = End of program (rewind/return to start of program
M98 = Call sub program
M99 = Sub program end

G COD های مورد استفاده در ماشینهای CNC

G00 = Rapid linear move
example: G00 X## Y## Z## (X,Y,Z = position)
G01 = Feed linear move
example: G01 F## X## Y## Z## (F=feedrate to move at)
G02 = Circular move CW
example: G02 X## Y## I## J## (XY=end point, IJ=center point)
G02 = Circular move CW
example: G02 X## Y## R±## (R=size of radius arc to swing. 
R+ if radius < 180°, R- if radius is > 180°)
G03 = Circular move CCW
example: G03 X## Y## I## J## (XY=end point, IJ=center point)
G03 = Circular move CCW
example: G03 X## Y## R±## (R=size of arc radius to swing. 
R+ if radius < 180°, R- if radius is > 180°)
G04 = Dwell time
example: G04 P## (P=time to dwell. P20000 is 2 seconds)
G10 = Zero offset shift
example: G10 X## Y## Z##(X=shift dist. Y=shift dist. Z=shift dist.)
G11 = Zero offset shift cancel
example: G11
G17 = Contour plane is XY (Z = spindle)
example: G17
G18 = Contour plane is ZX (Y = spindle)
example: G18
G19 = Contour plane is YZ (X = spindle)
example: G19
G20 = Inch mode (G70 on older controls)
example: G20
G21 = MM mode (G71 on older controls)
example: G21
G28 = Return to reference point
example: G0 G91 G28 X## Y## Z## 
(Go to machine XYZ home,passing thru XYZ incremental zero)
G29 = Return from reference point
example: G0 G90 G29 X## Y## Z## 
(Go to this XYZ position, returning from home)
G30 = Return to 2nd, 3rd (ect..) reference point
example: Similar to G28
G40 = Cutter (dia.or rad.) compensation off
example: G40 X## Y##
G41 = Cutter compensation to the left of the programmed path
example: G40 X## Y##
G42 = Cutter compensation to the right of the programmed path
example: G40 X## Y##
G43 = Tool length compensation with spindle approach from + side
example: G43 H## Z##
G44 = Tool length compensation with spindle approach from - side
example: G44 H## Z##
G49 = Tool length compensation cancel
example: G49
G45 = Increase end position by tool offset value
example: G45 X## D## (Go to X position, plus offset value in D##)
G46 = Decrease end position by tool offset value
example: G46 X## D## (Go to X position, less offset value in D##)
G47 = Increase end position by twice the offset value
example: G47 X## D## (Go to X position, plus 2x the offset value)
G48 = Decrease end position by twice the offset value
example: G48 X## D## (Go to X position, less 2x the offset value)
G53 = Coordinate system referenced from machine home
example: G53 X## Y## Z## 
(Go to this XYZ position referenced from machine home)
G54 = Work coordinate shift,offset #1
example: G54 X## Y## Z## 
(Go to this XYZ position referenced from WCS #1)
G55 - G59 = Work coordinate shift,offset G55-G59
example: G5# X## Y## Z##
(Go to this XYZ position referenced from WCS G55-G59)
G09 = Exact stop positioning move
example: G09 F## X## Y## Z## (active for single block only)
G61 = Exact stop cutting mode
example: G61 X## Y## Z## (Decelerated at point XYZ, before next move)
G64 = Exact stop mode off
example: G64 X## Y## Z## (Tool is not decelerated at point XYZ)
G63 = Feed overide lock out
example: G63 X## Y## Z##
G62 = Feed compensation on inner corner
example: G62 G02 X## Y## I## J##
G81 = Basic drilling cycle - Feed in , rapid out.
example: G81 X## Y## Z## R## F##
G82 = Counter bore cycle - Feed in, dwell, rapid out.
example: G82 X## Y## Z## R## F## P####
G83 = Peck drilling cycle - Feed in peck amount, rapid out, rapid in within .050 of last peck & repeat until depth is reached.
example: G83 X## Y## Z## R## F## Q##
G84 = Tapping cycle - Feed in, spindle stop, reverse, feed out.
(note: this cycle will vary depending on the machine mfgr.)
example: G84 X## Y## Z## R## F##
G85, G86, G87, G88, G89 = Boring cycles. Function & imput will vary depending on the machine mfgr.  Variations include....
Feed in, feed out.
Feed in, dwell, feed out.
Feed in, dwell, spindle stop, rapid out.
Feed in, dwell, spindle stop, move insert from wall, rapid out.
Rapid in, dwell, start spindle, feed up, dwell, rapid down, dwell
(reverse counter boring, back facing, back boring cycle).
G90 = Absolute coordinate positioning. Points based from XYZ zero.
example: G90 G00 X## Y## Z##
G91 = Incremental coordinate positioning. Point to point positioning.
example: G91 G00 X## Y## Z##
G92 = Absolute Zero Pre-Set - An old format used to set XYZ Zero.
The current position is set to the values shown in the line.
example: G92 X10 Y5 Z-3
After running this command the current position is X10 Y5 Z-3.
Very strange way to shift zero's. Avoid this code if you can.
G94 = Feedrate is read as Inches/Minute. Used mostly for milling.
example: 
G94 
G01 X## Y## Z## F##
G95 = Feedrate is read as Inches/revolution. Used mostly for turning.
example: 
G95
G01 X## Y## Z## F##.###
G96 = Constant surface speed (CSS) control (lathe). Increases the RPM as the tool moved closer to the center line of the part (smaller diameter). This keeps the amount of material (chip load) moving past the tip of the tool constant for and improved tool load, tool wear and surface finish. In the example below, the control will do an internal calculation to keep the tool moving at 200 surface feed/second.
example: G96 S200
G97 = The opposite of constant surface speed control (G96).
example: G97
G98 = Retract the tool to the starting Z height when drilling. Used for high retrect clearance moved between drilled holes. Assume Z is currently at Z+1.0.  Running the line below will rapid to the R plane, drill to the Z depth and return to the starting height of Z+1.00 when the cycle is finished.
example: G98 G81 X## Y## Z-.875 R.100 F##
G99 = Retract the tool to the R plane when the drilling cycle is finished. Regardless of the starting height, the tool will return to Z.100 (the Rplane shown below).
example: G99 G81 X## Y## Z-.875 R.100 F##

تعدادی از مزایای CNC

1-  توانائی ماشینکاری قطعات پیچیده (انعطاف پذیری )

2-  دقت بالا

3-  تکرارپذیری

4-  عدم نیاز به ماشینکار با تجربه

5-  خطر کمتر برای اپراتور

6-  سرعت بالا در ماشینکاری و به تبع آن کاهش زمان تولید

7-  کاهش ضایعات

8-  کاهش امکان خطای انسانی

9-  کاهش هزینه ساخت قید وبست

10-  کاهش زمان تنظیم اولیه ماشین

11-  کاهش زمان اندازه گیری و کنترل

12-  افزایش قابل توجه راندمان تولید