PLC

PLC چیست؟ راهنمای کامل PLC در اتوماسیون صنعتی

راهنمای کامل کنترلر منطقی برنامه‌پذیر در اتوماسیون صنعتی

مقدمه

اگر بخواهیم ساده بگوییم PLC چیست، PLC یا کنترلر منطقی قابل برنامه‌ریزی، هسته اصلی بسیاری از سیستم‌های اتوماسیون صنعتی برای دریافت ورودی‌ها، اجرای منطق کنترلی و تولید خروجی‌هاست. در این مقاله، PLC را از دید مهندسی و کاربرد صنعتی بررسی می‌کنیم و با معماری CPU، ورودی و خروجی‌های I/O، برنامه‌نویسی، ارتباطات صنعتی، اتصال به HMI و Inverter، ملاحظات ایمنی، عیب‌یابی و نکات مهم انتخاب یک PLC مناسب آشنا می‌شویم.

PLC صنعتی در سیستم اتوماسیون و کنترل ماشین

۱. انتخاب CPU بر اساس نیاز واقعی

انتخاب CPU بهتر است بعد از تهیه I/O List، تعیین شبکه و مشخص کردن Technology انجام شود. تعداد I/O، حافظه، Communication، زمان‌بندی Taskها و ظرفیت توسعه روی انتخاب اثر دارند.

در یک پروژه کوچک CPU بسیار قدرتمند ممکن است بلااستفاده بماند؛ در پروژه بزرگ CPU ضعیف می‌تواند محدودیت ایجاد کند. هدف انتخاب ظرفیت متناسب و قابل توسعه است.

>

۲. Power Supply و معماری تغذیه PLC

PLC و ماژول‌های آن به تغذیه مناسب نیاز دارند. در کنار مصرف CPU، مصرف Expansion، Remote I/O و سنسورها باید محاسبه شود. همچنین باید مدار حفاظت و توزیع تغذیه در تابلو مناسب باشد.

تفکیک تغذیه کنترل از مدارهای پرنویز و بررسی Grounding می‌تواند به پایداری کمک کند. مشخصات مجاز هر پلتفرم باید از مستندات همان سازنده خوانده شود.

۳. Data Types و ساختار داده

انتخاب Data Type مناسب باعث خوانایی و کاهش خطا می‌شود. Boolean برای وضعیت، Integer برای شمارش و Real برای بسیاری از مقادیر مهندسی استفاده می‌شود، اما دامنه واقعی متغیر باید با نوع داده سازگار باشد.

در پروژه‌های بزرگ استفاده از Structure یا Data Block برای جمع کردن Status، Command، Alarm و Measurement یک تجهیز مفید است و ارتباط با HMI را منظم‌تر می‌کند.

۴. طراحی برنامه و ماژولار کردن منطق

یک Program قابل نگهداری بهتر است به بلوک‌های عملکردی تقسیم شود؛ مثلاً Motor، Valve، Conveyor، Recipe و Alarm. این کار امکان تست و استفاده مجدد را بالا می‌برد.

نام‌گذاری استاندارد، Comment و مستندسازی Interface هر Function Block اهمیت زیادی دارد. برنامه‌ای که فقط نویسنده آن را می‌فهمد در تعمیرات پرریسک می‌شود.

۵. State Machine برای کنترل ماشین

ماشین‌های مرحله‌ای را می‌توان با Stateهایی مانند Idle، Prepare، Start، Run، Stop و Fault مدل کرد. Transitionها باید شرط روشن داشته باشند.

این ساختار امکان می‌دهد HMI State فعلی را نمایش دهد و تکنسین بفهمد چرا ماشین از یک مرحله به مرحله بعد نرفته است.

معماری PLC شامل CPU و وردودی خروجی صنعتی

۶. Analog Control و PID

در حلقه PID، Process Value، Setpoint و Output باید به شکل مشخص تعریف شوند. Sample Time و Filter نیز بر رفتار حلقه اثر دارند.

قبل از تنظیم PID باید مشخص شود Loop در PLC اجرا می‌شود یا در VFD یا کنترلر دیگری. داشتن دو حلقه که یک فرآیند را هم‌زمان کنترل کنند می‌تواند رفتار را پیچیده کند.

۷. Recipe و مدیریت Setpoint

Recipe مجموعه‌ای از پارامترهای تولید است که PLC و HMI می‌توانند آن را مدیریت کنند. PLC باید قبل از اعمال پارامترها Range و شرایط مجاز را بررسی کند.

بهتر است پارامترهای قابل تغییر اپراتور از پارامترهای مهندسی جدا باشند و تغییرات مهم در Log ثبت شوند.

۸. Tag Mapping با HMI

Interface میان PLC و HMI باید ساختار مشخص داشته باشد: Command، Status، Measurement، Setpoint، Alarm و Diagnostic. این دسته‌بندی Mapping را ساده می‌کند.

هر Tag مهم باید Unit، Range و Access Level داشته باشد. برای مثال Actual Value معمولاً Read Only است و Setpoint می‌تواند Read/Write باشد.

۹. ارتباط با درایو و مدیریت قطع شبکه

PLC می‌تواند Ready، Run، Fault و Actual Speed را از VFD دریافت و فرمان Start/Stop یا Speed Reference را ارسال کند. در Servo نیز Command و Stateهای حرکت اهمیت دارند.

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

ارتباط PLC با HMI و تجهزات صنعتی در شبکه

۱۰. Diagnostic، Trace و ثبت رویداد

Watch Table و Online Monitoring برای خطاهای منطقی مفید هستند. Trace یا Logging نیز برای Faultهای لحظه‌ای کمک می‌کند زیرا رفتار متغیرها را قبل و هنگام رویداد نشان می‌دهد.

ثبت Timestamp و ترتیب رویدادها برای پیدا کردن Root Cause مهم است. اولین Fault ممکن است علت و Faultهای بعدی پیامد آن باشند.

۱۱. Safety و Interlock

>

Safety Function نباید فقط در HMI یا PLC استاندارد اجرا شود. معماری ایمنی باید بر اساس ارزیابی ریسک و تجهیزات مناسب طراحی شود.

در برنامه PLC نیز Interlock عملیاتی از Safety Function جدا شود. HMI فقط وضعیت و فرمان مجاز را ارائه کند.

۱۲. امنیت سایبری و دسترسی مهندسی

PLC متصل به شبکه باید از دسترسی غیرمجاز محافظت شود. مدیریت حساب، Password، Remote Access و Segmentation بخشی از رویکرد امنیتی هستند.

فایل پروژه نیز باید کنترل شود؛ زیرا تغییر غیرمجاز Logic می‌تواند رفتار ماشین را تغییر دهد. Backup و مدیریت نسخه مکمل امنیت فنی هستند.

۱۳. Commissioning و FAT/SAT

در پروژه‌های صنعتی، FAT می‌تواند منطق و I/O را قبل از نصب نهایی بررسی کند و SAT عملکرد سیستم را در محل واقعی تأیید نماید. ترتیب دقیق آزمون به پروژه بستگی دارد.

Test Procedure باید شامل حالت نرمال و Fault باشد. معیار پذیرش هر Test نیز بهتر است از ابتدا مشخص شود.

۱۴. مثال معماری یک ماشین

یک ماشین می‌تواند PLC، HMI، VFD، Servo، سنسورهای Digital/Analog و Remote I/O داشته باشد. PLC Sequence و Interlock را مدیریت می‌کند و تجهیزات تخصصی وظایف خود را انجام می‌دهند.

طراحی موفق زمانی حاصل می‌شود که Interfaceها، Tag Mapping، شبکه، Safety، Alarm و Recovery به‌صورت یک معماری واحد دیده شوند.

۱۵. تفاوت PLC، PAC و کنترلرهای صنعتی دیگر

PLC، PAC و کنترلرهای صنعتی دیگر همه در حوزه کنترل قرار می‌گیرند اما معماری، نرم‌افزار و تمرکز آنها می‌تواند متفاوت باشد. PLC کلاسیک معمولاً برای کنترل ترتیبی، I/O و منطق ماشین شناخته می‌شود، در حالی که بعضی PACها امکانات محاسباتی و شبکه‌ای گسترده‌تری ارائه می‌کنند.

برای پروژه سمن اتوماسیون بهتر است نام محصول و نیاز واقعی از هم تفکیک شوند. معیار اصلی، تعداد I/O، زمان پاسخ، شبکه، Motion، Data Handling، Safety و قابلیت توسعه است؛ نه صرفاً نام دسته محصول.

۱۶. Scan Cycle و زمان پاسخ PLC

در بسیاری از PLCها برنامه کنترل در قالب چرخه یا Taskهای مشخص اجرا می‌شود. زمان اجرای برنامه و زمان Update ورودی و خروجی روی Response سیستم اثر دارند.

یک برنامه بزرگ با Communication و محاسبات زیاد می‌تواند نسبت به یک برنامه ساده زمان بیشتری مصرف کند. بنابراین زمان پاسخ را باید با نیاز واقعی فرآیند مقایسه کرد و در پروژه‌های حساس، زمان Task و Execution را اندازه‌گیری کرد.

۱۷. Cyclic، Periodic و Event Task

بسته به پلتفرم PLC، برنامه می‌تواند در Taskهای Cyclic، Periodic یا Event-driven اجرا شود. Task سریع برای کارهای حساس به زمان و Task کندتر برای محاسبات یا Diagnostics ممکن است مناسب باشد.

تقسیم Taskها باید با قابلیت همان PLC سازگار باشد. انتقال یک معماری Task از یک برند به برند دیگر بدون بررسی Scheduler می‌تواند نتیجه متفاوتی داشته باشد.

۱۸. Memory Management و Retentive Data

برخی داده‌ها مانند Counterها، Setpointها یا Recipe باید پس از قطع برق حفظ شوند. این داده‌ها ممکن است در Memory Retentive یا ناحیه مخصوص ذخیره شوند.

نحوه Retention، ظرفیت و عمر حافظه به پلتفرم بستگی دارد. بنابراین برای داده‌های مهم باید روش Backup و Recovery جداگانه نیز تعریف شود.

۱۹. ساختار پروژه و Naming Convention

در پروژه PLC، نام‌گذاری منظم IO، DB، Function، Function Block و Alarm اهمیت زیادی دارد. نامی مثل Pump01_RunCmd از نامی مانند M100.2 برای مستندسازی بهتر است.

در کنار Naming باید قراردادهای Type و Comment نیز تعریف شوند. استاندارد داخلی تیم باعث می‌شود پروژه‌های متعدد سمن اتوماسیون قابل نگهداری‌تر باشند.

۲۰. Function، Function Block و Data Block

Function معمولاً برای منطق بدون State دائمی مناسب است، در حالی که Function Block می‌تواند State یا Instance Data داشته باشد. جزئیات پیاده‌سازی بسته به زبان و PLC متفاوت است.

تفکیک منطق به Blockهای کوچک باعث تست آسان‌تر می‌شود. برای هر Block باید Interface مشخص باشد و وابستگی‌های پنهان حداقل شوند.

۲۱. Structured Text در پروژه‌های پیچیده

Structured Text یا ST برای محاسبات، مدیریت آرایه‌ها و Logicهای پیچیده در بسیاری از محیط‌ها مناسب است. IEC 61131-3 زبان‌ها و ساختارهای برنامه‌نویسی مرتبط با کنترلرهای قابل برنامه‌ریزی را تعریف می‌کند.

با وجود قدرت ST، برای منطق‌های قابل مشاهده توسط تکنسین ممکن است LD یا FBD خواناتر باشد. انتخاب Language بهتر است بر اساس نوع منطق و مهارت تیم انجام شود.

۲۲. Ladder برای Interlock و Sequence

Ladder Diagram برای نمایش منطق شرطی و Interlock در بسیاری از ماشین‌ها رایج است. مسیرهای منطقی واضح می‌توانند عیب‌یابی را برای تکنسین آسان کنند.

اما Ladder بسیار بزرگ و بدون ساختار نیز نگهداری را دشوار می‌کند. استفاده از Blockهای مجزا و Comment ساختار برنامه را بهتر می‌کند.

۲۳. FBD و منطق عملکردی

Function Block Diagram برای کنترل‌های عملکردی و ترکیب بلوک‌های محاسباتی مناسب است. در پروژه‌هایی که چند Signal باید به یک Function داده شوند، FBD می‌تواند خوانایی خوبی ایجاد کند.

