انواع زبان های برنامه نویسی PLC (پی ال سی)
انواع زبان های برنامه نویسی PLC
فهرست
2- PLC و نقش زبانهای برنامهنویسی در اتوماسیون صنعتی. 2
3- استاندارد IEC 61131-3؛ مرجع اصلی زبانهای برنامهنویسی PLC.. 4
4- انواع زبان های برنامه نویسی PLC.. 5
4-1- زبان برنامهنویسی Ladder Diagram (LD) 6
4-2- زبان برنامهنویسی Function Block Diagram (FBD) 8
4-3- زبان برنامهنویسی Structured Text (ST) 11
4-4- زبان برنامهنویسی Sequential Function Chart (SFC) 14
4-5- زبان برنامهنویسی Instruction List (IL) 17
5- مقایسه انواع زبان های برنامه نویسی PLC.. 18
6- راهنمای انتخاب زبان مناسب برای برنامهنویسی PLC.. 18
7- سوالات متداول درباره زبانهای برنامهنویسی PLC.. 19
8- آیا یادگیری Ladder برای شروع PLC کافی است؟. 20
9- تفاوت Ladder Diagram و Structured Text چیست؟. 20
10- آیا همه PLCها از تمام زبانها پشتیبانی میکنند؟. 20
11- جمعبندی انواع زبان های برنامه نویسی PLC.. 20
1- مقدمه
امروزه اتوماسیون صنعتی به یکی از ارکان اصلی صنایع مدرن تبدیل شده است. از خطوط تولید خودکار در کارخانههای خودروسازی گرفته تا سیستمهای کنترل در صنایع نفت، گاز، پتروشیمی، نیروگاهها و صنایع غذایی، همگی به کنترلکنندههای منطقی برنامهپذیر یا PLC (Programmable Logic Controller) وابسته هستند. این کنترلکنندهها با اجرای برنامههای کنترلی، فرآیندهای صنعتی را با دقت، سرعت و قابلیت اطمینان بالا مدیریت میکنند.
یکی از مهمترین موضوعاتی که هر مهندس برق، اتوماسیون یا ابزار دقیق باید با آن آشنا باشد، انواع زبان های برنامه نویسی PLC است. برخلاف تصور بسیاری از افراد، PLC تنها یک زبان برنامهنویسی ندارد، بلکه مطابق با استاندارد بینالمللی IEC 61131-3، چندین زبان مختلف برای برنامهنویسی آن تعریف شده است. هر یک از این زبانها با هدف خاصی طراحی شدهاند و بسته به نوع پروژه، میتوانند مزایا و کاربردهای متفاوتی داشته باشند.
برای مثال، در یک پروژه کنترل موتورهای الکتریکی، استفاده از زبان Ladder Diagram گزینهای مناسب است؛ در حالی که برای پیادهسازی الگوریتمهای پیچیده یا انجام محاسبات ریاضی، زبان Structured Text عملکرد بسیار بهتری خواهد داشت. همچنین در پروژههایی که فرآیندها بهصورت مرحلهای اجرا میشوند، زبان Sequential Function Chart میتواند خوانایی و مدیریت برنامه را به شکل قابل توجهی افزایش دهد.
در این مقاله، ابتدا با استاندارد IEC 61131-3 آشنا میشویم و سپس تمامی زبانهای برنامهنویسی PLC شامل Ladder Diagram (LD)، Function Block Diagram (FBD)، Structured Text (ST)، Sequential Function Chart (SFC) و Instruction List (IL) را بهصورت کامل بررسی خواهیم کرد. همچنین مزایا، معایب، کاربردها و تفاوتهای هر زبان را بیان کرده و در پایان، راهنمایی خواهیم کرد که برای هر نوع پروژه، کدام زبان انتخاب مناسبتری است.
2- PLC و نقش زبانهای برنامهنویسی در اتوماسیون صنعتی
PLC یا کنترلکننده منطقی برنامهپذیر یک رایانه صنعتی است که برای کنترل فرآیندها و ماشینآلات طراحی شده است. برخلاف رایانههای معمولی، PLC در محیطهای صنعتی با شرایط سخت مانند دمای بالا، گردوغبار، رطوبت، لرزش و نویز الکترومغناطیسی نیز عملکرد پایداری دارد.
وظیفه اصلی PLC دریافت اطلاعات از سنسورها، پردازش آنها بر اساس برنامه نوشتهشده و ارسال فرمان مناسب به عملگرهایی مانند موتور، شیر برقی، کنتاکتور یا اینورتر است.
در گذشته، کنترل تجهیزات صنعتی با استفاده از مدارهای رلهای انجام میشد. با افزایش تعداد تجهیزات، حجم سیمکشی بهشدت افزایش مییافت و ایجاد هر تغییر کوچک در فرآیند نیازمند تغییرات گسترده در مدار بود. ظهور PLC این مشکل را برطرف کرد؛ زیرا تنها با تغییر نرمافزار میتوان رفتار سیستم را تغییر داد، بدون آنکه نیازی به تغییر سیمکشی باشد.
اما با گسترش کاربرد PLCها در صنایع مختلف، نیازهای برنامهنویسی نیز متنوعتر شد. برخی پروژهها تنها شامل چند ورودی و خروجی دیجیتال بودند، در حالی که برخی دیگر نیازمند محاسبات پیچیده، کنترل فرآیند، مدیریت دادهها یا اجرای توالیهای چندمرحلهای بودند. به همین دلیل، یک زبان واحد پاسخگوی تمام نیازها نبود و استانداردهای بینالمللی چندین زبان مختلف را برای برنامهنویسی PLC معرفی کردند.
3- استاندارد IEC 61131-3؛ مرجع اصلی زبانهای برنامهنویسی PLC
در سالهای ابتدایی توسعه PLC، هر شرکت سازنده مانند Siemens، Schneider Electric، Allen-Bradley، Omron یا Mitsubishi از زبانها و روشهای اختصاصی خود برای برنامهنویسی استفاده میکرد. این موضوع باعث میشد مهندسان برای کار با هر برند، ناچار به یادگیری نرمافزار و زبان جدیدی باشند و انتقال پروژهها بین برندهای مختلف نیز بسیار دشوار شود.
برای رفع این مشکل، کمیسیون بینالمللی الکتروتکنیک (IEC) استاندارد IEC 61131-3 را تدوین کرد. این استاندارد، بخش سوم از خانواده استانداردهای IEC 61131 است و به زبانهای برنامهنویسی PLC، ساختار پروژهها، انواع دادهها، بلوکهای تابعی و سازماندهی برنامهها میپردازد.
هدف اصلی این استاندارد، ایجاد یک چارچوب مشترک برای برنامهنویسی PLCها است تا توسعهدهندگان بتوانند با صرفنظر از برند PLC، از مفاهیم و زبانهای مشابه استفاده کنند.
از مهمترین مزایای استاندارد IEC 61131-3 میتوان به موارد زیر اشاره کرد:
- ایجاد یک زبان مشترک میان تولیدکنندگان PLC
- افزایش قابلیت انتقال برنامهها بین برندهای مختلف
- کاهش زمان آموزش مهندسان و تکنسینها
- افزایش کیفیت و خوانایی برنامهها
- سهولت نگهداری، توسعه و عیبیابی پروژههای صنعتی
- امکان استفاده مجدد از توابع و بلوکهای برنامهنویسی
اگرچه تمامی شرکتها این استاندارد را بهطور کامل و یکسان پیادهسازی نمیکنند، اما امروزه تقریباً تمامی PLCهای مطرح دنیا از بخش قابل توجهی از این استاندارد پشتیبانی میکنند.
4- انواع زبان های برنامه نویسی PLC
بر اساس استاندارد IEC 61131-3، پنج زبان اصلی برای برنامهنویسی PLC معرفی شده است:
- Ladder Diagram (LD) یا نمودار نردبانی
- Function Block Diagram (FBD) یا نمودار بلوکهای تابعی
- Structured Text (ST) یا متن ساختیافته
- Sequential Function Chart (SFC) یا نمودار توالی عملکرد
- Instruction List (IL) یا فهرست دستورات
این زبانها را میتوان به دو دسته کلی تقسیم کرد:
زبانهای گرافیکی
در این دسته، برنامه بهصورت نمودار و بلوکهای گرافیکی طراحی میشود و کاربر بدون نیاز به نوشتن کدهای متنی، منطق برنامه را پیادهسازی میکند. زبانهای LD، FBD و SFC در این گروه قرار میگیرند.
زبانهای متنی
در این زبانها، برنامه بهصورت دستورات متنی نوشته میشود و ساختاری مشابه زبانهای برنامهنویسی رایج مانند Pascal یا C دارد. Structured Text و Instruction List در این دسته قرار میگیرند.
نکته مهم این است که هیچیک از این زبانها بر دیگری برتری مطلق ندارد. انتخاب زبان مناسب به عواملی مانند نوع فرآیند، پیچیدگی پروژه، تجربه برنامهنویس، امکانات نرمافزار و برند PLC بستگی دارد. در بسیاری از پروژههای صنعتی، از ترکیب چند زبان بهطور همزمان استفاده میشود تا از مزایای هر یک بهره گرفته شود.
4-1- زبان برنامهنویسی Ladder Diagram (LD)
Ladder Diagram که به اختصار LD نامیده میشود، پرکاربردترین و شناختهشدهترین زبان برنامهنویسی PLC است. این زبان گرافیکی به گونهای طراحی شده که شباهت زیادی به مدارهای فرمان رلهای داشته باشد. به همین دلیل، مهندسان برق و تکنسینهای اتوماسیون که پیش از ورود PLC با مدارهای رلهای کار کردهاند، بهراحتی میتوانند منطق برنامه را درک کنند.
در زبان LD، برنامه از دو خط عمودی تشکیل میشود که بهعنوان خطوط تغذیه در نظر گرفته میشوند و عناصر منطقی بهصورت افقی بین این دو خط قرار میگیرند. هر خط افقی که در اصطلاح Rung یا نردبان نامیده میشود، بخشی از منطق کنترلی سیستم را پیادهسازی میکند. PLC این خطوط را از بالا به پایین و از چپ به راست اسکن کرده و بر اساس وضعیت ورودیها، خروجیها را کنترل میکند.
یکی از دلایل محبوبیت Ladder Diagram، سادگی در طراحی، خوانایی بالا و عیبیابی آسان است. در بسیاری از کارخانهها، حتی افرادی که دانش برنامهنویسی ندارند نیز میتوانند عملکرد کلی برنامه را از روی نمودار Ladder تشخیص دهند. به همین دلیل، این زبان همچنان رایجترین انتخاب برای پیادهسازی منطق کنترلی در سیستمهای صنعتی محسوب میشود.
ساختار زبان Ladder Diagram
در زبان LD از المانهای مختلفی برای ایجاد منطق کنترلی استفاده میشود که مهمترین آنها عبارتاند از:
- کنتاکت باز (Normally Open – NO): زمانی فعال میشود که ورودی مربوطه روشن باشد.
- کنتاکت بسته (Normally Closed – NC): در حالت عادی فعال است و با فعال شدن ورودی، مسیر جریان را قطع میکند.
- کویل (Coil): برای فعال یا غیرفعال کردن خروجیها، حافظهها یا بیتهای داخلی PLC استفاده میشود.
- تایمر (Timer): ایجاد تأخیر در روشن یا خاموش شدن تجهیزات.
- شمارنده (Counter): شمارش تعداد پالسها یا رویدادها.
- بلوکهای مقایسه و محاسباتی: برای مقایسه مقادیر و اجرای تصمیمگیری در برنامه.
ترکیب این عناصر امکان پیادهسازی انواع منطقهای کنترلی را فراهم میکند.
کاربردهای زبان Ladder Diagram
زبان Ladder Diagram تقریباً در تمامی صنایع کاربرد دارد، اما بیشترین استفاده آن در پروژههایی است که منطق کنترلی نسبتاً ساده و مبتنی بر ورودی و خروجیهای دیجیتال دارند.
از مهمترین کاربردهای این زبان میتوان به موارد زیر اشاره کرد:
- کنترل موتورهای الکتریکی
- راهاندازی مستقیم و ستاره-مثلث موتورها
- کنترل پمپها و فنها
- سیستمهای روشنایی صنعتی
- نوار نقالهها
- ماشینآلات بستهبندی
- سیستمهای ایمنی و اینترلاک
- کنترل شیرهای برقی
در چنین پروژههایی، زبان LD علاوه بر سرعت توسعه بالا، امکان عیبیابی سریع را نیز فراهم میکند.
مزایای Ladder Diagram
دلایل محبوبیت گسترده این زبان عبارتاند از:
- یادگیری آسان برای مهندسان برق و تکنسینها
- شباهت زیاد به مدارهای فرمان رلهای
- خوانایی بسیار بالا
- عیبیابی سریع در هنگام راهاندازی یا تعمیرات
- پشتیبانی توسط تقریباً تمامی برندهای PLC
- مناسب برای پروژههای کوچک و متوسط
- توسعه سریع برنامههای کنترلی
به همین دلایل، بسیاری از شرکتهای صنعتی، Ladder Diagram را بهعنوان زبان اصلی برنامهنویسی PLC انتخاب میکنند.
معایب Ladder Diagram
با وجود مزایای فراوان، این زبان محدودیتهایی نیز دارد:
- پیادهسازی الگوریتمهای پیچیده دشوار است.
- انجام محاسبات ریاضی سنگین مناسب نیست.
- استفاده از آرایهها و ساختارهای داده محدودتر از زبانهای متنی است.
- در پروژههای بزرگ، تعداد Rungها افزایش یافته و برنامه خوانایی خود را از دست میدهد.
- نگهداری پروژههای بسیار بزرگ ممکن است زمانبر باشد.
به همین دلیل، در پروژههای پیچیده معمولاً Ladder در کنار زبانهایی مانند Structured Text مورد استفاده قرار میگیرد.
4-2- زبان برنامهنویسی Function Block Diagram (FBD)
Function Block Diagram (FBD) یکی دیگر از زبانهای استاندارد IEC 61131-3 است که برنامه را بهجای نمایش به شکل مدار رلهای، بهصورت مجموعهای از بلوکهای تابعی نمایش میدهد.
در این زبان، هر بلوک وظیفه مشخصی را انجام میدهد و دارای ورودیها و خروجیهای معینی است. خروجی یک بلوک میتواند مستقیماً به ورودی بلوک دیگر متصل شود و بدین ترتیب، زنجیرهای از عملیات منطقی یا محاسباتی شکل گیرد.
این ساختار باعث میشود برنامهنویس بتواند بدون نوشتن کدهای متنی، منطق پیچیدهای را تنها با اتصال بلوکها ایجاد کند.
ساختار زبان Function Block Diagram
بلوکهای مورد استفاده در FBD انواع مختلفی دارند که هرکدام عملکرد خاصی را بر عهده دارند. مهمترین آنها عبارتاند از:
- بلوکهای منطقی مانند AND، OR، XOR و NOT
- بلوکهای مقایسه
- بلوکهای ریاضی
- تایمرها
- شمارندهها
- بلوکهای PID
- بلوکهای تبدیل داده
- بلوکهای ارتباطی
- بلوکهای پردازش سیگنال
برنامهنویس تنها کافی است ورودی و خروجی این بلوکها را به یکدیگر متصل کند تا منطق برنامه شکل بگیرد.
کاربردهای زبان Function Block Diagram
یکی از مهمترین ویژگیهای FBD، مناسب بودن آن برای سیستمهای آنالوگ و کنترل فرآیند است. در پروژههایی که حجم زیادی از دادههای آنالوگ پردازش میشوند، استفاده از این زبان باعث افزایش خوانایی و کاهش پیچیدگی برنامه خواهد شد.
از جمله کاربردهای رایج آن میتوان به موارد زیر اشاره کرد:
- کنترل دما
- کنترل فشار
- کنترل سطح مخازن
- کنترل دبی
- سیستمهای PID
- سیستمهای HVAC
- صنایع فرآیندی
- نیروگاهها
- تصفیهخانههای آب و فاضلاب
در بسیاری از نرمافزارهای PLC، بلوک PID بهصورت آماده وجود دارد و تنها با چند اتصال ساده میتوان آن را در برنامه به کار گرفت.
مزایای Function Block Diagram
استفاده از FBD مزایای متعددی دارد که مهمترین آنها عبارتاند از:
- نمایش گرافیکی و خوانای برنامه
- مناسب برای کنترل فرآیندهای آنالوگ
- توسعه سریع برنامه
- استفاده مجدد از بلوکهای آماده
- مناسب برای کنترل PID
- کاهش احتمال خطا در طراحی
- امکان تقسیم برنامه به بلوکهای مستقل
به همین دلیل، در پروژههای بزرگ صنعتی که از کنترلکنندههای پیشرفته استفاده میشود، FBD جایگاه ویژهای دارد.
معایب Function Block Diagram
در کنار مزایا، این زبان نیز محدودیتهایی دارد:
- در پروژههای بسیار بزرگ، تعداد زیاد بلوکها باعث شلوغ شدن صفحه برنامه میشود.
- برای پیادهسازی الگوریتمهای پیچیده نسبت به Structured Text انعطاف کمتری دارد.
- استفاده از حلقهها و ساختارهای شرطی پیشرفته در آن محدود است.
- مدیریت پروژههای بسیار گسترده ممکن است دشوار شود.
به همین دلیل، بسیاری از مهندسان از FBD برای بخشهای کنترلی و از Structured Text برای بخشهای محاسباتی استفاده میکنند.
مقایسه اولیه Ladder Diagram و Function Block Diagram
اگرچه هر دو زبان از نوع گرافیکی هستند، اما کاربردهای متفاوتی دارند. Ladder Diagram بیشتر برای منطقهای دیجیتال و کنترل تجهیزات روشن و خاموش مناسب است، در حالی که Function Block Diagram در کنترل فرآیند، پردازش سیگنالهای آنالوگ و پیادهسازی کنترلکنندههای PID عملکرد بهتری دارد.
در بسیاری از پروژههای صنعتی، این دو زبان در کنار یکدیگر استفاده میشوند؛ بهگونهای که منطق اصلی سیستم با Ladder Diagram طراحی شده و بخشهای کنترلی پیشرفته مانند تنظیم دما، فشار یا سرعت توسط بلوکهای Function Block Diagram پیادهسازی میشوند.
4-3- زبان برنامهنویسی Structured Text (ST)
Structured Text (ST) یکی از قدرتمندترین زبانهای برنامهنویسی PLC بر اساس استاندارد IEC 61131-3 است. برخلاف زبانهای گرافیکی مانند Ladder Diagram و Function Block Diagram، این زبان بهصورت متنی نوشته میشود و شباهت زیادی به زبانهای برنامهنویسی سطح بالا مانند Pascal، C و Python دارد.
این زبان بیشتر برای پروژههایی استفاده میشود که شامل محاسبات پیچیده، پردازش دادهها، الگوریتمهای کنترلی پیشرفته و مدیریت حجم زیادی از اطلاعات هستند. در پروژههای صنعتی مدرن که نیاز به پردازش داده، ارتباطات شبکه، کنترل هوشمند و الگوریتمهای پیچیده وجود دارد، Structured Text یکی از بهترین گزینهها محسوب میشود.
یکی از مهمترین ویژگیهای ST این است که برنامهنویس میتواند از ساختارهای رایج برنامهنویسی مانند شرطها، حلقهها، آرایهها و توابع استفاده کند. این قابلیت باعث میشود محدودیتهایی که در زبانهای گرافیکی وجود دارد، تا حد زیادی برطرف شود.
ساختار زبان Structured Text
در Structured Text دستورات به صورت متنی نوشته میشوند. ساختار این زبان شامل دستورات منطقی، محاسباتی و کنترلی است.
برخی از مهمترین دستورات مورد استفاده در ST عبارتاند از:
- IF…THEN…ELSE برای تصمیمگیری شرطی
- CASE برای انتخاب بین چند حالت
- FOR برای اجرای حلقههای تکرار
- WHILE برای اجرای دستورات تا برقرار بودن یک شرط
- REPEAT برای تکرار عملیات
- Function برای ایجاد توابع اختصاصی
- Array برای ذخیره و پردازش مجموعهای از دادهها
نمونهای از یک برنامه ساده در Structured Text:
IF Temperature > 50 THEN
Fan := TRUE;
ELSE
Fan := FALSE;
END_IF;
در این مثال، اگر مقدار دما از ۵۰ درجه بیشتر شود، خروجی مربوط به فن فعال خواهد شد.
کاربردهای Structured Text در PLC
به دلیل قابلیتهای گسترده، Structured Text در پروژههای پیشرفته صنعتی کاربرد زیادی دارد. برخی از مهمترین کاربردهای این زبان عبارتاند از:
- پیادهسازی الگوریتمهای کنترلی پیچیده
- انجام محاسبات ریاضی
- پردازش اطلاعات سنسورها
- مدیریت دادهها و آرایهها
- ارتباط با تجهیزات شبکه صنعتی
- طراحی توابع اختصاصی
- پیادهسازی الگوریتمهای هوشمند
- پردازش دادههای سیستمهای Industry 4.0
برای مثال، در یک سیستم کنترل حرکت پیشرفته ممکن است محاسبه موقعیت، سرعت، شتاب و جبران خطا با Structured Text انجام شود.
مزایای Structured Text
مهمترین مزایای این زبان عبارتاند از:
- قدرت پردازشی بالا
- مناسب برای الگوریتمهای پیچیده
- امکان استفاده از حلقهها و شرطهای پیشرفته
- خوانایی مناسب برای برنامهنویسان
- سرعت توسعه بالا در پروژههای بزرگ
- قابلیت ایجاد توابع اختصاصی
- مناسب برای پروژههای مدرن اتوماسیون صنعتی
همچنین افرادی که سابقه برنامهنویسی کامپیوتر دارند، معمولاً Structured Text را سریعتر یاد میگیرند.
معایب Structured Text
با وجود قدرت زیاد، این زبان برای همه پروژهها بهترین گزینه نیست.
برخی محدودیتهای آن عبارتاند از:
- یادگیری دشوارتر نسبت به Ladder Diagram
- نیاز به دانش برنامهنویسی
- برای تکنسینهای برق کمتر قابل فهم است.
- عیبیابی آن در برخی پروژهها نسبت به زبانهای گرافیکی دشوارتر است.
به همین دلیل، در بسیاری از کارخانهها همچنان برای منطقهای ساده از Ladder استفاده میشود و ST بیشتر در بخشهای پیچیده برنامه به کار میرود.
4-4- زبان برنامهنویسی Sequential Function Chart (SFC)
Sequential Function Chart (SFC) یکی دیگر از زبانهای استاندارد IEC 61131-3 است که برای طراحی فرآیندهای مرحلهای استفاده میشود.
بسیاری از ماشینآلات صنعتی دارای مراحلی هستند که باید با ترتیب مشخصی اجرا شوند. برای مثال، یک دستگاه بستهبندی ممکن است ابتدا محصول را دریافت کند، سپس عملیات پر کردن، بسته شدن، انتقال و خروج محصول را انجام دهد.
در چنین شرایطی، نمایش فرآیند به صورت یک نمودار مرحلهای بسیار سادهتر از نوشتن صدها خط برنامه است. SFC دقیقاً برای چنین کاربردهایی طراحی شده است.
ساختار زبان Sequential Function Chart
برنامههای SFC از سه بخش اصلی تشکیل میشوند:
Step
هر Step نشاندهنده یک مرحله از فرآیند است.
برای مثال:
- روشن کردن موتور
- باز کردن شیر
- گرم کردن مخزن
- انجام عملیات مونتاژ
Transition
Transition شرط انتقال از یک مرحله به مرحله بعدی است.
برای مثال:
- رسیدن دما به مقدار مشخص
- فعال شدن یک سنسور
- پایان زمان تایمر
Action
Action عملی است که در هر مرحله انجام میشود.
برای مثال:
- فعال کردن خروجی
- اجرای یک تابع
- ارسال فرمان به تجهیزات
کاربردهای Sequential Function Chart
SFC بیشتر در سیستمهایی استفاده میشود که فرآیند دارای توالی مشخصی است.
برخی کاربردهای مهم آن عبارتاند از:
- خطوط مونتاژ
- ماشینآلات بستهبندی
- سیستمهای بچینگ
- دستگاههای CNC
- سیستمهای شستوشوی صنعتی
- فرآیندهای تولید مرحلهای
مزایای Sequential Function Chart
- نمایش ساده فرآیندهای پیچیده
- افزایش خوانایی برنامه
- عیبیابی آسانتر
- مناسب برای ماشینهای چندمرحلهای
- امکان ترکیب با زبانهای دیگر PLC
معایب Sequential Function Chart
- برای انجام محاسبات پیچیده مناسب نیست.
- معمولاً به تنهایی برای کل پروژه استفاده نمیشود.
- در سیستمهای ساده ممکن است استفاده از آن اضافی باشد.
در پروژههای واقعی، معمولاً SFC وظیفه مدیریت مراحل را بر عهده دارد و اجرای عملیات هر مرحله با Ladder یا Structured Text انجام میشود.
4-5- زبان برنامهنویسی Instruction List (IL)
Instruction List (IL) یک زبان متنی قدیمی در برنامهنویسی PLC است که شباهت زیادی به زبان اسمبلی دارد.
در این زبان، برنامه به صورت مجموعهای از دستورات کوتاه نوشته میشود.
نمونه:
LD Start
AND Sensor
OUT Motor
این دستورات به PLC میگویند ابتدا وضعیت Start بررسی شود، سپس وضعیت Sensor بررسی شده و در صورت برقرار بودن شرایط، خروجی Motor فعال شود.
وضعیت امروزی زبان Instruction List
اگرچه IL در گذشته توسط بسیاری از شرکتهای سازنده PLC استفاده میشد، اما به دلیل خوانایی پایین، دشواری نگهداری و توسعه سختتر، در نسخههای جدید استاندارد IEC 61131-3 دیگر توصیه نمیشود.
امروزه زبانهایی مانند Structured Text جایگزین این زبان شدهاند و بیشتر PLCهای جدید تمرکز خود را روی LD، FBD، ST و SFC قرار دادهاند.
5- مقایسه انواع زبان های برنامه نویسی PLC
| زبان | نوع برنامهنویسی | کاربرد اصلی | سطح سختی |
| Ladder Diagram (LD) | گرافیکی | منطق دیجیتال، موتور، رله | آسان |
| Function Block Diagram (FBD) | گرافیکی | کنترل آنالوگ، PID | متوسط |
| Structured Text (ST) | متنی | الگوریتمهای پیچیده و محاسبات | پیشرفته |
| Sequential Function Chart (SFC) | گرافیکی | فرآیندهای مرحلهای | متوسط |
| Instruction List (IL) | متنی | پروژههای قدیمی | پیشرفته |
6- راهنمای انتخاب زبان مناسب برای برنامهنویسی PLC
انتخاب زبان مناسب به نوع پروژه و نیازهای سیستم بستگی دارد.
برای پروژههایی مانند:
- کنترل موتور
- کنترل کنتاکتورها
- سنسورها و عملگرهای دیجیتال
- سیستمهای ساده صنعتی
معمولاً Ladder Diagram بهترین انتخاب است.
برای پروژههایی که شامل:
- کنترل دما
- فشار
- سرعت
- کنترلکننده PID
هستند، استفاده از Function Block Diagram گزینه مناسبی خواهد بود.
در پروژههای پیچیده مانند:
- رباتیک صنعتی
- سیستمهای حرکت دقیق
- پردازش داده
- الگوریتمهای کنترلی پیشرفته
استفاده از Structured Text پیشنهاد میشود.
برای ماشینهایی که فرآیند آنها دارای مراحل مشخص است، Sequential Function Chart باعث افزایش نظم و خوانایی برنامه خواهد شد.
7- سوالات متداول درباره زبانهای برنامهنویسی PLC
بهترین زبان برنامهنویسی PLC کدام است؟
هیچ زبان واحدی به عنوان بهترین زبان PLC وجود ندارد. انتخاب زبان به نوع پروژه بستگی دارد. Ladder برای پروژههای ساده و صنعتی بسیار محبوب است، در حالی که Structured Text برای پروژههای پیچیده مناسبتر است.
8- آیا یادگیری Ladder برای شروع PLC کافی است؟
برای شروع کار با PLC، یادگیری Ladder بهترین گزینه است، زیرا بیشتر PLCهای صنعتی از آن پشتیبانی میکنند و بسیاری از پروژههای واقعی با این زبان نوشته میشوند.
9- تفاوت Ladder Diagram و Structured Text چیست؟
Ladder یک زبان گرافیکی مشابه مدارهای رلهای است و بیشتر برای کنترلهای منطقی استفاده میشود. Structured Text یک زبان متنی مشابه زبانهای برنامهنویسی کامپیوتری است و برای الگوریتمهای پیچیده کاربرد دارد.
10- آیا همه PLCها از تمام زبانها پشتیبانی میکنند؟
خیر. میزان پشتیبانی از زبانهای مختلف به برند و مدل PLC و همچنین نرمافزار برنامهنویسی آن بستگی دارد. برای مثال برخی PLCهای کوچک ممکن است تنها از Ladder پشتیبانی کنند، در حالی که PLCهای پیشرفته امکان استفاده از چند زبان را فراهم میکنند.
11- جمعبندی انواع زبان های برنامه نویسی PLC
زبانهای برنامهنویسی PLC بخش مهمی از اتوماسیون صنعتی هستند و شناخت تفاوت آنها به مهندسان کمک میکند تا بهترین روش برنامهنویسی را برای هر پروژه انتخاب کنند.
زبان Ladder Diagram به دلیل سادگی و شباهت به مدارهای فرمان، همچنان محبوبترین زبان PLC در صنایع مختلف است. Function Block Diagram برای کنترل فرآیند و سیستمهای آنالوگ کاربرد زیادی دارد. Structured Text امکان پیادهسازی الگوریتمهای پیشرفته و محاسبات پیچیده را فراهم میکند و Sequential Function Chart مدیریت فرآیندهای مرحلهای را آسانتر میسازد.
در پروژههای صنعتی حرفهای معمولاً تنها از یک زبان استفاده نمیشود، بلکه ترکیبی از چند زبان به کار گرفته میشود تا برنامهای خوانا، قابل توسعه و قابل نگهداری ایجاد شود.
یک مهندس اتوماسیون موفق باید علاوه بر شناخت PLC، با ساختار و کاربرد تمام زبانهای استاندارد IEC 61131-3 آشنا باشد تا بتواند در پروژههای مختلف بهترین راهکار کنترلی را انتخاب کند.