زبان های برنامه نویسی PLC

زبان‌ های برنامه‌ نویسی PLC

همانطور که در مقاله PLC چیست شرح داده شد؛ کنترل کننده های منطقی بر اساس یک برنامه مشخص کار می کنند. این برنامه توسط نرم افزار طراحی شده و در نهایت روی کنترلر آپلود می شود. هر نرم افزار متعلق به یک برند بوده و ممکن است از نظر امکانات و شیوه طراحی مدار با دیگر شرکت ها متفاوت باشد. به صورت کلی طراحی مدار PLCها با یک یا چند روش مشخص با عنوان زبان برنامه نویسی PLC انجام خواهد شد. زبان های برنامه نویسی PLC در استاندارد IEC 1131-3 به 5 گروه تقسیم شده که در این مقاله آن ها را بیشتر بررسی می کنیم. قابل ذکر است که امروزه PLCهای تولید شده توسط شرکت های مختلف از نظر عملکرد کلی تقریبا یکسان بوده ولی از نظر نام گذاری و علائم با یکدیگر متفاوت هستند.

 

در این ویدئو با زبان های برنامه نویسی PLC آشنا می شویم. این ویدئو برگرفته از دوره لوگو زیمنس مثلث زرد است.

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

پس از ظهور اولین PLC، شرکت‌های متعددی مانند Allen Bradly ،ABB، SIEMENS ،Schneider Electric، Mitsubishi ،OMRON و غیره به تولید آن پرداختند. با افزایش تولید PLC ها در شرکت های مختلف مواردی مانند تنوع زیاد محصولات،تقاوت در ساختار، قوانین برنامه نویسی و غیره ایجاد شد. رخ دادن این موارد موجب شد تا کمیسیون بین‌المللی الکترونیک یا همان (International Electrotechnical Commission (IEC وارد عمل شده و استاندارد زبان ‌های برنامه‌ نویسی PLC را تحت عنوان استاندارد IEC1131 تالیف کند. این استاندارد به منظور یکپارچگی جنبه های مختلف مانند سخت افزار، نصب، تست، برنامه ریزی و غیره تدوین شده و گاها با  شماره IEC 61131 نیز دیده می شود. این استانداردها به صورت کلی شامل بخش های زیر هستند:

  1. اطلاعات کلی
  2. ملزومات سخت‌افزاری و آزمایش‌ها
  3. زبان‌های برنامه‌نویسی
  4. راهنمای کاربران
  5. ارتباطات
  6. رزرو‌شده
  7. برنامه‌نویسی کنترل فازی
  8. راهنمای کاربرد زبان‌های برنامه‌نویسی

همانطور که مشاهده می کنید بخش 3 از لیست بالا به بررسی زبان های برنامه نویسی PLC می پردازد. در این بخش به صورت کلی 5 زبان زیر به عنوان روش استاندارد در برنامه نویسی پی ال سی ها معرفی شده است:

  1. IL) Instruction List)
  2. FBD) Function Block Diagram)
  3. LAD or LD) Ladder Diagram)
  4. ST) Structured Text)
  5. SFC) Sequential Function Chart)

از 5 زبان برنامه نویسی PLC گزینه های SFC و FBD و LAD جزء دسته‌ زبان‌های گرافیکی و گزینه های IL و ST جزء دسته‌ زبان‌های متنی هستند.

زبان IL

IL نسبتاً سطح پایین و شبیه به زبان اسمبلی است. در IL  هر دستورالعمل یکی از حالت های عملگر یا Operator و عملوند یا Operand را داشته و باید در یک خط جدید نوشته شود. برای درک بهتر به مثال زیر توجه کنید. در خط اول این مثال عبارت LD نقش عملگرد و A نقش عملوند را دارد. این زبان برنامه نویسی برای افرادی مناسب است که با زبان های قدیمی مانند اسمبلی کار کرده باشند.

کامنت

