বৃহস্পতিবার, ২০ অক্টোবর, ২০২২

CNC মেশিনের অ্যাক্সিস বলতে কি বোঝায়

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


CNC মেশিনের অ্যাক্সিসের নামকরণ কিভাবে করা হয়

একটি CNC মেশিনে দুই তিন চার বা আরও আধিক সংখ্যক অ্যাক্সিস থাকতে পারেতবে X, Y এবং Z অ্যাক্সিসকে মেশিনের প্রাইমারি অ্যাক্সিস বলা হয়, এবং ঐ X, Y, Z অ্যাক্সিস তিনটি কো-অর্ডিনেট সিস্টেমের XYZ হিসাবে গন্য করা হয়X, Y এবং Z অ্যাক্সিসের কো-অর্ডিনেট নামকরন কিভাবে করা হয়, তা রাইট হ্যান্ড রুলের (right hand rule) মাধ্যমে দেখানো হলনিচের ছবিতে একটি মেশিনের তিনটি প্রাইমারি অ্যাক্সিসের নাম অনুযায়ী তাদের কো-অর্ডিনেট সিস্টেমের সাপেক্ষে দেখানো হয়েছে

 

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


কিছু CNC মেশিনে কখনো মেশিনিং এর প্রয়োজনে অতিরিক্ত লিনিয়ার অ্যাক্সিসের সংযোগ করার প্রয়োজন হয়, সেক্ষেত্রে U, V এবং W কে অতিরিক্ত লিনিয়ার অ্যাক্সিস হিসাবে সংযোগ করা হয়X অ্যাক্সিসের সাথে প্যারালাল অ্যাক্সিসকে ‘U’ অ্যাক্সিস বলা হয়, Y অ্যাক্সিসের সাথে প্যারালাল অ্যাক্সিসকে ‘V’ অ্যাক্সিস এবং Z অ্যাক্সিসের সাথে প্যারালাল অ্যাক্সিসকে ‘W’ অ্যাক্সিস হিসাবে গন্য করা হয়। নিচের ছবিতে একটি মাল্টি অ্যাক্সিস CNC মেশিনের ছবি দেওয়া হল, যেখানে রোটারি এবং অ্যাডিশনাল অ্যাক্সিস দেখানো হয়েছে


CNC মেশিনের টাইপ

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

 

 

উপরের ছবিগুলিকে লক্ষ্য করলে দেখা যাবে হরাইজন্টাল CNC মেশিনিং সেন্টারের ক্ষেত্রে স্পিন্ডলের সাধারনত “Y” অ্যাক্সিসের সাথে যুক্ত অবস্থায় উপর নিচে বা ভার্টিক্যালি মুভমেন্ট হয় এবং এক্ষেত্রে “X”  “Z” অ্যাক্সিস দুটির হরাইজন্টাল মুভমেন্ট হয়ে থাকে আবার  ভার্টিক্যাল CNC মেশিনিং সেন্টারের ক্ষেত্রে স্পিন্ডল “Z” অ্যাক্সিসের সাথে যুক্ত অবস্থায় উপর নিচে বা ভার্টিক্যাল মুভমেন্ট হয় এবং সেক্ষেত্রে “X”  “Y” অ্যাক্সিস দুটির হরাইজন্টাল মুভমেন্ট হয়ে থাকে “CNC টার্নিং সেন্টারের ক্ষেত্রে সাধারনত স্পিন্ডলের কোনরূপ অ্যাক্সিয়াল মুভমেন্ট হয় না, অর্থাৎ স্পিন্ডল স্থির অবস্থায় একই জায়গায় থেকে ঘুরতে থাকে এবং এক্ষেত্রে কাটিং টুল বা টারেটের মুভমেন্টের সাথে যুক্ত “X”  “Z” অ্যাক্সিস দুটির মুভমেন্ট হয়ে থাকে বেশিরভাগ CNC  টার্নিং সেন্টারেই কেবলমাত্র “X” এবং “Z” এই দুটি অ্যাক্সিসই থাকে, কিন্তু কিছু স্পেশাল পারপাস CNC  টার্নিং সেন্টারে এবং টার্নমিল সেন্টারে” “Y” অ্যাক্সিসের ব্যাবহার দেখা যায়

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

 

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

