সাধারনত 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 লেখা হয়।