برنامه نویسی PLC یکی از مهارتهای بسیار جذاب و پردرآمد حال حاضر دنیاست. فقط کافیست اندکی مهارت و تخصص در این رشته بدست آورید و تجربه عملی کار خود را در زمینه برنامه نویسی پی ال سی بالا ببرید.
خواهید دید که چه در ایران و چه در دنیا در شرکتهای صنعتی و خصوصی نیاز بالایی در آن وجود دارد. در حقیقت کاربردهای زیادی که plc در صنعت دارد، (همچون کمک به خودکارسازی کنترل و مانیتورینگ فرآیندهای صنعتی) باعث شده تا به این محبوبیت کنونی دست پیدا کند.
در این پست با ماه همراه باشید تا اطلاعات جامع و دقیقی به شما بدهیم.
و البته دوره رایگان برنامه نویسی PLC برای شما تدارک دیدهایم که دانش اولیه را به خوبی به شما منتقل میکند.
کنترل کننده منطقی برنامه پذیر چیست؟
یک پی ال سی در مرکز کنترل، یک کامپیوتر صنعتی با درجه قابلیت اطمینان بالا است که قادر به اجرای برنامههای متفاوت است. در ابتدا تنظیمات PLC ساده و آسان بود. اما با تغییر نیازهای تجارت و آشکار شدن پیچیدگیهای صنعت، پی ال سیها تکامل یافتند.
کنترلکنندههای منطقی قابل برنامهریزی اکنون برای ایجاد برنامه، بهینهسازی آن برای یک پروژه خاص و تغییر آن بسته به خواستههای تجاری شناخته میشوند. برنامه نویسی پی ال سی این قابلیت را به شما میدهد که بتوانید مطابق با نیاز و الگوریتم مورد استفاده خود، کنترل فرآیندها را به دست بگیرید.
برنامه نویسی PLC در گذشته و حال:
اولین پی ال سی در اواخر دهه 1960 معرفی شد (تاریخچه plc را بخوانید).
صنعت اتومبیل اولین جایی بود که پی ال سی فعالیتهای خودرا در آن آغاز کرد. هدف آنها جایگزینی رلهها و تایمرها که دارای سیستمبندی سخت بودند با کنترلرهای قابل برنامهریزی و انعطاف پذیر بود. از آن زمان پی ال سیها به طور گسترده به عنوان سیستمهای کنترل استاندارد اتوماسیون در صنایع مختلف پذیرفته شدند.
پی ال سیهای امروزی بهتر، کوچکتر و سریعتر هستند. صفحات مدار، پردازندهها و سایر قطعات الکترونیکی آن به سرعت در حال کوچک شدن میباشند. همه این پیشرفتها بر طراحی پی ال سی اثر گذار است.
در این مقاله به طور کلی درباره برنامهنویسی پی ال سی و اینکه چگونه در طول سالیان تکامل یافت صحبت خواهیم کرد.
نقطه شروع برنامه نویسی پی ال سی:
اولین PLC در سال 1968 شروع به کار کرد. جنرال موتورز مشخصات کنترلکنندهای را برای ماشینآلات طراحی و برای فروش، در اختیار فروشندگان قرار داد. برخی از مشخصات مهم این کنترلکننده شامل موارد زیر میباشد:
- باید از اجزای فیزیکی استفاده کرد که ماژولار و قابل ارتقا باشند.
- باید شامل 16 واحد ورودی باشد که میتواند به 256 واحد برسد.
- باید دارای 16 واحد خروجی باشد که میتواند تا 128 واحد افزایش یابد.
- باید برنامهنویسی و برنامهریزی مجدد را به شکلی آسان ارائه دهد.
- به هنگام قطع برق برنامههای ذخیره شده از دست نخواهند رفت، به همین منظور 1 کیلوبایت حافظه وجود دارد که میتواند به 4 کیلوبایت افزایش پیدا کند.
ریچارد ای مورلی، که برای کمپانی بدفورد (BEDFORD) کار میکرد، دستگاهی را طراحی کرد که به کنترلر دیجیتال ماژولار معروف شد.
پی ال سی Modicon:
به دنبال این موفقیت، کمپانی Bedford نام خود را به Modicon PLC تغییر داد. آنها شروع به تولید Modicon 084، اولین PLC خود کردند. آنچه Modicon 084 را از سایر محصولات موجود در بازار متمایز میکند، تکنیک برنامهنویسی آن است در صورتی که بقیه با استفاده از ‘Boolean Statements’ تجهیزات خود را دستکاری میکردند.
برخلاف سادگی منطق Boolean، مهندسان صنعت متوجه شدند که کار با آنها در مقایسه با منطق رله سختتر است. مهندسان به سیستم کنترل رله که با لدر (Ladder) کار میکرد، عادت کرده بودند. ایده فوق العاده مورلی این بود که “منطق نردبان” را در سیستم خود بگنجاند. این منطق اساساً نمایش گرافیکی منطق Boolean است.
این ایده، بازی را تغییر داد! همینطور درک و استفاده از آن برای مهندسان آسانتر از منطق Boolean بود. در ادامه به طور کامل منطق لدر را توضیح خواهیم داد.
فضای کاری برنامه نویسی PLC:
از آنجا که امکانات و ظرفیت تولید در سراسر جهان به شدت به PLCها متکی میباشد و این فناوری همچنان به پیشرفت خود ادامه میدهد، نیاز روز افزون متخصصانی که قادر به توسعه، پشتیبانی و مدیریت این سیستمها هستند، افزایش مییابد.
فرصت یادگیری برنامه نویسی PLC بسیاری از افراد را به سمت مشاغل پردرآمد، محیطهای کاری امن و رشد عالیِ شغلی سوق داده است. درک منظر این فضا بسیار ضروری است. باید ببینید که چگونه مهارت برنامهنویسی PLC ممکن است بر شغل، حقوق و پیشرفت شما تأثیر بگذارد.
همچنین به خاطر داشته باشید که عناوین شغلی و حقوق ممکن است در مناطق دیگر، شرکتها و صنایع مختلف، متفاوت باشد.
برندهای معروف در حوزه پی ال سی و برنامه نویسی:
- آلن-بردلیِ راکول
- سیماتیکِ زیمنس
- ABB AC500
- PLC دلتا و نرم افزار ISPSoft
آلن-بردلی (Allen-Bradley):
خط تولید PLC آلن-بردلی با چندین قیمت قابل ارائه است. خانواده پی ال سی آلن-بردلی را میتوان به سه خط مجزا تقسیم کرد:
- ControlLogix
- CompactLogix
- MicroLogix
سیماتیکِ زیمنس:
PLCهای زیمنس در مناطق اروپا و آسیا استاندارد میباشند. آنها قابل اعتماد و دارای تنظیمات متفاوتی میباشند.
پی ال سی های زیمنس از طریق نرمافزار TIA Portal برنامهریزی میشوند. خطوط PLC زیمنس به چهار خانواده زیر تقسیمبندی میشوند:
- Simatic S7-1200
- Simatic S7-1500
- Simatic S7-300
- Simatic S7-400
پی ال سی AC500 PLC:
ABB سومین برند شناخته شده PLC است. ادعای ABB این است که کنترلکنندههای آن میتوانند بین خود و هر ماژول دیگر از ABB ارتباط برقرار کنند. خطوط پی ال سی ABB به سه دسته زیر تقسیم میشوند.
- AC500-eCo
- AC500-S
- AC500-XC
چگونه برنامه نویسی پی ال سی را یاد بگیریم؟
پیش از خواندن ادامه مقاله، لازم به ذکر است که ما یک دوره کاربردی رایگان در حوزه برنامهنویسی PLC نیز تهیه و آماده کردهایم که در اینجا خلاصهای از قسمتهای آن را آوردهایم و پیشنهاد میشود ابتدا این دوره را مشاهده بفرمایید.
دوره برنامه نویسی PLC (رایگان و کاربردی)
1) قسمت اول: نحوه پیکربندی سختافزاری در نرمافزار
پیش از ورود به محیط نرمافزار و شروع برنامهنویسی، لازم است که ابتدا نرمافزار، پی ال سی شما را شناسایی کند. بنابراین باید وارد مبحث پیکربندی شوید. در این قسمت کاملا نحوه صفر تا صد پیکربندی سختافزار در نرمافزار شامل اضافه کردن کارتهای SM ،CM و غیره نیز توضیح داده شده است. همچنین کلیپی از خود نرمافزار برای این قسمت و تمامی قسمتهای بعدی نیز آماده شده که به درک بصری شما در یادگیری، کمک به سزایی میکند.
2) قسمت دوم: معرفی محیط نرمافزار سیماتیک منیجر
پس از انجام کامل پیکربندی و شناسایی پی ال سی توسط نرمافزار، وارد محیط اصلی برنامهنویسی نیز میشوید که در این قسمت با Objectهای این محیط مانند کانتکتها، کویلها و نتورکها نیز بحث کردهایم. همچنین بقیه قسمتهای این محیط و نحوه عملکرد کلی بلوکها را توضیح دادهایم. یادگیری استفاده صحیح از محیط نرمافزار و تشخیص object مورد نیاز، برای هر برنامهنویس پی ال سی واجب میباشد.
3) قسمت سوم: معرفی بلوک بیتهای منطقی:
پس از بررسی دو مرحله بالا، به یکی از مهمترین بلوکهای برنامهنویسی یعنی بیتهای منطقی میرسیم. به جرئت میتوان گفت اجزای این بلوکها که شامل کانتکتهای باز و بسته، کویل، بلوک SR ،RS و غیره نیز میشوند در بیشتر برنامهها استفاده میشوند. اگر نمیدانید که اجزای بالا دقیقا چه کاری میکنند، نگران نباشید در پست این قسمت کاملا این بلوکها مورد بحث و بررسی قرار گرفتهاند.
4) قسمت چهارم: معرفی بلوکهای مقایسه کننده
قطعا تا به حال برای همه ما پیش آمده که بخواهیم دو مقدار را با یکدیگر مقایسه کنیم. این عمل در صنعت در مقیاسهای بزرگ صورت خواهد گرفت. بنابراین پی ال سی بلوکهایی را در خود جای داده که میتوان با کمک آنها مقادیر با مقیاسهای بزرگ را تنها با وارد کردن آنها و گرفتن پاسخ صحیح در خروجی، مقایسه کرد. برای نمونه میتوان بلوکهای Greater than و Less than را برای مقایسه بزرگتر و کوچکتر بودن دو مولفه نیز معرفی کرد.
5) قسمت پنجم: معرفی بلوکهای تبدیل کننده
حال به بلوکهای تبدیل کننده میرسیم. عملکرد این بلوکها به این گونه است که به عنوان مثال فرمت Integer را در ورودی دریافت کرده و آن را double Integer تبدیل میکند. در پست مخصوص این قسمت نحوه تبدیل تمام این بلوکها توضیح داده شده و همچنین نحوه flag دهی آنها هم نیز به شکل کامل مورد بررسی قرار گرفته است.
6) قسمت ششم: معرفی بلوکهای شمارنده
همانطور که از اسم این بلوک مشخص است، برای ما عمل شمارش را انجام می دهند. اما سوال اینجاست که چگونه؟ شمارنده یا کانتر (Counter) در PLC، یک بلوک تابع است که میتواند شمارش را به صورت صعودی یا نزولی تا رسیدن به یک مقدار از پیش تعیین شده، انجام دهد. پس از رسیدن شمارش به این مقدار از پیش تعیین شده (Preset Value) که آن را با PV نشان میدهیم، خروجی این بلوک فعال میشود. جزئیات بیشتر را میتوانید در پست مخصوص این قسمت مشاهده کنید.
7) قسمت هفتم: بلوک عملیات ریاضی ساده روی اعداد صحیح
یکی از بلوکهای ساده و کاربردی در پی ال سی، بلوک عملیات ریاضی ساده روی اعداد صحیح میباشد. این عملیات ریاضی شامل جمع، ضرب و تفریق و تقسیم میباشند. به عنوان مثال دو ورودی با فرمت integer را دریافت کرده و حاصل جمع آنها را در خروجی به ما میدهد.
8) قسمت هشتم: معرفی بلوک عملیات ریاضی نسبتا پیچیده روی اعداد اعشاری
این بلوکها، هر دوی اعمال ریاضی ساده تا نسبتا پیچیده را میتوانند انجام دهند. اعمال ریاضی که این بلوکها میتوانند انجام دهند (به غیر از اعمال ساده)، سینوس، کسینوس، جذر و غیره میباشد که در پست آن کاملا گفته شده است. یک نکته مهم در این بلوک و بلوک اعداد صحیح این است که موقع وارد کردن اعداد اعشاری در ورودی باید آنها را به فرمت (به عنوان مثال 4.5000e+00) نیز قرار داد تا برای پی ال سی قابل شناسایی باشد.
قسمت 9) معرفی بلوکهای تایمر ( قسمت پایانی)
میتوان گفت پر کاربردترین و مهمترین بلوک در برنامهنویسی پی ال سی، بلوک تایمر میباشد. یک مثال ساده برای درک عملکرد این بلوک این است که به عنوان مثال شما میخواهید یک موتور را از حالت راست گرد به چپ گرد تبدیل کنید، برای این کار به تایمر دستور میدهید که پس از 5 ثانیه به عنوان مثال، موتور تغییر حالت دهد.
تایمر شروع به شمارش میکند و هنگامی که صفر شد، موتور به چپ گرد تغییر وضعیت میدهد. فرمت قرار دادن زمان در ورودی تایمر باید به شکل #s5t باشد تا پی ال سی بتواند آن را شناسایی کند.
این خلاصه ای از دوره آموزشی برنامه نویسی پی ال سی برای سهولت یاد گیری این حرفه می باشد. برای دیدن جزئیات و نکات بیشتر این دوره، حتما به صفحات مخصوص هر پست بروید و مطالب آن ها را مطالعه بفرمایید.
صرف نظر از دنیای صنعت، هر شخصی که با یک کنترلکننده منطقی قابل برنامهریزی ارتباط برقرار میکند، مجبور است یک سری درسهای مربوط به سختافزار PLC، برنامهنویسی، عیبیابی و طراحی را بگذراند.
به دلیل پیچیدگی سیستمهای PLC، ممکن است مسیر یادگیری برای بسیاری از کسانی که وارد این حوزه میشوند، مشخص نباشد. به منظور وجود پیچیدگی برای یادگیری سختافزار و نرمافزار، چالشهایی بوجود میآید که بسیاری را به اجتناب از یادگیری سیستمهای کنترل هدایت میکند.
چگونه آموزش PLC را شروع کنیم؟
توصیه میشود اگر به دنبال کار در صنعت هستید یکی از دو سیستم عامل مهم در بازار فعلی را انتخاب کنید. این سیستم عاملها Allen Bradley (Rockwell Automation) و Siemen هستند.
اولین وظیفه، آشنایی با ابزارهای مورد نیاز برای یادگیری هر دو سیستم عامل است. برای آلن بردلی توصیه میشود که با RSLogix 500 به عنوان اولین بسته نرمافزاری خود آشنا شوید. همچنین، برای زیمنس باید به TIA Portal و یا Simatic Manager عادت کنید.
آیا برنامه نویسی PLC آسان است؟
درک برنامهنویسی PLC نسبت به سایر زبانهای برنامهنویسی مدرن بسیار آسانتر است. با این حال، دامنه کار یک برنامهنویس PLC بسیار گسترده و چالش برانگیز میباشد.
از نقطه نظر نرمافزاری، بیشتر برنامههای PLC شامل ساختارهایی نیستند که ما به زبانهای دیگر مشاهده کردهایم؛ به عنوان مثال کلاسهای مختلف، چند شکلی بودن زبان برنامهنویسی، کتابخانههای گسترده و غیره در زبان پی ال سی وجود ندارد. این به این دلیل است که برنامهنویسی PLC محدود به یک سیستم فیزیکی است که حالتها از قبل در آن شناخته شدهاند.
خارج از نرم افزار، برنامه نویسی PLC به یک درک مهندسی نیاز دارد تا سیستم را فراتر از اصول عملیاتی درک کند.
برنامه نویسی مقدماتی پی ال سی
بسیاری از برنامه نویسان PLC با مفاهیم اساسی توضیح داده شده در بالا دست و پنجه نرم میکنند. اما اکیداً توصیه میشود قبل از اینکه به سراغ سایر مباحث برنامهنویسی PLC بروید، بر دستورالعملهای مهم هر برند پی ال سی تسلط داشته باشید. بعلاوه؛ اگر هدف شما اشتغال به کار است، احتمال این وجود دارد که بیشتر کارفرمایان دانش شما را در مورد اصول ابتدایی آزمایش کنند.
بعد از فراگیری مباحث ابتدایی، به یادگیری دستورالعملهای مهم PLC ادامه میدهیم. از مهمترین دستورها آغاز میکنیم؛ باید ابتدا بر روی تایمرها و محاسبات ریاضی تمرکز کنیم. دستورالعملهایی مانند TON ،TOF ،ADD ،MUL ،SUB و DIV که باید با آنها آشنا بود تا بتوان به سطح برنامهنویسی پیشرفته وارد شد.
- TON: خلاصه شده دستور Timer On
- TOF: خلاصه شده دستور Timer Off
- ADD: خلاصه شده دستور جمع منطقی
- SUB: خلاصه شده دستور جمع حسابی
- DIV: خلاصه شده دستور تقسیم
- MUL: خلاصه شده دستور ضرب میباشد
برنامه نویسی پیشرفته پی ال سی:
یک برنامهنویس پیشرفته PLC شروع به یادگیری مفاهیمی مانند دستورالعملهای پیچیده، تگهای داده تعریف شده توسط کاربر، برنامهنویسی تحمل خطا، سخت افزار خارجی و موارد دیگر میکند. وقت آن است که روی تکنیکهای پیشرفته سرمایهگذاری کنید و نحوه ساختن کدهای قوی، نحوه ایجاد طرحبندی برای کل ماشینآلات، کارخانهها و موارد دیگر را بفهمید.
در این مرحله، باید با اکثر دستورالعملهای دنیای برنامهنویسی PLC کار کنید؛ برنامههای پیشرفته مانند کنترل فرآیند، اتوماسیونِ نیروگاه و توسعه کامل ماشین آلات در این مرحله بسیار کارآمد میباشند.
برای درک برنامهنویسی و زبانهای پی ال سی توصیه میشود کلیپ زیرا مشاهده کنید
در مرحله بعد باید تمرکز بر روی روشهای دیگر برنامه نویسی PLC باشد:
- Structured Text (ST)
- Function Block Diagrams (FBD)
- Sequential Function Charts (SFC)
این روشهای برنامهنویسی منحصربه فرد میباشند و در بستر و زمان خود میتوانند مفید واقع شوند و بسته به شرایط باید از آنها استفاده کرد.
علاوه بر این، توصیه میشود که با سختافزارهای خارجی مانند درایوهای فرکانس متغیر (VFD)، Servo Motion (در پلتفرم Kinetix)، مدارهای ایمنی و سایر موارد آشنا شوید.
هدف های بلند مدت برنامه نویسی پی ال سی در حوزه بیزینس:
برنامهنویسان PLC اغلب فراموش میکنند که هدف سیستمهای کنترل حمایت از تجارت است. یک سیستم کنترل فعال، باید بتواند توسعه یک تجارت پررونق را برای سالهای آینده فراهم کند.
سیستمهای PLC برای تولیدکنندگان، ماشینآلات و زیرساختهای کوچکتر در نظر گرفته شده است. آنها با هزینه کمتری تهیه میشوند و در نتیجه در مقیاسی برای یک شرکت تولیدیِ دارای چندین تاسیسات، ایدهآل نیستند.
استاندارد IEC در برنامه نویسی PLC:
با پیشرفت در زمینه علم و فناوری؛ تکنیکهای سختافزاری و همچنین نرمافزاری (برنامهنویسی) نیز برای پاسخگویی به نیازهای بازار پیشرفته شدهاند.
علاوه بر در دسترس بودن رایانههای شخصی با هزینه نسبتاً کم و نرمافزار برنامهنویسی PLC که برای رایانههای شخصی نوشته شده است، پیشرفت چشمگیر دیگری نیز در دهه 1980 اتفاق افتاد.
امروزه، بیشتر تولیدکنندگان بزرگ، سیستم عاملهای توسعه نرمافزاری را تولید میکنند که با مشخصات کمیسیون بینالمللی الکتروتکنیک (IEC) 61131-3 مطابقت دارد. این استاندارد در سال 1982 شروع به کار کرد و در سال 1993 به عنوان استاندارد بین المللی IEC 1131 برای كنترلكنندههای قابل برنامهریزی منتشر شد.
استاندارد IEC 61131-3 از این جهت دارای اهمیت است که برای تمام محصولات نرمافزاری مطابق با استاندارد، سازگاری ایجاد میکند. به عنوان مثال، یک عملکرد استاندارد تعریف شده IEC در یک PLC-Brand-X یا PLC-Brand-Y به یک شکل عمل میکند.
یک نتیجه ارزشمند از این استاندارد این است که توابع و بلوکهای عملکردی یکسان به نظر میرسند و ورودی و خروجی یکسانی دارند، بنابراین به مهندس یا شخص نگهدارنده اجازه میدهد به سرعت منطق و روند برنامه را از نرمافزار هر برندِ سازنده درک کند. IEC 61131-3 قسمت سوم استاندارد IEC 61131 است. این یک استاندارد برای برنامهنویسی سیستمهای کنترل صنعتی مانند کنترلکننده منطقی قابل برنامهریزی (PLC) و غیره است. IEC 61131- 3 ساختارِ زبانهای زیر را مشخص میکند؛
- دو زبان متنی: Instruction List (IL) و Structured Text (ST)
- دو زبان گرافیکی:Function Block Diagram (FBD) , Ladder Diagram (LD) و Sequential Function Chart (SFC)
درباره این زبانها در ادامه کامل صحبت خواهیم کرد.
در گذشته تولیدکنندگان مختلف، مفاهیم و روش برنامهنویسی متفاوتی داشتند که منجر به ناسازگاری بین سیستمها میشد و سیستم را از قابلیت اطمینان کمتری برخوردار میکرد. همچنین در برنامهریزی و نگهداری و تعمیر سیستمهای کنترل صنعتی وقت و تلاش زیادی صرف میشد.
این استاندارد IEC یک زبان برنامهنویسی مستقل از سازنده را ارائه میدهد که در یک پروژه، قابل انعطاف و قابل استفاده مجدد میباشد و همچنین میتواند به عنوان کتابخانه در برنامههای دیگر مورد استفاده قرار گیرد.
محبوب ترین زبان های برنامه نویسی PLC کدامند؟
وقت آن رسیده که به بررسی کلی 5 نرم افزار برنامهنویسی محبوب پی ال سی بپردازیم. 5 زبان وجود دارد که همه قسمتی از استاندارد IEC (کمیسیون بین المللی الکتروتکنیک) بخش 61131-3 هستند. بیایید نگاه عمیق تری به همه این زبانهای برنامه نویسی محبوب PLC بیندازیم.
5 زبان محبوب برنامه نویسی پی ال سی به شرح زیر است:
- Ladder Diagram
- Sequential Function Charts
- Function Block Diagram
- Structured Text
- Instruction List
بگذارید کمی در مورد هر یک از این زبانها صحبت کنیم. با Ladder Diagram شروع میکنیم که یک نوعِ گرافیکی از زبان برنامهنویسی PLC است.
-
Ladder Diagram (LD)
نمودار نردبان در اصل از مدل رله منطقی استفاده میکند که از دستگاههای فیزیکی مانند سوئیچها و رلههای مکانیکی برای فرایندهای کنترل استفاده کرده است. این زبان با استفاده از منطق و ارتباط داخلی جایگزین همه دستگاهها میشود، به جز دستگاههای فیزیکی که برای فعالسازی آنها به سیگنال الکتریکی احتیاج میباشد.
این زبان به صورت پلههای افقی با دو ریل عمودی ساخته شده است که نشاندهنده اتصال الکتریکی در نمودارهای رله منطقی است. میتوانید تمام شرایط لازم ورودی را برای تأثیرگذاری بر شرایط خروجی، چه منطقی و چه فیزیکی برنامهریزی کنید.
مزایای اصلی زبان Ladder Diagram عبارتند از:
- ساختار پلهایی اجازه میدهد تا برنامه، سازمان یافته و آسان دنبال شود.
- همچنین به شما اجازه میدهد دستوراتی که در برنامه استفاده کردید را ذخیره کنید!
- پشتیبانی قوی در بخش ویرایش آنلاین برنامه!
معایب اصلی زبان Ladder Diagram عبارتند از:
عیب اصلی این زبان این است که بعضی از دستورالعملها در آن موجود نیست، که میتواند برنامهنویسی را دشوار کند. به عنوان مثال یکی از این دستورات، NAND میباشد.
زبان برنامهنویسی بعدی PLC که در مورد آن با شما صحبت خواهیم کرد زبان SFC است که از یک نوعِ گرافیکی برنامهنویسی استفاده میکند.
2-زبان برنامه نویسی SFC:
اگر تجربهای در نمودارهای فلوچارتی دارید، این زبان برنامهنویسی PLC برای شما آشنا خواهد بود. در این زبان، شما برای دستیابی به نتایج نهایی خود، از دستورات به شکل مرحلهای استفاده میکنید. مراحل به عنوان یک عملکرد اصلی در برنامه شما اجرا میشوند.
این مراحل، اقداماتی را که هنگام برنامهریزی برای برنامه اتفاق میافتد را در خود جای دادهاند. این اقدامات میتواند بر اساس زمانبندی، مرحله خاصی از فرآیند یا وضعیت فیزیکی یک تجهیز باشد. دستورالعملهای انتقالی دستوراتی هستند که شما برای حرکت از یک مرحله به مرحله دیگر با تنظیم شرایط درست یا نادرست حالت (TRUE or FULSE) مانند فلوچارت، استفاده میکنید.
برخلاف فلوچارتهای سنتی، نمودارهای عملکرد متوالی میتوانند مسیرهای مختلفی داشته باشند. برای شروع چندین مرحله همزمان میتوانید از شاخهها ( به شاخه در برنامهنویسی Branch گفته میشود) استفاده کنید.
مزایای اصلی زبان Sequential Function Charts
چند مورد از مزایای عملکردی این زبان در زیر آمده است:
- فرآیندها را میتوان به مراحل عمده تقسیم کرد که میتواند عیبیابی را سریعتر و آسانتر کند.
- شما در این زبان دسترسی مستقیم دارید که بررسی کنید کدام قطعه درست عمل نمیکند یا خراب شده است!
- طراحی و نوشتن برنامه به دلیل استفاده از قطعات منطقی، میتواند سریعتر باشد.
عیب اصلی زبان Sequential Function Charts:
حتی وقتی مزایای نمودارهای عملکرد متوالی را در نظر میگیرید، متوجه میشوید این زبان برنامهنویسی پی ال سی همیشه با همه برنامهها متناسب نیست.
اکنون به توضیح سومین زبان برنامه نویسی پی ال سی میپردازیم:
3- برنامه نویسی پی ال سی به زبان FBD:
ابتدا درک بهتر این زبان برنامهنویسی پیشنهاد میشود کلیپ زیر را مشاهده بفرمایید
نمودار بلوکی عملکرد هم یک نوع گرافیکی از زبان است. این زبان، تابعی را بین ورودی و خروجی توصیف میکند که توسط بلوکهای خطی در نمودارها متصل میشوند.
Function Blocks در ابتدا برای ایجاد سیستمی ساخته شدهاند که میتوانید بسیاری از کارهای معمول و قابل تکرار مانند شمارندهها، تایمرها، حلقههای PID و غیره را تنظیم کنید. شما بلوکها را درون محیط (Network) برنامهریزی میکنید. (محیط نتوورک همان محل برنامهنویسی است) و سپس PLC مرتباً Networkها را به ترتیب عددی اسکن میکند یا توسط اتصالی که بین بلوکها است، برنامه را اجرا میکند.
مزایای زبان برنامه نویسی FBD:
- نمودارهای بلوکی عملکرد با کنترلهای حرکتی، به خوبی سازگار میباشند.
- روش بصری (گرافیکی بودن زبان) برای برخی از کاربران آسانتر است.
- مزیت اصلی این نمودارهای بلوکی عملکرد، این است که شما میتوانید چندین خط برنامهنویسی کنید و همه آنها را در یک یا چند بلوک عملکردی، قرار دهید.
عیب زبان برنامه نویسی نمودارهای عملکرد بلوکی:
کدها میتوانند با استفاده از این زبان برنامهنویسی PLC بینظم شوند زیرا شما میتوانید بلوکهای عملکرد را در هر نقطه از برنامه قرار دهید. این امر همچنین میتواند عیبیابی را دشوارتر کند.
4-زبان برنامه نویسی Structured Text:
چهارمین زبان برنامهنویسی PLC متن ساختاری است. این زبان یک زبان متنی میباشد. Structured Text یک زبان سطح بالا است که مانند Basic ،Pascal و C عمل میکند.
این زبان یک ابزار بسیار قدرتمند است که میتواند کارهای پیچیده را با استفاده از الگوریتمها و توابع ریاضی همراه با کارهای تکراری اجرا کند. این زبان از عباراتی استفاده میکند که توسط نقطه ویرگول از هم جدا شده و سپس ورودی، خروجی یا متغیرها توسط این دستورات تغییر میکنند.
شما باید هر خط کد را بنویسید و از توابعی مانند FOR ،WHILE ،IF ،ELSE ،ELSEIF و CASE استفاده کنید. اگر تجربه استفاده از زبانهای Basic یا C را دارید، این زبان برنامهنویسی پی ال سی از برخی از انواع دیگر زبانهای PLC آسانتر خواهد شد.
مزایای برنامه نویسی پی ال سی با زبان Structured Text:
- در محاسبات بزرگ ریاضی بسیار منظم و است.
- این امکان را برای شما فراهم میکند تا برخی از دستورالعملها که در برخی از زبانهای برنامهنویسی مانند لدر موجود نیست، پوشش دهید و در این زبان از آنها استفاده کنید.
معایب زبان برنامه نویسی ST:
معایب زبان برنامهنویسی Structured Text به شرح زیر میباشد:
- درک بعضی از برنامهها سخت است.
- رفع مشکل برنامهها دشوار است.
- ویراش و اصلاح برنامه نوشته شده در حالت آنلاین دشوار است.
5-زبان برنامه نویسی Instruction List:
اکنون میخواهیم پنجمین و آخرین زبان برنامهنویسی PLC را که به نام لیست دستورالعمل است به شما نشان دهیم. لیست دستورالعملها نیز یک زبان مبتنی بر متن است. زبان (IL) شباهت زیادی به زبان اسمبلی دارد.
هنگامی که از این زبان برنامهنویسی PLC استفاده میکنید، از کدهای mnemonic (کاراکتری) مانند LD (Load) ،AND ،OR و غیره استفاده خواهید کرد. این زبان حاوی دستورالعملهایی است که شامل هر دستور در هر سطر جدید با هر قسمت ثبت نظری است که میخواهید در انتهای هر خط یادداشت کنید.
معایب این زبان برنامه نویسی:
- دستورات ساختاری مهم و کاربردی درون این زبان، به ندرت وجود دارد که یکی از آنها Go to میباشد.
- همچنین میتواند دارای خطاهای بسیاری باشد که در مقایسه با زبانهای دیگری که بررسی کردیم، مقابله و اصلاح آنها دشوارتر است.
مزیت زبان برنامه نویسی IL:
زبان IL برای برنامههایی که دارای زمان حیاتی میباشند و به صورت کد فشرده شدهاند، مناسب میباشد. بنابراین، آیا تصمیم گرفته اید که کدام زبان برنامهنویسی PLC را یاد بگیرید؟
به طور کلی بعد از بررسیها، تصمیمات و نظرات برنامهنویسان، زبان لدر به عنوان محبوبترین زبان برنامهنویسی پی ال سی انتخاب شده است.
دلیل اصلی این امر این است که زبان Ladder Diagram به طور طبیعی پیشرفت تکنولوژی را از یک منطق رله فیزیکی به یک نوع دیجیتال و منطقی دنبال و تبدیل میکند.
این امر به مهندسین و تکنسینهای ماهر اجازه میداد تا مشکل برنامهها را را پیگیری و عیبیابی کنند. طراحان برنامه به طور معمول نمودار منطقی نردبان را با دست ترسیم میکنند. سپس نمودار به لیستی متشکل از دستورالعملها و متغیرها ترجمه میشود.
پس از همه این کارها، برنامهنویس پی ال سی دستورات ایجاد شده و ترسیم شده را در نرمافزارهای مرتبط با برند پی ال سی، پیادهسازی میکنند. به طور خلاصه، بستری برای همه زبانهای برنامهنویسی PLC وجود دارد که آنها را بررسی کردیم. پیشینه، تجربه و برنامه شما که با آن کار میکنید، واقعاً کلید انتخاب زبان برنامهنویسی PLC شما خواهد بود.
نکات کاربردی برای بهبود فرآیند برنامه نویسی PLC
در طی سالیان سال، برنامههای زیادی را دیدهایم که بد نوشته و ساختاربندی درستی ندارند. برنامه هایی که توسط برنامه نویسان بی نظم یا عجول نوشته شده و بعدها برای دیباگ خودشان را نیز دچار مشکل خواهد کرد، چه برسد به دیگران!
9 نکته مهم برای بهتر کردن برنامه هایتان آماده کرده ایم که توضیحات بیشتر را توصیه میکنیم از این لینک مشاهده کنید:
- اصول را درک کنید و پایه برنامه های خود را همین اصول قرار دهید.
- با انجام کارهای مختلف و افزایش تجربه فنی، برنامهنویسی را در قالب پروژه و تمرین یاد بگیرید.
- سوالات بسیاری بپرسید.
- برنامههای بزرگتر را به چندین زیر برنامه برای خودتان تقسیم کنید.
- برنامه ها را بسیار ساده بنویسید.
- کامنتهای مفیدی برای خود بنویسید.
- استاندارها و قراردادهای نامگذاری را در کدنویسی در نظر بگیرید.
- منتظر غیرمنتظرهها باشید. (در برنامه نویسی همیشه همه چیز آنطور که شما میخواهید نتیجه نمیدهد)
- کمک بخواهید و از دیگران در حین رفع مشکلات برنامه خود کسب تجربه کنید
اگر به حوزه برنامهنویسی پی ال سی علاقمند میباشید میتوانید مقالات برنامه نویسی پی ال سی های زیمنس در سیماتیک منیجر و معرفی برنامه نویسی پی ال سی (PLC) لوگو زیمنس را مطالعه کنید.
ایا مکانی رو میشناسین که هم بشه کار کرد و هم یادگرفت؟
عالی سپاسگذارم
با سلام و تشکر بابت اموزش رایگانتون میخواستم بدونم از کجا میتونم با نویسنده مقاله ارتباط داشته باشم؟ تلگرام یا هر برنامه ای…گزینه follow us روی اینستا زدم جواب نداد فقط صفحه ریفرش شد.خیلی ممنون
ممنون از شما و توجهتون. لطفا اگر سوال یا موردی هست از طریق آدرس ایمیل زیر ارسال بفرمایید، پاسخ داده خواهد شد.
info@iranautomation.com
سلام با میکرو کنترلر میتونیم استپ موتور رو راه اندازی کنیم وهمزمان از شمارشگر ودوتا سنسور هم استفاده کنیم
سلام، بله این موارد از طریق میکروکنترلرها امکان پذیر است فقط باید توجه داشته باشید که میکروکنترلر مناسبی را برای کاربرد مد نظر خودتون انتخاب کنید
ممنون از این مقاله کاربردی
سلام. من رو هم برای اموزش درنظر بگیرید
با سلام و تشکر از زحمتی که کشیده اید تقاضا دارم سیمولاتور برنامه نویسی روی PC را هم معرفی کنید تا دانلود کنیم و بصورت کاربردی داشته باشیم
سلام. میتونید در کنار نرم افزار Tia Portal از نرم افزار شبیه ساز PLCSIM استفاده کنید که سیمولاتور پی ال سی رو براتون انجام میده در نرم افزار اصلی و بدون plc واقعی میتونید برنامه هاتون رو بنویسید و تست کنید.
سلام خسته نباشید من میخوام plc رو شروع کنم
میخواستم ببینم درآمد این شغل در کل چقدره
من کار فنی انجام دادم
فقط میخوام ببینم برای یک شغل کامل میشه روش برنامه ریزی کرد
ممنون میشم اگه کمکم کنید
سلام دوست عزیز
بله حتما همینطور هست
پیشنهاد میکنم برای اینکه با درآمد این شغل در ایران و در دنیا آشنا بشید مطالب کتاب الکترونیکی در این لینک رو مشاهده بفرمایید دید خیلی خوبی بهتون میده
سلام
وقت بخیر
من یک آشنایی سطحی با زبان برنامه نویسی c++ دارم و آشنایی با مدارات کنتاکتوری هم در حد ابتدایی هست. بنا بر این شما کدام زبان را برای شروع به کار پیشنهاد می کنید. و اینکه آیا موسسات موجود که آموزش پی ال سی دارند واقعا کار آمد هستند یا خیر؟ ممنون میشم راهنمایی بفرمایید.
سلام وقت شما هم بخیر.
زبان برنامه نویسی سی و ++C هیچ ارتباطی با زبانهای برنامه نویسی PLC نداره و دانشتون در این زمینه خیلی کمک کننده نخواهد بود.
برای شروع پیشنهاد میکنم از زبان Ladder استفاده کنید، مزایای ارزشمندی داره مثل اینکه خیلی ساده و گرافیکی هست، در عین سادگی بسیار کاربردی و محبوب هست و حتی در برنامههای بزرگ و پیچیده هم ازش استفاده میشه و اینکه فرآیند اشکالزدایی اون هم ساده هست.
در مورد موسسات هم، بهترین گزینه پیش روی شما، آموزشگاههای فنی و حرفهای هست که میتونید اصولی و کاربردی PLC رو یاد بگیرید.
سلام من میخوام plc رو توی خونه شروع به یادگیری کنم ولی دوست دارم به شکل عملی یاد بگیرم، پیشنهاد شما چیه؟
سلام آقا سبحان.
بهترین پیشنهادی که برای شروع میتونم بهتون بکنم، تهیه یک مینی PLC یا میکرو PLC (با 10-5 ورودی-خروجی IO) هست که میتونید از بازار با قیمتهای مناسب تهیه کنید. حتماً یه سری وسیله هم مثل تعدادی رله، پوش باتن، لامپهای کوچیک و … هم بگیرید.
بعد نرم افزار برنامه نویسی PLC رو دانلود کنید که بستگی به مدل PLC شما داره.
در گام بعدی از دوره رایگان PLC که توی همین صفحه هم قرار دادیم شروع کنید به یادگیری موارد و برنامه های ساده ای بنویسید که بتونید با قطعاتی که در اختیار دارید یه سری خروجی رو بگیرید.
بعد از اینکه به مقدمات برنامه نویسی plc مسلط شدید وقتش میرسه که برید سراغ تجربه کردن موارد و آموزشهای حرفه ای تر.
البته که در کل خیلی بهتر است به سراغ موسسات آموزشی معتبر در این زمینه برید و به صورت عملی شروع به یادگیری حرفه ای کنید.
برای ماها که برنامه نویس میکروکنترلر هستیم خیلی خوب می شد اگه plc ها رو میشد با زبان سی برنامه نویسی کرد
یه چی هست به اسم plc next مطلبش تو همین سایت هم بود
فکر کنم با اون بشه
سپاس بابت دستهبندی و توضیحات مفید
سلام و درود، ممنون از وقتی که گذاشتید و مطالعه کردید.
سلام
به نظرم بخش بندی ها یکم درهم تنیده س بهتره که توی یک صفحه مطالب کمتری داشته باشه و صفحات بهم لینک بشن ولی جدای از اینها سایت خیلی خوبه.
مطالب جدید و کاربردی هست و ساده گویی کلیپ هاش هم نظرم رو جلب کرد.
سلام ممنون از نظر ارزشمندتون، در این پست تلاش شده تا اطلاعات جامعی در این زمینه برای کاربران گردآوری و ارائه بشه. البته مقالات دیگر سایت هم هستند که کوتاهتر بوده و می توانید از آنها نیز استفاده کنید. همچنین این مقاله اپدیت خواهد شد، اما اگر به مقالات کوتاه علاقمندید، میتوانید از دیگر مطالب کوتاه سایت استفاده نمایید.
سلام، خیلی ممنون پست جامع و ارزنده ای بود. فقط میشه بگید کدوم زبان در ایران کاربرد و استفاده بیشتری داره؟
سلام تشکر، نه تنها در ایران بلکه در جهان اکثر برنامه نویسان از زبان یا منطق Ladder استفاده میکنند.
سلام . نه اینطوری هم نیست. الان در آلمان فقط از Sequential Function Charts و Function Block Diagram استفاده می کنند