মঙ্গলবার, ২৪ জানুয়ারী, ২০২৩

CNC প্রোগ্রামিং এর বিভিন্ন ধরনের ফাংশান

প্রিপারেটরি ফাংশানস (Preparatory Functions)

প্রিপারেটরি ফাংশানসগুলিকে "G codes” ও বলা হয়এই কোডগুলির সাহায্যে প্রোগ্রামে কি ধরনের ডাইমেনশানিং হবে, ইন্টারপোলেশান কি ধরনের হবে বা মেশিনের অপারেটিং কন্ডিশান কি হবে ইত্যাদি G code এর সাহায্যে বোঝানো হয়G code গুলিকে আলাদা আলাদা গ্রুপে ভাগ করা হয়একটি প্রোগ্রাম ব্লকের মধ্যে ঐ গ্রুপের কেবলমাত্র একটি মাত্র G code কেই ব্যাবহার করা যায়যদিও আলাদা গ্রুপের বিভিন্ন G code একই প্রোগ্রাম ব্লকে ব্যাবহার করা যায়এই অধ্যায়ের শেষে CNC মেশিনের প্রোগ্রামিং এর জন্য ব্যাবহৃত বিভিন্ন G codes এবং তাদের অর্থ আলাদাভাবে দেওয়া হয়েছে

মিসসেলেনিয়াস ফাংশানস (Miscellaneous Functions)

মিসসেলেনিয়াস ফাংশানসগুলি কে সাধারনত "M Codes" বলা হয়প্রোগ্রামে M Codes ব্যাবহার করা হয় মেশিনের বিভিন্ন অ্যাক্টিভিটি যেমন কুল্যান্ট অন বা অফ, অটোমেটিক টুল চেঞ্জ, অটোমেটিক প্যালেট চেঞ্জ ইত্যাদি কাজগুলি সম্পন্ন করার জন্যকোন M Code এর সাহায্যে CNC মেশিন কি কাজ করবে হবে তা সাধারনত মেশিন বিল্ডাররা ঠিক করে থাকে, এবং এই M Code গুলি আলাদা আলাদা মেশিনের ক্ষেত্রে আলাদা হতে পারে এই অধ্যায়ের শেষে CNC মেশিনের প্রোগ্রামিং এর জন্য ব্যাবহৃত কমন কিছু M Codes এবং তাদের অর্থ আলাদাভাবে দেওয়া হয়েছে

 

অক্সিলারি ফাংশানস (Auxiliary Functions)

অক্সিলারি ফাংশানসগুলি কে "H Codes" দিয়ে বোঝানো হয় H Code কে কখনো M কোডের পরিবর্তেও ব্যাবহার করা হয় এছাড়াও প্রোগ্রামে কখনো H ব্যাবহার করে কাটিং টুলের অফসেট বোঝানো হয়ে থাকে

ইন্টারপোলেশান (Interpolation)

CNC মেশিনের প্রোগ্রামিং ইন্টারপোলেশানের অর্থ হল একটি পয়েন্ট থেকে আরেকটি পয়েন্টের মধ্যে দুটি অ্যাক্সিসের একসাথে মুভমেন্টঅ্যাক্সিসের এই মুভমেন্ট দুই ভাবে হতে পারে, একটি স্ট্রেইট পাথে ও অপরটি সার্কুলার পাথে স্ট্রেইট পাথে অ্যাক্সিসের মুভমেন্টকে লিনিয়ার ইন্টারপোলেশান (Linear Interpolation) বলে এবং সার্কুলার পাথে অ্যাক্সিসের মুভমেন্টকে সার্কুলার ইন্টারপোলেশান (Circular Interpolation) বলে লিনিয়ার ইন্টারপোলেশানের জন্য প্রোগ্রামে G01কোড ব্যাবহার করা হয় এবং G02 কোড দিয়ে সার্কুলার ইন্টারপোলেশান ক্লকওয়াইজ ও G03 কোড দিয়ে সার্কুলার ইন্টারপোলেশান আন্টিক্লকওয়াইজ বোঝানো হয় সার্কুলার ইন্টারপোলেশান প্রোগ্রাম দুইভাবে লেখা হয়, প্রথমটি আর্কের স্টার্টিং ও এন্ড পয়েন্ট এবং তার সাথে আর্কের রেডিয়াসকে নিয়ে ও দ্বিতীয়টি আর্কের স্টার্টিং ও এন্ড পয়েন্ট এবং তার সাথে আর্কের সেন্টার পয়েন্টের অবস্থান নিয়েনিচের প্রথম ছবিতে P এবং Q পয়েন্ট দুটির মধ্যে লিনিয়ার ইন্টারপোলেশান মুভমেন্ট দেখানো হয়েছে, এবং পরের ছবিতে P এবং Q পয়েন্ট দুটির মধ্যে সার্কুলার ইন্টারপোলেশান মুভমেন্ট দেখানো হয়েছে




 কাটার রেডিয়াস কম্পেন্সেশন বা CRC (Cutter Radius compensation)

কাটার রেডিয়াস কম্পেন্সেশন বা CRC হল এমন একটি ফাংশান যার সাহায্যে CNC কন্ট্রোলার অটোমেটিক্যালি প্রোগ্রাম করা কাটিং টুলের পথ থেকে ঐ কাটিং টুলের সেন্টার লাইন এমনভাবে সরিয়ে দিয়ে থাকে, যাতে কিনা কাটিং টুলের এজ বা ধার ঐ প্রোগ্রাম করা পথ বরাবর হয়কাটার রেডিয়াস কম্পেন্সেশন সাধারনত কন্টিনিউয়াস পাথ মিলিং অপারেশানের ক্ষেত্রে ব্যাবহার করা হয়G41 দিয়ে কাটার রেডিয়াস কম্পেন্সেশন লেফট ডাইরেকশানে G42 দিয়ে কাটার রেডিয়াস কম্পেন্সেশন রাইট ডাইরেকশানে বোঝানো হয় এবং কাটার রেডিয়াস কম্পেন্সেশন বন্ধ করার জন্য প্রোগ্রামে G40 ব্যাবহৃত হয় নিচের ছবিতে কাটার রেডিয়াস কম্পেন্সেশন কিভাবে কাজ করে তা বোঝানো হয়েছে




রবিবার, ১ জানুয়ারী, ২০২৩

প্লেন সিলেকশন

প্লেন সিলেকশান (Plane selection)

CNC মেশিনের প্রোগ্রামিং এ সার্কুলার ইন্টারপোলেশান এর সময় সাধারনত প্লেন সিলেকশান করার প্রয়োজন হয় কারন সার্কুলার ইন্টারপোলেশান এ মেশিনিং এর সময় দুটি অ্যাক্সিসের একসাথে মুভমেন্ট হয়ে থাকে, এবং সেক্ষেত্রে কোন দুটি অ্যাক্সিসের একত্রে মুভমেন্টের সময় কোন প্লেন সিলেকশান করতে হবে, তা “G” কোড ব্যাবহার করে ঠিক করা হয়CNC মেশিনের প্রোগ্রামে G17, G18 এবং G19 ব্যাবহার করে যথাক্রমে ‘XY’, ‘XZ’ এবং ‘YZ’ প্লেন সিলেকশান করা হয়পরের ছবি দুটির সাহায্যে টার্নিং এবং মিলিং অপারেশানের ক্ষেত্রে প্লেন কিভাবে সিলেকশান করা হয় তা দেখানো হয়েছে


উপরের বাঁদিকের ছবি অনুসারে সিম্পল টার্নিং অপারেশানের ক্ষেত্রে সাধারনত G18 বা XZ প্লেন সিলেকশান করা হয়, কারন সিম্পল টার্নিং অপারেশানে শুধুমাত্র X এবং Z অ্যাক্সিসের মুভমেন্ট হয়ে থাকে এবং সেক্ষেত্রে সিম্পল টার্নিং টুল ব্যাবহার করা হয়কিন্তু সিম্পল মিলিং অপারেশানের ক্ষেত্রেও তিনটি প্লেনই ব্যাবহার করা হয় পরবর্তী ছবিগুলির সাহায্যে একটি ভার্টিক্যাল মিলিং মেশিনের বিভিন্ন প্লেনে সার্কুলার ইন্টারপোলেশানের সময় কাটারের মুভমেন্ট কিভাবে হবে তা দেখানো হল (G02 এবং G03 দিয়ে কাটারের ক্লকওয়াইজ ও অ্যান্টি-ক্লকওয়াইজ মুভমেন্ট বোঝানো হয়েছে)।     

  



 

CNC মেশিনের মেজারিং সিস্টেম

সাধারনত CNC মেশিনের প্রোগ্রামিং এর জন্য কো-অর্ডিনেট (Coordinate) মেজারিং সিস্টেম এবং ডাইমেনশানিং এর জন্য অ্যাবসলিউট অথবা ইনক্রিমেন্টাল সিস্টেম ব্যাবহার করা হয়ে থাকে।

কো-অর্ডিনেট সিস্টেম বলতে কি বোঝায়

কো-অর্ডিনেট (Coordinate) সিস্টেম বলতে বোঝায় কোন একটি প্লেনের উপর একটি পয়েন্টের অবস্থান বোঝানোর জন্য একটি নির্দিষ্ট ডেটাম পয়েন্টের (datum point) তুলনায় পয়েন্টের রিলেটিভ অবস্থান, এবং ঐ অবস্থানেকে বোঝানোর জন্য এক বা একাধিক নাম্বার বা কো-অর্ডিনেটসাধারনত এই ডেটাম পয়েন্টকে জিরো (Zero) ধরা হয় এবং এই জিরো অবস্থানের তুলনায় উক্ত পয়েন্টের মানগুলিকে কো-অর্ডিনেট ভ্যালু বলা হয়CNC মেশিনের প্রোগ্রামিং এর ক্ষেত্রে কোন একটি পয়েন্টের রিলেটিভ অবস্থান পরিমাপের জন্য সাধারনত দুই ধরনের কো-অর্ডিনেট সিস্টেম ব্যাবহার করা হয়, এগুলি হল কার্টেসিয়ান কো-অর্ডিনেট সিস্টেম (Cartesian Coordinate system) এবং পোলার কো-অর্ডিনেট সিস্টেম (Polar Coordinate system)কম্পোনেন্টের ধরন অনুযায়ী একটি প্রোগ্রামের মধ্যে কখনো এক ধরনের কো-অর্ডিনেট সিস্টেম বা কখনো এই দুই ধরনের কো-অর্ডিনেট সিস্টেম একই প্রোগ্রামের মধ্যে ব্যাবহার করা হয়ে থাকে CNC সিস্টেম এই দুই ধরেনের কো-অর্ডিনেট সিস্টেমকে নিয়েই চলতে সক্ষম, কিন্তু কম্পোনেন্টের ধরন অনুযায়ী প্রোগ্রামের মধ্যেই কখনো কার্টেসিয়ান কো-অর্ডিনেট সিস্টেম ব্যাবহার সহজ আবার কখনো পোলার কো-অর্ডিনেট সিস্টেম ব্যাবহার করা সহজ হয়নিচে এই দুই ধরেনের কো-অর্ডিনেট সিস্টেম সম্মন্ধে আলোচনা করা হল

কার্টেসিয়ান কো-অর্ডিনেট সিস্টেম - কার্টেসিয়ান কো-অর্ডিনেট সিস্টেমে একটি প্লেনের উপর কোন পয়েন্টের অবস্থান বোঝানোর জন্য একই ইউনিটের একজোড়া নিউমেরিক্যাল কো-অর্ডিনেট ভ্যালু ব্যাবহার করা হয়এই সিস্টেমে কোন পয়েন্টের অবস্থান বোঝানোর জন্য নিচে দেখানো ছবি অনুযায়ী একটি প্লেনের উপর দুটি অ্যাক্সিয়াল লাইন (axial lines) ঠিক রাইট অ্যাঙ্গেলে টানা হয় এবং ওই দুটি লাইনের সংযোগ পয়েন্টকে ডেটাম পয়েন্ট বা জিরো পয়েন্ট বলা হয়হরাইজন্টাল লাইনটিকে X-অ্যাক্সিস (X-axis) এবং ভার্টিক্যাল লাইনটিকে Y-অ্যাক্সিস (Y-axis) বলা হয়এবার এই লাইন দুটির দ্বারা সৃষ্ট চারটি এরিয়াকে কোয়াড্রান্ট (quadrants) বলা হয়, এগুলি হল যথাক্রমে কোয়াড্রান্ট – I, II, III এবং IV



উপরের ছবি অনুযায়ী যদি কোন পয়েন্টের অবস্থান কোয়াড্রান্ট–I এ থাকে, তবে ঐ অবস্থানের X এবং Y এই দুটি ভ্যালুই পজিটিভ হবে, সেরকমই কোয়াড্রান্ট –II তে X এর ভ্যালু নেগেটিভ এবং Y এর ভ্যালু পজিটিভ হবে, কোয়াড্রান্ট –III তে X এবং Y এই দুটি ভ্যালুই নেগেটিভ হবে এবং সবশেষে কোয়াড্রান্ট –IV য়ে X এর ভ্যালু পজিটিভ এবং Y এর ভ্যালু নেগেটিভ হবেউপরের ছবিতে চারটি কোয়াড্রান্টের মধ্যে অবস্থিত P, Q, R এবং S এই পয়েন্টগুলির কার্টেসিয়ান কো-অর্ডিনেট সিস্টে অনুযায়ী নিউমেরিক্যাল কো-অর্ডিনেট ভ্যালু কি হবে তা ছবিতে দেখানো হয়েছে

কার্টেসিয়ান কো-অর্ডিনেট অনুসারে ওয়ার্কপিসের ডাইমেনশান - কার্টেসিয়ান কো-অর্ডিনেট সিস্টে অনুযায়ী কোন ওয়ার্কপিসের ডাইমেনশান কিভাবে নেওয়া হয়ে থাকে, তা নিচের ছবির সাহায্যে বোঝানো হলনিচে বাঁদিকের ছবিতে ওয়ার্কপিসের উপরে P, Q এবং R তিনটি পয়েন্ট নেওয়া হয়েছে এবং ওই পয়েন্ট তিনটি কার্টেসিয়ান কো-অর্ডিনেট সিস্টে অনুসারে X, Y এবং Z অ্যাক্সিসের সাপেক্ষে কিভাবে নেওয়া হবে তা নিচের ছবি দুটির সাহায্যে দেখানো হয়েছে


পোলার কো-অর্ডিনেট সিস্টেম - পোলার কো-অর্ডিনেট সিস্টেম হল একটি টু-ডাইমেনশনাল কো-অর্ডিনেট সিস্টেম, অর্থাৎ এই সিস্টেমে একটি প্লেনের উপর কোন পয়েন্টের অবস্থান বোঝানোর জন্য রেফারেন্স পয়েন্ট থেকে (যাকে কখনো পোলও বলা হয়) সরাসরি ঐ পয়েন্টের দূরত্ব এবং রেফারেন্স ডাইরেকশনের তুলনায় তার কৌণিক মান, এই দুটি ব্যাবহার করা হয়নিচে পোলার কো-অর্ডিনেট সিস্টেমের একটি ছবি দেওয়া হলএখানে P, Q, R এবং S পয়েন্টগুলির অবস্থান বোঝানোর জন্য রেফারেন্স পয়েন্ট O থেকে তাদের দূরত্ব এবং রেফারেন্স ডাইরেকশন থেকে কৌণিক মান কত হবে তা টেবিল আকারে দেখানো হয়েছে


কার্টেসিয়ান ও পোলার কোন কো-অর্ডিনেট সিস্টেম ব্যাবহার সুবিধাজনক?

বেশিরভাগ CNC প্রোগ্রামিং এর ক্ষেত্রে কার্টেসিয়ান কো-অর্ডিনেট সিস্টেমই ব্যাবহৃত হয়, কিন্তু কিছু বিশেষ ক্ষেত্রে পোলার কো-অর্ডিনেট সিস্টেমের ব্যাবহার সুবিধাজনক হয়পরবর্তিতে একটি ছবির সাহায্যে দেখানো হয়েছে, কোথায় কার্টেসিয়ান কো-অর্ডিনেট সিস্টেমের ব্যাবহার সুবিধাজনক এবং কোন ক্ষেত্রে পোলার কো-অর্ডিনেট সিস্টেমের ব্যাবহার সুবিধাজনকপ্রথম ছবিতে কার্টেসিয়ান কো-অর্ডিনেট সিস্টে P1 পয়েন্টের অবস্থান জানার জন্য R এবং Ø এর তুলনায় P2 এবং P3 পয়েন্ট দুটির ব্যাবহার সুবিধাজনকআবার পরের ছবিতে পোলার কো-অর্ডিনেট সিস্টেম P, Q, R এবং S এর অবস্থান জানার জন্য রেডিয়াস ও অ্যাঙ্গেলের ব্যাবহার সুবিধাজনক

 

অ্যাবসোলিউট কো-অর্ডিনেট মেজারিং সিস্টেম

অ্যাবসোলিউট মেজারিং সিস্টেমে কো-অর্ডিনেট পয়েন্টগুলি সবসময় নেওয়া হয় একই ডেটাম পয়েন্টের রেফারেন্স থেকেসাধারনত এই ডেটাম পয়েন্ট “0, 0” হয়এই “0, 0রেফারেন্স পয়েন্টের ভিত্তিতেই কাটিং টুল মুভমেন্টের সময় বিভিন্ন অ্যাক্সিসের অবস্থান কি হবে তা প্রোগ্রামে নির্দেশ করা থাকে এবং প্রোগ্রামের মেজারিং সিস্টেম কি হবে তা শুরুতেই G-Code দিয়ে নির্দেশ করা থাকেঅ্যাবসোলিউট মেজারিং সিস্টেমের ক্ষেত্রে G90 ব্যাবহার করা হয়অর্থাৎ কোন প্রোগ্রামের শুরুতে G90 ব্যাবহারের অর্থ সম্পুর্ন প্রোগ্রামটিতে ব্যাবহৃত কো-অর্ডিনেট পয়েন্টগুলির অবস্থান সবসময় 0, 0রেফারেন্স পয়েন্টের ভিত্তিতে নেওয়া হয়েছেবেশিরভাগ CNC প্রোগ্রাম অ্যাবসোলিউট মেজারিং সিস্টেম ব্যাবহার করেই লেখা হয়, কারন ওয়ার্ক অফসেট এর সাথে তুলনা করে কোন কাটিং টুলের অবস্থান কি হবে তা এই মেজারিং সিস্টেমে সহজেই বোঝা যায়, ফলে এই মেজারিং সিস্টেমে প্রোগ্রাম লেখাও সহজ হয়নিচে অ্যাবসোলিউট মেজারিং সিস্টেমে কো-অর্ডিনেট পয়েন্টগুলি কিভাবে নেওয়া হয় তা দেখানো হয়েছে

ইনক্রিমেন্টাল কো-অর্ডিনেট মেজারিং সিস্টেম

ইনক্রিমেন্টাল মেজারিং সিস্টেমে কো-অর্ডিনেট পয়েন্টগুলি নেওয়া হয় পুর্ববর্তি পয়েন্টের রেফারেন্স অনুযায়ীঅর্থাৎ CNC প্রোগ্রামের ক্ষেত্রে কোন একটি কাটিং টুলের পরবর্তি মুভমেন্ট কি হবে তা ঐ টুলের পূর্ববর্তি অবস্থানকে ডেটাম পয়েন্ট ধরে পরবর্তী অবস্থানের মান ক্যালকুলেট করা হয়ইনক্রিমেন্টাল মেজারিং সিস্টেমের ক্ষেত্রে G91 ব্যাবহার করা হয়অর্থাৎ কোন প্রোগ্রামের শুরুতে G91 ব্যাবহারের অর্থ ঐ প্রোগ্রামটিতে ব্যাবহৃত বিভিন্ন কো-অর্ডিনেট পয়েন্টগুলির অবস্থান পূর্ববর্তি পয়েন্টের ভিত্তিতে নেওয়া হয়েছেকিছু কিছু CNC প্রোগ্রামের ক্ষেত্রে ইনক্রিমেন্টাল মেজারিং সিস্টেম ব্যাবহার সুবিধাজনক হয়নিচের ছবিতে ইনক্রিমেন্টাল মেজারিং সিস্টেমের সাহায্যে কো-অর্ডিনেট পয়েন্টগুলি কিভাবে নেওয়া হয় তা দেখানো হয়েছে

 

ইনক্রিমেন্টালের তুলনায় অ্যাবসোলিউট মেজারিং সিস্টেমের ব্যাবহার সুবিধাজনক কেন?

বেশিরভাগ CNC প্রোগ্রামই অ্যাবসোলিউট মেজারিং সিস্টেম ব্যাবহার করে লেখা হয়ধরা যাক প্রোগ্রামে কোন একটি পয়েন্টের অবস্থান রয়েছে X123.245 , Y35.346, এবার ঐ অবস্থান থেকে টুলকে X138.392, Y18.139 এই অবস্থানে নিয়ে আসা দরকার, এখন অ্যাবসোলিউট মেজারিং সিস্টেমে প্রোগ্রাম লেখার সময় X এবং Y অ্যাক্সিসের মুভমেন্টের জন্য শুধুমাত্র এই X138.392 এবং Y18.139 কমান্ড দুটি দিলেই হবেকিন্তু ইনক্রিমেন্টাল মেজারিং সিস্টেমের ক্ষেত্রে X এবং Y অ্যাক্সিসের মুভমেন্টের জন্য ঐ অ্যাক্সিস দুটির পরবর্তি অবস্থান অর্থাৎ X138.392, Y18.139 থেকে পুর্ববর্তি অবস্থান অর্থাৎ X123.245, Y35.346 বিয়োগ করে সেই কমান্ড দিতে হবেঅর্থাৎ এই ক্ষেত্রে X অ্যাক্সিসের মুভমেন্টের কমান্ড হবে “X15.147” (X138.392 - X123.245) এবং Y অ্যাক্সিসের মুভমেন্টের কমান্ড হবে “Y-17.207” (Y18.139 - Y35.346) এখন কোন একটি প্রোগ্রামে সাধারনত এই রকম কয়েকশো কো-অর্ডিনেট পয়েন্ট থাকে, সুতরাং সহজেই বোঝা যাচ্ছে যে ইনক্রিমেন্টাল ব্যাবস্থায় প্রোগ্রাম করা সত্যিই অসুবিধাজনক

এছাড়াও প্রোগ্রাম লেখার সময়, যদি প্রোগ্রামের মধ্যের কোন একটি লাইনে কোন ভুল হয়, তবে অ্যাবসোলিউট মেজারিং সিস্টেমের ক্ষেত্রে শুধুমাত্র ঐ লাইনে লিখিত অ্যাক্সিসগুলির ঐ নির্দিষ্ট অবস্থানেরই বিচ্যুতি হবে, এর জন্য অ্যাক্সিসগুলির পরবর্তি অবস্থানের উপর কোন প্রভাব পবে নাতাই এই মেজারিং সিস্টেমে লেখা প্রোগ্রামের মধ্যের ভুল খুঁজে বের করাও খুবই সুবিধাজনককিন্তু ইনক্রিমেন্টাল মেজারিং সিস্টেমের প্রোগ্রামে কোন লাইনে যদি ভুল হয়, তবে ঐ লাইনের পরে লিখিত অ্যাক্সিসগুলির সকল অবস্থানেরই বিচ্যুতি হবে, তাই ইনক্রিমেন্টাল মেজারিং সিস্টেমে লেখা প্রোগ্রামের মধ্যের ভুল খুঁজে বের করাও খুবই অসুবিধাজনক

যদিও কিছু কিছু ক্ষেত্রে অ্যাবসোলিউট মেজারিং সিস্টেমে লেখা একটি প্রোগ্রামের মধ্যেই কয়েকটি যায়গায় সুবিধার জন্য ইনক্রিমেন্টাল মেজারিং সিস্টেমও ব্যাবহৃত হয়সেক্ষেত্রে প্রোগ্রামের শুরুতেই G90 ব্যাবহার করা হয় অ্যাবসোলিউট মেজারিং সিস্টেমের জন্য এবং পরবর্তিতে যেখানে ইনক্রিমেন্টাল মেজারিং সিস্টেম ব্যাবহার করা হবে তার শুরুতে G91 ব্যাবহার করা হয়আবার পুনরায় অ্যাবসোলিউট মেজারিং সিস্টেমে ফিরে আসার জন্য G90 লেখা হয়

Popular Posts