دستورالعمل
(*A را Load کرده و در اکومولاتور ذخیره کن*)

LD A

(*B را با اکومولاتور OR کرده و حاصل را در اکومولاتور ذخیره کن*)

OR B
(*C را با اکومولاتور AND کرده و نتیجه را در آن ذخیره کن*)

AND C

امروزه روش IL از بین 5 زبان برنامه نویسی PLC منسوخ شده است.

زبان FBD

در روش Function Block Diagram یا FBD از بلوک دیاگرام استفاده می شود. ساختار زبان FBD به این شکل است که یک سری بلوک های پایه هنگام برنامه نویسی در کنار یکدیگر قرار داده می شوند. هر یک از بلوک ها نقش خاصی داشته و باید به درستی به بلوک های دیگر متصل شود. همانطور که در تصویر زیر مشاهده می کنید زبان FBD یک روش گرافیکی برای ترسیم مدار است. زبا برنامه نویسی PLC FBD

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

در این ساختار امکان اتصال خروجی یک بلوک به ورودی بلوک دیگر وجود دارد. به همین دلیل می توان با ترکیب بلوک ها یک عملگر جدید ایجاد کرد. این مزیت باعث افزایش انعطاف در برنامه نویسی خواهد شد. از مزیت دیگر FBD می توان به سادگی در برنامه نویسی و عیب یابی نسبتا آسان اشاره کرد.

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

FBD و LAD دو زبان برنامه نویسی لوگو زیمنس یا Mini PLC LOGO Siemens هستند.

زبان LAD

یکی دیگر از زبان های برنامه نویسی PLC به صورت نردبانی یا Ladder است. برای درک بهتر این روش به تصویر زیر دقت کنید. در این تصویر دیاگرام مدار روشن و خاموش کردن یک الکتروموتور ترسیم شده است.

مدار الکتریکی روشن و خاموش کردن موتور

منبع تغذیه در تصویر بالا با دو پایانه L1 و L2 نمایش داده شده است. با هدف ساده کردن مدار می توان این دو پایانه را در دوطرف صفحه کار قرار داد. طبق تصویر زیر این روند باعث تشکیل دیاگرام هایی به صورت نردبان خواهد شد. ترتیب قرارگیری المان ها در این روش نیز از چپ به راست خواهد بود.مدار الکتریکی موتور شبیه به زبان لدر

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

همانطور که می دانیم در کنترلرها سه بخش اصلی ورودی، پردازش و خروجی وجود دارد. این بخش ها در روش LAD از سمت چپ به راست نمایش داده می شوند. اولین بخش در سمت چپ مربوط به هادی مشترک یا فاز است. طبق تصویر زیر این هادی به ورودی های پی ال سی متصل خواهد شد. در هر خط از برنامه می توان تعدادی پلاتین به صورت نرمال باز یا نرمال بسته قرار داد. این روند تقریبا شبیه به طراحی مدار به صورت رله تکنیک بوده و در نهایت به خروجی متصل می شود. Ladder Diagram یا همان زبان نردبانی شباهت زیادی به طراحی مدار فرمان رله تکنیک دارد. از مزیت های LAD می توان به درک آسان و نظم ساختاری آن اشاره کرد.

Ladder diagram

این قوانین به صورت کلی در LAD وجود دارد:

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

LAD یکی از محبوب‌ترین زبان های برنامه نویسی PLC است. برای درک بهتر تفاوت میان LAD و FBD به تصویر زیر توجه کنید. در این تصویر مدار راه‌اندازی موتور به همراه پلاتین  خود نگهدار با هردو روش FBD و LAD ترسیم شده است.برنامه ی روشن شدن موتور با خودنگهدار با LAD

روشن کردن موتور با خود نگهدار با FBD

 

این روش در بین افراد متخصص در طراحی مدارهای رله ای بسیار محبوب است.

زبان ST

ST یکی از زبان های برنامه نویسی PLC بوده که ساختار متنی و بسیار پیچیده ای دارد. ST شباهت زیادی به مدل برنامه‌نویسی PASCAL داشته و در آن کمیت ها با پارامتر مشخص می شوند. به عبارت دیگر در این روش برنامه به صورت مجموعه‌ایی از جملات جداشده به‌وسیله‌ی نقطه‌ویرگول یا همان «;» نوشته می‌شود. در تصویر زیر نمونه‌ایی از برنامه نویسی ST را مشاهده می‌کنید.ST

روش ST یک زبان برنامه نویسی سطح بالا بوده و بیشتر به منظور اجرای محاسبات سنگین استفاده می شود. ازجمله معایب ST  می‌توان به عیب‌یابی نسبتاً دشوار و پیچیدگی در ویرایش آنلاین اشاره کرد. حالت آنلاین به مواقعی گفته می شود که PLC در حال کار بوده و یا اصطلاحا RUN است. علاوه بر این یادگیری ST نسبت به دیگر موارد ذکر شده  دشوارتر است.

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

زبان SFC

SFC به‌صورت گرافیکی بوده و مانند فلوچارت ها ترسیم می شود. در این روش عملیات کنترلی به ترتیب قرار داده شده و یه یکدیگر متصل خواهند شد. به‌طور‌کلی از این زبان برنامه نویسی PLC بیشتر در پروژه های با شرایط کنترلی ترتیبی و سطح بالا استفاده می‌شود. در تصویر زیر چهارچوب اصلی این روند را مشاهده می کنید:

زبان SFC در پی‌ال‌سی

برای درک بهتر عملکرد SFC به مثال زیر توجه کنید. نحوه‌ی عملکرد این مثال به‌این‌ترتیب است که در مرحله‌ی 0 یا Step 0 اگر شرط یا ورودی IN1 فعال شود، خروجی OUT1  فعال خواهد شد. ادامه برنامه یا اجرای حالت بعدی به شرط انتقال یا transfer condition بستگی دارد. به عبارت دیگر برای مرحله بعد باید OUT1 فعال شده و شرط IN2 نیز وجود داشته باشد. نکته مهم در این روش برنامه نویسی ترتیبی بودن آن است. یعنی فعال یا غیر فعال بودن IN2 قبل از OUT1 تاثیری در مدار نخواهد داشت. با توجه به ترتیبی بودن SFC می توان گفت که عیب یابی در آن نسبتا آسان است.

مثالی از SFC

زبان‌ های برنامه نویسی PLC های STEP7 مطابق با استاندارد IEC1131 شامل  IL، LD، FBD، ST و SFC شده و STEP7 Lite نیز مطابق با استاندارد IEC1131 شامل  IL، LD، FBD می‌شود.

این مقاله تا چه حد برای شما مفید بود؟

میانگین امتیاز 3.6 / 5. تعداد رای: 9

8 پاسخ
  1. محمد
    محمد گفته:

    سلام ممنون بابت مطالب مفید که ارائه دادین
    فقط خواهشا یه لطفی کنید که مثال های بیشتری در باره قسمت FBD نرمافزار بزنید و پرکاربردهم باشه در صنعت ممنون

    پاسخ
    • مثلث زرد
      مثلث زرد گفته:

      سلام، وقت بخیر و ممنون از همراهی شما.
      در قسمت مقالات PLC به بررسی بلوک ها ی برنامه نویسی لوگو ۸ می پردازیم. لطفا جهت یادگیری زبان برنامه نویسی FBD در لوگو به این قسمت مراجعه کنید.

      پاسخ
  2. آریان
    آریان گفته:

    سلام
    ببخشید من یک سوالی دارم و واقعا به جوابش نیاز دارم…
    برنامه راه اندازی یک الکترو موتور را نوشته که با یک شصتی روشن و با شصتی یا بی متال عمل کند و خاموش شود با زبان LAD ؟

    پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *