آموزش برنامه نویسی واپراتوری دستگاههای CNC

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

 

مقدمه:

امروزه وپس از نزدیک شدن به نیم قرن از رونمایی اولین دستگاههای CNC درهانوفر آلمان وکمپانی Parsons  میشیگان آمریکا وهمه گیری وپیشرفت این تکنولوژی دردنیا وکشور عزیزمان ایران و تحول عظیمی که در صنعت ساخت وتولید وعمدتا براده برداری به واسطه آن ایجاد شده طبیعتا یادگیری وآموزش نیروی متخصص ومتبحر جهت استفاده از دستگاههای CNC از ضروریات لازم برای صنعتگران عزیز می باشد لذا درسلسله مقالاتی که ازاین به بعد دراین مجله منتشر می گردد سعی می شود با زبانی بسیار ساده واز ابتدا به آموزش صحیح واصولی برنامه نویسی واپراتوری CNC پرداخته شود. باتوجه به فراگیری وتعدد CNC ها از جمله فرز وتراش ولیزر ووایروکات وپانچ وواترجت وcnc های چوب وجواهر و......وعدم امکان پرداختن به همه آنها وبا توجه به فراوانی بیشتر دستگاه فرزcnc و تراش cnc درکشور ابتدا آموزش مربوط به آموزش فرز cnc را شروع میکنیم ودر ابتدا بهتر است شرح مختصری به عنوان مقدمه را به استحضار برسانیم:

*- دراین مقالات هدف یادگیری پایه ای برنامه نویسی فرز CNC از ابتدا وبسیار از سطح پایین می باشد به صورتی که هر دانشجوی ساده مهندسی بتواند پس از مطالعه آن برنامه نویسی استاندارد را یاد گرفته وانجام دهد.

*- منظور از برنامه نویسی استاندارد این است که باتوجه به رقابت شرکتهای مختلف سازنده دستگاههای CNC بعضی کدهای دستوری زبان برنامه نویسی در کنترلرهای دستگاههای شرکتهای سازنده باهم متفاوت می باشدکه موسسه استاندارد بین المللی برای واحد بودن استاندارد مربوط به CNC را نیز ارائه نموده است  (EIA RS274 ) و

(DIN 66025 )  و (ISO 6983 )  که مادراین مقالات از استاندارد برنامه نویسی

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

*- چون در اینجاهدف فقط آموزش برنامه نویسی است از شرح نحوه کارکردواجزای مکانیکی والکترونیکی دستگاه CNC صرف نظر میکنیم  ودرصورت علاقه مندی میتوانید به کتابهای حرفه ای که دراین زمینه منتشر شده یا کتاب مولف این مقاله با نام (آموزش برنامه نویسی واپراتوری فرزCNC-Gcode مقدماتی تا پیشرفته تالیف مهندس علیرضا محمدی احمدی نشر فدک ایساتیس سال 1385) مراجعه نمایید .

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

*-درابتدای ساخت CNC  زبانهای مختلف برنامه نویسی به شرح ذیل ابداع واجرا شدند:

1- زبان برنامه نویسی Automatically Programmed Tool (APT)

2- زبان برنامه نویسی Continiue (2CL)

3- زبان برنامه نویسی Adaptation of ADAPT (ADAPT)

4- زبان برنامه نویسی  Automatic system for positioning tools (AUTSPOT)

5- زبان برنامه نویسی National engineering laboratory (NELAPT)

6- زبان برنامه نویسی Metal research institeturning (MITURN)

7- زبان برنامه نویسی Batchcurve

8- زبان برنامه نویسی Compact

هرکدام از زبانهای اشاره شده دارای معایب ومزایائی نسبت به هم وعمدتا دارای حجم بالا ونیازمند آموزشهای سخت بودندولی درکل ودرنهایت زبان برنامه نویسی G-code   برای برنامه نویسی دستگاههای CNC   ابداع وتصویب گردید که زبانی ساده وپرکاربرد وبا توانایی قوی وقابل استفاده درکامپیوترهای کوچک بوده که به صورت استاندارد معرفی ودرتمام دستگاههای CNC به عنوان زبان برنامه نویسی استاندارد معرفی شده (در کنترلرهای CNC شرکت معتبر  HEIDEN HAIN  آلمان زبانی اختصاصی  علاوه  بر زبان  G-code تعبیه شده که قابل انتخاب می باشد ) ومابه آموزش آن می پردازیم.

 

توضیح برنامه نویسی CAD/CAM  وبرنامه نویسی دستی :

دربرنامه نویسی برای دستگاههای CNC از دوروش معمول برنامه نویسی دستی ویا به کمک نرم افزارهای CAD/CAM استفاده می کنیم که در هردو روش در نهایت برنامه به  همان زبان G-code  آماده وبه حافظه دستگاه داده می شود .در برنامه نویسی دستی برنامه نویس بایستی  کاملا با کدها وروشهای برنامه نویسی وتکنولوژی مربوطه آشنا بوده وضمن رعایت اصول فنی وبالحاظ سلیقه وهنر خود برای نوشتن یک برنامه خوب تلاش نماید ولی دربرنامه نویسی CAD/CAM   یک نرم افزار به جای شخص برنامه نویس البته با گرفتن اطلاعاتی شامل شکل سه بعدی قطعه ای که باید ساخته شود واندازه وابعاد متریال خام واندازه وشکل ابزار ماشینکاری وبا انتخاب روشهای ماشینکاری موجود در نرم افزار که به نام استراتژی شناخته می شوند از برنامه نویس وبا لحاظ یک سری دستورات واصول فنی برنامه  G-code ماشینکاری قطعه را به ما می دهد به زبان ساده تر ماشکل سه بعدی یا مدل قطعه را وارد نرم افزار کرده وبه نرم افزار می گوییم: ای نرم افزار برنامه ماشینکاری این قطعه را شما به جای من بنویس!!!! البته نرم افزار  با توجه به  داده های ما اقدام  به ارائه  مسیر ماشینکاری   (Tool path) به ما می کند  ودر صورت تاییدآن توسط کاربر  برنامه G-code   آن قطعه داده می شود که با دادن آن برنامه به دستگاه می توانیم ماشینکاری آنرا انجام دهیم.نرم افزارهای CAD/CAM  شامل دوقسمت CAD مخفف واژه Computer Aided Desighning به معنای توانایی طراحی به کمک کامپیوترو قسمت دوم CAM مخفف واژه

Computer Aided Manufacturing به معنای توانایی ساخت وماشینکاری به کمک کامپیوتر می باشند.هرچند بعضی نرم افزارهای موجود دردنیا یافقط CAD می باشند مانند خود نرم افزار Solid work ویا Auto cad و.....( البته Solid cam  مستثنی می باشد ) ویا فقط CAM  مانند نرم افزار بسیار مشهور وپرکاربرد Power mill  ( خصوصا درایران) که فقط توانایی CAM  را دارا می باشند ( هرچند نرم افزار مذکور علاوه برامکان وفق دادن خود با دیگر نرم افزارهای طراحی موجود دارای نرم افزار طراحی اختصاصی Power shape برای امور طراحی خود می باشد ) ودرموارد پیشرفته تر به صورت CAD/CAM/CAE می باشند که دراین مقال نمی گنجد.برای توضیح این دوروش باید یگوییم که برنامه نویسی دستی به حکم علم ودانش برنامه نویسی ویا دانستن اصول وروش تقسیم کردن ویا جذر گرفتن از عددی روی کاغذ می باشد که یک فردآشنا به ریاضی عملیات تقسیم وجذر را روی کاغذ با دانستن روش علمی آن انجام می دهد وهمین کار را یک فردکمتر آشنا به ریاضی می تواند با یک ماشین حساب باسرعت  ودقت بیشترحتی بدون داشتن دانش انجام آن عملیات روی کاغذ انجام دهد که CAD/CAM دراینجا به حکم ماشین حساب خواهد بود وکاربر آن بایستی اصول کار با ماشین حساب ودراینجا نرم افزار را بداند که در کشور ما متاسفانه اکثر CAD/CAM  کارها بدون دانستن برنامه نویسی دستی وبا کلک هایی از جمله Copy/past کردن چند خط پیش برنامه وپایان برنامه در اول وانتهای برنامه ارائه شده ازطرف نرم افزارکارخود را راه می اندازند (چون برنامه ارائه شده از سوی نرم افزار معمولا درچندین خط اول آن دارای اطلاعات و دستوراتی است که از طرف دستگاههای قدیمی قابل تشخیص نمی باشد) هرچند دردستگاههای جدید این موضوع حل شده ویا می توان به کمک برنامه نویسان حرفه ای دستگاه را با نرم افزار با نوشتن Post هماهنگ نمود.برای قطعه سازی انبوه نوشتن برنامه نویسی دستی مناسبتر وبرای قالبسازی وماشینکاری سطوح با پیچیدگی فراوان ویا قطعات توربین حتما برنامه نویسی با نرم افزار الزامیست چرا که برنامه نویسی خیلی از سطوح زمانگیر وبااحتمال خطای فراوان وتقریبا غیر ممکن است درحالی که با نرم افزار درصورت طراحی درست وارائه اطلاعات فنی صحیح از طرف کاربر بسیار سریع وبدون خطا خواهد بود.ایراد اصلی نرم افزارها درکشور ما عمدتا مربوط به ایرادات وحفره های نرم افزاری موجود درنرم افزارها به علت استفاده ازنرم افزار قفل شکسته می باشد .چند نرم افزار معروف CAD/CAM موجوددربازار به اسامی ذیل کاربرد زیادی دارند :

Power mill

Nx(Unigraphics)

Pro engineer

Master cam

Surf cam

Edgh cam

Art cam

Top solid

ودهها نرم افزار دیگر که علاوه بر فرز وتراش در صنایع چوب وجواهرسازی وغیره کاربرد دارند در بازار موجود ودر مورد چندین نرم افزار علاوه بر وجود مدرسین باتجربه ازجمله آقای مهندس نظری وآقای مهندس هدایتی وآقای مهندس فلاحتی و...وموسسات آموزشی معتبراز جمله مجتمع فنی تهران وموسسه مشاهیر پایتخت وجهاد دانشگاهی شریف وموسسه فلات قاره وموسسه نوین پارسیان و.....کتابها وسی دی های آموزشی (ازجمله شرکت ایتوک رایانه و..) مربوط به آنها دربازار ایران به وفور موجود می باشد.درکل خیلی خوب است که یک برنامه نویس CNC  هم برنامه نویسی دستی را خوب بلد باشد وهم حداقل یک نرم افزار مناسب CAD/CAM  را که هرکدام کاربرد خاص خودشان را دارند ومکمل هم می باشند.

 

مفهوم G-code :

 

دربرنامه نویسی CNC دستورات واصولی ثابت وجود دارد که بایادگرفتن واجرای آنها می توانیم برنامه ماشینکاری وساخت یک قطعه را نوشته واجرا کنیم:

1- هنگام نوشتن یک برنامه همیشه برنامه نویس به ابزار دستور میدهد که از نقطه اولیه (First position) به نقطه بعدی یا هدف (Target) حرکت کند که به طورکلی درقالب دستوری ( برو به.....) انجام می پذیرد ودر زبان انگلیسی ترجمه آن می شود:

( GO TO )به همان معنای برو به.... که در برنامه نویسی CNC حرف اول کلمه GO را گرفته ودر مقابل آن دورقم عدد که مجموعا به عنوان کد دستوری برنامه نویسی شناخته می شوند که هر کد معنای خاص خودش را دارد مثلا کد دستوری  ( G00 ) در برنامه نویسی CNC بااعلام مختصات نقطه هدف یعنی برو به نقطه فرضی که اعلام خواهد شد البته با حداکثر سرعت پیشروی دستگاه  (درادامه این کد وکدهای دیگر به صورت مبسوط کاملا توضیح وآموزش داده خواهند شد)  پس می بینیم زبان G-code  از اول کلمه دستوری برو به ....الهام گرفته شده است .

2- همانگونه که اشاره شدکدهای استاندارد دستوری CNC از سه کاراکتر شامل یک حرف (Word) درسمت چپ وودوکاراکتر درقالب یک شماره یا عدد دورقمی (Code) در سمت راست حرف تشکیل میشوند (درادامه می بینیم در بعضی دستگاهها عدد یک رقمی هم میتواند مقابل حرف نوشته شود)

3- یک برنامه نویس با یادگرفتن اصول برنامه نویسی وکدهای مربوط پس از رعایت اصول اولیه فنی وعلمی ماشینکاری وساخت وبعد طبق سلیقه وهنر خود برنامه خوب یا بد می نویسد.

4- دردستگاههای مختلف با توجه به قدرت وامکانات ونوع طراحی شرکت سازنده تفاوتهایی نسبت به دیگر دستگاهها مشاهده می گردد که یک برنامه نویس واپراتور بایستی قبل ازشروع به کار ابتدا بامطالعه کاتالوگ مربوطه دستگاه خودرا خوب بشناسد (ساختار شناسی دستگاه) وسپس با توجه به آموزش وتجربیات و کاتالوگ دستگاه وبررسی عملکرد دستوری کدها با رفتار هر کد نیزدرآن دستگاه آشنا شده (رفتار شناسی دستگاه)وسپس اقدام به نوشتن برنامه متناسب با کنترلر همان دستگاه بنمایدچراکه تعداد کمی از کدها بعضا در یک کنترلر یک معنا ودر یک کنترلر دیگر معنایی دیگروبعضا برای یک عملکرد دریک دستگاه یک کد وبرای همان عملکرددر کنترلری دیگر با کد دیگری معرفی شده وحتی نحوه اجرا نیز دارای تغییراتی می باشند.

5- دانستن ریاضیات ومخصوصا هندسه واصول ماشینکاری وشناخت ابزاروسرعت برشی وپیشروی وروشهای ساخت از اصول اصلی ومهم در برنامه نویسی می باشد.

 

ساختار برنامه CNC   :

یک برنامه استانداردساده CNC به صورت کلی شامل قسمتهای ذیل می باشد :

 

1-   نام برنامه       Program name                                                                   

2-   محتوای برنامه          Main program                                                          

3-   پایان برنامه      End of program                                                                

 

1-                        نام برنامه (Program name) :

 

حافظه هردستگاه باتوجه به ظرفیت آن توانایی نگهداری حجم معینی از اطلاعات که در اینجا برنامه ما می باشد را دارد وبه زبان ساده هر کنترلر تعداد یا حجم معینی از برنامه را می تواند درخود ذخیره کند مثلا تعداد 100 عدد برنامه که دراین حالت به علت تعداد زیاد برنامه ولزوم تمییز آنها از هم بایستی برنامه ها هرکدام دارای  نام جدا ومتمایزی باشند ودر دستگاهها به روشهای ذیل نامگذاری می شوند:

*- به عنوان مثال برای نامگذاری (برنامه گردتراشی) به زبان G-code از دوقسمت الف- کلمه برنامه ونام برنامه دراینجا گرد تراشی به شرح دیل استفاده می کنیم:

- برای معرفی کلمه برنامه دردستگاههای مختلف از علامات اختصاری مختلف شمال P   یا  O  یا  %  (دردستگاههای قدیمی علامات دیگری نیز وجود داشت) استفاده  می کنیم.

به عنوان مثال در سیستم کنترلرهای Fanuc   و Hust   و Mitsubishi   وسیستمهای مشابه از علامت   O  برای برنامه ودر سیستمهای کنترل Grundic  وسیستمهای مشابه برای معرفی علامت برنامه از علامت   %    ستفاده می شود.

 

