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

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

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

امروز می‌خواهیم مروری دقیق بر زبان‌های برنامه نویسی در پی ال سی داشته و هرکدام را به شکلی مفصل شرح دهیم و درنهایت بهترین آنها را با ذکر دلیل انتخاب نماییم.

آنچه که در این نوشتار خواهید خواند:

  • مروری بر گذشته
  • استاندارد IEC
  • زبان‌های برنامه نویسی PLC
  • زبان لدر – Ladder
  • زبان FBD – Function block diagram
  • زبان ST – Structured text
  • زبان IL – Instruction list (STL)
  • زبان SFC – Sequential function chart
  • مقایسه تمام زبان‌های PLC
  • بهترین زبان PLC
  • محبوب‌ترین زبان PLC
  • منابع

 

مروری بر گذشته

ابتدایی‌ترین سوال شاید این باشد که؛ چرا تنوع زبان برنامه نویسی در PLC ها زیاد است؟

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

این روند تا جایی پیش رفت که صدای برنامه نویسان و انجمن‌های علمی مهندسی درآمد! به همین دلیل IEC (کمیسیون الکتروتکنیکی بین‌المللی -International Electrotechnical Commission) وارد داستان شد و تحت یک استاندارد تمام شرکت‌های سازنده PLC را ملزم به رعایت قوانین بین اللملی در خصوص زبان‌های برنامه نویسی واحدی نمود.

البته از آنجایی که هر زبان توسط یک شرکت توسعه داده شده بود امکان انتخاب یک زبان واحد فراهم نشد و به همین دلیل ۵ زبان برنامه نویسی به عنوان استاندارد جهانی در حوزه کار و ساخت PLC تعیین گردید!.

استاندارد IEC

01 tablo bargh sanati - بهترین زبان برنامه نویسی در PLC چیست

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

درنهایت در ۱۹۹۴ استاندارد IEC 61131-3 ثبت گردید و در طی آن تمام شرکت ها ملزم به استفاده از ۵ زبان برنامه نویسی مشخص در PLC شدند، این زبان ها عبارتند از:

  1. Ladder diagram (LD)
  2. Function block diagram (FBD)
  3. Structured text (ST)
  4. Instruction list (IL)
  5. Sequential function chart (SFC)

این استاندارد صرفا به تبعین زبان‌های برنامه نویسی نمی پرداخت، بلکه در آن به وضوح به نحوه اختصاص خانه‌های حافظه و موارد جزئی نیز اشاره می‌کرد.

 

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

پس از ثبت استاندارد IEC شرایط برای برنامه نویسان بسیار بهتر از قبل شد و همین مسئله‌ی به ظاهر ساده سبب توسعه و استفاده بیشتر از PLCها در همان سال‌های ابتدایی گشت، به‌مرور دستگاه‌های پی ال سی و نرم افزاهای آنها پیشرفت کرده و عمدتا همگی آنها توانایی استفاده از ۵ زبان ذکر شده را داشتند، این مسئله سبب شد دیگر محدودیتی در انتخاب زبان برنامه نویسی برای مهندسین وجود نداشته باشد.

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

با توجه به موارد گفته شده عملا تفاوتی ندارد که شما به چه زبانی برنامه می‌نویسید، در پایان می‌توانید توسط همان نرم افزار PLC، برنامه خود را به زبان دیگری تبدیل نمایید. تصور کنید که ما دو مهندس با نام‌های A و B داریم؛

مهندس A به زبان لدر تسلط داشته و مهندس B به زبان FBD، مهندس A برنامه‌ای می‌نویسد و در طی حل مسئله به یک مشکل برخورد می‌کند در این حالت به راحتی می‌تواند برنامه نوشته شده به زبان لدر را به FBD تبدیل کرده و جهت یاری جستن، آن را به مهندس B تحویل دهد، مهندس B پس از بررسی و ارائه راه حل در حالت FBD، درنهایت آن را به LAD تبدیل کرده و در اختیار مهندس A قرار می‌دهد.

با وجود امکان تبدیل تمام زبان‌های برنامه نویسی به یکدیگر، همچنان این زبان‌های برنامه نویسی در برخی از ویژگی‌های خاص (اندک) با یکدیگر متفاوت بوده و امکان تبدیل به یکدیگر را ندارند

 

در ادامه اجازه دهید به بررسی هرکدام از این زبان‌های برنامه نویسی بپردازیم؛

زبان لدر – Ladder

