زبانهای برنامه نویسی plc
میانگین امتیاز این مقاله: 3.7 از 5
( تاکنون 3 نفر امتیاز داده‌اند )

این پرسش به طور کلی مشابه این است که بخواهیم بدانیم چه ابزاری را با توجه به محدودیت فضا در جعبه ابزار خود قرار دهیم (بهترین انتخاب با توجه به جمیع جهات). همانطور که ابزارهای مختلف با کاربردهای متفاوت در یک جعبه ابزار وجود دارند، هر زبان برنامه‌ نویسی PLC نیز به دلایل مشخص و برای کاربردهای خاصی ارائه شده است.

نکته‌­ای که پاسخ به این پرسش را برای ما کمی دشوارتر می‌کند، این است که زبان‌های برنامه‌نویسی مختلف در برخی کشورها و صنایع مشخص، نسبت به دیگر زبان­ها، محبوب‌تر هستند.

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

در این مقاله، ویژگی‌های اصلی پنج زبان برنامه‌نویسی IEC 61131-3 را به همراه نقاط قوت و ضعف هر یک و موارد استفاده آنها تشریح می­کنیم تا شما راحت­تر بتوانید تصمیم بگیرید که کدام زبان‌های برنامه‌نویسی PLC را در اولویت خود قرار دهید.

زبانهای برنامه نویسی PLC استاندارد IEC

توجه داشته باشید IEC 61131-3 استانداردی است که توسط کمیسیون بین ­المللی الکتروتکنیک تدوین شده و تمام زبان‌های برنامه‌نویسی PLC را تعریف می‌کند.

یک برنامه‌نویس حرفه ­ای PLC باید بتواند از تمام ابزارهای موجود و در دسترس استفاده کند.

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

بحث خود را با توصیف زبان برنامه­ نویسی لدر(LD) ادامه می­دهیم.

زبان برنامه ­نویسی لدر یا نردبانی (LD)

Ladder Diagram یا LD، به عنوان رایج ترین زبان برنامه ­نویسی PLC شناخته می­شود. در واقع لدر یک زبان برنامه­ نویسی گرافیکی و سطح بالا است که برای خواندن و درک آسان به منظور سهولت در تعمیر و نگهداری و عیب­ یابی طراحی شده است.

به طور کلی Ladder Diagram اولین زبان برنامه نویسی PLC است که اغلب برنامه نویسان PLC آن را یاد می­گیرند، چرا که اکثر شرکت­ها مایل به استخدام مهندسانی هستند که بتوانند با Ladder Diagram برنامه نویسی کنند. این امر به ویژه در آمریکای شمالی مصداق پیدا می­کند.

در قطعه کد گرافیکی زیر می­توانید یک نمونه از منطق Ladder Diagram را مشاهده ­کنید:

نمونه کد گرافیکی زبان Ladder

 

هر خط کد مشابه یک پله از نردبان است و هر پله با یک ریل تغذیه عمودی (ولتاژ مثبت) شروع می­شود.

در سمت راست هر پله دستورالعمل­های خروجی که با نام کویل‌ (coil) شناخته می­شوند، قرار گرفته و خروجی­های فیزیکی (ماژول­های مختلف) را روشن یا خاموش می­کنند. در سمت چپ هر پله نیز دستورالعمل­های ورودی قرار داشته که جریان منطقی از ریل تغذیه در طول پله را مجاز یا مسدود می­کنند.

زمانی که یک مسیر کامل از ریل تغذیه تا کویل وجود داشته باشد، خروجی روشن می­شود.

همان گونه که مشاهده می­شود، بزرگترین مزیت Ladder Diagram ماهیت گرافیکی آن است. حتی اگر شما برنامه ­نویس هم نباشید، در نظر گرفتن یک پله و اشکال زدایی منطقی در آن برای شما بسیار ساده خواهد بود.

شایان ذکر است که Ladder Diagram یک زبان برنامه­ نویسی بسیار مناسب برای منطق پیچیده بولی نیز به شمار میرود.

برای کاربردهای دیگر، به طور معمول از سایر زبان­های برنامه ­نویسی معرفی شده در IEC 61131-3 مانند Function Block Diagram (FBD) استفاده می­شود.

 

نمودار بلوک تابع (FBD)

Function Block Diagram یا FBD نمونه­ ای دیگر از زبان­های برنامه ­نویسی گرافیکی برای PLCها محسوب می­شود.

در FBD، بلوک­های تابع روی یک صفحه قرار گرفته و به هم متصل می­شوند. نتیجه نهایی بسیار شبیه به نمودار لوله کشی و تجهیزات کنترلی ابزار دقیق (P&ID) به نظر می­رسد.

مزیت عمده FBD نسبت به زبان لدر در این است که خروجی­ یک بلوک تابع می­تواند به بلوک بعدی جریان یافته یا به عنوان فیدبک، بدون استفاده از متغیرهای میانی مورد استفاده قرار گیرد.

