সোমবার, ২৩ মে, ২০২২

মুখবন্ধ

CNC মেশিনের প্রোগ্রামিং কাকে বলে?

প্রোগ্রামিং CNC মেশিনের খুবই গুরুত্বপূর্ণ একটি অংশকোন একটি কম্পোনেন্টকে বা ওয়ার্কপিসকে CNC মেশিনে তৈরি করার জন্য ঐ কম্পোনেন্টের ড্রয়িং থেকে যে সিরিজ অফ কোডেড ইনফর্মেশন (series of coded information) তৈরি করা হয় এবং যার ভিত্তিতে মেশিনকে চালানো হয়, তাকে CNC মেশিনের প্রোগ্রাম বা পার্ট প্রোগ্রাম বলা হয়এই কোডেড ইনফর্মেশনগুলির মধ্যে CNC মেশিন এবং তার বিভিন্ন কন্ট্রোল ফাংশানগুলিকে চালানোর জন্য বিভিন্ন নির্দেশ বা ইন্সট্রাকশন দেওয়া থাকেসাধারনত পার্ট প্রোগ্রামকে CNC কন্ট্রোলারের নিউম্যারিক্যাল কি বোর্ডের সাহায্যে লেখা হয় এবং  CNC মেশিনের কন্ট্রোলারের মেমোরিতে স্টোর করে রাখা হয় এরপর মেশিনে ঐ প্রোগ্রাম প্রুভ-আউট হবার পর সেটি কন্টিনিউয়াস প্রোডাকশানের জন্য দেওয়া হয় কিছু ক্ষেত্রে আবার বাইরের কম্পিউটারে প্রোগ্রাম লিখে তা CNC কন্ট্রোলারে ট্রান্সফার করা হয়সাধারনত রিপিটেড বা স্পেসিফিক ওয়ার্কের জন্য কিছু প্রোগ্রামকে আবার ছোট ছোট “সাব-প্রোগ্রাম” এবং “সাইকেল-প্রোগ্রাম” হিসাবেও লেখা হয়, এবং এগুলিকে মেন পার্ট প্রোগ্রামের মধ্যেই সাব-প্রোগ্রাম এবং সাইকেল-প্রোগ্রাম হিসাবে লেখা হয় বিশেষ ধরনের কিছু CNC কন্ট্রোলার প্রোগ্রাম লেখার জন্য বিশেষ ধরনের সফটওয়্যারের ব্যাবহার করে, সেক্ষেত্রে শুধুমাত্র কিছু নিউম্যারিক ভ্যালু ইনপুট করেই সম্পুর্ণ প্রোগ্রাম স্বয়ংক্রিয় ভাবে প্রস্তুত করা হয়।    


CNC মেশিনের পার্ট প্রোগ্রাম কি ভাবে লেখা হয়?

CNC মেশিনের পার্ট প্রোগ্রাম লিখতে হলে প্রথমেই যার সম্মন্ধে সম্যক ধারনা থাকা দরকার সেটি হল মেশিনের প্রোগ্রাম ল্যাঙ্গুয়েজ (program language) এবংকো-অর্ডিনেট সিস্টেম (Coordinate system) এই প্রোগ্রাম ল্যাঙ্গুয়েজ এবং কো-অর্ডিনেট সিস্টেম সম্মন্ধে পরবর্তীতে বিস্তারিত আলোচনা করা হয়েছেসাধারনত প্রোগ্রামকে লেখা হয় কম্পোনেন্টের মেশিনিং এর জন্য কাটিং টুলের মুভমেন্ট পাথের কো-অর্ডিনেট ভ্যালুকে লিস্টিং করে এবং এই উদ্দেশ্যে বিভিন্ন প্রিপারেটরি ফাংশান (preparatory functions) অর্থাৎ বিভিন্ন “G কোডসব্যাবহার করা  হয় অর্থাৎ মেশিনিং এর জন্য এই কো-অর্ডিনেট ভ্যালু অনুযায়ী মেশিনের কোন কোন অ্যাক্সিসের কতটুকু ডিসটেন্স এবং কিভাবে তার মুভমেন্ট প্রয়োজন এবং কত ফীডে হওয়া প্রয়োজন তা আলাদাভাবে লেখা হয়এছাড়া বিভিন্ন মিসসেলেনিয়াস কোড (miscellaneous codes) বা “M কোডস যেমন টুল চেঞ্জ কমান্ড, স্পীন্ডল অন বা অফ, কুল্যান্ট অন বা অফ ইত্যাদি কমান্ড আলাদাভাবে লেখা হয়এই সকল ইন্সট্রাকশনগুলিই পরপর আলাদা ব্লকে এমনভাবে লেখা হয়ে থাকে, যাতে কিনা তা মেশিনিং এর জন্য মিনিংফুল হয়

CNC মেশিনের প্রোগ্রামকে লিখতে গিয়ে সাধারনত চারটি টার্ম ব্যাবহার করা হয়ে থাকেএগুলি হল ক্যারেক্টার (Character), ওয়ার্ড (Word), ব্লক (Block) এবং প্রোগ্রাম (Program)ক্যারেক্টার হল CNC মেশিনের প্রোগ্রামের সবথেকে ছোটো ইউনিটডিজিট, লেটার বা সিম্বল দিয়ে প্রোগ্রামের এই ক্যারেক্টার বোঝানো হয়ওয়ার্ড হল একটি আলফা নিউম্যারিক ক্যারেক্টারের সংমিশ্রনপ্রতিটি ওয়ার্ড একটি ক্যাপিটাল লেটার দিয়ে শুরু হয়ে একটি নিউম্যারিক বা সংখ্যা দিয়ে শেষ হয়এবং এই ওয়ার্ডই অ্যাক্সিসের বিভিন্ন অবস্থান, ফীড রেট, স্পীড, মিসসেলিনিয়াস ফাংশান ইত্যাদি বোঝাতে ব্যাবহার করা হয়একটি ব্লকের মধ্যে এই রকমের কতগুলি ওয়ার্ডকে লজিক্যালি ও সিকোয়েন্স অনুসারে লেখা হয়আবার একটি প্রোগ্রামের মধ্যে এই ধরনের কয়েকটি ব্লককে পরপর লিখে একটি সম্পুর্ণ প্রোগ্রাম লেখা হয় নিচে CNC  মেশিনের প্রোগ্রামের একটি ব্লকের কমন ফর্ম্যাট দেখানো হল

CNC কন্ট্রোলার অনুসারে প্রোগ্রাম লেখার ধরনেও কিছু পার্থক্য দেখা যায়পূর্বেই আলোচনা করা হয়েছে বর্তমানে সবথেকে পপুলার CNC কন্ট্রোলার দুটি হল SIEMENS এবং FANUC, তাই এই বইটিতে প্রোগ্রামিং এর সকল ফর্ম্যাট এবং ব্যাবহৃত সিম্বলগুলি ওই দুটি কন্ট্রোলারকে মাথায় রেখে করা হয়েছেCNC মেশিনের পার্ট প্রোগ্রামকে সাধারনত “MPF”, “%” অথবা “O” এবং তার সাথে একটি নাম্বার দিয়ে নামকরণ বা চিহ্নিত করা হয়, যেমন “MPF 1234” , “% 1234” বা “O 1234” ইত্যাদি এবং সাব-প্রোগ্রামকে “SPF” বা “L” এবং তার সাথের নাম্বার দিয়ে চিহ্নিত করা হয় যেমন “SPF 123” বা “L 123” ইত্যাদি একটি প্রোগ্রামকে সাধারনত কতগুলি আলাদা আলাদা লাইন বা ব্লক (blocks) হিসাবে সিকোয়েন্সিয়ালি (sequentially) লেখা হয় এবং প্রতিটি ব্লককে আবার আলাদা নাম্বার দিয়ে চিহ্নিত করা হয়এই ব্লকের নাম্বার সাধারনত “N” এবং তার সাথের নিউমেরিক্যাল ভ্যালু দিয়ে চিহ্নিত করা হয়, যেমন N001” প্রথম ব্লকের নাম্বার, “N002” দ্বিতীয় ব্লকের নাম্বার ইত্যাদি এরপর ঐ ব্লক নাম্বারের পরে মেশিনের ইন্সট্রাকশনগুলি পর্যায়ক্রমে লেখা হয়প্রতিটি ব্লকের ইন্সট্রাকশনগুলি শেষ হবার পর LF” চিহ্ন বা “ ; ” দিয়ে প্রোগ্রাম ব্লকের শেষ বা "End of block" বোঝানো হয় সম্পুর্ন প্রোগ্রামের শেষে “M30” লেখা হয় ঐ পার্ট প্রোগ্রাম বা মেইন প্রোগ্রাম শেষ বোঝানোর জন্যআবার সাব প্রোগ্রাম শেষ বোঝানোর জন্য সাধারনত “M17” ব্যাবহার করা হয়পরের পাতায় একটি প্রোগ্রাম (FANUC কন্ট্রোলার অনুসারে) কিভাবে লেখা হয়, তা একটি ছোট্ট উদাহরনের সাহায্যে বোঝানো হল

O1001                                          “প্রোগ্রাম নাম্বার 1001”
N1 G21 G94 ;                                  “প্রিপারেটরি ফাংশানস কমান্ড
N2 G01 X10.0 Y20.0 Z30.0 F500 ;           “অ্যাক্সিস মুভমেন্ট কমান্ড”        
N3 T01 M06 ;                                 “টুল চেঞ্জ কমান্ড
N4 M03 S1000 ;                               “স্পিন্ডল রোটেশান কমান্ড
N5 M07 ;                                       “কুল্যান্ট অন কমান্ড”
N6 …….
N7 …….
N8 …….
N9 …….
N10 M30 ;                                      “প্রোগ্রাম শেষ কমান্ড

 

CNC মেশিনের পার্ট প্রোগ্রাম কি ভাবে “Run” করানো হয়?

প্রোগ্রাম শুরুর ইন্সট্রাকশন সাধারনত প্রথম ব্লকে থাকে এবং শেষ ব্লকে প্রোগ্রাম শেষের ইন্সট্রাকশন দেওয়া হয়CNC মেশিনে পার্ট প্রোগ্রামকে রান করানোর সময় কন্ট্রোলার সবসময় প্রথম ব্লক থেকেই প্রোগ্রামকে এক্সিকিউট (execute) করে থাকে এবং একটি ব্লক সঠিকভাবে এক্সিকিউট হয়ে যাবার পরই পরবর্তি ব্লক এক্সিকিউট হয় এবং এইভাবেই একটির পর আরেকটি ব্লক এক্সিকিউট হয়ে সম্পুর্ণ প্রোগ্রামটি রান করেযদি মেশিনিং এর সময় প্রোগ্রামের কোন একটি ব্লক এক্সিকিউট করার সময় কোন সমস্যা হয়, তবে CNC কন্ট্রোলার কখনোই পরবর্তি প্রোগ্রাম ব্লককে এক্সিকিউট করে নাএবং সেক্ষেত্রে প্রোগ্রাম এক্সিকিউশান ওই ব্লকেই থেমে যায় এবং কি কারনে ওই ব্লকটি এক্সিকিউট করা হল না, সেটি ফল্ট ম্যাসেজ হিসাবে দেখিয়ে থাকেসম্পুর্ণ প্রোগ্রামের মধ্যে কোন একটি প্রোগ্রাম ব্লককে না এক্সিকিউট করতে চাইলে বা স্কিপ (skip) করতে চাইলে ঐ ব্লক নাম্বারের শুরুতে ” / “ ক্যারেক্টার ব্যাবহার করে তা করা হয়ে থাকেএছাড়াও কোন প্রোগ্রামের মধ্যে কোন রিমার্ক বা অন্য কিছু লিখতে চাইলে সেটি “(“ এবং “)” এই দুটি ক্যারেক্টার ব্যাবহার করে তার মধ্যে লেখা হয়, যা কিনা CNC মেশিনের প্রোগ্রামের কোন কমান্ড নয় সেটি শুধুমাত্র প্রোগ্রামকে সহজে বোঝার জন্য ব্যাবহৃত হয়এছাড়াও ব্লক সার্চ অপশানের (Block search option) সাহায্যে, অর্থাৎ প্রোগ্রামের মধ্যের কোন একটি ব্লকের নাম্বারকে সার্চ করে প্রোগ্রামের প্রথম থেকে না চালিয়ে সরাসরি সেই ব্লক থেকেও চালানো সম্ভব

 

CNC মেশিনের প্রোগ্রামিং ল্যাংগুয়েজ কি?