بدون شک این زبان یکی از محبوب‌ترین ها می‌باشد، بسیاری از افراد می‌پرسند چرا لدر به این سرعت نسبت به سایر زبان ها کاربر جذب کرد؟

علت این مسئله در گذشته و قبل از PLC می‌باشد، زمانی که صرفا مدارات به صورت رله-کنتاکتوری بودند یک مهندس برای اجرای یک فرمان نیاز داشت تا یک کویل را انرجایز نماید همین مسئله دقیقا در زبان لدر نیز وجود دارد[۲] و از آنجایی که این سیستم بسیار مشابه زبان رله‌ای در گذشته می‌بود به سرعت توانست مورد اقبال کاربران قرار گیرد. به همین دلیل در این زبان برنامه نویسی منطق کنترل توسط عناصری مانند تیغه‌های باز (Normally Open: NO) و تیغه‌ی بسته (Normally Close: NC) و بوبین (Coil) و … پیاده سازی می‌شود.

زبان لدر با عنوان منطق پله‌کان نیز شناخته می‌شود. LD یک زبان برنامه نویسی ویژوال است، بنابراین یادگیری آن آسان‌تر از سایر زبان‌های PLC می‌باشد.

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

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

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

مزایای زبان LAD

  1. محبوبیت در میان زبان‌های برنامه نویسی
  2. استفاده شده در رنج وسیعی از دستگاه‌های صنعتی
  3. گرافیکی بودن
  4. عیب یابی آسان
  5. درک آسان

معایب زبان LAD

  1. وجود برخی محدودیت ها
  2. اشغال فضای زیاد (به دلیل گرافیکی بودن)
  3. اجرای کندتر در مقایسه با زبان‌های نوشتاری

 

زبان FBD – Function block diagram

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

عناصر اساسی زبان برنامه نویسی FBD شناسایی کلمات کلیدی، انواع داده ها و متغیرها هستند. FBD نیز این امکان را به شما می‌دهد تا جریان سیگنال بین پردازش گرها در برنامه نوشته شده را مشاهده نمایید.

مزایای زبان FBD

  1. گرافیکی بودن
  2. حجم کم کدنویسی
  3. امکان گروه بندی
  4. مناسب موشن کنترل (Motion Control)
  5. عیب یابی آسان (مشکل‌تر از لدر می‌باشد[۳])

معایب زبان FBD

  1. وجود برخی از الگوریتم ها به شکل نوشتاری
  2. مناسب نبودن برای حل‌های متوالی
  3. نیازمند آموزش بیشتر نسبت به لدر[۴]

 

02 711x400 - بهترین زبان برنامه نویسی در PLC چیست

گروه بندی در زبان FBD

 

زبان ST – Structured text

زبان Structured Text یکی دیگر از انواع زبان‌های مخصوص PLC بوده و کاملا مبتنی بر متن است. بر خلاف زبان‌های LD و FBD، زبان ST شبیه زبان‌های برنامه نویسی مانند Basic و Pascal است که از if-then-else استفاده می‌کند.

ST نیز به طور معمول برای هر دو برنامه نویس تازه کار و با تجربه به آسانی قابل درک است زیرا اظهارات if-then-else روشن می‌سازد که چگونه برنامه کار می‌کند و چرا توابع خاصی ایجاد می‌شوند. یکی از مزیت‌های بسیار خوب این زبان؛ اشغال کمترین میزان از حافظه می‌باشد که درنهایت سبب افزایش سرعت اجرای برنامه نوشته شده می‌گردد. از این زبان عمدتا برای برنامه نویسی‌های مشابه مهندسی کامپیوتر و برای حل معادلات پیچیده استفاده می‌شود و به همین دلیل در صنایع سنگین با استقبال خوبی مواجه نشده است.

اگر برای شما یادگیری زبان‌های گرافیکی دشوار می‌باشد در میان سایر زبان‌های نوشتاری، ST توصیه می‌شود.

مزایای زبان ST

  1. زبان سطح بالا
  2. سرعت اجرای بالا
  3. امکان تبدیل تمام زبان‌های دیگر به ST (بدون مشکل)
  4. مناسب محاسبات سنگین ریاضی
  5. پوشش برخی از مشکلات زبان‌های گرافیکی

معایب زبان ST

  1. نوشتاری بودن
  2. محدودیت در استفاده از Goto
  3. مستلزم وقت بیشتر در مقایسه با زبان گرافیکی
  4. ارور‌های زیاد (Fatal Error، Run time Error، Odd Address Error، Programing Error و …)
  5. دشواری زیاد در توسعه دادن برنامه نوشته شده
  6. دشواری در ویرایش آنلاین برنامه (PLC در حال کار)
  7. عیب یابی دشوار
  8. یادگیری نه چندان آسان

 

03 - بهترین زبان برنامه نویسی در PLC چیست

تشابه زبان ST و C

 

زبان IL – Instruction list (STL)

زبان Instruction List از دستورالعمل‌های مینیومی در نمودارهای پله‌کانی استفاده می‌کند و دستورات را از طریق یک ترمینال برنامه نویسی به PLC می‌فرستد. IL نیز مانند ST یک زبان نوشتاری می‌باشد.

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

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

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

مزایای زبان IL

  • سرعت بالای اجرا

معایب زبان IL

  • عیب یابی مشکل
  • زبان سطح پایین
  • محبوبیت پایین
  • کاربرد بسیار محدود در صنعت

زبان SFC – Sequential function chart

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

جدول تابع متوالی (SFC) به برنامه نویس اجازه می‌دهد تا در زمان‌بندی به صورت کدگذاری عمل کند. کدهای خاصی که دنباله‌ای از اقدامات بوده و برای اشیاء برنامه ریزی جداگانه‌ای دارند.

اگر شما تمایل زیادی به استفاده از زبان‌های گرافیکی دارید و از طرفی پروژه نیز بسیار سطح بالا (۲ تا ۳ درصد مواقع) می‌باشد در این صورت به جای استفاده از لدر و FBD می‌توانید از SFC استفاده نمایید.

مزایای زبان SFC

  • درک آسان فرآیند کنترل
  • عیب یابی آسان به دلیل امکان جداسازی برنامه
  • ویرایش سریعتر

معایب زبان SFC

  • محدودیت‌های جدی در برخی از کاربردها
  • سرعت بالای زبان SFC در ویرایش برنامه
  • سرعت بالای زبان SFC در ویرایش برنامه

04 712x400 - بهترین زبان برنامه نویسی در PLC چیست

مقایسه تمام زبان‌های PLC

تاکنون به صورت مجزا تمام زبان‌های برنامه نویسی در PLC را که مورد تایید IEC می‌بودند را بررسی نمودیم، در این قسمت تصاویری از یک برنامه واحد که به ۵ زبان مذکور نوشته شده است را قرار دادیم. این برنامه جهت انتخاب حالت خودکار یا دستی و سپس فعالسازی یک سیکل بعد از ۳ ثانیه نوشته شده است. به راحتی با مقایسه این ۵ برنامه می‌توانید یک دید خوب نسبت به کدها داشته باشید.

 

05 - بهترین زبان برنامه نویسی در PLC چیست

برنامه انتخاب حالت خودکار و دستی به زبان LAD

06 - بهترین زبان برنامه نویسی در PLC چیست 
برنامه انتخاب حالت خودکار و دستی به زبان FBD

 

07 - بهترین زبان برنامه نویسی در PLC چیست 

08 - بهترین زبان برنامه نویسی در PLC چیست

برنامه انتخاب حالت خودکار و دستی به زبان ST

 

09 - بهترین زبان برنامه نویسی در PLC چیست

برنامه انتخاب حالت خودکار و دستی به زبان IL

 
برنامه انتخاب حالت خودکار و دستی به زبان SFC

 
بهترین زبان PLC

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

همیشه طوری کد بزنید که گویی فردی که پس از شما قراره اون پروژه رو نگهداری کنه یک دیوانهٔ عصبیه که می‌دونه شما کجا زندگی می‌کنید

John Woods برنامه نویس مشهور

محبوب‌ترین زبان PLC

در سال ۲۰۱۹ سازمان مؤسسه مهندسان برق و الکترونیک (IEEE) لیستی از ۵۲ محبوب‌ترین زبان‌های برنامه نویسی را منتشر کرد که در آنها زبان Ladder با داشتن رتبه ۵۰ محبوب‌ترین عضو از مجموعه زبان‌های استاندارد IEC 61131-3 در لیست مذکور می‌باشد.[۷]

به نظر شما کدام زبان برنامه نویسی در PLC مناسب‌تر است و چرا؟

۴.۸/۵ - (۱۷ امتیاز)

1 thoughts on “بهترین زبان برنامه نویسی در PLC چیست

  1. اشتراک ها: PLC چیست ؟ | آسیا پی ال سی

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

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