PLC مخفف عبارت Programmable Logic Controller به معنی کنترلکنندههای برنامهپذیر بوده و مغز متفکر یک دستگاه یا خط تولید اتوماتیک به حساب میآید.
از نظر نحوۀ کار, PLC را باید یک کامپیوتر صنعتی دانست. کلیۀ اجزاء اصلی یک کامپیوتر خانگی را میتوان در PLC نیز مشاهده نمود.
همانطور که در کامپیوتر، اطلاعات از طریق ورودیها (کیبورد اسکنر و…) وارد سیستم شده و پس از انجام عملیات و فرایندهای مورد نظر توسط CPU، نتایج کار، از مسیرهای خروجی (مانیتور، پرینتر و…)، در اختیار مصرفکننده قرار میگیرند، در PLC نیز اطلاعات بصورت ورودیهای آنالوگ و یا دیجیتال از طریق کانالهای ورودی (بصورت مستقیم و یا از طریق شبکه)، وارد PLC میشوند و پس از اجرای برنامهها در CPU، نتیجۀ پردازش، از طریق کانالهای خروجی، به فرآیند و یا تجهیزات تحت کنترل اعمال میشوند.
ورودیهای یک مجموعۀ صنعتی عمدتا شامل سنسورها، سوئیچها، تجهیزات اندازهگیری و…، و نیز خروجیها شامل کنترلکنندههای دور موتور، سرو کنترلها، استپموتورها، شیربرقیها ، شیرهای کنترلی، رابط انسان-ماشین (HMI)، کامپیوتر، مودم و… میباشند.
یک PLC از قسمتهای زیر تشکیل شده است:
منبع تغذیه (Power Supply)، واحد پردازشگـر (Central Processing Unit – CPU), واحد حافظه (Memory)، ورودیها و خروجیها (Inputs & Outputs) و نیز مدولهای رابط و تجهیزات جانبی دیگر که بسته به تولیدکنندههای مختلف میتواند متفاوت باشد.
به توجه به تولیدات بسیار متنوع این تجهیز، میتوان از آن در حوزههای مختلفی استفاده نمود، از اتوماسیون ماشین آلات کوچک گرفته تا پالایشگاهها و خطوط تولید بسیار بزرگ صنعتی، از موهبت این ابزار بهره میبرند.
PLC یا کنترلگر منطقی برنامهپذیر:
- برنامه پذیر است. یعنی رایانه است. اما یک رایانهٔ ویژه برای منظوری ویژه
- PLC ست. یعنی با دانستن اصول ساده و پایهٔ منطق که پیشنیازی هم ندارد، میتوان اساس کار آن را درک و تحلیل کرد.
- PLC کنترلگر است. مانند مدار فرمان الکتریکی.
- PLC منطقی ست. برخلاف مدار فرمان الکتریکی.
مزیت PLC نسبت به رایانه
PLC برخلاف یک رایانهٔ عادی غیر صنعتی:
- برای کار در شرایط سخت ساخته میشود. شامل:
- غبار
- رطوبت
- گرما و سرما
- نویز الکتریکی و نوسان برق
- برنامههای داده شده به PLC در حافظهٔ آن ذخیره میشوند. PLC دو نوع حافظه دارد: موقّت (که یا با یک باتری پشتیبانی شود) و دائم.
- برای انجام وظیفهٔ ویژهاش، امکان اتصال و کنترل ورودیها و خروجیهای زیادی را برای حسگرها و محرکهای متعدد و گوناگون دارد.
- قابلیت خواندن و پردازش مقادیر و متغیّرها. شامل:
- مقادیر لیمیت سوییچها
- متغییرهای آنالوگ (مانند مقادیر حسگرهای گرما و فشار)
- موقعیتها در سیستمهای موقعیتیاب
- قابلیت فعّال نمودن دستگاههای خاص. شامل:
- موتورهای الکتریکی
- سیلندرهای پنوماتیکی یا هیدرولیکی
- رلههای مغناطیسی و سیمپیچها
- خروجیهای آنالوگ
مزیت PLC نسبت به مدار فرمان
PLC جایگزین مناسب مدار فرمان الکتریکی ست. اما چون منطقیست، بهتر است.
کنترل منطقی کنترلی ست که در آن صدور فرمانها نیازمند برآورده شدن تعدادی توابع و خواستهای منطقی باشد.
ساختار
ساختار PLC مشابه ساختار رایانهاست. شامل:
- پردازنده و حافظهٔ نیمههادی
- قسمت پردازنده دارای ارتباطاتی با قسمتهای مختلف داخل و خارج خود میباشد. حافظه را توضیح خواهیم داد.
- ماژلهای I/O
- منبع تغذیه
- در PLCهای کوچک همهٔ موارد (پردازنده، I/O، منبع تغذیه در یک واحد و در PLCهای بزرگتر هر یک در واحدی مجزّا جای داده شدهاند.
حافظهٔ PLC دو نوع است:
- ROM یا حافظهٔ دائم (Read only memory) تراشهایست خاص؛ حاوی برنامهای که:
- توسط کارخانه سازنده تعبیه شدهاست.وظیفهای مشابه سیستمعامل DOS در رایانههای شخصی دارد
- در حین عملیات CPU نمیتواند تغییر یابد یا پاک شود. حتّی به هنگام فطع تغذیه CPU
- RAM یا حافظهٔ موقّت (Random Access memory) تراشهایست نیمههادی که میتوان در آن برنامه نوشت.
- ابزار برنامه نویسی، که معمولاً یک واحد پردازنده با صفحه نمایش و صفحه کلید میباشد (بعنوان مثال یک کامپیوتر شخصی، یک PLC در خانواده زیمنس) بهعنوان یک واحد مجزا از طریق سیم به واحد اصلی متصل است.
- برنامه در این حافظه ذخیره میشودامکان برنامهریزی، تغییر و پاک کردن آنها توسط برنامهریز وجود دارد.
- اغلب CPUها مجهز به یک باتری پشتیبان هستند. بنابراین اگر تغذیه ورودی فطع شود و درپیآن منبع تغذیه نتواند ولتاژ سیستم را تامین کند، باتری پشتیبان، برنامهٔ ذخیره شده در RAM را حفظ میکند.
- حافظهٔ موقّت میتواند از نوعی غیر از RAM انتخاب شود.
- اطلاعات موجود در حافظههای RAM با قطع تغذیه، پاک میگردند.
انواع PLCها
در صنعت PLC بیش از یکصد کارخانه با تنوع بسیار در طراحی و ساخت انواع مختلف PLC فعالیت میکنند. PLCها را میتوان از نظر اندازه، حافظه، تعداد ورودی/خروجی، وسعت عملیات (محلی یا وسیع) و … دستهبندی نمود. باید توجه داشت که برای ارزیابی قابلیت یک PLC باید ویژگیهای دیگری مانند پردازنده، زمان اجرای یک سیکل، سادگی زبان برنامهنویسی، قابلیت توسعه و… را در نظر گرفت.
از نظر اندازه، حافظه، تعداد ورودی/خروجی
اندازه PLC | تعداد خطوط ورودی و خروجی | اندازه حافظه به کیلو |
کوچک | ۴۰/۴۰ | ۱ |
متوسّط | ۱۲۸/۱۲۸ | ۴ |
بزرگ | بیش از ۱۲۸/بیش از ۱۲۸ | بیش از ۴ |
از نظر وسعت عملیات
PLCها با کاربرد محلی
کاربرد: کنترل سیستمهایی با حجم کوچک (تعداد ورودی و خروجیهای محدود) و برای کنترل همزمان تعداد کمتری از پروسهها یا کنترل دستگاههای مجزای صنعتی (به علت قابلیت محدودتر) ارائه: اغلب شرکتهای سازنده، این نوع PLCها را همراه دیگر PLCها به بازار ارائه میدهند ولی برخی از شرکتهای سازنده آنرا با نام میکرو PLC ارائه مینمایند. از جمله این نوع PLCها میتوان به نمونههای زیر اشاره کرد:
- ZEN ساخت شرکت Omron ژاپن
- LOGO ساخت شرکت زیمنس آلمان
- Zelio ساخت شرکت تله مکانیک فرانسه
- مولر آلمان
- LG کره
PLCها با کاربرد وسیع
کاربرد: کنترل سایت کارخانهها.
معمولا در صنایع بزرگ، PLCها یا پروزتهای ورودی – خروجی در قسمتهای مختلف سایت کارخانه وجود داشته و کنترل محلی بر قسمتهای تحت پوشش خود انجام میدهند. سپس اطلاعات مورد نیاز با استفاده از روشهای مختلف انتقال دادهها به اتاق کنترل مرکزی منتقل شده و که در آن محل با استفاده از روشهای مختلف مونیتورینگ صنعتی، اطلاعات به را شکل گرافیکی تبدیل کرده و بر روی صفحه مانیتور نمایش میدهند. در این حال اپراتور تنها با دانستن روش کار با رایانه و بدون نیاز به اطلاعات تخصصی میتواند سیستم را کنترل کند.
از جمله معروفترین PLCها از این خانواده را که میتوان نام برد عبارتند از:
- S۷ و S۵ شرکت زیمنس
- شرکت OMRON ژاپن
- شرکت اشنایدر الکتریک فرانسه – امریکا
- شرکت میتسوبیشی ژاپن
- شرکت LG کره
- شرکت آلن برادلی آمریکا
- شرکت ABB
- شرکت دلتا
- شرکت Xnje
- شرکتFatek
از سایر نظرگاهها
داشتن دیدگاه کاملی نسبت به تنوّع PLCها مهمترین موضوع در انتخاب یک PLC مناسب است. لذا باید به این جنبههای تنوّع توجّه داشت:
- تعداد ورودیها
- تعداد خروجیها
- تعداد فلگها
- تعداد شمارندگان(کانترها)
- تعداد تایمرها
- نوع فلگها و تایمرها
- اندازه حافظه
- سرعت اجرای برنامه SCAN TIME
- نوع برنامه کاری دستگاه
از طرفی امروزه عموماً از PLCهای «زیمنس S۵» استفاده میشود. از طرفی هم بیشتر خط تولیدهای جدید رو به استفاده از نسخه جدید PLCهای «زیمنس S۷» رفتهاند که در آن خیلی از مشکلات نسخه قبلی رفع شده و کنترلها بسیار سادهتر گردیدهاست.
مقیاس و نوع دستگاه
یک PLC کوچک تنها دارای تعداد محدودی از ورودی/خروجیهاست و معمولاً امکان گسترش ورودی/خروجیها تا تعداد بیشتری هم در صورت نیاز وجود دارد.
PLCهای ماژولار دارای یک اسکلت (یا رک) هستند که واحدهای مختلف PLC با توجه به نیاز بر روی آن سوار میشوند. در این PLCها پردازنده و ماژولهای ورودی/خروجی میتوانند با توجه به کاربرد سیستم انتخاب شوند. همچنین این امکان وجود دارد که چندین رک (Rack) یا تعداد خیلی زیادی از ورودی/خروجیها به وسیله یک پردازنده کنترل شوند.
برنامه نویسی PLC
برای نمایش برنامهٔ PLC از سه روش استفاده میشود:
- در روش نردبانی برنامه به صورت نماد اتصال و سیستم پیچهای مدار فرمان رلهای نشان داده میشود. لذا ساختار برنامه شبیه مدارهای فرمان رلهای میباشد.
- در نمایش فلوچارتی از نمادهای مستطیلی استفاده میشود؛ و در هر مستطیل عمل منطقهای نمایش داده میشود.
- در روش نمایش نوشتاری از دستورات و جملات کلیدی برای نوشتن برنامه استفاده میشود که در آن هر عبارت دارای دو بخش عملگرها و عملوندها میباشد.
این روشها ابتکاری نیستند. نمایش مدار در مهندسی برق و الگوریتم و فلوچارت در مهندسی رایانه معمول است.
اهمیّت روش نمایش در برنامهنویسی
اصطلاحات فرم یا طرز نمایش، و فرمول بندی یا شکل دهی در ریاضیات کابرد زیادی یافتهاند. علّت در اینجا بارز تر میشود: برنامه یک نظم دهی ست، و نظم برای انسان حتماً نیازمند شکل است. پس نمیتوان گفت روشهای نمایش فرع برنامهاند و تعریف برنامه اصل آن. زیرا نوشتن یک برنامه چیزی جز نمایش دستورات در جای صحیح نیست.
شکلدهی برنامهٔ PLC به روش نمایش نوشتاری یا الگوریتم
الگو:جابجایی
به هر دستور یک رشته خط برنامه گفته میشود هر خط برنامه معمولاً یکی از ترکیبهای منطقی ریاضی را در بر دارد؛ که همچنین کنترل فلگها و فلیپفلاپها را به عهده دارند در این روش هر چند خط برنامه که عمل خاصی را انجام میدهند یک سگمنت گفته میشود و یک برنامه میتواند شامل یک سگمنت و یا بیشتر باشد. هر برنامه با یک «نقطهویرگول(;)» شروع شده و با “BE” به پایان میرسد. ریز پردازنده از سطر اول برنامه شروع به خواندن و اجرای دستورات میکند تا به دستور “BE” برسد. مدت زمان لازم برای اجرای این کار را سیکل زمانی اجرای برنامه میگویند برای تسریع در اجرای برنامه و کاهش این سیکل زمانی میتوان پردازندهای با سرعت بالا به کار برد که مشمول هزینه خواهد بود و یا برنامه را ساماندهی بهتری نمود. هر کدام از ورودیها، خروجیها و فلگها در دستههای ۸بیتی سازماندهی میشوند و در آدرسدهی ابتدا باید آدرس بایت مربوط و سپس آدرس بیت تعیین شود.
ساختار برنامه
در نوشتن برنامههای پیچیده که معمولاً طولانی هستند برنامههای فرعی را در بخشهای جداگانه مینویسند و سپس آنها را در برنامه اصلی به کار میبرند، هر کدام از این بخشها در یک بلاک خاص نوشته میشود.
در کل پنج نوع بلوک وجود دارد که عبارتند از:
بلوکهای برنامه یا PB : تشکیل دهندهٔ برنامهٔ کنترل یک فرایند میباشند که از شمارهٔ ۰ تا ۲۵۵ شماره گذاری شدهاند. کاربر برنامه را به تشخیص خود در هر بلوک “PB” مینویسد و در انتهای آن از “BE” استفاده مینماید.
بلوکهای ترتیبی یا SB: در کنترلهای ترکیبی مثل راه اندازی خطهای تولید استفاده میشود.
بلوکهای تابع ساز یا FB: توابعی که در طول برنامه بارها مورد استفاده هستند و در خود برنامه تعریف نشدهاند مثل ضرب دو عدد باینری که از شماره ۰ تا ۲۵۵ شماره گذاری شدهاند. هر FB از دو بخش تشکیل شدهاست. FBها اجزا و انواعی دارند:
اجزاء FB:
- سر خط بلوک که شامل نام و سایر مشخصات بلوک است
- بدنه بلوک که شامل توابع و دستوراتی است که باید در بلوک اجرا شود. علاوه بر دستورات S۵ یک سری دستورات مربوط به سوپالمنتری نیز موجود است که فقط در این بلوک اجرا میشود
انواع FB:
- Standard FB: که در همان اعمال منطقی نظیر ضرب و تفریق و… تعریف شدهاست. آنها بهصورت بستههای نرمافزاری در اختیار کاربر قرار میگیرند
- Assignable FB: که در اجرای آن میتوان عملوندها را در هر پروسه تعیین نمود، تعریف کرد و یا تغییر داد
بلوکهای اطلاعاتی DB: تعداد ۲۵۶ بلوک برای ذخیره اطلاعاتی در نظر گرفته شده که هنگام اجرای برنامه مورد استفادهاند. همچون، پیغامها، هشدارها و…
اطلاعات در بلوکهای DB سه نوع است:
- اطلاعات دیتا
- متن
- الگوی بیت
اطلاعات ذخیره شده در DBها با یکی از فرمتهای زیر هستند:
- KH برای اعداد در مبنی ۱۶
- KF برای اعداد در مبنی ۱۰
- KT برای اعداد ثبات TV
- KC برای شمارندهها
- KY شانزدهبیت، که به دو بایت کاملاً مجزّای چپ (DL) و راست (DR) تقسیم میشوند
- KM برای متون
- KG اعداد اعشاری و اعداد بسیار بزرگ و بسیار کوچک
بلوک سازماندهی OB: این بلوک ساختار برنامه را مشخص مینماید هر OB بایک شمارهٔ خاص مشخص میشود. شامل:
- «OB ۱»: در شروع هر سیکل برنامه، سیستمعامل اولین سطر این بلوک را اجرا میکند. و آخرین سطر آن پایان بخش برنامهاست. در واقع این بلوک مشخص کنندهٔ ساختار برنامهاست.
- «OB ۲۱»: هنگامی که PLC از Start به Stop سویچ میشود این بلوک رخ میدهد.
- «OB ۲۲»: هنگامی که پاور ON میشود این بلوک رخ میدهد.
- «OB ۳۴»: نشان دهنده وضعیت باتری میباشد که در صورت تضعیف و یا وقوع ایراد در آن تا رفع اشکال مکرراً تکرار میشود.