কোন CNC মেশিনের প্রোগ্রামিং ল্যাংগুয়েজ এমন হওয়া উচিৎ, যাতে তা অবশ্যই মেশিনের কন্ট্রোল সিস্টেমের বোধগম্য হয় এবং এর জন্য বিভিন্ন ধরনের “G-code প্রোগ্রামিং ল্যাঙ্গুয়েজ সবথেকে বেশি ব্যাবহার হয়যদিও CNC কন্ট্রোলারের উপর নির্ভর করে এই প্রোগ্রামিং ল্যাঙ্গুগুয়েজও বিভিন্ন ধরনের হয়কিছু কিছু CNC কন্ট্রোলার ম্যানুফ্যাকচারার আবার প্রোগ্রামিং এর জন্য তাদের নিজস্ব প্রোগ্রামিং ল্যাঙ্গুয়েজও ব্যাবহার করে, সেক্ষেত্রে কোন প্রকার G কোডই ব্যাবহার করা হয় নাতবে সবথেকে পপুলার CNC সিস্টেম বিল্ডাররা যেমন SIEMENS, FANUC ইত্যাদি G-code প্রোগ্রামিং ল্যাঙ্গুয়েজকেই ব্যাবহার করে থাকেনতাই এই অধ্যায়ে শুধুমাত্র G-code প্রোগ্রামিং ল্যাঙ্গুয়েজ নিয়েই আলোচনা করা হয়েছে

যে কোন ল্যাঙ্গুয়েজের মত G-code প্রোগ্রামিং ল্যাঙ্গুয়েজে CNC মেশিনের প্রোগ্রাম লেখার সময় কিছু কোড লেটার, ওয়ার্ড এবং সংখ্যা ব্যাবহার করা হয়এগুলির সাহায্যে বিভিন্ন প্রিপারেটরি ফাংশানস, মিসসেলেনিয়াস ফাংশানস, অ্যাক্সিস মুভমেন্ট, স্পীড, ফীড, টুল এবং টুল অফসেট ইত্যাদি বোঝানো হয়সাধারনত একটি কোড লেটার এবং তার সাথে যুক্ত নিউম্যারিক্যাল ভ্যালু দিয়ে একটি ওয়ার্ড লেখা হয় এবং এই ধরনের কয়েকটি ওয়ার্ড নিয়ে একটি ব্লক বা প্রোগ্রামের একটি লাইন তৈরি করা হয় প্রোগ্রামের মধ্যের একেকটি ওয়ার্ডই হল মেশিনের জন্য একেকটি আলাদা কমান্ড

উদাহরণস্বরূপ কোন একটি প্রোগ্রাম ব্লকে লেখা রয়েছে “N5 S1000 M03 ;এখানে “N5” এর অর্থ ঐ প্রোগ্রাম ব্লকের নাম্বার, S” অর্থে স্পীন্ডল স্পীড বোঝানো হয় এবং “1000 এর অর্থ ঐ স্পীন্ডলটি কত স্পীডে অর্থাৎ এক্ষেত্রে 1000 rpm” এ ঘুরবেপরবর্তীতে লেখা আছে “M03”, অর্থাৎ এটি মিসসেলেনিয়াস কোড “03এখানে এই কোডের এর অর্থ স্পীন্ডলটির ক্লকওয়াইজ ডাইরেকশানে (clockwise direction) রোটেশানঅর্থাৎ এই প্রোগ্রাম ব্লকটিতে স্পীন্ডলটিকে ক্লকওয়াইজ ডাইরেকশানে 1000 rpm এ ঘোরার জন্য কমান্ড দেওয়া হয়েছেএবং সবশেষে লেখা আছে “;এই ;” চিহ্ন দিয়ে প্রোগ্রাম ব্লকের শেষ বা "End of block" বোঝানো হয়েছেএইধরনের অনেকগুলি ব্লক পরপর লিখে একটি সম্পুর্ন প্রোগ্রাম লেখা হয়। 


মেশিন অনুসারে প্রোগ্রামিং কিভাবে করা হয়

মেশিন টুল ইন্ডাস্ট্রিতে মেশিনিং এর জন্য  বিভিন্ন ধরনের CNC মেশিন ব্যাবহার করা হয়এগুলির মধ্যে কমন বা সবথেকে বেশী যে মেশিনগুলি ব্যাবহার করা হয়, সেগুলি হল বিভিন্ন ধরনের টার্নিং এবং মিলিং মেশিনটার্নিং মেশিনের ক্ষেত্রে সাধারনত দুটি বেসিক অ্যাক্সিস এবং একটি স্পিন্ডল থাকে (X এবং Z অ্যাক্সিস), তাই টার্নিং মেশিনের প্রোগ্রাম X এবং Z অ্যাক্সিসের মুভমেন্ট ধরেই করা হয়তাই টার্নিং মেশিনের প্রোগ্রামিং এর জন্য একটিমাত্র প্লেন ব্যাবহার করা হয়আবার একটি সাধারন মিলিং মেশিনের ক্ষেত্রে তিনটি বেসিক অ্যাক্সিস (X, Y এবং Z) ও একটি স্পিন্ডল থাকেসুতরাং মিলিং মেশিনের প্রোগ্রাম X, Y এবং Z অ্যাক্সিসের মুভমেন্ট ধরে করা হয়, এবং সেক্ষেত্রে প্রয়োজন অনুসারে তিনটি প্লেন ব্যাবহার করেই প্রোগ্রাম করা হয়ে থাকেকখনো কখনো মিলিং মেশিনে রোটারি অ্যাক্সিসও ব্যাবহার করা হয় মেশিনিং এর ক্ষেত্রে ফ্লেক্সিবিলিটি পাওয়ার জন্যসেক্ষেত্রে বিভিন্ন ধরনের রোটারি অ্যাক্সিস (A, B অথবা C অ্যাক্সিস) ব্যাবহার করে প্রোগ্রামিং করা হয়