মুখবন্ধ

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 মেশিনে বিভিন্ন ধরনের মেশিনিং অপারেশানের জন্য ব্যাবহৃত বিভিন্ন কাটিং টুল এবং ওয়ার্কপিসের ক্ল্যাম্পিং ব্যাবস্থা সম্পর্কে পরবর্তীতে বিস্তারিত আলোচনা করা হয়েছে।        

মঙ্গলবার, ১০ মে, ২০২২

PLC প্রোগ্রাম

 PLC প্রোগ্রাম বলতে কি বোঝায়

পূর্বেই আলোচনা করা হয়েছে PLCকে RUN করানোর জন্য একটি কন্ট্রোল প্রোগ্রামে প্রয়োজন হয় যা কিনা সাধারনত বাইরের কম্পিউটারে লিখে PLCতে পাঠানো হয় এবং এই প্রোগ্রাম PLC ইউজার বা PLC যে মেশিনে ব্যাবহার করা হবে, সেই মেশিন ম্যানুফ্যাকচারাররা লিখে থাকেন এই প্রোগ্রাম বিভিন্ন ল্যাংগুয়েজে বা ভাষায় লেখা যায়, তবে এগুলির মধ্যে সবথেকে প্রচলিত ল্যাংগুয়েজগুলি হল ল্যাডার লজিক বা LAD, স্টেটমেন্ট লিস্ট বা STL এবং ফাংশান ব্লক ডায়াগ্রাম বা  FBDতাই এখানে শুধুমাত্র এই তিনটি ল্যাংগুয়েজ সম্পর্কেই আলোচনা করা হয়েছে আবার এই তিনটি ল্যাংগুয়েজের মধ্যে ল্যাডার লজিক ল্যাংগুয়েজ বা LADDER ডায়াগ্রামে প্রোগ্রাম লেখা এবং বোঝা সবথেকে সুবিধজনক, তাই বেশীরভাগ PLC ম্যানুফ্যাকচারাররা এই LADDER ল্যাংগুয়েজকেই বেশী ব্যাবহার করে থাকেন  এই অধ্যায়ে তিনটি ল্যাংগুয়েজ সম্মন্ধে আলাদা ভাবে বিস্তৃত আলোচনা করা হয়েছে এবং পরবর্তীতে শুধুমাত্র LADDER ল্যাংগুয়েজের সাহায্যে কিভাবে PLC প্রোগ্রাম লেখা যায়, তা উদাহরনের সাহায্যে বোঝানো হয়েছে নিচে একটি ইলেকট্রিক্যাল সার্কিটের সমতুল LAD, FBD এবং  STL এ লেখা প্রোগ্রামগুলি দেখানো হল   

        


 

উপরে উল্লিখিত ল্যাডার লজিক, স্টেটমেন্ট লিস্ট এবং ফাংশান ব্লক ডায়াগ্রামের সাহায্যে PLC প্রোগ্রাম লেখার ধরন সম্পর্কে ভালোভাবে বা সঠিকভাবে  বুঝতে হলে প্রথমে লজিক্যাল ফাংশান বা অপারেশান (Logical Function or Operation) সম্মন্ধে সম্যক ধারনা থাকা প্রয়োজন পরের অধ্যায়ে বিভিন্ন Logical Operation এবং সেগুলির ব্যাবহার সম্পর্কে বিস্তৃত আলোচনা করা হয়েছে নিচে তিনটি ল্যাংগুয়েজ সম্মন্ধে আলাদা ভাবে আলোচনা করা হল

ল্যাডার লজিক বা LAD

ল্যাডার লজিক বা LAD হল সবথেকে পপুলার একটি প্রোগ্রামিং ল্যাংগুয়েজ যা কিনা প্রোগ্রামেবল লজিক কনট্রোলার বা PLCতে প্রোগ্রামিং এর জন্য ব্যাবহার করা হয় এই ল্যাংগুয়েজে প্রোগ্রামিং লেখা অনেকটা ইলেকট্রিকাল ওয়্যারিং ডায়াগ্রাম এর মত দেখতে হয় নিচে LAD ডায়াগ্রামের একটি  উদাহরন দেওয়া হল

          

উপরের ছবিটিতে প্রথমে বাঁদিকে একটি সাধারণ ইলেক্ট্রিক্যাল সার্কিট দেখানো হয়েছে, যেখানে S1, S2 এবং S3 নরম্যালি ওপেন (Normally Open) বা NO সুইচ এখানে S1 এবং S2  সুইচ দুটিকে একসাথে অ্যাক্টিভেট করলে অথবা শুধুমাত্র S3 সুইচটিকে অ্যাক্টিভেট করলেই  L1 লাইটটি জ্বলবে এখন অনুরূপ সার্কিটটিকে যদি  LADDER লজিকে লেখা যায় তবে সেটি ডানদিকে দেখানো চিত্র অনুযায়ী দেখা যাবে যেখানে I 0.1, I 0.2, এবং I 0.3  নরম্যালি ওপেন বা NOইনপুট এবং Q 0.0কে আউটপুট হিসাবে নেওয়া হয়েছে, এবং এই আউটপুট কে কাজে লাগিয়ে লাইট জ্বালানো বা কোন মোটরকে চালু করা ইত্যাদি কাজ করানো সম্ভব এখানে প্রোগ্রাম অনুযায়ী I 0.1এবং I 0.2 এই দুটি ইনপুটকে যদি অ্যাক্টিভেট করা হয়, তবে Q 0.0 অ্যাক্টিভেটেড হবে অর্থাৎ Q 0.0 তে আউটপুট পাওয়া যাবে অনুরূপভাবে শুধুমাত্র I 0.3 অ্যাক্টিভেট করলেই Q 0.0 তে আউটপুট পাওয়া যাবে   

ল্যাডার লজিকে বাঁদিকের ভার্টিক্যাল লাইনকে পাওয়ার বা ‘Energized Conductor’ হিসাবে ধরা হয় এবং ডানদিকের ভার্টিক্যাল লাইনকে আউটপুট এলিমেন্ট বা Return Path’ হিসাবে ধরা হয় ল্যাডার লজিক ডায়াগ্রাম সবসময় বাম দিক থেকে ডান দিকে এবং উপর থেকে নিচে পড়া হয়  ল্যাডার ডায়াগ্রাম সাধারানত কয়েকটি সেকশানে ভাগ করা হয় এবং এগুলিকে বলা হয় ‘Rungs’ বা ‘Networks’  উপরের ছবিতে একটিমাত্র rung কে দেখানো হয়েছে প্রতিটি  Rung সাধারনত কতগুলি ইনপুট ইন্সট্রাকশন এর সমন্নয়ে তৈরি হয় এবং এই ইনপুট ইন্সট্রাকশন গুলির থেকে প্রতিটি Rung এর একটিই মাত্র লজিক্যাল আউটপুট নেওয়া হয় এবং একটি PLC প্রোগ্রাম এইরকম অসংখ্য rungs বা নেটওয়ার্কের সমন্নয়ে তৈরি করা আলাদা অধ্যায়ে এই LADDER ডায়াগ্রাম সম্পর্কে বিস্তৃত আলোচনা করা হয়েছে  

 

স্টেটমেন্ট লিস্ট বা STL

স্টেটমেন্ট লিস্ট বা STL হল আরও একটি পপুলার PLC প্রোগ্রামিং ল্যাংগুয়েজ এখানে কি কি অপারেশান (Operation) করতে হবে তা প্রোগ্রামের বাঁদিকে লেখা হয় এবং অপারেন্ড (Operand) বা কি কি আইটেমকে নিয়ে অপারেশান করতে হবে সেগুলিকে ডানদিকে লেখা হয় উপরের ল্যাডার লজিক প্রোগ্রামটিকেই স্টেটমেন্ট লিস্ট প্রোগ্রামে কিভাবে লেখা হবে, তা নিচে বোঝানো হল 


উপরে দেওয়া উদাহরন অনুযায়ী ‘A’ দিয়ে ‘অ্যান্ড’ (AND) লজিক অপারেশান এবং ‘O’ দিয়ে ‘অর’ (OR) লজিক অপারেশান বোঝানো হয়েছে এছাড়া I0.1, I0.2, I0.3 এবং Q0.0 এক্ষেত্রে অপারেন্ড এখানেও প্রোগ্রাম অনুসারে I0.1 এবং I0.2 দুটো ইনপুট একসাথে যদি অন থাকে, তবে আউটপুট Q0.0 অ্যাক্টিভেট হবে কারন ঐ দুটো ইনপুট ‘অ্যান্ড’ (AND) অপারেশানে রয়েছে, অথবা যদি শুধুমাত্র I0.3 ইনপুট অ্যাক্টিভেট থাকে, তাহলেও Q0.0 অ্যাক্টিভেট হবে কারন I0.3 ইনপুটটি প্রথম দুটি ইনপুটের সাথে অর (OR) অপারেশানে রয়েছে স্টেট্মেন্ট লিস্টে লেখা একটি PLC প্রোগ্রামে বিভিন্ন ধরনের অপারেশান এবং অপারেন্ড ব্যাবহার করা হয়ে থাকে এবং একটি সম্পূর্ণ PLC প্রোগ্রামে এই ধরনের অসংখ্য লাইনকে পরপর লিখে একটি সম্পুর্ণ স্টেটমেন্ট লিস্ট প্রোগ্রাম তৈরি করা হয় যদিও বর্তমানে PLCতে এই ল্যাঙ্গুয়েজে লেখা প্রোগ্রামের ব্যাবহার খুবই সীমিত। 

 

ফাংশান ব্লক ডায়াগ্রাম বা FBD 

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


এখানে I0.1 এবং I0.2 ইনপুট দুটিকে অ্যান্ড (AND) অপারেশান ব্লকে যোগ করা হয়েছে এবং ঐ ইনপুটদুটির রেজাল্টকে I0.3 ইনপুটের সাথে অর (OR) অপারেশানের ব্লকের সাথে যোগ করা হয়েছে এরপর ঐ অর (OR) অপারেশানের রেজাল্ট হিসাবে আউটপুট Q0.0 নেওয়া হয়েছে একটি PLC প্রোগ্রামে এই ধরনের অসংখ্য ফাংশান ব্লক পরপর লিখে একটি সম্পুর্ণ প্রোগ্রাম লেখা হয় ফাংশান ব্লক ডায়াগ্রামে লেখা PLC প্রোগ্রামের ব্যাবহারও তুলনামূলক খুবই সীমিত 

 

 PLC কে কিভাবে প্রোগ্রাম করা হয়

যে কোন PLC ইউনিটের মধ্যেই CPU এর সাথে একটি কমিউনিকেশান পোর্ট (Communication Port) থাকে, যার সাহায্যে বাইরের কোন প্রোগ্রামিং ডিভাইসের সাথে PLCর সংযোগ করা হয়সাধারনত এই প্রোগ্রামিং ডিভাইস দুই ধরনের হয়ে থাকে, প্রথমটি একটি ছোট হ্যান্ড-হেল্ড ইউনিট (Hand-held Unit) যার সাহায্যে সরাসরি PLCর মধ্যে প্রোগ্রাম লেখা যায় এবং অপরটি হল সাধারন কম্পিউটার, যার মধ্যে একটি বিশেষ সফটওয়্যার ইন্সটল (Install) করা থাকে, যা কিনা শুধুমাত্র PLC প্রোগ্রামিং এর জন্যই ব্যাবহার করা যায়সাধারনত কোন নির্দিষ্ট কোম্পানির PLC র ক্ষেত্রে এই প্রোগ্রামিং সফটওয়্যারও নির্দিষ্ট থাকে উদাহরণস্বরূপ SIEMENS কোম্পানির STEP 7-Micro , WIN32 ইত্যাদি PLC  প্রোগ্রামিং সফটওয়্যার শুধুমাত্র SIEMENS নির্মিত S7-200 PLCর ক্ষেত্রেই ব্যাবহার করা যায়, তাকে অন্য কোম্পানির যেমন MITSUBISHI, OMRON ইত্যাদি PLC প্রোগ্রামিং এর জন্য ব্যাবহার করা যায় নাসেক্ষেত্রে ওই সকল কোম্পানির নিজস্ব প্রোগ্রামিং সফটওয়্যার ব্যাবহার করতে হয় এবং হ্যান্ড-হেল্ড প্রোগ্রামিং ইউনিটের ক্ষেত্রেও এই একই নিয়ম প্রযোজ্যঅর্থাৎ SIEMENS  কোম্পানির হ্যান্ড-হেল্ড ইউনিট দিয়ে  MITSUBISHI বা OMRON নির্মিত PLCর প্রোগ্রাম করা যাবে না তবে PLC প্রোগ্রামিং এর জন্য হ্যান্ড-হেল্ড ইউনিটের তুলনায় কম্পিউটারের ব্যাবহার সবসময়েই সুবিধাজনক 


পূর্বেই আলোচনা করা হয়েছে PLC প্রোগ্রামিং এর জন্য তিন ধরনের ল্যাঙ্গুয়েজ সবথেকে বেশী ব্যাবহার করা হয়, এগুলি হল ল্যাডার ডায়াগ্রাম বা LAD, স্টেটমেন্ট লিস্ট বা STL এবং ফাংশান ব্লক ডায়াগ্রাম বা FBDআবার এগুলির মধ্যে বেশীরভাগ কোম্পানিই PLC প্রোগ্রামিং এর জন্য যে ল্যাঙ্গুয়েজ ব্যাবহার করে থাকেন, সেটি হল ল্যাডার ডায়াগ্রাম বা LAD কম্পিউটারে PLC প্রোগ্রামিং সফটওয়্যারের সাহায্যে প্রথমে ল্যাডার ডায়াগ্রামে PLC প্রোগ্রামটিকে ধাপে ধাপে এবং প্রয়োজন অনুসারে বিভিন্ন ব্লকে লেখা হয়সাধারনত বড় PLC প্রোগ্রামের ক্ষেত্রে বিভিন্ন কাজের ধরন অনুসারে আলাদা আলাদা ব্লক ব্যাবহার করা হয়, যাতে পরবর্তীকালে ওই প্রোগ্রামটি বুঝতে সুবিধা হয় বা প্রোগ্রামের মধ্যে কোন ভুলভ্রান্তি হলে তা সহজেই খুঁজে বের করা সম্ভব হয়  PLC প্রোগ্রামিং সফটওয়্যারের সাহায্যে প্রোগ্রাম লেখার পর সেটি ওই সফটওয়্যারের মধ্যেই প্রোগ্রামটিকে “RUN” করিয়ে দেখা হয় প্রোগ্রামিং সিকোয়েন্সে কোথাও কোন ভুল ত্রুটি রয়েছে কিনাএরপর সম্পুর্ন প্রোগ্রামটি সঠিকভাবে লেখা হয়ে গেলে সেটি কম্পিউটার থেকে একটি কেবলের সাহায্যে PLCতে পাঠানো হয় এবং PLC কে RUN মোডে চালিয়ে দেখা হয় সেটি ঠিকঠাক কাজ করছে কিনাPLC কে RUN করানোর পর যদি দেখা যায় প্রোগ্রামের মধ্যে কোন গন্ডগোল রয়েছে, তখন প্রোগ্রামকে বাইরের কম্পিউটারে ঠিক করে তা পুনরায় আবার ওই PLCতেই পাঠানো হয়, এবং সেক্ষেত্রে নতুন করে পাঠানো প্রোগ্রামটি পুরনো প্রোগ্রামের উপর ওভাররাইট (Overwrite) করে থাকে

বেশীরভাগ ছোট বা মাঝারি PLCর সাথে যেহেতু কোন ডিসপ্লে ইউনিট থাকে না তাই সেক্ষেত্রে PLCর মধ্যে ‘RUN’ করা প্রোগ্রামকে বাইরে থেকে দেখার বা সরাসরি ‘EDIT’ করার কোন সুযোগ থাকে না সেক্ষেত্রে সরাসরি PLCর মধ্যে RUN করা প্রোগ্রামকে দেখা বা ‘EDIT’ করার প্রয়োজন হলে আলাদাভাবে কম্পিউটারকে PLCর সাথে যুক্ত করতে হয় তবে অ্যাডভান্সড PLC গুলির ক্ষেত্রে যেমন CNC কন্ট্রোলারের সাথে বা রোবোটিক আর্মের সাথে যুক্ত PLCর ক্ষেত্রে (যেখানে আলাদা ডিসপ্লে ইউনিট ব্যাবহার করা হয়) রানিং PLC প্রোগ্রাম দেখা এমনকি কিছু ক্ষেত্রে তাকে ‘EDIT’ করাও সম্ভব তবে অ্যাডভান্সড PLC গুলির ক্ষেত্রেও সাধারনত বাইরের কম্পিউটারেই প্রথমে প্রোগ্রাম করে PLCতে পাঠানো হয় এবং পরবর্তীতে সামান্য ভুলভ্রান্তি PLCর সাথে যুক্ত কি-বোর্ড ও ডিসপ্লে ইউনিটের সাহায্যে ঠিক করা হয়                 

 

PLCতে ইনপুট এবং আউটপুট ডিভাইসের সাথে প্রোগ্রামের সম্পর্ক কি?

PLCতে ইনপুট ডিভাইসগুলি সবসময় ইনপুট মডিউলের সাথেই যুক্ত থাকে এবং আউটপুট ডিভাইসগুলিকে সংযোগ করা হয় আউটপুট মডিউলের সাথে CPUর মধ্যে অবস্থিত PLC প্রোগ্রাম এবং ওই প্রোগ্রামের লজিক্যাল নির্দেশাবলী ও তার সাথে সাথে ইনপুট ডিভাইসগুলির স্ট্যাটাস বিশ্লেষণ করেই কেবলমাত্র আউটপুট ডিভাইসগুলির স্ট্যাটাস পরিবর্তিত হয়অর্থাৎ PLC প্রোগ্রামের সাথে ইনপুট আউটপুট ডিভাইসগুলির এক নিবিড় সম্পর্ক রয়েছেনিচে পাশাপাশি দুটি ছবির সাহায্যে বোঝানো হয়েছে PLC প্রোগ্রামের সাথে ইনপুট আউটপুট ডিভাইসগুলির সংযোগ ব্যাবস্থা (এক্ষেত্রে প্রোগ্রামিং এর সাহায্যে একটি ল্যাম্পকে জ্বালানো নেভানো হয়েছে)   


PLC প্রোগ্রামে ব্যাবহৃত বিভিন্ন এলিমেন্ট 

কোম্পানি অনুসারে একটি PLCতে প্রোগ্রাম লেখার জন্য বিভিন্ন ধরনের এলিমেন্ট (Internal এবং External) এবং সেগুলির জন্য আলাদা সিম্বল ব্যাবহার করা হয় তবে মোটামুটি প্রায় সব ধরনের PLCর ক্ষেত্রেই এলিমেন্টগুলি যদিও একই থাকে, কিন্তু তাদের সিম্বলগুলি কখনো কখনো আলাদা হয়নিচে প্রচলিত বিভিন্ন ধরনের PLCতে বহুল ব্যাবহৃত কিছু এলিমেন্ট এবং PLC প্রোগ্রামে ব্যাবহৃত তাদের সিম্বলগুলি সম্পর্কে আলোচনা করা হল।   

 ইনপুট

পূর্বে আলোচনা করা হয়েছে PLCর বাইরে অবস্থিত ইনপুট ডিভাইসগুলি থেকে PLCতে  যে সিগন্যাল Information’ নেওয়া হয়, সেগুলিকে PLC প্রোগ্রামে ‘Input’ হিসাবে অ্যাড্রেস করা হয়, এবং প্রোগ্রামে সাধারনত এই ইনপুটগুলিকে লজিক্যাল সার্কিটের মধ্যে ব্যাবহার করা হয় বিভিন্ন আউটপুট, টাইমার, কন্টাক্টর ইত্যাদিকে অ্যাক্টিভেট করার জন্য PLC প্রোগ্রামে ‘I’, ‘X’ ইত্যাদি দিয়ে এবং তার সাথে নিউম্যারিক সংখ্যা যুক্ত করে ‘Input Address’ বোঝানো হয়ে থাকে, যেমন ‘I 1.5’ অথবা ‘X 4.7’ ইত্যাদি SIEMENS এর PLCর ক্ষেত্রে যেখানে এই ইনপুট অ্যাড্রেস ‘I’ দিয়ে বোঝানো হয়, সেখানে FANUC এর PLCর ক্ষেত্রে তা ‘X’ দিয়ে বোঝানো হয়ে থাকে 

আউটপুট

আউটপুটের ক্ষেত্রে PLCর বাইরে অবস্থিত আউটপুট ডিভাইসগুলিকে অ্যাক্টিভেট করানোর জন্য PLC থেকে যে সিগন্যাল Information দেওয়া হয়, সেগুলিকে PLC প্রোগ্রামে Output হিসাবে অ্যাড্রেস করা হয় এবং প্রোগ্রামে সাধারনত এই সকল আউটপুটকে অ্যাক্টিভেট করানোর জন্য ইনপুটগুলিকে বিভিন্ন লজিকে ব্যাবহার করা হয়ে থাকেPLC প্রোগ্রামে ‘Q’, ‘Y’ ইত্যাদি দিয়ে এবং তার সাথে নিউম্যারিক সংখ্যা যুক্ত করে Output Address বোঝানো হয়, যেমন Q 1.5 অথবা Y 4.7 ইত্যাদি SIEMENS এর PLCর ক্ষেত্রে যেখানে এই আউটপুট অ্যাড্রেস ‘Q’ দিয়ে বোঝানো হয়, সেখানে FANUC এর তৈরি PLCর ক্ষেত্রে তা ‘Y’ দিয়ে বোঝানো হয়ে থাকে 

  ইন্টার্নাল রিলে (Internal Relay)

PLCতে ইন্টার্নাল রিলে বলতে বোঝায় এমন একটি এলিমেন্ট যা কিনা প্রয়োজন অনুসারে কোন ডাটা বা কোন Bit কে Hold করে রাখতে পারে, এবং এটিকে রিলের মতই ON বা OFF করা যায় বা এর সাহায্যে PLCর অন্য ডিভাইসকেও ON  বা OFF করা যেতে পারেPLCর মধ্যে এই ধরনের বহু সংখ্যক ইন্টার্নাল রিলে থাকতে পারে যদিও এগুলির সত্যিকার বা ফিজিক্যাল কোন উপস্থিতি নেই, কিন্তু এগুলি PLCর স্টোরেজ মেমোরির মধ্যেই থাকেPLC ম্যানুফ্যাকচারাররা এই ইন্টার্নাল রিলেকে আবার বিভিন্ন নাম দিয়ে থাকে, যেমন SIEMENS এগুলিকে ফ্ল্যাগ (Flag) বলে, MITSUBISHI এদেরকে অক্সিলারি রিলে (Auxiliary Relay) বলে, TOSHIBA ইন্টার্নাল রিলে (Internal Relay) বলে ইত্যাদিইন্টার্নাল রিলে সাধারনত দুই প্রকারের হয়ে থাকে, রিটেন্টিভ এবং নন-রিটেন্টিভ (Retentive and Non-Retentive)যে ইন্টার্নাল রিলেগুলি PLCতে পাওয়ার সাপ্লাই বন্ধ করা হলেও বা PLC কে OFF করা হলেও তার শেষ অ্যাক্টিভেশান অবস্থাটিকে ধরে রাখে, সেগুলিকে রিটেন্টিভ ইন্টার্নাল রিলে বলে এবং যেগুলির স্ট্যাটাস PLCতে পাওয়ার সাপ্লাই বন্ধের সঙ্গে সঙ্গেই ‘Logic 0’ হয়ে যায়, সেগুলিকে নন-রিটেন্টিভ ইন্টার্নাল রিলে বলা হয়SIEMENS এর PLCর ক্ষেত্রে এই ইন্টার্নাল রিলেকে ‘M’ দিয়ে বোঝানো হয়ে থাকে  

সেট কয়েল

পূর্বে উল্লিখিত আউটপুটের মতই সেট কয়েলের ক্ষেত্রেও বিভিন্ন ইনপুট বা ইন্টার্নাল রিলের সাহায্যে একটি সেট কয়েলকে অ্যাক্টিভেট  করা হয়যখন সেট কয়েলকে অ্যাক্টিভ করার কন্টাক্টগুলির সম্মিলিত স্ট্যাটাস ‘Logic 1’ হয়, তখন সেট কয়েলের স্ট্যাটাসও ‘Logic 1’ হয় এবং সেটি Set হয়েই থাকেঅর্থাৎ কন্টাক্টগুলির সম্মিলিত স্ট্যাটাস ‘Logic 0’ হয়ে গেলেও সেট কয়েলের স্ট্যাটাস কিন্তু ‘Logic 1’ হয়েই থেকে যায়সেট কয়েল ব্যাবহার করে সাধারনত কোন আউটপুটকে, টাইমারকে, কাউন্টারকে বা ইন্টার্নাল রিলেকে ON করা হয় PLC প্রোগ্রামে সেট কয়েলকে সাধারনত ‘S’ সিম্বল দিয়ে বোঝানো হয় 

রিসেট কয়েল

সেট কয়েলের মতই রিসেট কয়েলের ক্ষেত্রেও বিভিন্ন ইনপুট বা ইন্টার্নাল রিলের সাহায্যে একটি রিসেট কয়েলকে অ্যাক্টিভ  করা হয়ে থাকে। । যখন রিসেট কয়েলকে অ্যাক্টিভ করার কন্টাক্টগুলির সম্মিলিত স্ট্যাটাস ‘Logic 1’ হয়, তখন রিসেট কয়েলের স্ট্যাটাস আগে থেকে ‘Logic 1’ থাকলে সেটি ‘Logic 0’ হয়ে যায়, এবং সেটি Reset  হয়ে থাকেঅর্থাৎ কন্টাক্টগুলির সম্মিলিত স্ট্যাটাস ‘Logic 0’ হয়ে গেলেও রিসেট কয়েলের স্ট্যাটাস ‘Logic 0’ হয়েই থাকে যদি রিসেট কয়েলের স্ট্যাটাস পূর্বেই ‘Logic 0’ হয়ে থাকে তবে অ্যাক্টিভেট করার কন্টাক্টগুলির সম্মিলিত স্ট্যাটাস ‘Logic 1’ হলেও রিসেট কয়েলের স্ট্যাটাসের কিন্তু কোন পরিবর্তন হয় নাPLCতে সাধারনত টাইমার, কাউন্টার বা কোন ইন্টার্নাল রিলেকে রিসেট করার জন্য রিসেট কয়েলের ব্যাবহার হয়ে থাকে এবং PLC প্রোগ্রামে রিসেট কয়েলকে সাধারনত ‘R’ দিয়ে বোঝানো হয় 

টাইমার

PLC তে টাইমার ব্যাবহার করা হয় সাধারনত কোন টাইম ইন্টারভেলকে পরিমাপ করার জন্য PLCর মধ্যে এই ধরনের টাইমারগুলির যদিও কোন ফিজিক্যাল অস্তিত্ব নেই, কিন্তু প্রোগ্রামিং এর প্রয়োজনে এই টাইমারগুলিকে সহজেই ব্যাবহার করা যায় PLCর মধ্যে বিভিন্ন প্রকারের টাইমার থাকে, শুধু প্রয়োজন অনুসারে সেগুলিকে প্রোগ্রামের মধ্যে ‘Call’ করা হয়PLC প্রোগ্রামে টাইমারকে সাধারনত T দিয়ে এবং তার সাথে নিউমেরিক সংখ্যা যুক্ত করে বোঝানো হয়, যেমন T5, T10 ইত্যাদি টাইমারের আউটপুটের সাহায্যে সাধারনত কোন ইন্টার্নাল রিলে বা আউটপুটকে অ্যাক্টিভ বা ডি-অ্যাক্টিভ করা হয়পরবর্তিতে PLCতে ব্যাবহৃত বিভিন্ন প্রকারের টাইমার ও তাদের কর্মপদ্ধতি সম্মন্ধে বিস্তৃত আলোচনা করা হয়েছে    

কাউন্টার

PLC প্রোগ্রামে কাউন্টার ব্যাবহার করা হয় সাধারনত কোন বস্তুকে গোনা অর্থাৎ Count করার জন্যPLCতে এই কাউন্টার সাধারনত কোন সিগন্যালের UP এবং DOWN কাউন্ট করে থাকেটাইমারের মতই এগুলিরও PLCতে কোন ফিজিক্যাল অস্তিত্ব নেই, এগুলি PLCর মধ্যেই Inbuilt থাকে এবং শুধুমাত্র প্রোগ্রামের প্রয়োজন অনুসারে ব্যাবহার করা হয়বিভিন্ন কোম্পানির PLCতে কাউন্টারের সিম্বল এবং প্রোগ্রামিংএ লেখার ধরন সাধারনত আলাদা হয়ে থাকে, আবার কখনো একই কোম্পানির বিভিন্ন মডেলের PLCর জন্যও কাউন্টারের লেখার ধরন আলাদা হয় PLC প্রোগ্রামে কাউন্টারকে সাধারনত ‘C’ দিয়ে এবং তার সাথে নিউম্যারিক সংখ্যা যুক্ত করে বোঝানো হয়, যেমন C5, C10 ইত্যাদি পরবর্তিতে PLCতে ব্যাবহৃত বিভিন্ন প্রকারের কাউন্টার, তাদের কর্মপদ্ধতি এবং PLC প্রোগ্রামে তাদের ব্যাবহারের পদ্ধতি সম্পর্কে বিস্তৃত আলোচনা করা হয়েছে  

Popular Posts