ب-برای نام برنامه (دراینجا گرد تراشی) دردستگاههای سیستم جدید می توان به صورت حروف انگلیسی خود همان نام ویا نام اختصاری آن را با توجه به تعداد کاراکتر مجاز هر دستگاه مثلا  GERDTARASHI  تایپ نمودوکه این تعدادکاراکتر وشروط آن در کاتالوگ هر دستگاه معرفی شده ولی درروش استاندارد ودر اکثر کنترلرها ازجمله کنترلر فانوک به صورت درج عدد برای هر برنامه می باشد مثلا عدد 1234  برای برنامه گرد تراشی که این عدد درسمت راست علامت برنامه نوشته می شود که درمثال مامی شود:

 O1234                  

یعنی برنامه شماره  1234  باحرف انگلیسی  O  به معنی وعلامت برنامه وشماره1234    به معنی نام گردتراشی.

در برنامه نویسی CNC  نام برنامه (اگرنوشتن برنامه را مانند یک کاغذ A4 درنظر بگیریم) حتما در گوشه بالای سمت چپ برنامه قرار می گیرد ونوشتن از سمت چپ به راست به سیاق نوشتاری کلمات وجملات زبان انگلیسی می باشد.

نکته : درکنترلرهای مختلف با توجه به سلیقه وشرایط شرکت سازنده علاوه بر اختلاف علامت برنامه (…..-P-O-%) به جزئیاتی ازجمله وجود علامت دونقطه ( : ) در مقابل نام برنامه یا لزوم وعدم لزوم تایپ نام برنامه در سطر اول برنامه و...... نیز مشاهده می گردد که با مطالعه کاتالوگ آن دستگاه باساختارآن دستگاه آشنا می شویم.

 

 

2-                         محتوای برنامه   (Main program) :

 

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

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

 

-         هرخط باشماره خط معرفی میگردد که برای این مهم از حرف بزرگ انگلیسی  N که دراصل مخفف کلمه Number یا شماره خط می باشد ودر سمت راست آن شماره عددی آن خط را یادداشت می کنیم مانند N1 یعنی خط شماره یک ویا  N25 یعنی خط شماره بیست وپنج

 

 

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

 

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

 

 

-         دربعضی سیستمها برخلاف قانون دستگاههای قدیمی پردازنده توانایی خواندن کدها به صورت حروف کوچک انگلیسی را نیز دارد.

 

-         معمولا اکثر سیستمها توانایی ایجاد فاصله بین کدهای دستوری CNC حتی درصورتی که برنامه نویس هنگام تایپ Space نگذارد را دارند.

-         در هنگام استفاده از دستورات Loop و Jump ودستورات وتکنیکهای خاص شماره گذاری خطوط معین الزامی است (درمباحث مربوط به تفصیل توضح داده خواهد شد).

 

-         شماره خطوط می توانند توالی عددی یک به یک یا دوبه دو ویا هر نوع توالی را داشته باشندمثلا به ترتیب  :

 

-         N1 – N2 –N3 –N4 – N5 – N6   (توالی یک به یک شماره خطوط برنامه)

 

