در این آموزش قصد داریم با پنج مورد از محبوبترین زبانهای برنامهنویسی PLCها آشنا شویم.
همانطور که در آموزشهای قبلی توضیح دادیم، سند IEC به منظور وضع قوانینی پایهای برای استانداردسازی PLCها و زبانهای برنامهنویسی آنها ایجاد شد. در بخش 3-61131 از این استاندارد، پنج زبان برنامهنویسی برای PLCها معرفی شده که ما در این آموزش قصد داریم با نگاهی دقیقتر به معرفی و بررسی آنها بپردازیم.
این پنج زبان عبارتند از:
- زبان Ladder Diagram) LD)
- زبان Sequential Function Charts) SFC)
- زبان Function Block Diagram) FBD)
- زبان Structured Text) ST)
- زبان Instruction List) IL)
در ادامه به ترتیب در مورد هر کدام از این زبانها اطلاعات بیشتری را به شما میدهیم. با زبان Ladder Diagram شروع میکنیم؛ یک منطق گرافیکی برای برنامه نویسی PLCها.
1. زبان Ladder Diagram
این زبان در ابتدا زبان مدلسازی منطق رلهها بود که از قطعات فیزیکی مانند سوییچها و المانهایی نظیر رلههای مکانیکی استفاده میکردند تا کنترل فرآیندها را بهدست بگیرند. این منطق نردبانی یا پلکانی، به این صورت بود که تمام قطعات داخلی یک مدار به جز آنها که به سیگنالهایی بیرونی برای فعال شدن نیاز داشتند را با المانهای منطقی نمادگذاری میکرد.
در این زبان همواره شماتیک مدارهای رله به این ترتیب مدل میشود که یک سری صفحات افقی وجود دارند و از آنها ریلهایی عمودی عبور میکند. این ریلها نشانگر اتصالات الکتریکی هستند. (تصویر زیر را ببینید) و با چنین منطقی میتوان ورودیها را به نحوی کنترل و مدیریت کرد که خروجیهای مد نظر دریافت شوند. این کنترل میتواند فیزیکال یا لاجیکال (منطقی) باشد.
مزایای زبان LD
مهمترین مزیتهای این زبان موارد زیر هستند:
- وجود ریلهای عمودی که در یک نگاه اتصالات الکتریکی یک مدار را نشان میدهند، میتواند مدیریت آن مدار را بسیار سادهتر کند.
- از آنجا که همه چیز بصری و گرافیکی است، به راحتی میتوان تغییرات محسوس را ثبت و ضبط نمود.
- به راحتی و به صورت در لحظه میتوان چنین سیستم را عیبیابی و پشتیبانی نمود.
معایب زبان LD
مهمترین مشکل این زبان در حال حاضر این است که دستوراتی مانند batching یا motion دارد که امروزه دیگر چندان توسط سیستمها پشتیبانی نمیشوند. بنابراین برنامهنویسی با آنها قدری چالش برانگیز خواهد بود.
دومین زبان برنامهنویسی PLC که به آن میپردازیم SFC است که این یکی نیز یک زبان گرافیکی محسوب میشود.
2. زبان Sequential Function Charts
اگر تا به حال تجربهی کار با فلوچارتها را داشتهاید، پس این زبان برای شما کاملا قابل فهم و آشنا خواهد بود. در این نمودارها، شما مراحل رسیدن از ورودیهای یک تابع به خروجیهای آن و نیز شیوهی گذار بین این مراحل را به تفصیل مشخص میکنید.
هر کدام از این مراحل به عنوان یک تابع اصلی در برنامهی شما محسوب میشوند. این توابع تمام اتفاقاتی که شما در سیستم ایجاد میکنید تا از ورودی به خروج حرکت کند را تحت نظر دارند و براساس آنها تصمیمگیری میکنند که در هر لحظه کدام مرحله باید فعال باشد. مبنای این تصمیمگیریها نیز میتواند براساس زمانبندیها، شرایطی که در برخی مراحل خاص ممکن است وجود داشته باشد و یا پارامترهای فیزیکی یک سیستم باشد.
بنابراین گذارها براساس دستوراتی که شما در برنامه نوشتهاید و True یا False شدن آنها در هر مرحله رخ میدهند. به این گونه فلوچارتها نمودار توابع ترتیبی یا Sequential گفته میشود.
برخلاف فلوچارتهای قدیمی، نمودار توابع ترتیبی میتوانند در برخی نقاط دارای مسیرهای متعددی باشند که به این ترتیب میتوان در یک نقطه، کاری کرد که چندین تابع همزمان با هم فعال شوند.
مزایای SFC
استفاده از این زبان مزیتهای فراوانی را به ارمغان میآورد مثلا اینکه:
- میتوان یک پروسهی طولانی وپیچیده را به چندین پروسهی اصلی زیرمجموعه تقسیم کرد که این کار باعث میشود عیبیابی و پشتیبانی از یک سیستم بشدت سادهتر و سریعتر شود.
- با در دست داشتن چنین نموداری و نگاه کردن به آن، میتوان به راحتی محل قرارگیری هر ابزاری را در صورت معیوب شدن کشف نمود.
- طراحی و نوشتن منطق چنین سیستمی بسیار ساده خواهد بود چرا که میتوان با تقسیم فرآیند به زیرفرآیندهایی که مشابه هستند، یک منطق را یک بار نوشت و در دفعات متعدد آن را تکرار کرد.
معایب SFC
با تمام مزیتهای درخشان و وسوسهکنندهای که این زبان برنامهنویسی PLCها دارد؛ اما گاهی اوقات قابل تطبیق با برخی سیستمها نیست و نمیتوان از آن در تمام کاربردها استفاده نمود.
3. زبان Function Block Diagram
این زبان نیز مانند دو مورد قبل یک زبان گرافیکی است. این زبان توابعی را که بین ورودیها و خروجیهای یک سیستم وجود دارند را به صورت بلوکهایی متصل به هم و متوالی توصیف میکند.
ایدهی اصلی به کارگیری چنین زبانی این بود که ما میتوانیم بسیاری از توابع PLC را، مجموعهای از اتفاقاتی بدانیم که به طور مکرر در طول مسیر آن تابع از ورودی به خروجی تکرار میشوند؛ مثلا تایمرها، کانترها، حلقههای PID و … شما هر کدام از این اتفاقات تکراری را در یک صفحهی جداگانه برنامهنویسی میکنید و PLC در هنگام اجرا این صفحات را اسکن کرده و هر بار آنها را به ترتیبی عددی که از قبل به آن داده شده است اجرا میکند و یا اینکه به جای تنظیم کردن ترتیب عددی، میتوان بین صفحات با ترتیب دلخواه خود اتصالاتی ایجاد کنید و PLC در زمان اجرا تنها این اتصالات را دنبال کرده و صفحات را یک به یک اجرا خواهد کرد.
معایب FBD
از آنجا که نظم مخصوصی در قرار دادن کدها و صفحات وجود ندارد و میتوان آنها را هر بار در بخشی از مسیر قرار داد، عیبیابی چنین سیستمی چندان راحت نخواهد بود.
مزایای FBD
- این زبان در PLCهای کنترل حرکت یا همان موشن کنترل به خوبی جواب میدهد.
- زبانهای گرافیکی معمولا برای افراد بسیاری بیشتر مورد ترجیح هستند.
- بهترین ویژگی FBD این است که میتوان در آن بخشهای متعددی از خطوط کدهای برنامه را برداشت و در صفحات مختلف و توابع مختلف از آنها استفاده کرد.
4. زبان Structured Text
چهارمین زبانی که برای برنامهنویسی PLC در استاندارد IEC معرفی شده است، زبان Structured Text است. این زبان برخلاف سه مورد قبلی یک زبان مبتنی بر متن است. زبانهای مبتنی بر متن زبانهای سطح بالا محسوب میشوند مانند Basic، پاسکال و C.
زبان ST ابزار قدرتمندیست که میتواند تمام کارهای یک پروسه را با استفاده از الگوریتمهای دقیق و توابع ریاضی و تکرار آنها اجرا کند.
در کدهای این زبان برنامهنویسی، از جملاتی استفاده میشود که با علامت « ؛ » از هم جدا میشوند. ورودیها، خروجیها و متغیرهایی که استفاده شده باشند همگی با استفاده از این جملات مقداردهی شده یا مقدارشان تغییر میکند.
در خطوط این کدها از توابعی مانند FOR ،WHILE ،IF ،ELSE ،ELSEIF و CASE استفاده میشود.
اگر تجربهی کدنویسی با زبانهای BASIC یا C را داشته باشید، این زبان برنامهنویسی PLC نسبت به بقیه زبانها برای شما سادهتر خواهد بود چرا که بسیار به آنها شبیه است.
مزایای زبان ST
برخی از مزایایی که این زبان میتواند داشته باشد عبارت هستند از:
- کدهای نوشته شده در این زبان بسیار منظم و طبقهبندی شده هستند و نیز میتوانند محاسبات گسترده و سنگین ریاضیاتی را به خوبی انجام دهند.
- با استفاده از این زبان میتوان به برخی دستورها که در زبانهای دیگر مانند LD وجود ندارند، دسترسی داشت.
معایب زبان ST
این زبان برنامهنویسی PLC نیز مانند سایر زبانها معایبی دارد که از جملهی آنها میتوان به این موارد اشاره کرد:
- سینتکسهای آن ممکن است در ابتدا پیچیده به نظر برسند.
- دیباگ کردن آن راحت نیست.
- اعمال تغییرات در آن به صورت آنلاین بسیار دشوار است.
5. زبان Instruction List
و حالا نوبت به پنجمین و آخرین زبانی میرسد که باید معرفی کنیم و این زبان چیزی نیست جز IL که این نیز زبانی مبتنی بر متن است.
IL تا حدود زیادی شبیه به زبان اسمبلی است. اگر این زبان را برای برنامهنویسی PLC انتخاب کنید، با دستوراتی سروکار خواهید داشت شبیه LD (LOAD) ،AND ،OR و …
در این زبان دستورالعملها هر کدام در یک خط کد قرار میگیرند و دستورالعمل بعدی در خط جدید شروع میشود. کامنتهای توضیحی در مود هر خط را نیز میتوان در انتهای آن خط قرار داد.
مزایای زبان IL
مهمترین ویژگی این زبان این است که برای کاربردهایی که به کدهای فشرده نیاز دارند و یا زمانبندی بهینه در آنها بسیار حائز اهمیت است، کارآمد و ارزشمند است.
معایب زبان IL
اصلی ترین ایراداتی که بر زبان برنامهنویسی IL در برنامهنویسی PLCها وارد است:
- دستورات بسیار محدودی برای استفاده از ساختارها (structures) دارد و Goto یکی از آنهاست.
- این زبان نسبت به چهار زبان قبلی که معرفی کردیم، به نسبت دارای تعداد خطاهای بیشتری است که مواجه با آنها و برطرفسازیشان کار چالشبرانگیزی است.
بسیار خب. حالا که با این پنج زبان معرفی شده برای برنامهنویسی PLCها آشنا شدهاید، میتوانید تصمیم بگیرید که به نظرتان کدام یک از بقیه محبوبتر است؟
اگر نظر ما را بخواهید؛ پس از تجربیات عملیاتی شخصی و خواندن نظرات و نقدهایی که در بارهی هر یک از این زبانها نوشته شدهاند؛ زبان Ladder Diagram با اختلاف بسیار زیادی نسبت به بقیه، محبوبترین زبان برنامهنویسی در PLCهاست و اصلیترین علت این برتری نیز این است که این زبان در پی پیشرفت تکنولوژی از رلههای فیزیکی به رلههای منطقی و دیجیتال توسعه پیدا کرد و همین امر باعث شد که مهندسان و تکنسینهای صنعتی از همان ابتدا با تغییرات همراه شدند و به خوبی این زبان را دنبال کرده و بر آن تسلط یافتند.
البته به عنوان نکتهی جمعبندی باید اضافه کنیم که سخن فوق بدین معنا نیست که بقیهی چهار زبان دیگر هیچ استفادهای ندارند. خیر، هرکدام از این زبانها کاربردها و استفادههای خاص خودشان را دارند ولو این کاربردها محدودهی کوچکی باشند. تجربههای شخصی، کاربردی که از PLC مدنظر داریم، پسزمینههای محیطی و … همگی عواملی کلیدی در تعیین زبانی هستند که هر فرد یا تیمی برای برنامهنویسی PLC خود انتخاب میکند.
فیلم خلاصه توصیحات محبوبترین زبانهای برنامهنویسی PLC (انگلیسی)
منبع: ترجمه از سایت realpars.com
اگر آموزش محبوبترین زبانهای برنامهنویسی PLC براتون مفید واقع شده ما را نیز دعا کنید و اگر خواستین میتوانید از محتوای رایگان آموزشی حمایت مالی کنید. همچنین توصیه شدید میکنم دیگر آموزشهای اتوماسیون صنعتی را هم مطالعه کنید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.