প্রোগ্রামেবল লজিক কন্ট্রোলার (PLC), জার্মান ভাষায় যাকে বলা হয় SPS (Speicherprogrammierbare Steuerung), হলো সেই ছোট্ট শিল্প-কম্পিউটার যা নীরবে আমাদের চারপাশের বেশিরভাগ যন্ত্র ও ভবন নিয়ন্ত্রণ করে — কনভেয়র বেল্ট, পানি শোধনাগার, এয়ার-কন্ডিশনিং ব্যবস্থা, লিফট, উৎপাদন লাইন। সাধারণ কম্পিউটারের বিপরীতে, একটি PLC তৈরি হয় কম্পন, তাপ, ধুলো এবং বৈদ্যুতিক শব্দ সহ্য করার জন্য, এবং বছরের পর বছর একই নিয়ন্ত্রণ-লজিক নির্ভরযোগ্যভাবে চালানোর জন্য, কোনো রিস্টার্ট ছাড়াই।
PLC প্রোগ্রামিং মূলত আচরণ বর্ণনা করার বিষয়: এই সেন্সর সক্রিয় হলে, তা করো; এই শর্ত পাঁচ সেকেন্ড ধরে বজায় থাকলে, সেই মোটর চালু করো; কোনো ত্রুটি দেখা দিলে, নিরাপদে সব বন্ধ করে দাও। IEC 61131-3 মানদণ্ড এই কাজের জন্য পাঁচটি প্রোগ্রামিং ভাষা নির্ধারণ করেছে, এবং বেশিরভাগ প্রকৌশলী এক বা দুটিতে বিশেষজ্ঞ হন:
- ল্যাডার ডায়াগ্রাম (LD) — বৈদ্যুতিক রিলে ডায়াগ্রামের মতো দেখতে, যারা ইলেকট্রিশিয়ান থেকে অটোমেশনে আসেন তাদের জন্য সহজবোধ্য।
- ফাংশন ব্লক ডায়াগ্রাম (FBD) — একে অপরের সাথে তারযুক্ত গ্রাফিক্যাল ব্লক, প্রসেস ও ভবন-স্বয়ংক্রিয়করণে জনপ্রিয়।
- স্ট্রাকচার্ড টেক্সট (ST) — প্যাসকেল-ধাঁচের একটি টেক্সট ভাষা, জটিল গণিত ও লজিকের জন্য উপযোগী।
- ইনস্ট্রাকশন লিস্ট (IL) — একটি নিম্ন-স্তরের, অ্যাসেম্বলি-সদৃশ ভাষা, যা এখন মূলত অপ্রচলিত।
- সিকোয়েনশিয়াল ফাংশন চার্ট (SFC) — ধাপে ধাপে প্রক্রিয়াকে মডেল করে, ব্যাচ ও সিকোয়েনশিয়াল কাজের জন্য আদর্শ।
বাস্তবে, একটি প্রকৃত প্রকল্পে এগুলো মিশিয়ে ব্যবহার করা হয়: SFC দিয়ে ধারাবাহিকতার কাঠামো তৈরি হয়, আর প্রতিটি ধাপের ভেতরের খুঁটিনাটি সামলায় FBD বা ST। সিমেন্স TIA Portal, বেকহফ TwinCAT, এবং CODESYS-এর মতো প্ল্যাটফর্মগুলো এই ক্ষেত্রে প্রাধান্য বিস্তার করে আছে, প্রতিটির নিজস্ব ফাংশন ব্লক, ডায়াগনস্টিক টুল এবং সিমুলেশন পরিবেশের বাস্তুতন্ত্র নিয়ে।
একটি কার্যকর PLC প্রোগ্রামকে একটি ভালো প্রোগ্রাম থেকে যা আলাদা করে তা হলো শৃঙ্খলা: স্পষ্ট নামকরণ পদ্ধতি, পুনর্ব্যবহারযোগ্য ফাংশন ব্লক, যথাযথ ইন্টারলক ও নিরাপত্তা-লজিক, এবং এমন ডকুমেন্টেশন যা অন্য একজন প্রকৌশলীকে — বা ছয় মাস পরে নিজেকেই — অনুমান ছাড়া লজিকটি বুঝতে সাহায্য করে। শিল্প-ব্যবস্থাগুলো ক্রমশ SCADA সিস্টেম, ক্লাউড ড্যাশবোর্ড এবং KNX-এর মতো ভবন-স্বয়ংক্রিয়করণ নেটওয়ার্কের সাথে যোগাযোগ করছে বলে, PLC আর একটি বিচ্ছিন্ন দ্বীপ নয় — এটি একটি অনেক বড়, সংযুক্ত ব্যবস্থার একটি নোড, এবং প্রথম দিন থেকেই এই সংযুক্তিকে মাথায় রেখে কোড লিখতে হয়।
