زبان های برنامه نویسی PLC
زبان های برنامه نویسی PLC زبانهای تخصصی هستند که برای برقراری ارتباط و آموزش یک کنترل کننده منطقی قابل برنامه ریزی (PLC) استفاده میشوند. از آنجایی که کنترلر طوری برنامه ریزی شدهاست که ورودیها را از دستگاههای مختلف دریافت کند و آنها را از طریق خروجیها کنترل کند، زبان برنامه نویسی باید توانایی تفسیر این دادهها را داشته باشد به همین دلیل است که زبانهای اختصاصی مانند Ladder Logic و Structured Text توسعه یافتهاند. با مقاله امروز سپیانی همراه باشید تا با زبان های برنامه نویسی PLC آشنا شوید.
حتما بخوانید:
Ladder Logic
Ladder Logic یک زبان برنامه نویسی مبتنی بر رلههای مورد استفاده در مدارهای کنترل الکتریکی سنتی است. این زبان از عناصر گرافیکی مانند خطوط و فلشها برای ایجاد ساختارهای پله مانند استفاده میکند که به نوبه خود میتواند برای ایجاد یک دستورالعمل خاص برای کنترلر استفاده شود. این زبان برنامه نویسی برای تقلید از عملکرد یک برد رله طراحی شدهاست و یادگیری و درک آن را برای حرفهایها با پیشینه مهندسی برق آسان میکند. اکثر مردم از Ladder Logic برای کنترل سیستمهای اساسی مانند نوار نقالهها و پمپها استفاده میکنند.
Structured Text
Structured Text یکی دیگر از زبانهای PLC است که شبیه به یک زبان برنامه نویسی سنتی مانند C++ است. این زبان از دستورالعملهای مبتنی بر متن که در قالبی ساختاریافته نوشته شدهاند برای برقراری ارتباط با کنترلکننده استفاده میکند. این زبان از Ladder Logic پیچیدهتر است. اما میتوان از آن برای ایجاد برنامههای پیچیدهتر از جمله عبارات منطقی، حلقهها و شاخهبندی استفاده کرد. Structured Text معمولاً زمانی استفاده میشود که پروژه پیچیدهتر باشد و شامل کنترل چندین دستگاه و ماشین باشد.
هنگام انتخاب بین Ladder Logic و Structured Text، مهم است که پیچیدگی پروژه را در نظر بگیرید. Ladder Logic برای سیستمهای کوچکتر، مانند ماشینها و پمپها، سادهتر و آسانتر است اما Structured Text پیچیدهتر است و برای سیستمهای پیچیدهتر به برنامهنویسی متراکمتری نیاز دارد. همچنین مهم است که توجه داشته باشید که بسیاری از PLCهای مدرن اکنون با هر دو زبان سازگار هستند و به انعطاف پذیری و قدرت بیشتر هنگام برنامه نویسی اجازه میدهند.
هم Ladder Logic و هم Structured Text نقاط قوت و ضعف خود را دارند و انتخاب ایده آل برای هر پروژه خاص به نیازهای فرد بستگی دارد. اگر یک برنامه نویس با یک زبان یا زبان دیگر راحت است. باید آن زبان را برای ایجاد برنامه خود انتخاب کند. با این حال، اگر آنها احساس میکنند که میتوانند از توانایی استفاده از هر دو زبان بهره ببرند، ممکن است بخواهند به دنبال کنترل کنندهای باشند که از هر دو زبان برنامه نویسی پشتیبانی میکند.
نمودار بلوک تابع
نمودار بلوک تابع (FBD) یک زبان گرافیکی است که برای برنامه نویسی PLCها استفاده میشود. این زبان مستقل از پلتفرم است، به این معنی که میتوان از همان کد FBD برای برنامهریزی فرآیند مشابه بر روی انواع مختلف PLC بدون توجه به برند یا مدل استفاده کرد. در این زبان بجای تایپ کد، کاربر یک نمایش گرافیکی از دستورات فرآیند خود را در قالب بلوکهای تابعی که توسط خطوط به هم متصل شدهاند ایجاد میکند. به یک معنا، برنامه نویسی را به نوعی پازل بصری تبدیل میکند که در آن هر قطعه یک بلوک تابع است. شکل بلوکهای تابع بر اساس منطق برنامه ریزی شدهاست، مانند گیتهای AND/OR، تایمرها و مقایسه کننده ها. کد با “کشیدن” نمادهای منطقی بین بلوکها نوشته میشود.
نمودارهای بلوک تابعی به گونهای طراحی شدهاند که فرآیند برنامه نویسی را سریعتر و آسانتر کنند. آنها یک نمایش بصری از منطقی که باید برنامه ریزی شود به کاربر ارائه میدهند و خواندن و عیبیابی کد را آسانتر میکنند. برای نوشتن کد در FBD، برنامهنویس باید هدف و کاربرد هر بلوک تابع و همچنین نحوه اتصال آنها به یکدیگر را درک کند. این امر باعث میشود FBD برای برنامههایی مناسب باشد که منطق آن نسبتاً ساده و سرراست است.
حتما بخوانید:
نمودار توابع ترتیبی
نمودار توابع ترتیبی (SFC) یکی دیگر از زبانهای گرافیکی است که برای برنامهریزی PLCها استفاده میشود. برخلاف FBD، SFC نیازی به درک استفاده از هر بلوک تابعی از کاربر ندارد. در عوض، کاربر به سادگی کد را از چپ به راست، از بالا به پایین میخواند و دستورالعملهای دادهشده را مطابق با آن دنبال میکند. کد SFC با یک سری جعبه حاوی دستورالعملها نشان داده میشود که با فلشهایی به هم متصل میشوند که نشان دهنده ترتیب تکمیل دستورالعملها هستند. این اجازه میدهد تا برنامه نویسی پیچیده با سطح بالایی از دقت انجام شود.
SFC برای برنامه نویسی فرآیندهای پیچیده تری که به دنبالهها و تصمیم گیریهای دقیق نیاز دارند، مانند فرآیندهای تولید یا سیستمهای کنترل، مناسبتر است. در حالی که FBD برای برنامه نویسی فرآیندهای ساده استفاده میشود، SFC برای برنامه نویسی فرآیندهای پیچیده استفاده میشود. زیرا به برنامه نویس اجازه میدهد تا یک جریان منطقی از دستورات را ایجاد کند که آنها بتوانند در صورت نیاز تجسم و اصلاح کنند.
هر دو FBD و SFC را میتوان برای برنامه نویسی PLCها استفاده کرد و بسته به نوع فرآیندی که برنامه ریزی میشود مزایا و چالشهای مختلفی را ارائه داد. در حالی که FBD برای برنامههای سادهتر مناسب است، SFC به برنامه نویس اجازه میدهد تا منطق با درجه پیچیدگی بالاتری ایجاد کند. هر زبانی مزایا و چالشهای خاص خود را دارد. بنابراین انتخاب زبان مناسب باید بر اساس کاربرد و تجربه برنامه نویس باشد.
Instruction List
Instruction List (IL) یک شکل اساسی از معماری مجموعه دستورالعمل است که برای برنامه ریزی کنترل کنندههای منطقی استفاده میشود. IL یک زبان اسمبلی است، به این معنی که سطح پایینی دارد و مستقیماً با پردازنده سیستم تماس میگیرد تا دستورالعملها را اجرا کند. این یک زبان غیر انحصاری است که با یک نحو متمایز نوشته شدهاست، که بیشتر به دستورالعملهای اساسی، دستورالعملهای دستکاری بیت و دستورالعملهای ویژه طراحی شده برای کار با ثباتها تقسیم میشود.
دستورالعملهای IL به اندازه زبانهای سطح بالا مانند Ladder Logic توصیفی نیستند. در عوض، دستورالعملها از یک یادگاری (مخفف نام دستورالعمل) و به دنبال آن یک پارامتر عددی تشکیل شدهاند. بسته به دستورالعمل، پارامتر میتواند یک عدد باینری، آدرس حافظه یا نوع دیگری از دادهباشد. نمونههایی از دستورالعملهای IL شامل حرکت (MO)، تنظیم (SE)، تنظیم مجدد (RS)، مقایسه (CM) و شاخه (BR) است.
زیمنس S5
زیمنس S5 یکی از زبانهای برنامه نویسی PLC اختصاصی است که توسط غول مهندسی چند ملیتی زیمنس توسعه یافتهاست. این یک زبان سطح بالا است، به این معنی که درک و استفاده از آن آسان تر از همتای سطح اسمبلی آن است. اغلب برای کنترل PLCهای زیمنس S5 استفاده میشود و کاربران را قادر میسازد تا عناصر خاصی از منطق برنامه را بعنوان یک کل با هم گروه بندی کنند، مانند ساخت یک برنامه فرعی از مجموعه ای از دستورات.
S5 یک زبان مبتنی بر نحو است و از کلمات کلیدی توصیفی پرمخاطب استفاده میکند. این زبان در Simatic Statement نوشته شدهاست و بلوکی از متن حاوی عبارات برنامه است که میتواند مقادیری را به متغیرهای خاصی اختصاص دهد، دنباله ای از دستورات را اجرا کند، یا دستورالعملهای مقایسه و شاخه مربوطه را اجرا کند. S5 همچنین لیست دستورالعملهای اولیه و توابع زمان بندی، حسابی و منطقی را ارائه میدهد.
IL و Siemens S5 هر دو زبانهای برنامه نویسی PLC مفیدی برای کاربردهای صنعتی هستند و هر کدام دارای ویژگیهای منحصر بفردی هستند که آن را برای انواع مختلف وظایف مناسب میکند. IL یک زبان اسمبلی است و بنابراین یک انتخاب ایده آل برای کنترل ماشین سطح پایین است. این امر آن را به انتخابی محبوب برای کنترل موتور تبدیل میکند زیرا کاربران را قادر میسازد تا کنترل دقیقتری بر عملکرد موتور انجام دهند. S5 یک زبان سطح بالا است و میتواند برای کارهای برنامه نویسی پیچیدهتر استفاده شود. این باعث میشود که آن را به یک انتخاب ارجح برای کاربردهای صنعتی سخت تبدیل کند.
مهم:
در نتیجه، IL و زیمنس S5 دو زبان برنامه نویسی PLC مهم هستند. IL یک زبان اسمبلی است که به بهترین وجه برای کنترل ماشین سطح پایین مناسب است. در حالیکه S5 یک زبان سطح بالا است که برای کارهای پیچیده استفاده میشود. دانستن اینکه کدام زبان برای شغل مورد نظر مناسب است میتواند به تکمیل به موقع و کارآمد پروژهها کمک کند.
حتما بخوانید:
ترفند های کاربردی برنامه نویسی PLC
برنامه نویسی PLC زیمنس با زبان Ladder Logic
زبان S7
زبان S7 یک زبان همه منظوره است که توسط شرکت آلمانی Siemens AG برای استفاده در برنامه نویسی PLC توسعه یافتهاست. از مقادیر ممیز شناور استفاده میکند که امکان محاسبات طولانی و دقیق را فراهم میکند. میتواند از چندین زبان برای برنامه نویسی و اشکال زدایی استفاده کند، از جمله BASIC، C++، C# و Python.
زبان S7 نسبت به زبانهای برنامه نویسی PLC سنتی مانند CX-programmer مزایای زیادی دارد. یکی از مزایای اصلی زبان S7 انعطاف پذیری آن است. زیرا میتوان از آن در انبوهی از پروژههای مختلف اتوماسیون صنعتی استفاده کرد. همچنین میتواند از چندین معماری پردازنده مانند S5/S7، RSLogix500 و CX-programmer پشتیبانی کند. علاوه بر این، این زبان امکان ادغام آسان با سایر فناوریهای کامپیوتری مانند منطق نردبان و الگوریتمهای کنترل حرکت را فراهم میکند. این امکان راه حلهای برنامه نویسی کارآمد و جامع را فراهم میکند. علاوه بر این، S7 دارای طیف گستردهای از ماژولهای کتابخانه داخلی برای عملکردهای کنترل خودکار است که امکان برنامهریزی کارآمد و آسان را فراهم میکند.
CX-programmer
در اصل CX-programmer یک زبان برنامه نویسی ساخت یافته از Mitsubishi Electric است که برای برنامه نویسی PLCها استفاده میشود. CX-programmer از منطق نردبانی استفاده میکند که یک زبان برنامه نویسی گرافیکی است که برای کنترل PLCها طراحی شدهاست. با منطق نردبان، منطق کنترل در یک سری خطوط عمودی و افقی نمایش دادهمیشود که امکان برنامهریزی ساده و آسانتر را فراهم میکند.
از طرف دیگر، برنامه نویس CX سادهتر از زبان S7 در نظر گرفته میشود. مزیت اصلی آن ساختار برنامه نویسی منطق نردبانی آن است که برنامه نویسی و اشکال زدایی آن را بسیار آسان تر میکند. با استفاده از منطق نردبان، کل دنباله کنترل را میتوان در یک نمودار نردبانی تجسم کرد و توسعه دهندگان را قادر میسازد تا به سرعت جریان برنامه را دنبال کنند. علاوه بر این، برنامه نویس CX همچنین امکان اشکال زدایی آسان برنامهها را فراهم میکند و به کاربران اجازه میدهد تا سیستم را قبل از اجرای آن بر روی تجهیزات واقعی شبیه سازی کنند. این کار از رفتار غیرمنتظره در برنامه جلوگیری میکند و زمان توسعه یک برنامه را کوتاه میکند.
با وجود مزایایی که دارند، هر دو زبان S7 و برنامه نویس CX دارای معایبی نیز هستند. زبان S7 دارای یک منحنی یادگیری تند است و برای ایجاد یک برنامه نیاز به دانش چندین زبان دارد. علاوه بر این، کدهای نوشته شده به زبان S7 بزرگتر از کدهای نوشتهشده در برنامه نویس CX هستند و اشکال زدایی آن را دشوارتر میکند. از سوی دیگر، برنامه نویس CX فاقد انعطاف پذیری و ویژگیهای زبان S7 است. علاوه بر این، برنامهنویسی منطق نردبانی آن میتواند پرزحمت باشد و نیاز به زمان زیادی برای اجرا دارد.
AB BASIC
AB BASIC یک زبان برنامه نویسی سطح بالا است که بطور خاص برای برنامههای PLC توسعه یافتهاست. این یک زبان متن ساختاریافته (ST) است که دسترسی به عملیات اصلی PLC را بعنوان یک زبان یکپارچه و قابل توسعه فراهم میکند. AB BASIC از آنجایی که نسخههای قبلی قابل ارتقا هستند برای کاربران قابل دسترسی است و یادگیری و درک زبان بطور کلی آسان است. ساختار زبان براحتی قابل خواندن و درک است در حالی که توابع داخلی و دستورالعملهایی را ارائه میدهد که میتوان از آنها برای کنترل PLC استفاده کرد.
یکی از بزرگترین مزیتهای AB BASIC این است که برنامههای نوشته شده در برنامههای سخت افزاری و نرم افزاری PLC را میتوان برای آزمایش فرآیندهای جدید اصلاح و اشکال زدایی کرد. علاوه بر این، AB BASIC از چندین برنامه در حال اجرا در رشتههای مختلف پشتیبانی میکند. و هر رشته کار خود را انجام میدهد و منابع را به اشتراک میگذارد. علاوه بر این، از کتابخانههای نوشتهشده در AB BASIC نیز میتوان برای فراخوانی توابع اجرایی که قبلا نوشته شدهاند استفاده کرد.
حتما بخوانید:
برنامه نویسی Step 7 زیمنس چیست؟
درآمد اتوماسیون کار صنعتی و متخصص PLC
PLCopen XML
PLCopen XML زیرمجموعهای از استاندارد OpenXML برای توصیف سیستمهای کنترل صنعتی است. این یک زبان مستقل از پلتفرم است که هدف آن ساده سازی فرآیند ایجاد برنامه برای PLCها است. مانند AB BASIC، PLCopen XML هم شامل ساختار برنامه و هم نمادهایی است که به سخت افزار PLC میگوید که چه اقداماتی را انجام دهد. اما بجای منطق نردبان، PLCopen XML از خطوط متنی تشکیل شدهاست که دستورات، متغیرها و مقادیر سیگنال را نشان میدهد. این به ویژه برای کسانی مفید است که قبلاً تجربهای در زمینه برنامه نویسی PLC دارند، زیرا هیچ دانش قبلی لازم نیست.
مزیت کلیدی PLCopen XML این است که میتوان از آن برای نوشتن برنامه برای انواع PLCهای مختلف و اجرای آنها بر روی چندین پلتفرم استفاده کرد. علاوه بر این، پروژههای نوشتهشده در PLCopen XML نیز میتوانند براحتی بین فروشندگان و PLCهای مختلف مبادله شوند و شرکتها را قادر میسازد تا با استفاده از طرح پروژه مشابه برای چندین پروژه در زمان صرفه جویی کنند. علاوه بر این، تمام برنامههای نوشته شده به این زبان را میتوان تغییر داد و دوباره مورد استفاده قرار داد و کاربران را قادر میسازد تا تغییرات را سریعتر و کارآمدتر انجام دهند.
جمع بندی:
در این مقاله زبان های برنامه نویسی PLC را بررسی و مرور کردیم. هر زبان کاربرد و مزایا و معایب خاص خودش را دارد که بستهبه کاربرد باید به آنها توجه و بهترین زبان را برای عملکرد خود انتخاب کنیم.