مانند هر Language، استفاده بیش از حد از Networkهای بزرگ باعث پیچیدگی می‌شود. ماژولار بودن و نام‌گذاری اهمیت بیشتری از خود زبان دارد.

۲۴. SFC و کنترل مرحله‌ای

Sequential Function Chart یا SFC برای نمایش Stateهای یک Sequence مناسب است. Start، Prepare، Fill، Process، Drain و Stop نمونه‌ای از Stateهای قابل مدل‌سازی هستند.

برای ماشین‌های مرحله‌ای، SFC می‌تواند رابطه بین Step و Transition را شفاف کند. در عین حال باید Recovery از Fault و Reset Sequence به روش روشن تعریف شود.

۲۵. PID و کنترل فرآیند

PLC می‌تواند در برخی پلتفرم‌ها Loopهای PID را اجرا کند. PV، SP و Output باید با واحدهای مهندسی مشخص تعریف شوند و Sample Time با Dynamic فرآیند هماهنگ باشد.

قبل از Tuning باید Sensor، Actuator، Range و جهت کنترل مشخص باشند. اگر Valve یا VFD پاسخ کندی دارد، Tuning بدون درنظرگرفتن این رفتار نتیجه خوبی نمی‌دهد.

۲۶. Motion در PLCهای مدرن

برخی PLCهای جدید قابلیت Motion Control داخلی یا Functionهای Technology را ارائه می‌کنند. این ویژگی می‌تواند در ماشین‌های دارای تعداد محور محدود معماری را ساده کند.

با افزایش تعداد محور یا نیاز به Coordinated Motion، کنترلر تخصصی Motion یا شبکه Real-Time ممکن است مناسب‌تر باشد. انتخاب باید بر اساس Cycle Time، محور، Profile و Synchronization انجام شود.

۲۷. Communication با HMI

ماژولهای توسعه I/O در PLC صنعتی

HMI معمولاً از Tagهایی استفاده می‌کند که به Memory یا Data Structure PLC نگاشت می‌شوند. بهتر است Tagهای Command و Status از هم جدا باشند تا خوانایی و امنیت بیشتر شود.

برای Commandهای حساس می‌توان Handshake یا Sequence Number استفاده کرد تا PLC بداند فرمان جدید واقعاً دریافت شده و اجرا شده است. جزئیات این الگو به معماری پروژه بستگی دارد.

۲۸. Communication با VFD و Servo

PLC می‌تواند Start، Stop، Speed Reference، Status و Fault را با Drive مبادله کند. در Servo نیز Command Position، Actual Position و Motion State ممکن است تبادل شوند.

قطع ارتباط باید State مشخص داشته باشد. برای مثال، PLC نباید در صورت Timeout شبکه فرض کند که Drive همچنان در وضعیت قبلی است.

۲۹. OPC UA، MQTT و دسترسی داده

در برخی معماری‌های جدید، PLC داده را از طریق OPC UA یا Gatewayهای صنعتی در اختیار سیستم‌های بالاتر قرار می‌دهد. این لایه برای Data Access با منطق Real-Time ماشین یکسان نیست.

باید مشخص شود کدام داده برای Cloud، MES یا Monitoring لازم است و کدام داده فقط داخل PLC باقی می‌ماند. جداسازی Control Plane از Data Plane می‌تواند معماری را ساده‌تر کند.

۳۰. Cybersecurity در PLC

امنیت PLC شامل مدیریت دسترسی، محدودکردن Remote Access، Segmentation شبکه، مدیریت فایل پروژه و ثبت تغییرات است. اتصال مستقیم کنترلر به اینترنت معمولاً نیازمند معماری امنیتی دقیق‌تری است.

حتی اگر PLC به شبکه بیرونی متصل نباشد، لپ‌تاپ Engineering و USB نیز بخشی از Attack Surface هستند. آموزش کاربران و کنترل نسخه Project مکمل حفاظت فنی است.

۳۱. کنترل دسترسی و Change Management

تغییر Logic باید فقط توسط افراد مجاز انجام شود و نسخه پروژه قبل از تغییر Backup شود. تاریخ، دلیل و مسئول تغییر بهتر است ثبت گردد.

پس از تغییر، Test Procedure اجرا شود و Version جدید با وضعیت واقعی PLC هماهنگ باشد. پروژه بدون Change Log در تعمیرات بلندمدت ریسک بیشتری دارد.

۳۲. FAT، SAT و Commissioning PLC

در FAT می‌توان I/O Mapping، Sequence، Alarm، Communication و Error Recovery را در محیط کنترل‌شده آزمایش کرد. SAT عملکرد را در محل واقعی و همراه با ماشین و تجهیزات بررسی می‌کند.

برای هر تست، ورودی، اقدام، انتظار و نتیجه باید مشخص باشد. این مستندات بعداً به Maintenance و Troubleshooting نیز کمک می‌کنند.

۳۳. Troubleshooting از I/O تا Logic

PLC و تجهیزات کنترل در تابلو اتوماسیون صنعتی

عیب‌یابی را می‌توان از فیزیک شروع کرد: تغذیه، فیوز، سیم‌کشی، Sensor و Actuator. سپس Status ورودی و خروجی PLC بررسی شود. بعد از آن سراغ Logic، Interlock، Communication و HMI بروید.

این ترتیب کمک می‌کند مشکل Wiring با مشکل Software اشتباه گرفته نشود. Trace و Watch Table برای Faultهای منطقی و لحظه‌ای بسیار مفید هستند.

۳۴. Backup، Restore و نسخه‌بندی

Backup PLC باید شامل Project، Hardware Configuration، Libraryها و اطلاعات نسخه باشد. فایل Backup را با نام ماشین و تاریخ ذخیره کنید.

آزمون Restore باید روی سیستم مشابه یا محیط تست انجام شود. صرف داشتن یک فایل روی کامپیوتر مهندس، تضمین Recovery نیست.

۳۵. Availability و معماری افزونه

در پروژه‌هایی که Stop هزینه بالایی دارد، CPU، Power و Network ممکن است به شکل Redundant طراحی شوند. این کار نیازمند بررسی دقیق سازگاری تجهیزات است.

افزونه‌های I/O نیز باید در معماری Availability دیده شوند. یک Node یا Power Supply تک‌نقطه‌ای می‌تواند حتی در سیستم دارای CPU Redundant گلوگاه شود.

۳۶. مثال جامع خط تولید

یک خط تولید می‌تواند شامل PLC، Remote I/O، HMI، VFD، Servo، Sensorهای Analog و Digital و شبکه صنعتی باشد. PLC Sequence، Interlock، Alarm و ارتباط با تجهیزات را مدیریت می‌کند.

HMI وضعیت را نمایش می‌دهد و فرمان‌های مجاز را می‌فرستد. Driveها کنترل حرکت یا سرعت را انجام می‌دهند و Remote I/O سیگنال‌های نزدیک ماشین را جمع‌آوری می‌کند. مستندسازی Interface بین این اجزا عامل اصلی نگهداری مناسب است.

۳۷. چک‌لیست انتخاب PLC

پیش از خرید PLC، تعداد Digital و Analog I/O، رشد آینده، سرعت Task، Memory، شبکه، Motion، PID، HMI، Safety، محیط نصب و Service ابزار Engineering مشخص شوند.

در پایان Compatibility کل اکوسیستم بررسی شود: CPU با Module، Module با Firmware، PLC با HMI، PLC با Drive و شبکه با ابزارهای پیکربندی. انتخاب یک جزء بدون دیدن کل معماری می‌تواند هزینه آینده را افزایش دهد.

۳۸. استاندارد IEC 61131-3 و زبان‌های PLC

IEC 61131-3 چارچوب زبان‌های برنامه‌نویسی کنترلرهای قابل برنامه‌ریزی مانند Ladder Diagram، Function Block Diagram، Structured Text و Sequential Function Chart را پوشش می‌دهد. انتخاب زبان باید با نوع Logic و مهارت تیم سازگار باشد.

استاندارد به معنی یکسان بودن نرم‌افزار تمام برندها نیست. Syntax، Library و Runtime بین پلتفرم‌ها متفاوت است و برنامه باید بر اساس Manual و Engineering Tool همان سازنده نوشته شود.

۳۹. IEC 61131-2 و محیط الکتریکی

IEC 61131-2 به الزامات تجهیز و آزمون کنترلرهای قابل برنامه‌ریزی می‌پردازد. موضوعاتی مانند شرایط ورودی و خروجی و آزمون‌های مرتبط با محیط الکتریکی در این حوزه قرار می‌گیرند.

در انتخاب PLC برای کارخانه، تنها CPU و تعداد I/O دیده نمی‌شود؛ شرایط محیط، سازگاری الکتریکی و الزامات نصب نیز باید بررسی شوند.

۴۰. Real-Time و Determinism

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

برای Motion یا کنترل سریع، Cycle Time و Jitter باید با مشخصات فرآیند مقایسه شوند. شبکه‌ای که برای Monitoring مناسب است لزوماً برای Motion مناسب نیست.

۴۱. Watch Table و ابزارهای Debug

Watch Table به مهندس اجازه می‌دهد مقدار Tagها را هنگام اجرای برنامه مشاهده کند. این ابزار برای بررسی Interlock، State و ارتباط بین Functionها بسیار مفید است.

تغییر Value از محیط Engineering باید فقط در شرایط کنترل‌شده انجام شود. Force کردن یک خروجی یا Bit می‌تواند ماشین را حرکت دهد و باید با روش کار ایمن انجام شود.

۴۲. Simulation و Virtual Commissioning

Simulation می‌تواند بخشی از Sequence و Logic را قبل از اتصال به ماشین آزمایش کند. در این روش Sensorها و شرایط Process به شکل مجازی ایجاد می‌شوند.

Simulation همه خطاهای واقعی را نشان نمی‌دهد؛ مکانیک، Wiring و EMC باید در SAT بررسی شوند. با این حال شناسایی خطاهای Logic قبل از نصب زمان Commissioning را کم می‌کند.

۴۳. Library و استانداردسازی Function Block

در پروژه‌های متعدد می‌توان Function Blockهای استاندارد برای Motor، Valve، Conveyor، Alarm و Analog Signal ایجاد کرد. این Library باید نسخه و مستندات مشخص داشته باشد.

مزیت Library زمانی حاصل می‌شود که Interface ثابت و تست‌شده باشد. تغییر بدون Version Control می‌تواند عملکرد ماشین‌های موجود را تحت تأثیر قرار دهد.

۴۴. State Machine در ماشین‌های پیچیده

State Machine وضعیت‌هایی مانند Idle، Ready، Run، Hold، Fault و Recovery را روشن می‌کند. هر State باید شرط ورود، عملکرد و شرط خروج مشخص داشته باشد.

این ساختار برای HMI نیز مفید است زیرا State فعلی به‌صورت واضح قابل نمایش می‌شود. در نتیجه علت توقف یا انتظار ماشین برای اپراتور روشن‌تر خواهد بود.

۴۵. Interlockهای فرآیندی

Interlock می‌تواند مانع Start شدن یک تجهیز در شرایط نامناسب شود؛ مثلاً Valve باید باز باشد یا Pressure در محدوده مشخص قرار داشته باشد. Interlockهای مهم باید در برنامه مستند باشند.

برای هر Interlock بهتر است یک Status قابل مشاهده وجود داشته باشد. نمایش فقط Run/Stop بدون علت Blocking، عیب‌یابی را دشوار می‌کند.

۴۶. Alarm Management در PLC

PLC معمولاً Conditionهای Alarm را ایجاد و State آنها را مدیریت می‌کند. HMI این Alarmها را نمایش می‌دهد، ولی Logic ایجادکننده باید در PLC مستند باشد.

Latch، Reset Condition، Delay و Priority باید برای هر Alarm مشخص شوند. Alarmهای لحظه‌ای بدون فلسفه مناسب می‌توانند باعث ازدحام پیام‌ها شوند.

۴۷. Time Stamp و Sequence of Events

برای برخی Faultها دانستن ترتیب رخدادها اهمیت زیادی دارد. اگر Timestamp با دقت کافی ثبت شود، می‌توان تشخیص داد کدام Signal اول تغییر کرده است.

این ویژگی در سیستم‌های سریع یا چندتجهیزی ارزشمند است. دقت Timestamp و روش Synchronization زمان باید مطابق قابلیت همان پلتفرم ارزیابی شود.

۴۸. Redundancy و Single Point of Failure

در معماری صنعتی باید مشخص شود کدام جزء در صورت خرابی کل سیستم را متوقف می‌کند. CPU، Power Supply، Network و Remote I/O ممکن است Single Point of Failure باشند.

Redundancy زمانی ارزش دارد که کل مسیر با آن سازگار باشد. یک CPU Redundant همراه با یک Power Supply تک‌نقطه‌ای لزوماً Availability موردنظر را ایجاد نمی‌کند.

۴۹. Migration و ارتقای PLC

گاهی PLC قدیمی باید با مدل جدید جایگزین شود. پیش از Migration باید I/O Mapping، Protocol، Program Blocks، HMI Tags و Timing بررسی شود.

هدف Migration فقط انتقال Code نیست. Compatibility سخت‌افزار و تفاوت رفتار Runtime نیز باید در FAT و SAT تست شوند.

۵۰. چک‌لیست کامل انتخاب PLC

Architecture، I/O، CPU Performance، Memory، Network، Motion، PID، Safety، HMI، Expansion، Environment، Service Tool و Spare Parts باید بررسی شوند.

در نهایت Lifecycle تجهیز نیز دیده شود: Availability، نسخه Firmware، پشتیبانی نرم‌افزار و امکان تأمین قطعات. این موارد برای پروژه‌های صنعتی بلندمدت مهم هستند.

۵۱. مثال جامع PLC در خط تولید

در یک خط تولید، PLC ورودی سنسورها را می‌خواند، Sequence را اجرا می‌کند، VFD و Servo را کنترل می‌کند و وضعیت را به HMI می‌فرستد. Remote I/O برای بخش‌های دور از تابلو استفاده می‌شود.

در معماری نهایی باید مشخص باشد کدام Logic در PLC است، کدام کنترل در Drive انجام می‌شود، کدام داده به HMI می‌رود و رفتار Fault و Network Loss چگونه خواهد بود. این تفکیک مرز عملکرد اجزا را روشن می‌کند.

۵۲. PLC و معماری لایه‌ای اتوماسیون

PLC معمولاً در لایه کنترل ماشین قرار می‌گیرد و با I/O، Drive، HMI و شبکه صنعتی ارتباط دارد. در معماری بزرگ‌تر ممکن است PLC با SCADA، MES یا سیستم‌های اطلاعاتی نیز داده مبادله کند.

تفکیک وظایف مهم است: Logic کنترل و Interlock در Controller، رابط اپراتوری در HMI، کنترل تخصصی سرعت یا حرکت در Drive یا Motion و Data Analysis در لایه‌های بالاتر.

۵۳. Signal Flow از Sensor تا Actuator

یک سیگنال می‌تواند از Sensor وارد I/O شود، در PLC پردازش شود و به Output یا شبکه منتقل گردد. شناخت این مسیر در Troubleshooting بسیار مهم است.

وقتی یک Actuator کار نمی‌کند، بررسی را از Signal Source تا Output و سپس فرمان مقصد دنبال کنید. این روش از حدس‌زدن جلوگیری می‌کند.

۵۴. Analog Process Loop

در یک Loop فشار، Sensor مقدار Pressure را به 4-20 mA می‌دهد. PLC آن را Scale می‌کند، با Setpoint مقایسه می‌کند و PID Output را به VFD یا Valve می‌فرستد.

هر بخش باید Range و Unit مشخص داشته باشد. اختلاف واحد یا Scaling یکی از خطاهای رایج در Loopهای Analog است.

۵۵. مدیریت حالت‌های Manual و Auto

PLC باید Mode را به شکل State مشخص مدیریت کند. در Auto، Sequence اجرا می‌شود و در Manual، اپراتور یا Maintenance فرمان‌های محدود و کنترل‌شده در اختیار دارد.

Interlock و Safety نباید صرفاً با انتخاب Manual حذف شوند. این دو مفهوم باید از سطح بهره‌برداری جدا بمانند.

۵۶. Recipe و Data Structure

می‌توان Recipe را در Structure شامل Speed، Temperature، Time و سایر Setpointها قرار داد. نسخه و نام محصول نیز بخشی از داده است.

قبل از فعال‌سازی Recipe باید Range و شرایط مجاز بررسی شوند. در صورت استفاده از فایل یا Memory خارجی، Backup نیز ضروری است.

۵۷. مدیریت Date/Time در PLC

برای ثبت Alarm و Event، زمان صحیح اهمیت دارد. PLC، HMI و سیستم‌های بالاتر باید روش مشخصی برای Time Synchronization داشته باشند.

تغییر ساعت یا Time Zone بدون درنظرگرفتن گزارش‌های قبلی می‌تواند ترتیب رخدادها را دشوار کند. این مسئله در تحلیل Faultهای پیچیده اهمیت دارد.

۵۸. Communication Timeout و Watchdog

برای هر ارتباط شبکه‌ای باید Timeout و رفتار پس از قطع مشخص باشد. Watchdog می‌تواند کمک کند PLC بفهمد Device هنوز پاسخ می‌دهد یا خیر.

صرف دریافت آخرین داده قدیمی کافی نیست؛ باید Freshness داده و State ارتباط نیز قابل تشخیص باشد.

۵۹. مستندسازی برنامه PLC

Comment در Logic، نام مناسب Blockها و شرح Interfaceها باید بخشی از پروژه باشد. یک برنامه بدون مستندات در زمان تعمیرات به سختی قابل فهم است.

علاوه بر Code، باید Network Diagram، I/O List، Alarm List و Parameter List نگهداری شوند.

۶۰. تست نهایی سیستم کنترل

تست نهایی باید شامل Normal Operation، Fault، Communication Loss، Sensor Failure و Recovery باشد. فقط عملکرد معمول ماشین برای تحویل کافی نیست.

نتایج تست باید همراه با نسخه PLC، HMI و Drive ثبت شوند تا بعداً مشخص باشد کدام نسخه در زمان تحویل فعال بوده است.

۶۱. مرور نهایی PLC

PLC مناسب نتیجه ترکیب CPU، I/O، Network، Program Architecture، HMI، Drive، Safety و توسعه آینده است. هیچ مشخصه‌ای به تنهایی انتخاب را تعیین نمی‌کند.

یک پروژه قابل نگهداری باید علاوه بر عملکرد، مستندات، Backup، Version Control و Procedure عیب‌یابی داشته باشد. این موارد هزینه مالکیت بلندمدت را کاهش می‌دهند.

۶۲. سؤالات متداول درباره PLC

PLC چیست؟

PLC یا Programmable Logic Controller کنترلر صنعتی قابل برنامه‌ریزی برای دریافت ورودی، اجرای منطق و تولید خروجی در ماشین و فرایند است.

تفاوت PLC و HMI چیست؟

PLC منطق کنترل را اجرا می‌کند و HMI عمدتاً رابط کاربر برای نمایش وضعیت، Alarm و فرمان‌های مجاز است.

آیا PLC با Inverter و Servo ارتباط دارد؟

بله. بسته به معماری از I/O یا شبکه صنعتی برای تبادل فرمان و داده استفاده می‌شود.

IEC 61131-3 چه کاربردی دارد؟

این استاندارد زبان‌ها و قواعد برنامه‌نویسی کنترلرهای قابل برنامه‌ریزی مانند LD، FBD، ST و SFC را تعریف می‌کند.

PLC Expansion چیست؟

ماژول‌های توسعه برای افزایش I/O، ارتباطات یا قابلیت‌های تکنولوژیک یک PLC استفاده می‌شوند.

منابع و مراجع

IEC 61131-3:2025, Programmable controllers — Part 3: Programming languages.

IEC 61131-2:2017, Programmable controllers — Part 2: Equipment requirements and tests.

Siemens, S7-1200 G2 System Manual, Version 4.1, 2025.

Rockwell Automation, Programmable Controllers technical documentation.

ABB, PLC Automation and AC500 documentation.

محل پیشنهادی: بخش عیب‌یابی

File Name: plc-industrial-control-panel.jpg

Alt Text: PLC و تجهیزات کنترل در تابلو اتوماسیون صنعتی

نام فایل انگلیسی، lowercase و با خط تیره (-) باشد؛ از فاصله، + و کاراکترهای فارسی در نام فایل استفاده نشود.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top