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

کنترل کننده های صنعتی نقش بسیار مهمی در اتوماسیون صنعتی دارند. از اینرو بسیاری از افراد علاقه مند به برناتمه نویسی آن ها هستند. در ابتدای یادگیری زبان های برنامه نویسی PLC این سوال پرسیده می­شود که کدام زبان برای یادگیری بهتر است ؟ افرادی که این سوال را می­پرسند اغلب به دنبال یک پاسخ قطعی هستند. اما پاسخ واقعی این هست  که “بستگی داره”!

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

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

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

Programmable Logic Controller یا کنترل‌گر منطقی برنامه‌پذیر یا PLC، دستگاهی است کنترل­گر که قابل برنامه‌ریزی با توابع منطقی را دارد. بیایید بر روی مفهوم “منطقی” کمی تامل کنیم.

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

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

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

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

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

 IEC 61131-3 استانداردی است که تمام زبان های برنامه نویسی PLC را تعریف می کند. به یاد داشته باشید که برای اینکه یک برنامه نویس کامل PLC باشید، باید بتوانید از تمام ابزارهایی که در دسترس دارید استفاده کنید. به این معنا که شما باید در نوشتن برنامه (منطق) با هر یک از زبان های برنامه نویسی اصلی PLC  مهارت داشته باشید تا همیشه بتوانید بهترین زبان را متناسب با شرایط و الزامات پروژه انتخاب کنید.

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

پنج زبان برنامه نویسی استاندارد که IEC   (کمیسیون بین‌المللی الکتروتکنیک) در استاندارد   IEC61131-3  به رسمیت شناخته است عبارتند از:

  • نمودار نردبانی (LD)
  • نمودار بلوک تابع (FBD)
  • متن ساختاریافته (ST)
  • فهرست دستورالعمل (IL)
  • نمودار توابع متوالی (SFC)

در ادامه به بررسی بیشتر هر یک از این زیان ها می پردازیم.

 (LD)، رایج­ترین زبان برنامه نویسی PLC

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

 Ladder Diagram اولین زبان برنامه نویسی PLC است که بسیاری از برنامه نویسان PLC یاد می گیرند. دلیل این موضوع علاقه شرکت ها به استخدام مهندسانی است که توانایی برنامه نویسی plc با Ladder Diagram  را دارند. در شکل زیر نمونه ای از منطق Ladder Diagram را مشاهده می کنید.

 (LD)، رایج¬ترین زبان برنامه نویسی PLC

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

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

نمودار بلوک تابع (FBD)، دومین زبان گرافیکی

 Function Block Diagram یا FBD یکی دیگر از زبان های گرافیکی برنامه نویسی PLC است. در این زیان برنامه نویسی بر خلاف نموار نردبانی که بر توابب روی یک خط ردیف می شدند، بلوک های تابع بر روی یک صفحه قرار می­گیرند. برنامه های نوشته شده به این زبان بسیار شبیه به نقشه های لوله کشی و ابزار دقیق (Piping and Instrumentation Diagram) است که به اختصار به آن P&ID می گوییم. نمودار (P&ID) یک نمودار دقیق در صنعت فرآیند است که لوله‌کشی و تجهیزات فرآیند را همراه با ابزار دقیق و دستگاه‌های کنترل نشان می‌دهد .

نمودار بلوک تابع (FBD)، دومین زبان گرافیکی

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

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

 به دلیل شباهت این زبان گرافیکی به P&ID و توانایی آن در کنترل آسان فرآیندهای پیوسته، زبان برنامه نویسی FBD  یک انتخاب ایده آل برای استفاده در صنایع فرآیندی است. نمودار بلوک تابع (FBD) FBD برای کنترل‌ فرآیند پیوسته عالی است، اما برای عملیات‌ پیچیده حسابی مانند محاسبه سطح مخزن، متن ساختاریافته زبان مناسب‌تری است.

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

متن ساختار یافته یا Structure text (ST) از جمله زبان های برنامه نویسی PLC مبتنی بر متن است. این زبان در بین برنامه نویسان جوان PLC که با زبان های برنامه نویسی مبتنی بر متن مانند پایتون کارکرده اند، محبوب است. بسیاری از مهندسان با سابقه تمایل ندارند از متن ساختاریافته استفاده کنند، به این دلیل که درک و اشکال زدایی این زبان نسبت به سایر زبان های برنامه­نویسی PLC  برای مهندسان تعمیر و نگهداری دشوارتر است.

اما باید توجه داشت اجرای توابع مثلثاتی، حساب دیفرانسیل و انتگرال، و تجزیه و تحلیل داده‌ها در این زبان بسیار ساده‌تر از نمودارهای نردبانی قابل پیاده‌سازی است.

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

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

نمودار توابع متوالی (SFC)، سومین زبان گرافیکی برنامه نویسی plc  

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

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

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

نمودار توابع متوالی (SFC)، سومین زبان گرافیکی برنامه نویسی plc

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

 (IL)، قدیمی ترین زبان برنامه نویسی plc

زبان برنامه نویسی instruction list یا IL بسیار شبیه به زبان اسمبلی استIL  . در بین انواع زبان­های برنامه نویسی PLC قدیمی­ترین است. اگر در بخش تعمیر و نگهداری کار می کنید، در حین کار با برنامه های PLC  قدیمی­ ممکن است با یک برنامه IL مواجه شوید. اکثر تولیدکنندگان در حال حاضر توصیه می­کنند که از IL برای پروژه­های جدید استفاده نشود اما این زبان هم مزیت های خاص خود را دارد. شکل زیر مقایسه یک برنامه به زیان اسمبلی و یک برنامه به زبان IL را نشان می دهد.

 (IL)، قدیمی ترین زبان برنامه نویسی plc

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

جمع بندی

اگر علاقه مند به برنامه نویسی PLC هستید، دو گام اساسی باید بردارید. گام اول آشنایی با PLC ها و گام دوم آشنایی با زبان های برنامه نویسی PLC . در این مقاله به بررسی زبان های استانداردی که در برنامه نویسی کنترل کننده های منطقی مورد استفاده قرار می گیرد پرداختیم. کنترل کننده های منطقی انواع مختلفی دارند و توسط شرکت های متفاوتی تولید می شوند. به عنوان مثال پی ال سی 1200 زیمنس، 1500، 300 و … هر کدام کاربرد متفاوتی دارند.