این ویژگی FBD باعث شده تا استفاده از آن برای کنترل فرآیندهای پیوسته که در آن مقادیر آنالوگ دائماً در حال نظارت بوده و خروجی‌ها همواره برای حفظ مقادیر در محدوده مورد نظر تنظیم می‌شوند، بسیار مناسب باشد.

به دلیل شباهت FBD به P&ID و توانایی آن در کنترل آسان فرآیندهای پیوسته، از این زبان برنامه­ نویسی معمولاً در صنایع فرآیندی استفاده می­شود.

در شکل زیر قطعه کدی از FBD نمایش داده شده که به منظور نظارت بر سطح یک مخزن مورد استفاده قرار می­گیرد:

نمونه کد گرافیکی FBD

 

در اینجا، ورودی آنالوگ از شیر پرکننده با مقدار تعیین شده برای سطح مخزن مقایسه می­شود. مقدار تعیین شده برای سطح مخزن به یک بلوک تابع وارد می­شود که نوع داده اندازه­گیری شده را به یک عدد صحیح تبدیل می کند.

در ادامه، این مقدار با نقاط تنظیم از پیش تعریف شده مقایسه می­شود تا flagهای تعیین شده، سطح مخزن را نشان دهند.

نمونه کد گرافیکی FBD

FBD برای کنترل‌ فرآیندهای پیوسته بسیار مناسب است، اما برای محاسبات پیچیده مانند محاسبه سطح یک مخزن، زبان برنامه‌نویسی ST که یک زبان مبتنی بر متن ساختاریافته است، عملکرد بهتری دارد.

زبان برنامه ­نویسی مبتنی بر متن ساختاریافته (ST)

Structured Text یا ST، یک زبان برنامه ­نویسی مبتنی بر متن برای PLC بوده و به طور معمول مورد پسند برنامه­ نویسان جوانتری است که با زبان­های برنامه­ نویسی مبتنی بر متن مانند پایتون کار می­­کنند.

بسیاری از مهندسان قدیمی تمایل به استفاده از زبان برنامه­نویسی ST را ندارند، زیرا درک و اشکال زدایی کدها برای مهندسانی که در  واحدهای تعمیر و نگهداری فعالیت می­کنند، نسبت به دیگر زبان­ها دشوارتر است.

به طور کلی، ST برای انجام عملیات پیچیده محاسباتی و همچنین ایجاد حلقه در داده ساختارها مانند آرایه­ها بسیار قدرتمند است.

قطعه کد ST که در شکل زیر نمایش داده شده است، سطح پر شدن یک مخزن را بر اساس حجمی که در هر بار اسکن POU به مخزن اضافه می­شود، محاسبه می­کند.

نمونه کد زبان برنامه نویسی ST

نمودار توابع متوالی یا سلسله مراتبی (SFC)

Sequential Function Chart یا SFC، یک زبان برنامه­ نویسی مشابه با فلوچارت است که برای ساخت ماشین­های حالت و سنجش و کنترل توالی در فرآیندها مورد استفاده قرار می­گیرد.

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

توجه داشته باشید که نظارت و اشکال‌زدایی SFC در زمان اجرا نیز آسان است، زیرا شما می‌توانید دقیقاً ببینید چه وضعیتی فعال است و چه شرایطی باید برای انتقال به حالت بعدی برقرار باشد.

شایان ذکر است که زبان برنامه ­نویسی SFC تنها برای توصیف ماشین‌های حالت سطح بالا و سنجش و کنترل توالی مناسب است.

در اکثر پلتفرم‌ها، عمل­هایی که در حین فعال بودن یک مرحله انجام می‌شوند، به زبان ST نوشته شده و اغلب برنامه‌نویس‌ها به منظور مدیریت این عمل­ها، یک POU نوشته ­شده به زبان برنامه‌نویسی دیگری مانند LD یا FBD را فراخوانی می‌کنند.

در قطعه کد SFC زیر، ما در حال کنترل یک سنجشگر توالی هستیم که مخزنی را به طور مداوم پر و خالی می­کند.

نمونه کد SFCهنگامی که مخزن در حال پر یا خالی شدن است، عملیاتی برای باز و بسته کردن شیرها انجام شده و شرایط برای گذر از یک مرحله به مرحله دیگر، بسته به سطح مخزن یا عملیاتی که توسط اپراتور انجام شده، تعیین می­شود.

فهرست دستورالعمل (IL)

در نهایت، زبان Instruction List یا IL یک زبان برنامه ­نویسی از رده خارج یا منسوخ بوده که شباهت زیادی به زبان برنامه ­نویسی اسمبلی دارد.

نمونه کد ILاگر در واحد تعمیر و نگهداری فعالیت می­کنید، ممکن است با Instruction List مواجه شوید، اما توصیه اکثر تولیدکنندگان این است که از Instruction List برای پروژه ­های جدید استفاده نکنید.

 

این مقاله چطور بود؟

میانگین امتیاز 3.7 / 5. تعداد آرا: 3

ارسال یک پاسخ

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید