প্রোগ্রামেবল লজিক কন্ট্রোলার বিগত কয়েক দশকে ইন্ডাস্ট্রিয়াল অটোমেশনে অভূতপূর্ব সাফল্য অর্জন করেছে। এটি আরও জটিল সিস্টেমকে পরিচালনা করতে সক্ষম হয়েছে এবং ইন্ডাস্ট্রিয়াল অটোমেশনের উপর আমাদের নিয়ন্ত্রণের অনেক সম্ভাবনা সৃষ্টি করেছে।
আইইসি ( ইন্টারন্যাশনাল ইলেক্ট্রোটেকনিক্যাল কমিশন ) অনুসারে, মোট ৫ টি অনুমোদিত পিএলসি ল্যাঙ্গুয়েজ আছে। এদের মধ্যে ২ টি টেক্সট ল্যাঙ্গুয়েজ এবং বাকি ৩ টি গ্রাফিক্যাল ল্যাঙ্গুয়েজ।
টেক্সট ল্যাঙ্গুয়েজ
- ইন্সট্রাকশন লিস্ট (IL)
- স্ট্রাকচারড টেক্সট (ST)
গ্রাফিক্যাল ল্যাঙ্গুয়েজ
- ল্যাডার ডায়াগ্রাম (LD)
- ফাংশন ব্লক ডায়াগ্রাম (FBD)
- সিকুয়েন্সিয়াল ফাংশন চার্ট (SFC)
ল্যাডার ডায়াগ্রাম (LD) :
ল্যাডার ডায়াগ্রাম বা ল্যাডার লজিক সবচেয়ে জনপ্রিয় এবং সবচেয়ে বেশি ব্যবহৃত পিএলসি প্রোগ্রামিং ল্যাঙ্গুয়েজ। এটি হার্ডওয়্যারড রিলে লজিক সিস্টেমের অনুকরণ করে ডিজাইন করা হয়েছে বলে ইলেকট্রিক্যাল ইঞ্জিনিয়ারদের কাছে এটি পড়া এবং বুঝা খুব সহজ। অনলাইনে থাকাকালীন অবস্থায় ল্যাডার লজিক রিড করা, কমেন্ট করা এবং ডিবাগ করা সহজ।
সুবিধা :
- প্রোগ্রামটি পড়া এবং কমেন্ট করা সহজ।
- অনলাইনে ডিবাগ এবং এডিট করা যায়।
অসুবিধা :
- এটি মোশন কন্ট্রোল বা ব্যাচিংয়ের জন্য উপযুক্ত নয়।
- এর লজিক কিছু ক্ষেত্রে কাজ সম্পাদন করতে জটিল হয়ে পড়ে।
ফাংশন ব্লক ডায়াগ্রাম (FBD) :
ফাংশন ব্লক ডায়াগ্রাম হল দ্বিতীয় সর্বাধিক ব্যবহৃত পিএলসি প্রোগ্রামিং ল্যাঙ্গুয়েজ। এই ল্যাঙ্গুয়েজে প্রোগ্রাম ব্লকগুলো একত্রে সংযুক্ত হয়ে লজিক গঠন করে। ফাংশন ব্লক ডায়াগ্রাম আপনার সর্বোত্তম পছন্দ হতেও পারে আবার নাও পারে সেটা নির্ভর করে সিস্টেমের আকারের উপর। যদি আপনার সিস্টেমে অনেক মোশন কন্ট্রোল এবং পুনরাবৃত্তিমূলক কাজের প্রয়োজন হয় তাহলে ফাংশন ব্লক ডায়াগ্রাম হতে পারে সবচেয়ে সোজা পদ্ধতি।
সুবিধা :
- মোশন কন্ট্রোলের জন্য সবচেয়ে উপযোগী।
- ভিজ্যুয়াল ব্লক সহজেই পড়া যায়।
- প্রোগ্রামিং এর অনেক লাইন একত্রিত করা যায় এবং তাদেরকে একটি ব্লকে একসাথে রাখা যায়।
অসুবিধা :
- কোডগুলো খুব অগোছালো এবং অসংগঠিত হতে পারে।
- লজিকগুলোর সমস্যা সমাধান করা কঠিন হতে পারে।
ইন্সট্রাকশন লিস্ট (IL) :
ইন্সট্রাকশন লিস্ট ল্যাঙ্গুয়েজে লেখা একটি পিএলসি প্রোগ্রামে একাধিক ইন্সট্রাকশন থাকে যা লজিক কন্ট্রোলার দ্বারা ক্রমানুসারে কার্যকর করা হয়। প্রতিটি ইন্সট্রাকশন একটি একক প্রোগ্রাম লাইন দ্বারা প্রকাশ করা হয় এবং প্রতিটি প্রোগ্রাম লাইন কিছু উপাদান নিয়ে গঠিত। যথা –
- লাইন নম্বর – নতুন প্রোগ্রাম লাইন তৈরি করলে চার ডিজিটের একটি লাইন নম্বর তৈরি হয়।
- কারেন্ট ভ্যালু – অনলাইন মোডে প্রতিটি উপাদানের বর্তমান মান দেখা যায়।
- ইন্সট্রাকশন অপারেটর – এটি এক ধরনের কমান্ড যেটি একটি ইন্সট্রাকশনকে কার্যকর করে।
- কমেন্ট – এটি প্রোগ্রামারকে সহজেই কোন প্রোগ্রামের টপিক সম্পর্কে অবহিত করে।
মূলত, আপনি যদি মাইক্রোপ্রসেসরে ব্যবহৃত অ্যাসেম্বলি ল্যাঙ্গুয়েজ সম্পর্কে জেনে থাকেন তাহলে আপনি সহজেই এই ল্যাঙ্গুয়েজ এর ধারণা পেতে পারেন। অন্যভাবে এটিকে ল্যাডার ডায়াগ্রাম এবং স্ট্রাকচারড টেক্সট এর মিশ্রণও বলা যেতে পারে। ল্যাডার লজিক বলা হয় এই অর্থে যে, ইন্সট্রাকশন লিস্ট এর ইন্সট্রাকশনগুলো লিখতে হয় ল্যাডার ডায়াগ্রাম এর মত রৈখিক উপায়ে এবং স্ট্রাকচারড টেক্সট বলা হয় এই অর্থে যে, এখানে ওয়ার্ড আকারে ব্যবহৃত হয়।
সুবিধা :
- সংক্ষিপ্ত কোডের জন্য খুব দরকারি।
- ইমারজেন্সি টাইমে এটি সবচেয়ে কার্যকরী।
- খুব দ্রুত এবং কম মেমোরি ব্যবহার করে।
অসুবিধা :
- কোড স্ট্রাকচারিং এর ক্ষেত্রে কিছুটা লিমিটেশন আছে।
- প্রোগ্রাম ডিবাগ করা এবং ত্রুটিগুলো সমাধান করা কঠিন।
- রান টাইম ত্রুটির প্রবণতা থাকে।
স্ট্রাকচারড টেক্সট (ST) :
স্ট্রাকচারড টেক্সট একটি হাই-লেভেল প্রোগ্রামিং লাঙ্গুয়েজ যেখানে লজিক টেক্সট ফরম্যাটে লেখা হয়। এটির লজিক ফ্লো ল্যাডার লজিক এর মত দেখতে হলেও এর লেখার ধরন আলাদা। স্ট্রাকচারড টেক্সটে সরাসরি নেমোনিক্স ব্যবহৃত হয় AND, OR, NOT, IF, ELSE এর মত। অর্থাৎ, আমরা লজিককে যেভাবে NO এবং NC ফরম্যাটে সিরিজে বা প্যারালালে লিখি ঠিক সেভাবেই টেক্সট ফরম্যাটে লিখতে হয়।
সুবিধা :
- জটিল লজিক এবং ডেটা হ্যান্ডলিং এর জন্য উপযুক্ত।
- অনেক বড় কোন গাণিতিক গণনার ক্ষেত্রে খুব সুসংগঠিত এবং দক্ষ।
- ল্যাডার লজিক প্রোগ্রাম থেকে বেশি নমনীয়।
অসুবিধা :
- যদি হাই-লেভেল প্রোগ্রামিং লাঙ্গুয়েজ সম্পর্কে কোন ধারণা না থাকে তবে এই ল্যাঙ্গুয়েজে প্রোগ্রাম করা অনেক কঠিন মনে হতে পারে।
- অনলাইনে ডিবাগ এবং এডিট করা কঠিন।
সিকুয়েন্সিয়াল ফাংশন চার্ট (SFC) :
সিকুয়েন্সিয়াল ফাংশন চার্ট হল আরেকটি পিএলসি প্রোগ্রামিং ল্যাঙ্গুয়েজ যেটি লজিকের জন্য গ্রাফিক্যাল ব্লক ব্যবহার করে। এতে প্রতিটি ব্লককে একটি স্টেপ বলা হয় এবং যতক্ষণ না একটি ট্রানজিশন কন্ডিশন পরবর্তী ধাপে যাওয়ার লজিক পূরণ না করে ততক্ষণ পর্যন্ত কোডটি এই স্টেপে থাকবে এর ভিতরের ইন্সট্রাকশন কার্যকর করা অবস্থায়।
সুবিধা :
- অনেক বড় প্রসেসের জন্য প্রয়োজন যা বড় বড় ধাপে ভাঙা যায়।
- অনলাইনে সহজেই ডিবাগিং করা যায় যেটি আপনি দেখতে পাচ্ছেন ঠিক কোন ধাপে লজিক বন্ধ হয়েছে।
- পুরো প্রসেসটি খুব দ্রুত ডিজাইন করা যায়।
অসুবিধা :
- সবক্ষেত্রে এটি ব্যবহার উপযোগী নয়।
এদের মধ্যে কোন প্রোগ্রামিং ল্যাঙ্গুয়েজটি সবথেকে বেশি উপযোগী ?
ল্যাডার লজিক এখনও অনেক পিএলসি প্রোগ্রামারদের দ্বারা সবচেয়ে বেশি ব্যবহৃত প্রোগ্রামিং ল্যাঙ্গুয়েজ। কারণ আপনি আপনার অ্যাপ্লিকেশনের জন্য প্রয়োজনীয় প্রায় বেশিরভাগ লজিক প্রোগ্রাম করতে ল্যাডার লজিক ব্যবহার করতে পারেন। তবে ছোট পরিসরে প্রোগ্রামের জন্য SFC এর মত অন্যান্য ল্যাঙ্গুয়েজও প্রয়োজন হতে পারে।
তাই ছোট অ্যাপ্লিকেশনের জন্য আপনি ল্যাডার ডায়াগ্রামের উপর নির্ভর করতে পারেন এবং এটি প্রায় সবসময়ই যথেষ্ট হবে। কিন্তু আপনার অটোমেশন প্রক্রিয়া বড় এবং জটিল হয়ে উঠলে, আপনাকে অন্যান্য বিকল্পগুলি বিবেচনা করা শুরু করতে হবে।