کنترل‌گر منطقی برنامه‌پذیر

بندانگشتی|یک نوع پی ال سی فشرده با ۸ ورودی و ۴ خروجی.
**کنترل‌گر منطقی برنامه‌پذیر،**  یا ،  یک رایانه دیجیتال صنعتی است که برای استفاده در کاربردهای صنعتی استحکام بخشیده شده‌ است و در فرآیندهای صنعتی مانند کنترل فرآیندهای تولید، کنترل خطوط مونتاژ، کنترل دستگاه‌های رباتیک یا هر فرآیندی که نیاز به کنترل دقیق و قابل اطمینان و عیب‌یابی ساده داشته باشد از آن استفاده می‌شود.

استفاده از PLCها باعث شده‌ است که بسیاری از سیم کشی‌های مرسوم در مدارهای کنترلی رله‌ای حذف گردد. دیگر مزایای استفاده از PLC به جای سامانه‌های رله‌ای شامل: نصب و برنامه‌نویسی آسان، زمان پاسخ کوتاه، سرعت بالای کنترل، قابلیت شبکه کردن مجموعه، تست و عیب‌یابی ساده و قابلیت اطمینان بالای این سامانه‌ها می‌باشد.

## مفهوم PLC
**PLC**[بندانگشتی|یک پی‌ال‌سی از شرکت [زیمنس به همراه منبع تغذیه، پردازنده (CPU) و کارت‌های ارتباطی]]
یا کنترل‌گر منطقی برنامه‌پذیر:
به زبان ساده PLC دستگاهی است با قابلیت برنامه‌ریزی منطقی که می‌توان داده‌هایی را به عنوان ورودی به دستگاه تغذیه کنید، روی آن‌ها پردازش انجام دهید و در نهایت خروجی‌هایی را کنترل کرد یا نمایش داد.
# برنامه پذیر است. یعنی رایانه است. اما یک رایانهٔ ویژه برای منظوری ویژه.
# کار با آن ساده است. یعنی با دانستن اصول ساده و پایهٔ منطق که پیش‌نیازی هم ندارد، می‌توان اساس کار آن را درک و تحلیل کرد.
# کنترل‌گر است. مانند مدار فرمان الکتریکی.
# PLC منطقی ست. برخلاف مدار فرمان الکتریکی.

### تاریخچه PLC
PLC در اصل حاصل ایده‌های فردی به نام ریچارد دیک مورلی است. او فردی معمولی در دانشگاه MIT بود که تصمیم گرفت تحصیل خود را نیمه‌کاره رها کرده و به طرف مسیری ناشناخته ولی هدفی مصمم قدم بگذارد.

او شرکت خود را تاسیس کرد و در طی سالیان مختلف تلاش کرد تا چالش بزرگ صنعت را به خوبی شناسایی کرده و در جهت رفع آن تفکر و ایده‌پردازی کند.

### مزایای PLC
*زمان اسکن کردن بسیار سریعی دارد.
*قابلیت ارتباط با کامپیوتر در کل کارخانه را دارد.
*توانایی محاسباتی بسیار خوبی دارد.
*زمان آموزش کوتاهی دارد.
*طیف گسترده‌ایی از کاربردهای کنترلی را شامل می‌شود.
*به راحتی برنامه‌نویسی می‌شود و به راحتی زبان برنامه‌نویسی آن درک می‌شود.
*هزینه پروژه‌های آن را می‌توان به طور دقیق محاسبه کرد.
*از قابلیت کنترل نظارتی برخوردار است.
*دارای ابعاد فیزیکی کوچکی است.
*در برنامه‌نویسی مجدد انعطاف‌پذیری دارد.
*برطرف کردن مشکل در آن نسبت به سیستم‌های سنتی (بانک رله) آسان‌تر و سریع‌تر است.
*دارای شمارنده‌هایی با سرعت بالا است.
*زمان اجرای پروژه با آن کوتاه‌تر میشود.
*از قابلیت اطمینان بالا برخوردار است.
*در بهینه سازی مصرف انرژی تاثیر چشمگیری دارد.

### معایب PLC
*وقتی مشکلی برای پی ال سی پیش می‌آید، زمان بازیابی و اصلاح آن نامشخص است.
*محدودیت‌های کاری PLC در دمای بالا وجود دارد.
*در هنگام قطعی برق، برنامه مجدداً از جایی که متوقف شده بود، شروع به اجرا می‌کند و این اصلاً مناسب نیست! (ممکن است قبل از قطعی برق دستگاهی روشن شده باشد، و اکنون بلافاصله پس از وصل شدن برق روشن شدن آن دستگاه خطرآفرین باشد)
*همزمان فقط یک برنامه در یک پی ال سی مدل ثابت قابل اجرا است.
*نمی‌توان از نرم‌افزار و قطعات PLC یک برند خاص، در تولید و پیکره‌بندی پی ال سی برند دیگر استفاده کرد.

### مزیت PLC نسبت به رایانه
PLC برخلاف یک رایانهٔ عادی غیر صنعتی:
* برای کار در شرایط سخت ساخته می‌شود. شامل:
** غبار
** رطوبت
** گرما و سرما
** نویز الکتریکی و نوسان برق
** و..
* برنامه‌های داده شده به PLC در حافظهٔ آن ذخیره می‌شوند. PLC دو نوع حافظه دارد :موقّت (که یا با یک باتری پشتیبانی شود) و دائم.
* برای انجام وظیفهٔ ویژه اش، امکان اتصال و کنترل ورودی‌ها و خروجی‌های بسیاری را برای حسگرها و محرک‌های **متعدد** و **گوناگون** دارد.
* قابلیت خواندن و پردازش مقادیر و متغیّرها. شامل:
** مقادیر لیمیت سوییچ‌ها
** متغییرهای آنالوگ (مانند مقادیر حس‌گرهای گرما و فشار)
** موقعیت‌ها در سامانه‌های موقعیت‌یاب را دارد.
* قابلیت فعّال نمودن دستگاه‌های خاص. شامل:
** موتورهای الکتریکی
** سیلندرهای پنوماتیکی یا هیدرولیکی
** رله‌های مغناطیسی و سیم‌پیچ‌ها
** خروجی‌های آنالوگ را فعال کند.

### مزیت PLC نسبت به مدار فرمان
PLC جایگزین مناسب مدار فرمان الکتریکی‌ است. اما چون منطقی‌ست، دارای اشتباه کمتری و در برخی موارد مقرون به صرفه اقتصادی و کار با آن ساده‌تر و بهتر است.

کنترل منطقی از کنترلی‌ست که در آن صدور فرمان‌ها نیازمند برآورده شدن تعدادی توابع و خواست‌های منطقی باشد

## ساختار
ساختار PLC مشابه ساختار رایانه‌است. شامل:
# پردازنده و حافظهٔ نیمه‌رسانا
::بخش پردازنده دارای ارتباطاتی با بخش‌های مختلف داخل و خارج خود می‌باشد.
::حافظهٔ را توضیح خواهیم داد
# بخش دریافت فرمان و صدور فرمان
# منبع تغذیه
در PLCهای کوچک همهٔ موارد (پردازنده، I/O، منبع تغذیه در یک واحد و در PLCهای بزرگتر هر یک در واحدی مجزّا جای داده شده‌اند.
# واحد ارتباطی

حافظهٔ PLC دو نوع است:
* ROM یا حافظهٔ دائم (Read only memory)تراشه‌ایست خاص؛ حاوی برنامه‌ای که:
** توسط کارخانه سازنده تعبیه شده‌است.
** وظیفه‌ای مشابه سیستم‌عامل DOS در رایانه‌های شخصی دارد
** در حین عملیات CPU نمی‌تواند تغییر یابد یا پاک شود. حتّی به هنگام قطع تغذیه CPU
* RAM یا حافظهٔ موقّت (Random Access memory) تراشه‌ایست نیمه‌رسانا که می‌توان در آن برنامه نوشت.
** ابزار برنامه‌نویسی، که معمولاً یک واحد پردازنده با صفحه نمایش و صفحه کلید می‌باشد (بعنوان مثال یک کامپیوتر شخصی، یک PLC در خانواده زیمنس) به‌عنوان یک واحد مجزا از طریق سیم به واحد اصلی متصل است.
** برنامه در این حافظه ذخیره می‌شود
** امکان برنامه‌ریزی، تغییر و پاک کردن آن‌ها توسط برنامه‌ریز وجود دارد.
** حافظهٔ موقّت می‌تواند از نوعی غیر از RAM انتخاب شود.
*** اطلاعات موجود در حافظه‌های RAM با قطع تغذیه، پاک می‌گردند.
*** اغلب CPUها مجهز به یک باتری پشتیبان هستند؛ بنابراین اگر تغذیه ورودی قطع شود و درپی‌آن منبع تغذیه نتواند ولتاژ سامانه را تأمین کند، باتریِ پشتیبان، برنامهٔ ذخیره شده در RAM را حفظ می‌کند.

## انواع PLCها
در صنعت PLC بیش از یکصد کارخانه با تنوع بسیار در طراحی و ساخت انواع مختلف PLC فعالیت می‌کنند. PLCها را می‌توان از نظر اندازه، حافظه، تعداد ورودی/خروجی، وسعت عملیات (محلی یا وسیع) و … دسته‌بندی نمود. باید توجه داشت که برای ارزیابی قابلیت یک PLC باید ویژگی‌های دیگری مانند پردازنده، زمان اجرای یک سیکل، سادگی زبان برنامه‌نویسی، قابلیت توسعه و … را در نظر گرفت.

### از نظر اندازه، حافظه، تعداد ورودی/خروجی

### از نظر وسعت عملیات
#### PLCها با کاربرد محلی
کاربرد: کنترل سامانه‌هایی با حجم کوچک (تعداد ورودی و خروجی‌های محدود) و برای کنترل هم‌زمان تعداد کمتری از پروسه‌ها یا کنترل دستگاه‌های مجزای صنعتی (به علت قابلیت محدودتر)
ارائه: اغلب شرکت‌های سازنده، این نوع پی ال سی ها را همراه دیگر پی ال سی ها به بازار ارائه می‌دهند ولی برخی از شرکت‌های سازنده آن را با نام مینی پی ال سی یا اسمارت رله ارائه می‌نمایند. از جمله این نوع پی ال سی ها می‌توان به نمونه‌های زیر اشاره کرد:
# ZEN ساخت شرکت Omron ژاپن
# LOGO ساخت شرکت SIEMENS آلمان
# Zelio ساخت شرکت Telemecanique فرانسه
# Moeller آلمان
# LG کره
# Allen-Bradley آمریکا
# DVP-S ساخت شرکت دلتا الکترونیک-Delta Electronic تایوان
# FBS ساخت شرکت فتک- FATEK تایوان

#### PLCها با کاربرد وسیع
کاربرد: کنترل سایت کارخانه‌ها و دستگاه‌های صنعتی، نظارت و حفاظت.
:معمولاً در صنایع بزرگ، PLCها یا پروزت‌های ورودی – خروجی در بخش‌های مختلف سایت کارخانه وجود داشته و کنترل محلی بر بخش‌های تحت پوشش خود انجام می‌دهند. سپس اطلاعات مورد نیاز با استفاده از روش‌های مختلف انتقال داده‌ها به اتاق کنترل مرکزی منتقل شده و که در آن محل با استفاده از روش‌های مختلف مونیتورینگ صنعتی، اطلاعات به را شکل گرافیکی تبدیل کرده و بر روی صفحه مانیتور نمایش می‌دهند. در این حال اپراتور تنها با دانستن روش کار با رایانه و بدون نیاز به اطلاعات تخصصی می‌تواند سامانه را کنترل کند.
ارائه: از جمله معروف‌ترین PLCها از این خانواده را که می‌توان نام برد عبارتند از:
# شرکت Omron ژاپن
# شرکت siemens آلمان
# شرکت Telemecanique فرانسه
# شرکت Mitsubishi ژاپن
# شرکت LG کره
# شرکت Allen-Bradley آمریکا
# شرکت ABB سوئیس-سوئد
# شرکت دلتا الکترونیک تایوان
# شرکت فتک تایوان

### از دیگر نظرگاه‌ها
داشتن دیدگاه کاملی نسبت به تنوّع PLCها مهم‌ترین موضوع در انتخاب یک PLC مناسب است؛ لذا باید به این جنبه‌های تنوّع توجّه داشت
# تعداد ورودی‌ها
# تعداد خروجی‌ها
# تعداد فلگ‌ها
# تعداد شمارندگان (کانترها)
# تعداد تایمرها
# نوع فلگ‌ها و تایمرها
# اندازه حافظه
# سرعت اجرای برنامه SCAN TIME
# نوع برنامه کاری دستگاه
از طرفی امروزه عموماً از PLC به‌صورت وسیعی در صنایع مختلف استفاده می‌شود. از طرفی هم بیشتر خط تولیدهای جدید رو به استفاده از نسخه جدید PLCهای که دارای کنترل حرکت به روز هستند رفته‌اند که در آن خیلی از مشکلات نسخه‌های قبلی رفع شده و کنترل‌ها بسیار ساده‌تر گردیده‌است.

## مقیاس و نوع دستگاه
یک 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 را فراخوانی نمود. مثلاً برای فراخوانی سطر صدم از «DB ۵۰» به صورت زیر عمل می‌نماییم:
** C DB ۵۰ نام بلوکL DW ۱۰۰ نام سطر
* اطلاعات ذخیره شده در DBها با یکی از فرمتهای زیر هستند:
** KH برای اعداد در مبنی ۱۶
** KF برای اعداد در مبنی ۱۰
** KT برای اعداد ثبات TV
** KC برای شمارنده‌ها
** KY شانزده‌بیت، که به دو بایت کاملاً مجزّای چپ(DL) و راست(DR) تقسیم می‌شوند.
** KM برای متون
** KG اعداد اعشاری و اعداد بسیار بزرگ و بسیار کوچک
**بلوک سازماندهی OB**: این بلوک ساختار برنامه را مشخص می‌نماید هر OB بایک شمارهٔ خاص مشخص می‌شود. شامل:
* «OB ۱»: در آغاز هر سیکل برنامه، سیستم‌عامل نخستین سطر این بلوک را اجرا می‌کند؛ و آخرین سطر آن پایان بخش برنامه‌است. در واقع این بلوک مشخص‌کنندهٔ ساختار برنامه‌است.
* «OB ۲۱»: هنگامی که PLC از Start به Stop سویچ می‌شود این بلوک رخ می‌دهد.
* «OB ۲۲»: هنگامی که پاور ON می‌شود این بلوک رخ می‌دهد.
* «OB ۳۴»: نشان دهنده وضعیت باتری می‌باشد که در صورت تضعیف یا وقوع ایراد در آن تا رفع اشکال مکرراً تکرار می‌شود.

### دستورهای برنامه‌نویسی PLC
دستورهای برنامه‌نویسی PLC سه‌گانه‌اند:
# اصلی: توابعی که در تمام بلوک‌ها قابل اجرا هستند به غیر از جمع و تفریق تمام دستورها می‌توان به عنوان ورودی و خروجی به کار روند.
# تکمیلی: توابع ترکیبی نظیر دستورات جابجایی، توابع، Shift و نیز دستورات تبدیلی می‌باشد؛ که فقط در FB و حالت STL قابل اجرا هستند.
# سامانه: شامل دستورهایی است که مستقیماً روی سیستم‌عامل PLC تأثیر دارد و مخصوص برنامه نویسان حرفه‌ای است.
این دستورها ممکن است در PLCهای شرکت‌های مختلف متفاوت باشند.

**دستور AN برای خواندن صفر:**
همان‌طور که گفته شد، سه روش برای نمایش برای برنامهٔ PLC وجود دارد:
* LAD یا Ladder یا
* CSF یا Control System Flowchart یا
* STL یا Statement List
در روش LAD و CSF برای خواندن عدد صفر از ورودی از دستور AN استفاده می‌شود؛ که عبارت «صفر یا یک» در ورودی را به عبارت معکوسش یعنی «یک یا صفر» تبدیل می‌کند.

وقتی دکمهٔ فشار فشرده یا کلیدی روشن گردد بر حسب نوع کانتاکت عددی که در ورودی و خروجی ظاهر می‌شود متفاوت است:

مثال: برنامه‌ای بنویسید که با دو کلید A و B که به صورت سری به هم وصل هستند خروجی را روشن و خاموش نمایند.
 A I ۰٫۲= Q 0.0
 BE

**فلگ:**
هر فلگ یک بیت از حافظه PLC می‌باشد که آن را می‌توان معادل خروجی مجازی دانست. این بیت مانند هر بیت از حافظه می‌تواند دو مقدار «صفر» یا «یک» بگیرد با این تفاوت که فلگ‌ها حافظه‌های موقتی هستند. آدرس دهی فلگ‌ها همانند ورودی‌ها و خروجی‌ها است.
کاربرد فلگ‌ها در برنامه‌هایی است که عملگر "OR" قبل از عملگر "AND" بیاید و با حذف پرانتزها می‌توان از فلگ استفاده کرد. البته گاهی ممکن است برنامه طولانی‌تر شود.
مثال:
 O I ۱٫۴
 O I ۱٫۵= F 6.0
 O I 2.0
 O I ۲٫۱= F 6.1
 A F 6
 A F ۶٫۱= Q 3.0
 BE

**بیت RLO:**
# PLC در اجرای هر خط از برنامه مقدار حاصل از اعمال منطقی را در بیتی به نام RLO به معنی نتیجهٔ عملیات منطقی (result of logic operation) قرار می‌دهد.
# در اجرای هر سطر بعدی این مقدار با عملوند بعدی طبق برنامه ترکیب و مقدار حاصل در RLO جایگزین می‌شود.
# این عمل تا رسیدن به خط دستور هم‌ارزی (=) ادامه پیدا می‌کند. در این هنگام RLO مقدار خود را از دست داده و پذیرای مقدار جدید می‌شود.

**فلیپ فلاپ‌ها:**
فلیپ فلاپ شامل دو ورودی set و reset می‌باشد. در کل دو نوع فلیپ فلاپ وجود دارد:
# فلیپ فلاپ SR
# فلیپ فلاپ RS

تفاوت بین فلیپ فلاپ‌های فوق در ارجحیت ورودی‌های set و reset است. مثال:
 A I ۱٫۱
 S Q ۲٫۰
 A I ۱٫۲
 R Q ۲٫۰
 BE

 A I 1.2
 R Q 2.0
 A I 1.1
 S Q 2.0
 BE

در فلیپ فلاپ‌های SR هنگامی که ورودی R در حالت «صفر» باشد کافی است در یک لحظه ورودی S در حالت «یک» قرار بگیرد تا خروجی به صورت پایدار «یک» شود این وضعیت مادامی که R به صورت «صفر» است باقی خواهد ماند. در این فلیپ فلاپ اگر هر دو ورودی برابر «یک» باشد ارجحیت با دستور دوم است. چرا که دستور دوم ناقض دستور اول است و PLC دستورات را سطر به سطر اجرا می‌کند. با این بیان می‌توان اصل کلی زیر را نتیجه گرفت: هر دستوری که به خط پایان برنامه (BE) نزدیک تر باشد از نظر اجرا ارجح تر است.

**دستور NOP ۰ در فلیپ‌فلاپ:**
در PLCهای زیمنس، هر گاه بخواهیم از خروجی یک فلیپ فلاپ یا بخشی از برنامه هیچ استفاده‌ای نکنیم از دستور «NOP ۰» استفاده می‌نماییم. مثال:
 A I ۲٫۳
 S Q ۳٫۴
 A I ۲٫۴
 R Q ۳٫۵

با «NOP ۰» می‌توان خروجی یک فلیپ فلاپ را در یک فلگ قرار داد. مثال:
 A I ۰٫۱
 S F ۲٫۷
 A I ۰٫۷
 R F ۲٫۷
 A F ۲٫۷
 Q 3.4
 BE

**دستورات JU و JC:**
همان‌طور که گفته شد نتیجه عملکرد دستورات هر خط در بیت خاصی با نام RLO ذخیره می‌شود که دستورات می‌توانند به بیت RLO وابسته باشند یا نه. اگر دستورات به RLO وابسته نباشند غیر شرطی خواهند بود.

دستور JU بدون وجود هیچ گونه شرطی پرش یا انقال را انجام می‌دهد این پرش ممکن است از یک بلوک به بلوک دیگر یا از یک سطر به سطر دیگر همان بلوک انجام گیرد.

دستور JC وابسته به بیت RLO می‌باشد و مانند دستور قبل عمل پرش را انجام می‌دهد.
مثال: برنامه‌ای که با فشردن یک کلید PB ۱۸ و در صورت غیرفعال نمودن همان کلید PB ۱۹ را اجرا نماید.
با اندکی تفکر درمی یابیم که چنین برنامه‌ای را باید در «OB ۱» نوشت، زیرا همان‌طور که گفته شد ساختار کلی سامانه در این بلوک شکل می‌پذیرد. همچنین باید از دستور پرش شرطی استفاده نمود. اگر فرض کنیم کلید فشرده شده I ۰٫۰ باشد:
 A I ۰٫۰
 JC PB 0.0
 AN I ۰٫۰
 JC PB 19
 BE

**دستورهای بارگذاری و انتقال:**
برای بارگذاری از دستور"L" و برای انتقال از دستور "T" استفاده می‌شود. دستورات L و T غیر شرطی‌اند. زیرا به RLO وابسته نیستند. جهت مبادله مقادیر ورودی‌ها، خروجی‌ها یا فلگ‌ها نیاز به یک حافظه واسط می‌باشد که در قسمی بنام انباره یا آکومولاتور (Accumulator) موجود است. این حافظه از نوع رجیستر و شانزده بیتی است که معمولاً شامل شانزده بیت یا دو بایت با ارزش بالا و پایین می‌باشد.

دستور "L": برای بارگذاری اطلاعات از این دستور دستور "L" استفاده می‌نماییم که محتویات یک بایت فراخوانی و در انبارک جایگزین می‌شود.
 L IB 4
 L KD 5
 L KH 3
 L FY ۵
 ...
اگر PLC ما دو انبارک داشته باشد با دستور «L IW ۴» شانزده بیت موجود در کلمه ورودی شماره چهار را به «ACCUME ۱» می‌فرستد. اگر در همین حالت «L IW ۶» اجرا شود اطلاعات «ACCUME ۱» به «ACCUME ۲» می‌رود و «IW ۶» به «ACCUME ۱» منتقل می‌شود.

دستور "T": برای انتقال اطلاعاتی که در انبارک‌ها موجود است به خروجی‌ها یا فلگ‌ها از این دستور استفاده می‌شود. مثلاً در برنامهٔ زیر با اجرای دستور اول محتویات «ACCUME 1» به کلمه «خروجی هشت» کپی می‌شود.
 T QW 8
 T FW ۵۲

### رایانه به‌عنوان PLC
برای پیاده‌سازی PLC در رایانه‌های معمولی از یک نرم‌افزار شبیه‌ساز مانند "S5W" استفاده می‌شود.

### تجهیزات جانبی
1. HMI یا واسط بین انسان و ماشین:
این تجهیزات به کاربر این امکان را خواهد تا پردازش‌های در حال اجرا را که از قبل برنامه‌نویس و طراح آن‌ها را تعبیه کرده‌اند را مشاهده کنند، خروجی‌ها رو به صورت گرافیکی ببینند یا ورودی‌ها را توسط مانیتورهای تاچ اسکرین یا کلیدهای شستی بفشارند. به نوعی می‌توان گفت این تجهیزات می‌توانند هم به عنوان ورودی و هم خروجی ایفای نقش نمایند.
به‌طور مثال:
می‌توان دمای حرارت کوره را به صورت گرافیکی روی مانیتور مشاهده کنید (خروجی). یا می‌توان دکمه استارت پمپ را در آن تعبیه نمود که به صورت تاج کاربر پمپ را روشن نماید (ورودی).

2. LAN شبکه:
می‌توان داده‌ها یا خروجی‌ها را از طریق شبکه به نقاط مختلفی انتقال داد که این کار توسط تجهیزات شبکه‌ای که به PLC متصل می‌گردد قابل انجام است. بستن شیرهای خطوط انتقال سوخت در صورت بروز حادثه را می‌توان به عنوان یک کنترل از راه دور به کمک شبکه مثال زد.

### S5W
S5W یک سامانه PLC *زیمنس* را شبیه‌سازی می‌نماید. استفاده از این نرم‌افزار ساده‌است؛ پس از پایان کدنویسی و فشردن کلید آغاز شبیه‌سازی پنجره شبیه‌ساز PLC باز می‌شود. در اینجا ورودی‌ها، خروجی‌ها و فلگ‌ها مشاهده می‌شوند و می‌توان عملکرد برنامه نوشته شده را روی PLC آزمود.

## پی ال سی در مقایسه با سایر سیستم های کنترلی
پی ال سی ها به خوبی با طیف وسیعی از وظایف اتوماسیون یا خودکارسازی سازگار هستند. اینها معمولاً فرآیندهای صنعتی در تولید هستند که در آن هزینه توسعه و نگهداری سیستم اتوماسیون نسبت به هزینه کل اتوماسیون بالاتر است و در آنجا تغییراتی در سیستم در طول عمر عملیاتی آن انتظار می رود. پی ال سی ها حاوی تجهیزات ورودی و خروجی سازگار با دستگاه ها و کنترل های پایلوت صنعتی هستند. طراحی الکتریکی کمی مورد نیاز است و مشکل طراحی بر بیان توالی مورد نظر از عملیات متمرکز است. برنامه‌های کاربردی پی ال سی معمولاً سیستم‌های بسیار سفارشی‌سازی شده‌اند، بنابراین هزینه یک پی ال سی بسته‌بندی شده در مقایسه با هزینه یک طراحی کنترل‌کننده سفارشی خاص پایین است. از سوی دیگر، در مورد کالاهای تولید انبوه، سیستم های کنترل سفارشی اقتصادی هستند. این به دلیل هزینه کمتر قطعات است که می تواند به طور بهینه به جای یک راه حل "عمومی" انتخاب شود و هزینه های مهندسی غیر تکراری در هزاران یا میلیون ها واحد توزیع می شود.

### تراشه پی ال سی/ کنترلر تعبیه شده
برای دستگاه‌هایی با اندازه ی کوچک یا متوسط است. پی ال سی هایی که توان اجرای زبان های پی ال سی از جمله ladder و ... را شبیه پی ال سی های مرسوم دارند اما سایز کوچک آنها به توسعه دهندگان این امکان را می‌دهد که آنها را روی pcb سفارشی مانند یک میکروکنترلر بدون دانش برنامه نویسی طراحی کنند.

### تایمر بادامک
برای عملیات اتوماسیون ثابت با حجم بالا یا بسیار ساده، از تکنیک های مختلفی استفاده می شود. به عنوان مثال، یک ماشین ظرفشویی ارزان قیمت توسط یک تایمر بادامک الکترومکانیکی کنترل می شود که هزینه تولید آن تنها چند دلار است.

### میکروکنترلرها
طراحی مبتنی بر میکروکنترلر در جایی مناسب خواهد بود که صدها یا هزاران واحد تولید شود و بنابراین هزینه توسعه (طراحی منبع تغذیه، سخت‌افزار ورودی/خروجی، و آزمایش‌ها و گواهی‌نامه‌های لازم) در بسیاری از فروش‌ها توزیع شود و در جایی که کاربر نیازی به تغییر کنترل ندارد. به عنوان مثال برنامه های کاربردی خودرو را در نظر بگیرید. میلیون ها واحد هر سال ساخته می شوند و تعداد بسیار کمی از کاربران نهایی برنامه نویسی این کنترلرهای سفارشی را تغییر می دهند. با این حال، برخی از وسایل نقلیه تخصصی مانند اتوبوس های ترانزیت از لحاظ اقتصادی به جای کنترل های سفارشی از PLC استفاده می کنند، زیرا تعداد آنها کم است و هزینه توسعه غیراقتصادی است.
### کامپیوترهای تک بردی
جهت کنترل فرآیند بسیار پیچیده، مانند موارد استفاده در صنایع شیمیایی، ممکن است به الگوریتم‌ها و عملکردی فراتر از توانایی پی ال سی هایی با کارایی بالا نیاز داشته باشد. کنترل‌های بسیار پر سرعت یا دقیق ممکن است به راه‌حل‌های سفارشی‌شده نیز نیاز داشته باشند. به عنوان مثال، کنترل پرواز هواپیما. رایانه‌های تک بردی که از سخت‌افزار نیمه سفارشی یا کاملاً اختصاصی استفاده می‌کنند، ممکن است برای برنامه‌های کنترلی بسیار سخت که در آن هزینه‌های توسعه و نگهداری بالا قابل پشتیبانی است، انتخاب شوند.

### کنترلرهای PID
PLC ها ممکن است شامل منطق حلقه کنترل آنالوگ فیدبک تک متغیری، یک کنترل کننده PID باشند. برای مثال می توان از یک حلقه PID برای کنترل دمای یک فرآیند تولید استفاده کرد. از لحاظ تاریخی، PLC ها معمولاً تنها با چند حلقه کنترل آنالوگ پیکربندی می شدند. در جایی که فرآیندها به صدها یا هزاران حلقه نیاز دارند، در عوض از یک سیستم کنترل توزیع شده (DCS) استفاده می شود. با قدرتمندتر شدن PLC ها، مرز بین برنامه های کاربردی DCS و PLC محو شده است.

### رله های منطقی قابل برنامه ریزی (PLR)
در سال‌های اخیر، محصولات کوچکی به نام رله‌ های منطقی قابل برنامه‌ریزی (PLR) یا رله‌های هوشمند، رایج‌ شده‌اند. این رله ها شبیه PLCها هستند و در صنایع هایی استفاده می شوند که تنها به چند نقطه ورودی/خروجی نیاز است و همچنین هزینه کم مورد نظر است.این دستگاه‌های کوچک معمولاً در اندازه و شکل ظاهری مشترک توسط چندین سازنده ساخته می‌شوند و نیز توسط سازندگان PLC‌های بزرگ‌تر برای پر کردن طیف محصولات پایین‌رده خود تولید می‌شوند.اکثر این رله ها دارای 8 تا 12 ورودی مجزا، 4 تا 8 خروجی مجزا و حداکثر 2 ورودی آنالوگ هستند. 
اکثر این دستگاه‌ها شامل یک صفحه LCD کوچک به اندازه تمبر پستی جهت مشاهده برنامه ladder (فقط بخش بسیار کوچکی از برنامه در یک زمان معین قابل مشاهده است) و وضعیت نقاط ورودی/خروجی هستند. دکمه فشاری چهار طرفه به اضافه چهار دکمه فشاری جداگانه دیگر، شبیه دکمه های کلیدی روی یک کنترل از راه دور VCR، جهت جابه جایی و ویرایش استفاده می شود. اکثر آنها یک دوشاخه کوچک برای اتصال از طریق RS-232 یا RS-485 به رایانه شخصی دارند. بر خلاف PLC های معمولی که معمولاً ماژولار هستند و بسیار قابل گسترش هستند، PLR ها معمولاً ماژولار یا قابل گسترش نیستند، اما قیمت آنها می تواند بسیار کمتر از یک PLC باشد و همچنین طراحی قوی دارند و برنامه را به خوبی اجرا می کنند.

## جستارهای وابسته
* رایانه
* مهندسی کنترل
* اسکادا
* سامانه کنترل توزیع‌شده

## منابع

* مقاله‌های اتوماسیون صنعتی - مصطفی عرب عامری ۲۰۰۶
* آموزش و تعریف بر اساس کتاب برنامه‌نویسی صنعتی از دکتر برایان اوهام
* [//en.wikipedia.org/w/index.php?title=Programmable_logic_controller&oldid=252965814 مختصری از ویکی‌پدیای انگلیسی]

* 
* 
## خواندن بیشتر
* 

* Daniel Kandray, *Programmable Automation Technologies*, Industrial Press, 2010 , Chapter 8 *Introduction to Programmable Logic Controllers*

رده:اتوماسیون
رده:خودکارسازی صنعتی
رده:محاسبات صنعتی
رده:ویکی‌سازی رباتیک
رده:مهندسی کامپیوتر