در این مقاله از مجله پیاستور میخواهیم درمورد برنامه نویسی پی ال سی صحبت کنیم. برنامه نویسی PLC یکی از مهارتهای اساسی در اتوماسیون صنعتی است که به کمک آن میتوان فرآیندهای پیچیده صنعتی را کنترل و مدیریت کرد. در این مقاله به بررسی مفاهیم پایهای برنامهنویسی پیالسی، زبانهای مختلف برنامهنویسی مورد استفاده، و کاربردهای آن در صنایع مختلف خواهیم پرداخت.
PLC چیست؟
پی ال سی مخفف Programmable Logic Controller (کنترلکننده منطقی قابل برنامهریزی) است و به عنوان یکی از اصلیترین ابزارهای اتوماسیون صنعتی شناخته میشود. این دستگاه یک کامپیوتر تخصصی صنعتی مبتنی بر میکروپروسسور است که برای کنترل فرآیندها، ماشینآلات و خطوط تولید به کار میرود. PLCها با جایگزینی سیستمهای سنتی منطق رلهای، مزایایی همچون انعطافپذیری بالا، سرعت و دقت بیشتر، و امکان برنامهریزی مجدد را ارائه میدهند.
این دستگاه با استفاده از ورودیهای دیجیتال (مانند سنسورهای وضعیت) و آنالوگ (مانند حسگرهای دما)، سیگنالها را پردازش کرده و خروجیهایی برای کنترل ماشینها، موتورهای الکتریکی، سیستمهای نورپردازی و سایر تجهیزات صنعتی تولید میکند. علاوه بر این، مقاومت بالا در برابر شرایط محیطی سخت، آن را به انتخابی ایدهآل برای صنایع مختلف تبدیل کرده است.
تاریخچه PLC
PLCها برای اولین بار در اواخر دهه ۱۹۶۰ توسط شرکت جنرال موتورز و با کمک شرکت Bedford Associates طراحی شدند. هدف اصلی از توسعه این دستگاه، جایگزینی سیستمهای کنترل منطق رلهای بود که به دلیل پیچیدگی زیاد و هزینههای بالا در نگهداری، ناکارآمد بودند. اولین PLC با نام تجاری Modicon (Modular Digital Controller) معرفی شد و پایهگذار انقلاب در اتوماسیون صنعتی گردید.
سیستم منطق رلهای چیست؟
منطق رلهای (Relay Logic) یک روش سنتی برای کنترل فرآیندهای صنعتی است که در آن از رلهها به عنوان دستگاههای سوئیچینگ استفاده میشود. در این سیستم، از رلهها برای انجام عملیات منطقی (مانند AND، OR، NOT) استفاده شده و ارتباطات با استفاده از سیمهای فیزیکی انجام میشود. اگرچه این سیستم ساده است، اما قابلیت انعطافپذیری محدودی دارد و به همین دلیل PLCها به تدریج جایگزین آنها شدهاند.
کاربرد و ویژگیهای کلیدی PLC
PLC به گونهای طراحی شده که در محیطهای صنعتی سخت، مانند کارخانجات، نیروگاهها و پالایشگاهها، که اغلب پر از نویز، گردوغبار و ارتعاش هستند، قابل اعتماد باشد. ویژگیهای کلیدی PLC شامل موارد زیر است:
- انعطافپذیری در برنامهریزی: PLCها میتوانند برنامههای مختلفی را اجرا کنند و بر اساس نیازهای سیستم، تغییرات جدیدی را اعمال کنند. این برنامهها با زبانهای تخصصی مانند Ladder Diagram یا Structured Text نوشته میشوند.
- قابلیت ماژولار: بسیاری از PLCها بهصورت ماژولار طراحی شدهاند، به این معنا که میتوان اجزای مختلفی مانند ماژولهای ورودی/خروجی، ماژولهای ارتباطی، و ماژولهای حافظه را به آن اضافه یا از آن حذف کرد.
- پایداری بالا: PLCها برای کار در شرایط سخت صنعتی طراحی شدهاند و مقاومت بالایی در برابر تغییرات دما، رطوبت، و اختلالات الکترومغناطیسی دارند.
- کنترل دقیق و زمان واقعی: یکی از مزایای کلیدی PLC توانایی آن در پردازش دادهها بهصورت زمان واقعی است. این ویژگی به آن اجازه میدهد تا تصمیمات فوری برای کنترل فرآیندهای پیچیده بگیرد.
PLC چگونه کار میکند؟
برای برنامه نویسی پی ال سی باید بدانیم یک PLC از چه چیزهایی تشکیل شده است. PLC برای کنترل و نظارت بر فرآیندهای مختلف صنعتی، دستورالعملهایی را که به صورت کد نوشته شدهاند، اجرا میکند. PLC از چندین جزء اصلی تشکیل شده است که هر کدام نقش خاص خود را در عملکرد دستگاه ایفا میکنند. این اجزا عبارتند از: CPU، ورودی/خروجی، منبع تغذیه، حافظه و دستگاه برنامه نویسی؛ که در ادامه توضیح داده میشود.
۱- رک
رک به عنوان محفظهای برای قرار دادن ماژولها و اجزای مختلف PLC عمل میکند. این رکها میتوانند چندین ماژول ورودی، خروجی، CPU و دیگر ماژولها را در خود جای دهند. رکها معمولاً بهصورت عمودی یا افقی طراحی میشوند و سیستمهای مختلف میتوانند تعداد ماژولهای مختلفی در رک داشته باشند.
۲- منبع تغذیه
منبع تغذیه برای تأمین ولتاژ و جریان مورد نیاز سایر اجزا و ماژولهای PLC عمل میکند. این منبع باید از کیفیت و پایداری مناسبی برخوردار باشد تا عملکرد بهینه سیستم تضمین شود.
۲- واحد پردازش مرکزی (CPU)
CPU مغز PLC است که تمام پردازشها، تصمیمگیریها و پردازشهای منطقی را انجام میدهد. این واحد برنامههایی را که در حافظه ذخیره شدهاند، خوانده و اجرا میکند. همچنین، وظیفه نظارت بر ورودیها و ارسال خروجیها را نیز بر عهده دارد. CPU مهمترین قطعه در برنامه نویسی پی ال سی به شمار میرود.
۳- ماژولهای ورودی/خروجی (I/O)
ماژولهای ورودی/خروجی وظیفه ارتباط PLC با دنیای خارجی را بر عهده دارند. ماژولهای ورودی دادههایی مانند وضعیت سنسورها و کلیدها را دریافت میکنند، و ماژولهای خروجی فرمانهایی برای کنترل عملگرها مانند موتورها یا رلهها ارسال میکنند.
۴- دستگاه برنامه نویسی
دستگاه برنامه نویسی ابزاری است که برای نوشتن و بارگذاری برنامهها به داخل PLC استفاده میشود. این دستگاه میتواند یک کامپیوتر شخصی، لپتاپ یا حتی یک دستگاه خاص باشد که از طریق یک پورت ارتباطی به PLC وصل میشود.
۵- حافظه و ذخیرهسازی
حافظه PLC برای ذخیره برنامههای نوشته شده با برنامه نویسی پی ال سی و دادههای عملیاتی استفاده میشود. این حافظه معمولاً به دو نوع تقسیم میشود: حافظه قابل دسترسی برای برنامه و حافظه غیر فرار که اطلاعات را حتی در صورت قطع برق نگه میدارد.
۶- ارتباطات
PLCها معمولاً از پروتکلهای ارتباطی خاصی برای تبادل داده با دیگر دستگاهها یا سیستمهای نظارتی استفاده میکنند. این ارتباطات ممکن است از طریق شبکههای صنعتی مانند Ethernet یا پروتکلهای اختصاصی PLC باشد.
۷- چرخه حیات PLC
چرخه حیات PLC شامل مراحل مختلف از انتخاب، طراحی، برنامهریزی، نصب، راهاندازی، نگهداری و نهایتاً بازنشستگی یا تعویض آن است. هر کدام از این مراحل باید با دقت انجام شود تا سیستم بهطور بهینه عمل کند.
زبانهای برنامه نویسی پی ال سی
در برنامه نویسی پی ال سی PLC، از زبانهای مختلفی برای طراحی و پیادهسازی برنامهها استفاده میشود. امروزه پنج زبان برنامه نویسی بینالمللی قابل قبول برای PLCها تحت استاندارد IEC61131-3 وجود دارد. این زبانها به دو دسته اصلی تقسیم میشوند:
۱. زبانهای برنامه نویسی متنی (Textual Programming Languages)
- Instructions List (IL)
- Structured List (SL)
۲. زبانهای برنامه نویسی گرافیکی (Graphical Programming Languages)
- Ladder Diagram (LD)
- Sequential Flow Chart (SFC)
- Function Block Diagram (FBD)
در ادامه توضیحی برای هر یک از این زبانها ارائه میدهیم.
۱. زبانهای برنامه نویسی متنی
زبانهای برنامه نویسی متنی در PLCها بهصورت متنی و خط به خط دستورالعملها را برای کنترل فرآیندها تعریف میکنند. این زبانها به برنامهنویسان این امکان را میدهند که عملیاتهای پیچیدهتر و محاسباتی را به راحتی پیادهسازی کرده و بر اساس نیازهای خاص، برنامه نویسی دقیقتری انجام دهند.
Instruction List (IL)
زبان Instruction List (IL) یکی از زبانهای قدیمی و متنی برنامه نویسی پی ال سی است. این زبان شبیه به زبانهای اسمبلی است و برای پیادهسازی دستورالعملها به شکل متنی از دستورات خاص استفاده میکند. در این زبان، هر دستور به طور مستقیم عملکرد سیستم PLC را تحت تأثیر قرار میدهد و به طور معمول برای انجام عملیات منطقی، ریاضی و کنترلی به کار میرود.
– ویژگیها:
- دستورات به شکل متنی و مشابه زبان اسمبلی نوشته میشوند.
- برای انجام عملیاتهای ساده و سطح پایین بسیار مناسب است.
- کدها بهطور مستقیم و سریع بر روی سختافزار تأثیر میگذارند.
– محدودیتها:
- خواندن و نگهداری کدها به دلیل پیچیدگی و کوتاهی دستورات دشوار است.
- برای پروژههای پیچیده مناسب نیست و کار با آن نیاز به تجربه دارد.
Structured Text (ST)
زبان Structured Text (ST) یک زبان برنامه نویسی سطح بالا است که بیشتر شبیه به زبانهای برنامه نویسی عمومی مانند Pascal یا C است. این زبان برای انجام محاسبات پیچیده و ایجاد توابع پیشرفته در PLCها طراحی شده است. در این زبان، دستورات بهصورت متنی نوشته میشوند و میتوان از ساختارهای کنترلی مانند حلقهها (Loops) و شرطها (If statements) برای نوشتن کدهای پیچیده در برنامه نویسی پی ال سی استفاده کرد.
– ویژگیها:
- زبان سطح بالاست و شبیه به زبانهای برنامه نویسی عمومی است.
- امکانات پیشرفته مانند استفاده از توابع ریاضی، حلقهها و دستورات شرطی را فراهم میکند.
- بهراحتی میتوان برای انجام عملیاتهای پیچیده از آن استفاده کرد.
– محدودیتها:
- برای افراد مبتدی یا کسانی که با زبانهای برنامه نویسی آشنا نیستند، یادگیری آن ممکن است دشوار باشد.
- اجرای این زبان ممکن است نسبت به زبانهای گرافیکی زمان بیشتری بگیرد.
۲. زبانهای برنامه نویسی گرافیکی
زبانهای برنامه نویسی گرافیکی در PLCها با استفاده از نمادها و نمودارهای گرافیکی برای طراحی برنامهها به کار میروند. این زبانها بهویژه برای نمایش فرآیندهای پیچیده و توالی عملیاتها مفید هستند و فهم آنها برای افراد با تجربه در مهندسی برق و اتوماسیون سادهتر است.
Ladder Diagram (LD)
زبان Ladder Diagram (LD) یکی از پرکاربردترین زبانهای گرافیکی در برنامه نویسی پی ال سی است که به شکل دیاگرام پلهای طراحی میشود. این زبان بهویژه برای افرادی که با مدارهای الکتریکی و کنترل دیجیتال آشنایی دارند، بسیار مناسب است. در این زبان، دستورات بهصورت گرافیکی و شبیه به مدارهای الکتریکی بهطور ساده طراحی میشوند. بهعنوان مثال، یک پله میتواند نمایانگر یک رله یا سوئیچ باشد.
– ویژگیها:
- طراحی گرافیکی و شبیه به دیاگرامهای الکتریکی.
- مناسب برای کنترلهای دیجیتال و ساده (ON/OFF).
- برای افرادی که در زمینه برق و اتوماسیون صنعتی تجربه دارند، یادگیری آن آسان است.
– محدودیتها:
- برای طراحی سیستمهای پیچیدهتر که نیاز به پردازش دادهها دارند، محدود است.
- کدهای پیچیدهتر و محاسباتی با این زبان بهسختی پیادهسازی میشوند.
Sequential Function Chart (SFC)
زبان Sequential Function Chart (SFC) یک زبان گرافیکی برای طراحی سیستمهای کنترل پیچیده و فرآیندهای توالیدار است. این زبان از نمودارهای گرافیکی برای نشان دادن مراحل مختلف یک فرآیند استفاده میکند و جریان انتقال بین مراحل مختلف را بهطور واضح نمایش میدهد. این زبان برای سیستمهای کنترل پیچیده با حالتهای مختلف یا با مراحل متعدد مفید است.
– ویژگیها:
- نمایش مراحل مختلف فرآیند به صورت گرافیکی.
- مناسب برای سیستمهای کنترل با توالیهای پیچیده و انتقالات حالتهای مختلف.
- میتواند به راحتی جریانهای مختلف عملیات را مدیریت کند.
– محدودیتها:
- برای سیستمهای ساده و پروژههای کوچک مناسب نیست.
- نیاز به درک عمیق از فرآیندهای توالیدار دارد.
Function Block Diagram (FBD)
زبان Function Block Diagram (FBD) یکی دیگر از زبانهای گرافیکی برنامه نویسی پی ال سی است که برای طراحی الگوریتمهای پیچیده در سیستمهای کنترل استفاده میشود. در این زبان، از بلوکهای عملکردی (Function Blocks) برای انجام عملیاتهای منطقی، ریاضی و توابع پیشرفته استفاده میشود. این بلوکها میتوانند بهصورت مستقل عمل کنند و میتوان آنها را بهراحتی ترکیب کرد تا الگوریتمهای پیچیدهتری را بهوجود آورد.
– ویژگیها:
- از بلوکهای عملکردی برای ایجاد توابع پیچیده استفاده میشود.
- میتوان بهراحتی از بلوکهای آماده برای ایجاد سیستمهای پیچیده استفاده کرد.
- مناسب برای ترکیب کنترلهای دیجیتال و آنالوگ.
– محدودیتها:
- برای افرادی که با مفاهیم گرافیکی آشنا نیستند، ممکن است پیچیده باشد.
- پیچیدگی ساختارهای بزرگ و پیچیده ممکن است باعث دشواری در نگهداری برنامه شود.
فرآیند برنامه نویسی پی ال سی
فرآیند برنامه نویسی PLC شامل مجموعهای از مراحل است که باید به ترتیب اجرا شوند. این مراحل از شناخت نیازها و طراحی ورودیها و خروجیها شروع شده و تا شبیهسازی و اجرای نهایی ادامه دارد.
۱- مراحل طراحی برنامه PLC
طراحی برنامه PLC با بررسی دقیق فرآیند صنعتی آغاز میشود. در این مرحله، تمامی نیازهای سیستم کنترل، از جمله نوع فرآیند، شرایط کاری، و اهداف عملکردی مشخص میشوند. همچنین سختافزار مناسب PLC با توجه به تعداد ورودیها و خروجیها، سرعت پردازش و قابلیتهای ارتباطی انتخاب میشود.
۲- تعریف ورودیها و خروجیها
در این مرحله، ورودیها و خروجیهای سیستم تعریف میشوند. ورودیها شامل حسگرهای دیجیتال و آنالوگ و کلیدهای کنترلی هستند، درحالیکه خروجیها میتوانند موتور، رله یا پمپ باشند. به هر ورودی و خروجی آدرسهای مشخصی اختصاص داده میشود که در برنامه استفاده خواهد شد.
۳- طراحی و ایجاد دستورالعملها
طراحی دستورالعملها در برنامه نویسی پی ال سی شامل انتخاب زبان برنامه نویسی مناسب (مانند Ladder Diagram یا Structured Text) و پیادهسازی منطق کنترلی سیستم است. توالی عملیات، شرایط منطقی و توابع پیچیده در این مرحله طراحی و برنامهریزی میشوند. همچنین برنامه باید ساده و قابل درک نوشته شود تا نگهداری و بهروزرسانی آن آسان باشد.
۴- مدیریت حافظه و متغیرها
مدیریت حافظه و متغیرها یکی از بخشهای حیاتی برنامه نویسی است. در این مرحله متغیرها تعریف و تخصیص داده میشوند و نوع داده (مانند Boolean، Integer یا Float) برای هر متغیر مشخص میشود. همچنین مقادیری که باید در صورت قطع برق حفظ شوند، تعیین و در حافظه مناسب ذخیره میگردند.
۵- شبیهسازی و تست برنامهها
پس از طراحی برنامه، شبیهسازی و تست آن انجام میشود. ابتدا با استفاده از نرمافزارهای شبیهسازی، عملکرد برنامه بررسی شده و از صحت اجرای منطقها و توالیها اطمینان حاصل میشود. سپس برنامه روی سختافزار PLC بارگذاری شده و در محیط واقعی تست میشود. در این مرحله، عیبیابی و بهینهسازی برنامه برای رفع ایرادات احتمالی انجام میشود.
آموزش برنامه نویسی پی ال سی PLC
PLCها برای فرآیندهای صنعتی بزرگ طراحی شدهاند و استفاده از آنها بدون آموزش کافی خطرناک است. برای پروژههای کوچکتر، از سیستمهای مبتنی بر میکروکنترلر مانند Arduino یا Raspberry Pi استفاده کنید. در این مقاله فرض بر آن است که با مقدمات عملگرهای منطقی و منطق رله ای آشنایی دارید. پیش نیازهای کار با PLC عبارتند از:
- آشنایی با استانداردهای ایمنی برق.
- ابزار و تجهیزات لازم برای نصب سیستم.
مرحله ۱: یافتن نقشه سیمکشی
اولین گام در برنامهریزی هر PLC، سیمکشی صحیح آن است. پس از شناسایی مدل PLC Micrologix مورد استفاده، ضروری است که یک نقشه سیمکشی پیدا کرده و قطبیت و موقعیت هر ورودی و خروجی را درک کنید. هر مدل Micrologix ممکن است ورودیها و خروجیهای متفاوتی داشته باشد.
سیمکشی نادرست هرکدام میتواند باعث خرابی شدید شود و به PLC آسیب برساند. پس از شناسایی ورودیها و خروجیها، PLC را به یک سیستم ریل DIN استاندارد صنعتی متصل کنید. در تصویر زیر، نقشهای برای یک سیستم ابتدایی و عمومی سری Allen Bradley Micrologix 11XX ارائه شده است.
مرحله ۲: سیمکشی
بلوکهای ترمینال را روی ریل DIN نصب کنید. مدارشکن را با استانداردهای ایمنی سیمکشی کنید و از عدم اتصال کوتاه اطمینان حاصل کنید. PLC را بر اساس نقشه سیمکشی برقرسانی کنید و عملکرد صحیح آن را بررسی کنید.
مرحله ۳: نصب برنامهها
پس از بررسی مجدد سیمکشی و اطمینان از راهاندازی صحیح PLC، نرمافزار مناسب را روی دستگاهی که برای برنامه نویسی پی ال سی استفاده میشود (کامپیوتر) نصب کنید. برای سیستمهای Micrologix Allen Bradley از نرم افزار RsLogix500 و RsLinx میتوان برای برنامه نویسی PLC و شبکهبندی آن استفاده کرد. پس از تکمیل نصب همه برنامههای لازم، سیستم خود را مجدداً راهاندازی کنید تا از کامل بودن نصب مطمئن شوید.
مرحله ۴: شبکهبندی
پس از نصب، فرآیند شبکهبندی را آغاز کنید. ابتدا در بخش شبکه دستگاه Micrologix، یک IP به PLC اختصاص دهید. بهعنوان مثال، یک IP آدرس میتواند “۱۷۲.۷۲.۷.۲” باشد. آدرس PLC را پیکربندی کرده و با استفاده از اترنت آن را به کامپیوتر متصل کنید.
در کامپیوتر، کنترل پنل را باز کنید و به بخش networking and sharing center رفته و روی “change adapter settings” کلیک کنید. سپس روی “ethernet” راست کلیک کرده و گزینه Properties را انتخاب کنید. در قسمت IPV4، گزینه “use the following IP address” را تیک بزنید. از همان آدرس IP که در PLC ثبت شده است استفاده کنید، اما عدد آخر را تغییر دهید. بهعنوان مثال، آدرس میتواند “۱۷۲.۷۲.۷.۱” باشد. پس از وارد کردن آدرس IP، روی OK کلیک کرده و همه پنجرهها را ببندید.
سپس RsLinx را باز کنید، به منوی communication رفته و “RsWho” را انتخاب کنید. پس از شناسایی PLC شبکهشده توسط RsLinx، روی اتصال ethernet کلیک کنید. در نهایت، دوبار روی PLC که با IP آن مشخص شده است کلیک کنید تا از اتصال مطمئن شوید.
مرحله ۵: برنامه نویسی
برای برنامه نویسی پی ال سی Micrologix در کامپیوتر، پس از نصب نرم افزار بایستی مراحل زیر را انجام دهید:
– باز کردن RsLogix 500 و دسترسی به تنظیمات ارتباطی:
- روی زبانهی “comms” کلیک کنید.
- گزینهی “system communications” را انتخاب کنید.
- PLC متصل به شبکه را دوبار کلیک کنید.
– آپلود برنامه از PLC به دستگاه برنامه نویسی:
- پس از اولین اتصال به PLC، اولین کاری که باید انجام شود، آپلود برنامهی موجود روی PLC به دستگاه برنامه نویسی است. این کار برای جلوگیری از از دست رفتن برنامههای ارزشمند ضروری است.
- برای انجام این کار، از منوی “comms” گزینهی “upload” را انتخاب کنید.
- برنامهی نصبشده روی PLC بهطور خودکار آپلود شده و نمایش داده میشود.
– ذخیره و پشتیبانگیری از برنامهی آپلودشده:
- برنامه آپلودشده را ذخیره و نسخهی پشتیبان تهیه کنید، زیرا ممکن است برنامه اهمیت داشته باشد.
– برنامه نویسی پی ال سی:
- از دانش قبلی خود دربارهی منطق نردبانی (Ladder Logic)، دیاگرامهای شماتیک پروژه، و ویژگی debug برای شناسایی و رفع خطاها استفاده کنید.
- برنامه را پیش از انتقال به PLC بررسی و اشکالزدایی کنید.
– دانلود برنامه به PLC:
- پس از اطمینان از رفع تمام خطاها، برنامه را مشابه فرآیند آپلود، به PLC دانلود کنید.
مرحله ۶: سیمکشی خروجیها
پس از تکمیل برنامه نویسی پی ال سی PLC، خروجیها را سیمکشی کنید. از تطابق کامل سیمکشی با کدهای ایمنی و عدم وجود خطا اطمینان حاصل کنید. در نهایت، PLC را روشن کرده و سیستم را فعال نمایید.
نتیجه گیری
برنامه نویسی پی ال سی بهعنوان هسته اصلی عملکرد این دستگاهها، نقشی کلیدی در اجرای دقیق و بهینه فرآیندهای صنعتی ایفا میکند. این نوع برنامه نویسی با استفاده از زبانهای خاص مانند Ladder Logic، Structured Text و Function Block Diagram، امکان تعریف و اجرای منطقهای کنترلی پیچیده را فراهم میآورد.
برنامه نویسی PLC با انعطافپذیری بالا، به کاربران این امکان را میدهد که فرآیندها را بهسرعت تغییر داده یا بهبود دهند و در عین حال قابلیت اطمینان و پایداری سیستم را حفظ کنند. هرچند یادگیری و تسلط بر برنامه نویسی پی ال سی نیازمند دانش فنی و تجربه است، اما در نهایت این مهارت میتواند موجب بهبود بهرهوری، کاهش هزینهها و افزایش دقت در عملیات صنعتی شود. این توانمندی، PLC را به یک ابزار بیرقیب برای کنترل هوشمند در صنایع مختلف تبدیل کرده است.