هر سیستم کنترلی را به سه بخش اصلی میتوان تقسیم کرد: ورودی، بخش پردازشگر و خروجی.
سیگنالهای ورودی توسط مبدلها که کمیتهای فیزیکی را به سیگنالهای الکترونیکی تبدیل میکنند فراهم میشوند.
یک سیستم کنترل باید بتواند بر طریقه عملکردی یک فرآیند دخالت و تسلط داشته باشد.
این کار با استفاده المانهای خروجی، از قبیل پمپها، موتورها، پیستونها، رلهها و … انجام میشود.
یک طرح کنترلی به دو روش قابل اجرا است:
با استفاده از سیستمهای کنترل غیرقابل تغییر توسط اپراتور و نیز با استفاده از کنترل کنندههای قابل برنامهریزی.
رله یکی از قطعات مهم در بیشتر سیستمهای کنترل مدرن است.
این قطعه یک سوئیچ الکتریکی با ظرفیت جریانی بالاست.
یک سیستم رلهای ممکن است شامل چند صدیا حتی چند هزار کنتاکت باشد.
PLCها به عنوان جانشینی برای سیستمهای منطقی رلهای و تایمری غیرقابل تغییر توسط اپراتور طراحی شدند تا به جای تابلوهای کنترل متداول قدیمی استفاده شوند.
این کار به وسیله برنامهریزی آنها و اجرای دستورالعملهای منطقی ساده که اغلب به شکل دیاگرام نردبانی است، صورت میگیرد.
PLCها دارای یک سری توابع درونی از قبیل: تایمرها و شمارندهها و شیفت رجیسترها میباشند که امکان کنترل مناسب را، حتی با استفاده از کوچکترین PLC نیز، فراهم میآورند.
یک PLC با خواندن سیگنالهای ورودی، کار خود را شروع کرده و سپس دستورالعملهای منطقی (که قبلاَ برنامهریزی شده و در حافظه جای گرفته است) را بر روی این سیگنالهای ورودی اعمال میکند و در پایان، سیگنالهای خروجی مطلوب را برای راهاندازی تجهیزات و ماشینآلات تولید مینماید.
تجهیزات استانداردی درون PLCها تعبیه شدهاند که به آنها اجازه میدهد مستقیماَ و بدون نیاز به واسطههای مداری یا رلهها، به المان خروجی یا محرک (actuator) و مبدلهای ورودی (مانند پمپها و سوپاپها) متصل شوند.
با استفاده از PLCها، اصلاح و تغییر یک سیستم کنترل بدون نیاز به تغییر محل اتصالات سیمها ممکن شده است.
با استفاده از PLCها، اصلاح و تغییر یک سیستم کنترل بدون نیاز به تغییر محل اتصالات سیمها ممکن شده است.
برخی ویژگیهای خاص، آنها را ابزاری مناسب جهت انجام عملیات کنترل صنعتی نموده است.
برخی از این ویژگیها عبارتند از: تجهیزات حفاظت کنندهها PLCها از نویز و شرایط نامساعد محیطی ساختار PLCها، که به سادگی امکان تعویض یا افزودن واحد یا واحدهایی را به PLC میدهد.
(مثلاَ واحد ورودی/ خروجی) اتصالات استاندارد ورودی/ خروجی و نیز سطوح سیگنال استاندارد زبان برنامهنویسی قابل درک و آسان (مانند دیاگرام نردبانی یا نمودار وظایف) محدوده PLCهای در دسترس، از PLCهای جامع و کامل کوچک با 20 ورودی/ خروجی و 500 مرحله یا گام برنامهنویسی تا سیستمهای مدولار با مدولهای قابل افزایش را دربرگرفته است مدولها برای انجام وظایفی نظیر: ورودی/ خروجی آنالوگ کنترل PID (تناسبی، انتگرالگیر و مشتقگیر) ارتباطات نمایش گرافیکی ورودی/ خروجی اضافی حافظههای اضافی و … استفاده میشوند.
کنترل کننده های قابل برنامهریزی (PLC)ها: PLCها، کامپیوترهایی ساخته شده به منظور خاص هستند که شامل سه قسمت اجرایی اصلی میباشند: پردازشگر، ورودی/ خروجی و حافظه.
سیگنالها از طریق ورودی به PLC فرستاده شده و آنگاه در حافظه، ذخیره میشوند.
سپس سیگنالهای خروجی به منظور راهاندازی تجهیزات مورد نظر، تولید میشوند.
در PLCهای کوچکتر، این عملیات توسط کارتهای ویژهای انجام میگیرند که به صورت واحدهای بسیار فشردهای ساخته شدهاند، در حالی که ساختار PLCهای بزرگتر به صورت مدولار با مدولهایی که بر روی شیارهای تعبیه شده بر روی دستگاه نصب میشود، بنا گردیده است.
این امر امکان توسعه سیستم را- در صورت ضرورت- به سادگی فراهم میآورد.
در هر دوی این موارد بوردهای مداری ویژهای، به سادگی تعویض یا برداشته میشود و امکانات تعمیر سیستم نیز به سادگی فراهم میآید.
CPU بر تمام عملیاتی که در PLC رخ میدهد، کنترل و نظارت دارد و دستورالعملهای برنامهریزی شده و ذخیره شده را اجرا میکند.
تمام PLCهای مدرن برای ذخیره برنامه از حافظههای نیمه هادی مانند EPROM, RAM یا EEPROM استفاده میکنند.
عملاَ از RAM برای تکمیل برنامه مقدماتی و تست آن استفاده میشود، زیرا که امکان تغییر و اصلاح راحت برنامه را فراهم میآورد.
پس از این که یک برنامه تکمیل شد و مورد آزمایش قرار گرفت میتوان آن را در PROM یا EPROM، که اغلب ارزانتر از قطعات RAM میباشند، بار (Load) کرد.
برنامهریزی PROM معمولاَ توسط یک برنامهریز مخصوص صورت میگیرد.
PLCهای کوچک معمولاَ تا حدی به دلیل ابعاد فیزیکی دستگاه دارای حجم حافظه محدود و ثابتی میباشند.
حجم این حافظهها بسته به تولیدکننده آنها بین 300 تا 1000 دستورالعمل متفاوت است.
این حجم حافظه ممکن است کمتر از آنی به نظر آید که مناسب جهت امور کنترلی باشد، اما تقریباَ حدود 90 درصد عملیات مورد نیاز کنترلهای دودویی با کمتر از 1000 دستورالعمل قابل اجرا میباشند.
بنابراین فضای حافظه لازم برای بیشتر کاربردها فراهم خواهد آمد.
PLCهای بزرگتر از مدولهای حافظهای استفاده میکنند که بین K1 تا K64 فضای حافظه را فراهم میآورند.
این مدولها امکان گسترش سیستم را با افزودن کارتهای حافظه RAM یا PROM به PLC فرام میآورند.
معیار اولیه مشخص کننده اندازه PLCها، در قالب حجم حافظه برنامه و حداکثر تعداد ورودی و خروجیهایی که سیستم قادر به پشتیبانی از آنهاست ارائه میشود.
اما به منظور ارزیابی و محک مناسب هر PLC، باید خصوصیات دیگری از آن، از قبیل نوع پردازشگر، زمان اجرای یک سیکل برنامه، تسهیلات زبان برنامهنویسی، توابع (از قبیل شمارنده، تایمر و …) قابلیت توسعه و … را نیز در نظر بگیریم.
معمولاَ، PLCهای کوچک و «مینی PLCها» به صورت واحدهای قدرتمند، کارآ و فشردهای طراحی میشوند که قابل جاسازی بر روی، یا کنار تجهیزات تحت کنترل باشند.
آنها عمدتاَ به عنوان جایگزین سیستمهای رلهای غیرقابل تغییر توسط اپراتور، تایمر، شمارنده و غیره مورد استفاده قرار میگیرند تا بخشهای مجزا و منفرد کارخانجات یا ماشینآلات را کنترل کنند، اما میتوان آنها برای هماهنگ کردن عملکرد چند ماشین در تلفیق با یکدیگر سود جست.
PLCهای کوچک قادر به توسعه تعداد کانالهای ورودی و خروجی با استفاده از یک یا دو مدول ورودی/ خروجی میباشند.
PLCهای بزرگ برای استفاده در کارخانجات عظیم یا ماشینهای بزرگی که به کنترل پیوسته نیازمندند، طراحی شدهاند.
همچنین آنها به عنوان کنترل کننده ناظر آن نظارت (monitor) و کنترل کردن چندین PLC دیگر یا سایر ماشینهای هوشمند به کار میروند.
در PLCهای بزرگ از: پردازشگر 16 بیتی به عنوان پردازشگر اصلی جهت محاسبات دیجیتالی و همچنین به کارگیری متن.
پردازشگرهای تکبیتی به عنوان پردازشگر همکار برای محاسبه سریع، ذخیرهسازی و … پردازشگرهای جانبی، برای انجام وظایف اضافی که تابع زمان میباشند مانند: کنترل حلقه بسته PID ، کنترل موقعیت، محاسبات عددی با ممیز شناور، تشخیص عیب و رصد ، ارتباطات بین ماشینهای هوشمند برای ورودی/ خروجی توزیع شده، دیاگرامهای تقلیدی از وضعیت فرآیند یا دیاگرامهای فرآیندنما ، نصبگاههای ورودی/ خروجی با فاصله دور استفاده میشود.
برنامه نویسی PLCها: مهم ترین خصیصه ای که هر زبان برنامه نویسی PLC بایستی داشته باشد سادگی درک و سهولت استفاده از آن در کارهای کنترلی است.
این امر دلالت بر نیاز به یک زبان برنامه نویسی سطح بالا دارد که دستورات آن تا حد ممکن به توابع و عملیات خواسته شده توسط یک مهندس کنترل نزدیک بوده، با این حال جدای از پیچیدگی ها و صرف وقت لازم برای آموزش سایر زبان های سطح بالا باشد.
امروزه دیاگرام های نردبانی به متداول ترین روش توصیف مدارهای منطقی رله ای تبدیل شده اند.
دیاگرام نردبانی مشتمل بر دو خط قائم است که نمایشگر ریل های توان یا خطوط توان (فاز و نول) می باشند، به اضافه سمبل های مداریی که پلکان های نردبان را تشکیل میدهند.
هر چند که علایم نردبانی برای ساختن هرگونه سیستم کنترل منطقی on/off به کار می روند اما دیاگرام های تولید شده میتوانند به همان پیچیدگی مدار واقعی باشند.
با این ترتیب یک جزء ضروری از هر طرح نردبانی توضیح نویسی یا مستندسازی سیستم و عملکرد آن میباشد.
مستندسازی سبب میشود که کاربران دیگر نیز به سادگی، دیاگرام را درک کنند.
متداول ترین شیوه استفاده شده برای برنامه نویسی PLCهای کوچک، ترسیم دیاگرام نردبانی مربوط به مدار کنترل مورد استفاده است.
سپس این دیاگرام به دستورالعملهای یادآور که به صورت کلیدهایی بر روی پانل برنامه نویسی متصل به PLC هستند تبدیل میشوند.
این دستورالعمل ها در ظاهر شبیه به کدهای اسمبلی می باشند، اما به ورودیها، خروجی ها و توابع درون خود PLC اعمال میشوند.
این دستورالعمل ها برای PLCهای ساخته شده توسط سازندگان مختلف متفاوتند، لیک همگی از نظر عمل انجام شده در یک سیستم کنترل تا اندازه ای شبیه به یکدیگر می باشند.
تمایل کلی چنین است که مجموعه دستورالعمل های PLC حتی الامکان کوتاه باشند تا مهندسین و تکنسین ها سریعا بر آنها تسلط یافته و به راحتی از آنها استفاده کنند.
هر دستورالعمل برنامه، ترکیبی از دو قسمت است: یک جز یادآور یا opcode که سبب سادگی در به خاطر آوردن دستورالعمل میشود و یک آدرس (operand) که عناصر ویژه در یک PLC را مشخص میکند.
از دستورالعمل ها برای نوشتن برنامه مدارهای منطقی کنترل که به شکل دیاگرام نردبانی طراحی شده اند استفاده میشود.
این عمل به وسیله نسبت دهی ورودی ها و خروجی ها به یک (آدرس) مناسب درPLC مورد استفاده صورت میگیرد.
محدوده های اعداد به کار رفته جهت تخصیص دهی به عناصر ورودی/ خروجی های یک PLC بین سازندگان مختلف، متفاوت است اما موارد مشترکی نیز وجود دارد.
CPU دارای یک «رجیستر شمارنده برنامه» میباشد که به دستورالعمل بعدی اشاره می کند تا از حافظه خوانده یا اصطلاحا واکشی شود.
Fetch یا واکشی عملیاتی است که طی آن یک دستورالعمل از حافظه خوانده شده و در یک رجیستر ذخیره میشود.
هنگامی که یک دستورالعمل توسط CPU دریافت میشود در «رجیستر دستورالعمل» قرار میگیرد تا به عملیات درونی یا ریز دستورالعمل های موردنیاز آن دستورالعمل به خصوص، دیکود یا کدگشایی شود.
در آغاز زمانی که PLC برای شروع به کار، ست میشود شمارنده برنامه یا program counter به آدرس 0000 اشاره خواهد کرد: یعنی محل اولین فرمان، سپس CPU دستورالعمل این آدرس را خوانده، کدگشایی کرده و سپس اجرا میکند.
PLCهای بزرگ دارای چند صد کانال ورودی/ خروجی می باشند.
از آنجا که در طی اجرای برنامه، CPU تنها قادر به پردازش یک دستورالعمل در هر لحظه است، وضعیت هر ترمینال ورودی بایستی جداگانه بررسی شده تا تأثیر آن در برنامه مشخص گردد.
به منظور اجرای سریع برنامه، میتوان به هنگام رسانی ورودی/ خروجی را در محل خاصی از برنامه انجام داد.
در این روش از یک ناحیه معین حافظه RAM کنترل کننده، به عنوان یک حافظه کمکی یا موقت (Buffer)، بین مدار منطقی کنترل و واحد ورودی/ خروجی استفاده میشود.
هر کانال ورودی و خروجی دارای یک خانه در این I/O RAM میباشد.
در جریان کپی کردن ورودی/ خروجی ها، CPU همه ورودی ها را در واحد ورودی/ خروجی مرور (Scan) میکند و وضعیت آنها را در خانه های I/O RAM ضبط میکند.
این روند در ابتدا یا انتهای هر سیکل برنامه انجام میگیرد.
با اجرای برنامه، داده های ورودی ذخیره شده در I/O RAM به صورت «یک خانه در هر لحظه» خوانده میشوند.
بر روی این داده ها عملیات منطقی مورد لزوم انجام میگیرد و سیگنال های خروجی در قسمت خروجی حافظه I/O RAM ذخیره میشوند.
سپس در انتهای هر سیکل برنامه، روتین کپی کننده I/O ، همه سیگنال های خروجی موجود در I/O RAM را به کانال های خروجی مربوطه انتقال میدهد و طبقات خروجی متصل به واحد ورودی/ خروجی را راه اندازی میکند.
این طبقات خروجی به صورت قفل شده یا Latch شده هستند و وضعیت خود را تا اجرای مجدد روتین کپی کننده ورودی/ خروجی حفظ میکنند.
کپی کردن یک جای ورودی/ خروجی به طور اتوماتیک توسط CPU به عنوان یک زیرروتین از برنامه اصلی انجام می گیرد.
(یک زیر روتین یا Subroutine، برنامه ای کوچک است که برای انجام وظیفه خاصی طراحی شده و میتواند توسط برنامه اصلی فراخوانی شود.
به واسطه سیکلی بودن برنامه «کپی ورودی/ خروجی»، وضعیت ورودی ها و خروجی ها در طی اجرای هر سیکل برنامه قابل تغییر نیست.
اگر یک سیگنال ورودی پس از روتین کپی تغییر یابد، تا اجرای مرحله بعدی برنامه کپی قابل تشخیص نخواهد بود.
مدت زمان (update) همه ورودی/ خروجی ها، بستگی به تعداد کل ورودی/ خروجی هایی دارد که بایستی کپی شود.
با این حال این زمان نوعا کمتر از میلی ثانیه میباشد.
زمان اجرای کل برنامه، بستگی به بزرگی برنامه کنترل دارد.
هر دستورالعمل جهت اجرا بسته به نوع PLC مورد استفاده، به زمانی بین 1 تا 10 میکروثانیه نیازمند است.
بنابراین یک برنامه مشتمل بر یک کیلو دستورالعمل (یا 1024 دستورالعمل)، بین 1 تا 10 میلی ثانیه وقت میگیرد.
اما برنامه های PLC، اغلب کوتاه تر از 1000 و معمولاً شامل 500 یا کمتر دستورالعملند.
PLCهای زیمنس: شرکت زیمنس تمام PLCهای خود را زیر مجموعه Simatic میداند، یعنی: Simatic S5 Simatic S7 Simatic C7 505 LOGO S5 خود، به مدلهای زیر تقسیم میگردد: 90u 95u 100u 115u 135u 155u مدلهای 90u و 95u به صورت یکپارچه یا Compact هستند، یعنی کارتهای I/O (ورودی و خروجی)، CPU و بعضاَ منبع تغذیه کنار هم میباشند.
مدلهای 100u و