সরল টার্নিং অপারেশানের জন্য সাধারনত একটি বা দুটি অ্যাক্সিসের একসাথে মুভমেন্টের প্রয়োজন হয়, এবং সরল মিলিং অপারেশানের ক্ষেত্রে প্রোগ্রামিং এ সর্বপেক্ষা তিনটি অ্যাক্সিসের একসাথে মুভমেন্ট করানো হয়ে থাকেকিন্তু বর্তমানে CNC মেশিনে বিভিন্ন ধরনের জটিল মেশিনিং অপারেশানের জন্য পাঁচটি অ্যাক্সিসের একসাথে মুভমেন্টের প্রয়োজন হয় এবং সেক্ষেত্রে একসাথে পাঁচটি অ্যাক্সিসের মুভমেন্টকে নিয়েই প্রোগ্রাম করা হয়যদিও এই ধরনের “Five Axis Meshining Program” খুবই জটিল হয়, এবং সেক্ষেত্রে অ্যাডভান্সড CNC কন্ট্রোলার প্রয়োজন হয় এবং  প্রোগ্রামিং এর জন্য বিশেষ ধরনের সফটওয়্যার ব্যাবহার করা হয়মেশিনিং অপারেশান ছাড়াও আরও বিভিন্ন ধরনের CNC  মেশিন পাওয়া যায় এবং সেগুলির প্রোগ্রামিং এর ধরনও কিছু ক্ষেত্রে আলাদা হয়এখানে শুধুমাত্র বেসিক মেটাল কাটিং অপারেশান (টার্নিং এবং মিলিং) যা কিনা বিভিন্ন ইন্ডাস্ট্রিতে সবথেকে বেশী দেখতে পাওয়া যায়, সেগুলির বিভিন্ন ধরনের প্রোগ্রামিং পদ্ধতি সম্পর্কেই আলোচনা করা হয়েছে।  


CNC মেশিনে প্রোগ্রাম করতে হলে কি কি বিষয়ে প্রাথমিক ধারনা থাকা প্রয়োজন

CNC মেশিনে প্রোগ্রামিং করতে হলে প্রথমেই যে কয়েকটি বিষয়ে সুস্পষ্ট ধারনা থাকা প্রয়োজন, সেগুলি নিম্নরূপ

মেশিন টাইপ
মেজারিং সিস্টেম
অ্যাক্সিস বলতে কি বোঝায় 
প্লেন সিলেকশন
বিভিন্ন ধরনের ফাংশান
বিভিন্ন অফসেট ভ্যালু
প্রোগ্রামে ব্যাবহৃত বিভিন্ন লেটারের অর্থ
বিভিন্ন ধরনের কমান্ড ও তার অর্থ
বিভিন্ন G কোড এবং M কোড ও তার অর্থ

এছাড়াও ওয়ার্কপিসের ব্ল্যাঙ্ক, অর্থাৎ কি ধরনের মেটেরিয়ালে মেশিনিং অপারেশান করা হবে ও তার জন্য কাটিং টুল কি হবে এবং ওয়ার্কপিসের ক্ল্যাম্পিং ব্যাবস্থা কিরকম হবে ইত্যাদি অনকগুলি ফ্যাক্টরের উপর নির্ভর করে একটি CNC মেশিনে প্রোগ্রামিং করা হয়ে থাকেCNC মেশিনে বিভিন্ন ধরনের মেশিনিং অপারেশানের জন্য ব্যাবহৃত বিভিন্ন কাটিং টুল এবং ওয়ার্কপিসের ক্ল্যাম্পিং ব্যাবস্থা সম্পর্কে পরবর্তীতে বিস্তারিত আলোচনা করা হয়েছে।        

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন

Popular Posts