-          ویا N2 – N4 – N6 –N8 – N10  (توالی دو به دوی شماره خطوط برنامه

 

-         ویا N5 – N10 – N15 – N20 – N25 (توالی پنج به پنج خطوط برنامه)

 

-          والی آخرکه در اغلب دستگاهها مقدار توالی قابل تنظیم است.

 

-         شماره خط درصورت نوشته شدن بایستی حتما در اول وسمت چپ خط باشد.

 

-         دریک خط نمی شود دوشماره خط N   نوشت.

 

-         درصورت نوشتن دوشماره خط دستگاه  Error   می دهد.

 

-         نکته :

 

-         منظور از Error  این است که هرگاه دستوری نامتعارف یا غلط به دستگاه بدهیم دستگاه به ما در قالب علامتهای نوشتاری وکد ویا روشن شدن چراغ هشدار Error     یا Alarm   نشان می دهد تا ما از آن اشتباه آگاه شویم.

 

-         دربسیاری از دستگاههای CNC  درپایان نوشتن هرخط بستن آن خط باعلامت مخصوص آن کنترلر الزامی است مثلا در سیستمهای FANUC با فشردن دگمه EOB مخفف End Of Block  پایان آن خط بسته می شود ومعمولا دراین کنترلرها درپایان خط علامت (  ؛  )   ثبت می گردد.لازم به یاد آوریست این عمل به عنوان مثال مانند نقطهسرخط در املای فارسی می باشد که دستگاه پس از خواندن علامت پایان هر خط به اجرای خط بعد  می پردازد ولی در خیلی از دستگاهها نیازی به بستن پایان خط نبوده ودرانتهای هر خط کنترلر اقدام به خواندن واجرای خط بعدی می کند ومانیز دراین جزوه صرف نظر از نوع دستگاه وفقط به حالت آموزشی خطوط را بدون بستن پایان خط می نویسیم.  

 

 

 

 

 

3-                        پایان برنامه (End of program) :

 

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

 

 

 

 

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

 

-------------**************--------------************---------------------

************---------------------************-------------***********

 

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

 

 

کد G00     

 حرکت سریع یا مکان یابی Rapid Travers-Positioning

این کد دستوری معروفترین کد موجود در تمامی دستگاههای CNC بوده وبه معنی حرکت سریع محور ( ابزار ) ازنقطه ای به نقطه هدف با حداکثر توانایی سرعت پیشروی محورهای آن دستگاه می باشد که طبیعتا در دستگاههای مختلف متفاوت از هم است مثلا در بعضی دستگاهها حداکثر سرعت پیشروی 5 متر برثانیه (5000 میلی متر برثانیه) ودر بعضی 6 متر برثانیه (6000 میلی متر برثانیه) ودر بعضی 8 متر برثانیه (8000میلی متربرثانیه) ویاباسرعتهای پیشروی دیگر نیز موجود می باشند.

 

 

نکته  مهم : سرعت پیشروی Feed Rate

 

سرعت پیشروی به میزان جابجایی هرجسم ( دراینجا ابزار ومحورها ) از نقطه ای به نقطه ای دیگر براساس واحد (میلی مترmm  ویا اینچ inch ) درواحد زمان که دراینجا دقیقه minute می باشد که به آن Feed Rate     یا نرخ پیشروی می گویند وواحد آن میلی متر ویا اینچ بر دقیقه است ( minmm یا mininch ) البته لازم به تذکر است که برای پیشروی واحد دیگری هم داریم به نام میلی متر یا اینچ بر دور که بعدا توضیح داده خواهد شدوما از این به بعد فقط از واحد میلی متر بر دقیقه استفاده می کنیم).

 

-هرگاه درخطی بعداز شماره خط دستور G00   رابدهیم یعنی به محور( ابزار) میگوییم که با حداکثر سرعت پیشروی آن دستگاه به نقطه هدف برود وبرای معرفی نقطه هدف مختصات عددی آن نقطه هدف را در مقابل  کد  G00  تایپ می کنیم به عنوان مثال اگر اگر ابزار فرز انگشتی ما در نقطه مختصاتی صفر وصفریعنی درمحور طولی صفر ومحور عرضی صفرباشد ( فعلا صرف نظر از محورارتفاعی که از این به بعد به محور طولی محور X   وبه محور عرضی محور Y  وبه محور ارتفاعی محور  Z  میگوییم ) وبخواهیم با سرعت بالا ( دراصطلاح فرزکاری بانام سرعت خرگوشی شناخته می شود ) به نقطه طولی یا محور  X با اندازه 50 میلی متر ونقطه عرضی یا محور Y  بااندازه 40 میلی متر برود در خط مربوطه تایپ می کنیم :

N30  G00  X50  Y40

طبق دستور خط شماره 30 برنامه بالا ابزار به نقطه مختصاتی X50  وY40 با حداکثرسرعت پیشروی دستگاه رفته ودقیقا درآن نقطه توقف می کند.

-دردستگاههای  CNC  بعد ازنوشتن هرکد آدرس دهی برای معرفی نقطه دقیق جابجایی بسیار مهم می باشد که آدرس دهی برای جابجایی بر اساس سیستم مختصات می باشد .البته دونوع سیستم آدرس دهی Cartesian     و Polar  دربرنامه نویسی استفاده می شود که به ترتیب به شرح روش برنامه نویسی در آنها می پردازیم وابتدا برنامه نویسی در سیستم Cartesian :

دراین سیستم دوشرط اصلی وجود دارد:

1-   تمامی اندازه ها درهمه محورها براساس واحد     ( unit )بوده که در دستگاههای CNC واحد یا میلی متر  ویا اینچ به صورت انتخابی می باشد که دراین مقال از این به بعد ما فقط از واحد میلی متر استفاده می کنیم.

2-    محورها حتما برهم عمود می باشند که دراینجا ما برای آموزش برنامه نویسی از یک فرز CNC  عمودی با سه محور  X – Y –Z  استفاده می کنیم که مانند سیستم مختصات درریاضیات برهم عمود می باشند ودر شکل زیرمی توان طبق قانون دست راست جهت محورها را پیدا نمود وروی یک دستگاه فرضی فرز نشان داد:

 

 

 

طبق قانون اگر روبروی یک دستگاه فرزCNC عمودی بایستیم ودست راست خودراوقتی کف آن به سمت آسمان است به گونه ای قرار بدهیم که سه انگشت شصت واشاره ووسط دست راست ما نسبت به هم به صورت عمودی قرار گیرند ونوک انگشت اشاره ما درحالی که روبروی دستگاه ایستاده ایم به سمت دستگاه قرار گیرد دراین حالت نوک انگشت شصت ما نشانگر جهت مثبت محور X  ونوک انگشت اشاره ما نشانگر جهت مثبت محور   Y ودرآخر نوک انگشت وسط ما نشانگر جهت مثبت محور  Z خواهد بود وطبیعتا جهت مخاف آنها بیانگر جهت منفی همان محورها می باشد این روش وقانون  اصولی برای جهت یابی محورها وبه دنبال آن توانایی برنامه نویسی می باشد.

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

- کد G00   دراکثر کنترلرها یک کد Modal  می باشد هرچند دربعضی کنترلرها G00   غیرمدال تعریف شده تا از خطرات برخورد احتمالی جلوگیری شود.

 

 

توضیح : تعریف Modal

 

بعضی کدهای برنامه نویسی   CNC وقتی یک بار نوشته می شوند تا آخر آن برنامه وحتی در برنامه های بعدی که ارتباطی هم با این برنامه ندارند و تا هنگامی که ما خودمان آن کد را Cncel     وغیر فعال نکنیم  یا کد مخالف و نقیض آن را ننویسیم همچنان فعال بوده وعملکرد خودرا حتی درصورتیکه در خطوط بعدی نوشته نشوند حفظ می کنندکه به این کدها کدهای Modal   یا خود ابقا یا پایدار وماندگار می گویند ودرمقابل بعضی کدها هم وجود دارند که باهربار نوشتن آنها فقط در همان خط فعال شده وپس از انجام فعالیت خودشان به صورت خود بخود غیر فعال شده وبرای اعمال دوباره عملکردشان باید دوباره نوشته شوند که به این نوع کدهای به اصطلاح یک بارمصرف کدهای  None Modal   ویا  One Shot   میگوییم ودرادامه از هردوحالت را خواهیم دید.

 

نکته بسیار مهم :

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

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

 

 

 

 

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

 

باسپاس فراوان علیرضا محمدی احمدی

09121580843

09378492217

armacnc@yahoo.com

{site_page_oprt}

این پرونده را به اشتراک بگزارید :

Facebook Twitter Google Digg Reddit LinkedIn StumbleUpon Email

یادداشت کاربران

درج یک یادداشت :

نام کاربری :
پست الکترونیکی :
وب :
یادداشت :
کد امنیتی :
4 + 6 = ?

آخرین مقاله ها

تبلیغات

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