یک PLC و ورودی خروجیهای آن
PLC یا کنترلگر منطقی برنامهپذیر (programmable logic controller) رایانهٔ کنترلگر تک منظورهاست که بدلیل ویژگیهای خاصّش بیشتر برای کنترل فرآیندهای مکانیکی یا صنعتی مانند خطوط تولید استفاده میشود.
اما کاربردهای فراوان دیگری نیز دارد.
مفهوم PLC
PLC یا کنترلگر منطقی برنامهپذیر:
1.
برنامه پذیر است.
یعنی رایانه است.
اما یک رایانهٔ ویژه برای منظوری ویژه
2.
PLC ست.
یعنی با دانستن اصول ساده و پایهٔ منطق که پیشنیازی هم ندارد، میتوان اساس کار آن را درک و تحلیل کرد.
3.
PLC کنترلگر است.
مانند مدار فرمان الکتریکی.
4.
PLC منطقی ست.
برخلاف مدار فرمان الکتریکی.
مزیت PLC نسبت به رایانه
PLC برخلاف یک رایانهٔ عادی غیر صنعتی:
• برای کار در شرایط سخت ساخته میشود.
شامل:
o غبار
o رطوبت
o گرما و سرما
o نویز الکتریکی و نوسان برق
o و...
• برنامههای داده شده به PLC در حافظهٔ آن ذخیره میشوند.
PLC دو نوع حافظه دارد :موقّت (که یا با یک باتری پشتیبانی شود) و دائم.
• برای انجام وظیفهٔ ویژه اش، امکان اتصال و کنترل ورودیها و خروجیهای زیادی را برای حسگرها و محرکهای متعدد و گوناگون دارد.
• قابلیت خواندن و پردازش مقادیر و متغیّرها.
شامل:
o مقادیر لیمیت سوییچها
o متغییرهای آنالوگ (مانند مقادیر حسگرهای گرما و فشار)
o موقعیتها در سیستمهای موقعیتیاب را دارد.
• قابلیت فعّال نمودن دستگاههای خاص.
شامل:
o موتورهای الکتریکی
o سیلندرهای پنوماتیکی یا هیدرولیکی
o رلههای مغناطیسی و سیمپیچها
o خروجیهای آنالوگ را فعال کند.
مزیت PLC نسبت به مدار فرمان
PLC جایگزین مناسب مدار فرمان الکتریکی ست.
اما چون منطقی ست، بهتر است.کنترل منطقی از کنترلی ست که در آن صدور فرمانها نیازمند برآورده شدن تعدادی توابع و خواستهای منطقی باشد
ساختار
ساختار PLC مشابه ساختار رایانه است.
شامل:
1.
پردازنده و حافظهٔ نیمههادی
قسمت پردازنده دارای ارتباطاتی با قسمتهای مختلف داخل و خارج خود میباشد.
حافظهٔ را توضیح خواهیم داد
1.
ماژلهای I/O
2.
منبع تغذیه
در PLCهای کوچک همهٔ موارد (پردازنده، I/O، منبع تغذیه در یک واحد و در PLCهای بزرگتر هر یک در واحدی مجزّا جای داده شدهاند.
حافظهٔ PLC دو نوع است:
• ROM یا حافظهٔ دائم (Read only memory)تراشهایست خاص؛ حاوی برنامهای که:
o توسط کارخانه سازنده تعبیه شدهاست.
o وظیفهای مشابه سیستم عامل DOS در رایانههای شخصی دارد
o در حین عملیات CPU نمیتواند تغییر یابد یا پاک شود.
حتّی به هنگام فطع تغذیه CPU
• RAM یا حافظهٔ موقّت (Random Access memory) تراشهایست نیمههادی که میتوان در آن برنامه نوشت.
o ابزار برنامه نویسی ، که معمولاً یک واحد پردازنده با صفحه نمایش و صفحه کلید میباشد (بعنوان مثال یک کامپیوتر شخصی، یک PLC در خانواده زیمنس) بهعنوان یک واحد مجزا از طریق سیم به واحد اصلی متصل است.
o برنامه در این حافظه ذخیره میشود
o امکان برنامهریزی، تغییر و پاک کردن آنها توسط برنامهریز وجود دارد.
o حافظهٔ موقّت میتواند از نوعی غیر از RAM انتخاب شود.
اطلاعات موجود در حافظههای RAM با قطع تغذیه، پاک میگردند.
اغلب CPUها مجهز به یک باتری پشتیبان هستند.
بنابراین اگر تغذیه ورودی فطع شود و درپیآن منبع تغذیه نتواند ولتاژ سیستم را تامین کند، باتریِ پشتیبان، برنامهٔ ذخیره شده در RAM را حفظ میکند.
انواع PLC ها در صنعت PLC بیش از یکصد کارخانه با تنوع بسیار در طراحی و ساخت انواع مختلف PLC فعالیت میکنند.
PLCها را میتوان از نظر اندازه، حافظه، تعداد ورودی/خروجی، وسعت عملیات (محلی یا وسیع) و ...
دستهبندی نمود.
باید توجه داشت که برای ارزیابی قابلیت یک PLC باید ویژگیهای دیگری مانند پردازنده، زمان اجرای یک سیکل، سادگی زبان برنامه نویسی، قابلیت توسعه و ...
را در نظر گرفت.
از نظر اندازه، حافظه، تعداد ورودی/خروجی از نظر وسعت عملیات PLCها با کاربرد محلی کاربرد: کنترل سیستمهایی با حجم کوچک (تعداد ورودی و خروجیهای محدود) و برای کنترل همزمان تعداد کمتری از پروسهها یا کنترل دستگاههای مجزای صنعتی (به علت قابلیت محدودتر) ارائه: اغلب شرکتهای سازنده، این نوع PLCها را همراه دیگر PLCها به بازار ارائه میدهند ولی برخی از شرکتهای سازنده آنرا با نام میکرو PLC ارائه مینمایند.
از جمله این نوع PLCها میتوان به نمونههای زیر اشاره کرد: LOGO ساخت شرکت زیمنس آلمان Zelio ساخت شرکت تله مکانیک فرانسه مولر آلمان LG کره PLCها با کاربرد وسیع کاربرد: کنترل سایت کارخانهها.
معمولا در صنایع بزرگ، PLCها یا پروزتهای ورودی – خروجی در قسمتهای مختلف سایت کارخانه وجود داشته و کنترل محلی بر قسمتهای تحت پوشش خود انجام میدهند.
سپس اطلاعات مورد نیاز با استفاده از روشهای مختلف انتقال دادهها به اتاق کنترل مرکزی منتقل شده و که در آن محل با استفاده از روشهای مختلف مونیتورینگ صنعتی، اطلاعات به را شکل گرافیکی تبدیل کرده و بر روی صفحه مانیتور نمایش میدهند.
در این حال اپراتور تنها با دانستن روش کار با رایانه و بدون نیاز به اطلاعات تخصصی میتواند سیستم را کنترل کند.
ارائه: از جمله معروف ترین PLCها از این خانواده را که میتوان نام برد عبارتند از: S7 و S5 شرکت زیمنس شرکت OMRON ژاپن شرکت تله مکانیک فرانسه شرکت میتسوبیشی ژاپن شرکت LG کره شرکت آلن برادلی آمریکا از سایر نظرگاه ها داشتن دیدگاه کاملی نسبت به تنوّع PLC ها مهمترین موضوع در انتخاب یک PLC مناسب است.
لذا باید به این جنبههای تنوّع توجّه داشت تعداد ورودیها تعداد خروجیها تعداد فلگها تعداد شمارندگان(کانترها) تعداد تایمرها نوع فلگها و تایمرها اندازه حافظه سرعت اجرای برنامه SCAN TIME نوع برنامه کاری دستگاه از طرفی امروزه عموماً از PLCهای «زیمنس S5» استفاده میشود.
از طرفی هم بیشتر خط تولیدهای جدید رو به استفاده از نسخه جدید PLCهای «زیمنس S7» رفتهاند که در آن خیلی از مشکات نسخه قبلی رفع شده و کنترلها بسیار ساده تر گردیدهاست.
مقیاس و نوع دستگاه یک PLC کوچک تنها دارای تعداد محدودی از ورودی/خروجیهاست و معمولا امکان گسترش ورودی/خروجیها تا تعداد بیشتری هم در صورت نیاز وجود دارد.
PLCهای ماژولار دارای یک اسکلت (یا رک) هستند که واحدهای مختلف PLC با توجه به نیاز بر روی آن سوار میشوند.
در این PLCها پردازنده و ماژولهای ورودی/خروجی میتوانند با توجه به کاربرد سیستم انتخاب شوند.
همچنین این امکان وجود دارد که چندین رک (Rack) یا تعداد خیلی زیادی از ورودی/خروجیها به وسیله یک پردازنده کنترل شوند.
برنامه نویسی PLC برای نمایش برنامه ی PLC از سه روش استفاده میشود: در روش نردبانی برنامه به صورت نماد اتصال و سیستم پیچهای مدار فرمان رلهای نشان داده میشود.
لذا ساختار برنامه شبیه مدارهای فرمان رلهای میباشد.
در نمایش فلوچارتی از نمادهای مستطیلی استفاده میشود؛ و در هر مستطیل عمل منطقهای نمایش داده میشود.
در روش نمایش نوشتاری از دستورات و جملات کلیدی برای نوشتن برنامه استفاده میشود که در آن هر عبارت دارای دو بخش عملگرها و عملوندها میباشد.
این روش ها ابتکاری نیستند.
نمایش مدار در موهندسی برق معمول است و الگوریتم و فلوچارت در مهندسی رایانه اهمیّت روش نمایش در برنامه نویسی اصطلاحات فرم یا طرز نمایش، و فرمول بندی یا شکل دهی در ریاضیات کابرد زیادی یافتهاند.
علّت در اینجا بارز تر میشود: برنامه یک نظم دهی ست، و نظم برای انسان حتماً نیازمند شکل است.
پس نمیتوان گفت روشهای نمایش فرع برنامه اند و تعریف برنامه اصل آن.
زیرا نوشتن یک برنامه چیزی جز نمایش دستورات در جای صحیح نیست.
آموزش شکلدهی برنامهٔ PLC به روش نمایش نوشتاری یا الگوریتم الگو:جابجایی به هر دستور یک رشته خط برنامه گفته میشود هر خظ برنامه معمولاً یکی از ترکیبهای منطقی ریاضی را در بر دارد؛ که همچنین کنترل فلگها و فلیپفلاپها را به عهده دارند در این روش هر چند خط برنامه که عمل خاصی را انجام میدهند یک سگمنت گفته میشود و یک برنامه میتواند شامل یک سگمنت و یا بیشتر باشد.
هر برنامه با یک «نقطهویرگول(;)» شروع شده و با «BE» به پایان میرسد.
ریز پردازنده از سطر اول برنامه شروع به خواندن و اجرای دستورات میکند تا به دستور «BE» برسد.
مدت زمان لازم برای اجرای این کار را سیکل زمانی اجرای برنامه میگویند برای تسریع در اجرای برنامه و کاهش این سیکل زمانی میتوان پردازندهای با سرعت بالا به کار برد که مشمول هزینه خواهد بود و یا برنامه را ساماندهی بهتری نمود.
هر کدام از ورودیها، خروجیها و فلگها در دستههای 8بیتی سازماندهی میشوند و در آدرسدهی ابتدا باید آدرس بایت مربوط و سپس آدرس بیت تعیین شود.
ساختار برنامه در نوشتن برنامههای پیچیده که معمولا طولانی هستند برنامههای فرعی را در بخشهای جداگانه مینویسند و سپس آنها را در برنامه اصلی به کار میبرند، هر کدام از این بخشها در یک بلاک خاص نوشته میشود.
در کل پنج نوع بلوک وجود دارد که عبارتند از: بلوکهای برنامه یا PB : تشکیل دهندهٔ برنامهٔ کنترل یک فرایند میباشند که از شمارهٔ ۰ تا ۲۵۵ شماره گذاری شدهاند.
کاربر برنامه را به تشخیص خود در هر بلوک «PB» مینویسد و در انتهای آن از «BE» استفاده مینماید.
بلوکهای ترتیبی یا SB: در کنترلهای ترکیبی مثل راه اندازی خطهای تولید استفاده میشود.
بلوکهای تابع ساز یا FB: توابعی که در طول برنامه بارها مورد استفاده هستند و در خود برنامه تعریف نشدهاند مثل ضرب دو عدد باینری که از شماره ۰ تا ۲۵۵ شماره گذاری شدهاند.
هر FB از دو بخش تشکیل شدهاست.
FBها اجزا و انواعی دارند: اجزاء FB: سر خط بلوک که شامل نام و سایر مشخصات بلوک است بدنه بلوک که شامل توابع و دستوراتی است که باید در بلوک اجرا شود.
علاوه بر دستورات S۵ یک سری دستورات مربوط به سوپالمنتری نیز موجود است که فقط در این بلوک اجرا میشود.
انواع FB: Standard FB: که در همان اعمال منطقی نظیر ضرب و تفریق و...
تعریف شدهاست.
آنها بهصورت بستههای نرمافزاری در اختیار کاربر قرار میگیرند.
Assignable FB: که در اجرای آن میتوان عملوندها را در هر پروسه تعیین نمود، تعریف کرد و یا تغییر داد.
بلوکهای اطلاعاتی DB: تعداد ۲۵۶ بلوک برای ذخیره اطلاعاتی در نظر گرفته شده که هنگام اجرای برنامه مورد استفادهاند.
همچون، پیغامها، هشدارها و...
اطلاعات در بلوکهای DB سه نوع است: اطلاعات دیتا متن الگوی بیت میتوان در هر بلوکی اطلاعات DB را فراخوانی نمود.
مثلا برای فراخوانی سطر صدم از «DB 50» به صورت زیر عمل مینماییم: C DB 50 نام بلوک L DW 100 نام سطر اطلاعات ذخیره شده در DBها با یکی از فرمتهای زیر هستند : KH برای اعداد در مبنی ۱۶ KF برای اعداد در مبنی ۱۰ KT برای اعداد ثبات TV KC برای شمارندهها KY شانزدهبیت، که به دو بایت کاملاً مجزّای چپ(DL) و راست(DR) تقسیم میشوند.
KM برای متون KG اعداد اعشاری و اعداد بسیار بزرگ و بسیار کوچک بلوک سازماندهی OB: این بلوک ساختار برنامه را مشخص مینماید هر OB بایک شمارهٔ خاص مشخص میشود.
شامل: «OB 1»: در شروع هر سیکل برنامه، سیستم عامل اولین سطر این بلوک را اجرا میکند.
و آخرین سطر آن پایان بخش برنامهاست.
در واقع این بلوک مشخص کنندهٔ ساختار برنامه است.
«OB 21»: هنگامی که PLC از Start به Stop سویچ میشود این بلوک رخ میدهد.
«OB 22»: هنگامی که پاور ON میشود این بلوک رخ میدهد.
«OB 34»: نشان دهنده وضعیت باتری میباشد که در صورت تضعیف و یا وقوع ایراد در آن تا رفع اشکال مکرراً تکرار میشود.
دستورهای برنامه نویسی PLC دستورهای برنامه نویسی PLC سهگانه اند: اصلی : توابعی که در تمام بلوکها قابل اجرا هستند به غیر از جمع و تفریق تمام دستورها میتوان به عنوان ورودی و خروجی به کار روند.
تکمیلی : توابع ترکیبی نظیر دستورات جابجایی، توابع، Shift و نیز دستورات تبدیلی میباشد.که فقط در FB و حالت STL قابل اجرا هستند.
سیستم : شامل دستوراتی است که مستقیما روی سیستم عامل PLC تاثیر دارد و مخصوص برنامه نویسان حرفهای است.
این دستورها ممکن است در PLCهای شرکتهای مختلف متفاوت باشند.
دستور AN برای خواندن صفر: همانطور که گفته شد، سه روش برای نمایش برای برنامهٔ PLC وجود دارد: LAD یا Ladder یا CSF یا Control System Flowchart یا STL یا Statement List در روش LAD و CSF برای خواندن عدد صفر از ورودی از دستور AN استفاده میشود؛ که عبارت «صفر یا یک» در ورودی را به عبارت معکوسش یعنی «یک یا صفر» تبدیل میکند.
وقتی دکمهٔ فشار فشرده یا کلیدی روشن گردد بر حسب نوع کانتاکت عددی که در ورودی و خروجی ظاهر میشود متفاوت است: مثال : برنامهای بنویسید که با دو کلید A و B که به صورت سری به هم وصل هستند خروجی را روشن و خاموش نمایند.
A I 0.2 = Q 0.0 BE فلگ: هر فلگ یک بیت از حافظه PLC میباشد که آن را میتوان معادل خروجی مجازی دانست.
این بیت مانند هر بیت از حافظه میتواند دو مقدار «صفر» یا «یک» بگیرد با این تفاوت که فلگها حافظههای موقتی هستند.
آدرس دهی فلگها همانند ورودیها و خروجیها است.
کاربرد فلگها در برنامههایی است که عملگر «OR» قبل از عملگر «AND» بیاید و با حذف پرانتزها میتوان از فلگ استفاده کرد.
البته گاهی ممکن است برنامه طولانی تر شود.
مثال: O I 1.4 O I 1.5 = F 6.0 O I 2.0 O I 2.1 = F 6.1 A F 6 A F 6.1 = Q 3.0 BE بیت RLO: PLC در اجرای هر خط از برنامه مقدار حاصل از اعمال منطقی را در بیتی به نام RLO به معنی نتیجهٔ عملیات منطقی (result of logic operation) قرار میدهد.
در اجرای هر سطر بعدی این مقدار با عملوند بعدی طبق برنامه ترکیب و مقدار حاصل در RLO جایگزین میشود.
این عمل تا رسیدن به خط دستور همارزی (=) ادامه پیدا میکند.
در این هنگام RLO مقدار خود را از دست داده و پذیرای مقدار جدید میشود.
فلیپ فلاپ ها: فلیپ فلاپ شامل دو ورودی set و reset میباشد.
در کل دو نوع فلیپ فلاپ وجود دارد: فلیپ فلاپ SR فلیپ فلاپ RS تفاوت بین فلیپ فلاپهای فوق در ارجحیت ورودیهای set و reset است.
مثال: A I 1.1 S Q 2.0 A I 1.2 R Q 2.0 BE A I 1.2 R Q 2.0 A I 1.1 S Q 2.0 BE در فلیپ فلاپهای SR هنگامی که ورودی R در حالت «صفر» باشد کافی است در یک لحظه ورودی S در حالت «یک» قرار بگیرد تا خروجی به صورت پایدار «یک» شود این وضعیت مادامی که R به صورت «صفر» است باقی خواهد ماند.
در این فلیپ فلاپ اگر هر دو ورودی برابر «یک» باشد ارجحیت با دستور دوم است.
چرا که دستور دوم ناقض دستور اول است و PLC دستورات را سطر به سطر اجرا میکند.
با این بیان میتوان اصل کلی زیر را نتیجه گرفت : هر دستوری که به خط پایان برنامه (BE) نزدیک تر باشد از نظر اجرا ارجح تر است.
دستور NOP 0 در فلیپفلاپ: در PLCهای زیمنس، هر گاه بخواهیم از خروجی یک فلیپ فلاپ یا قسمتی از برنامه هیچ استفادهای نکنیم از دستور «NOP 0» استفاده مینماییم.
مثال: A I 2.3 S Q 3.4 A I 2.4 R Q 3.5 با «NOP 0» میتوان خروجی یک فلیپ فلاپ را در یک فلگ قرار داد.
مثال: A I 0.1 S F 2.7 A I 0.7 R F 2.7 A F 2.7 = Q 3.4 BE دستورات JU و JC: همانطور که گفته شد نتیجه عملکرد دستورات هر خط در بیت خاصی با نام RLO ذخیره میشود که دستورات میتوانند به بیت RLO وابسته باشند و یا نه.
اگر دستورات به RLO وابسته نباشند غیر شرطی خواهند بود.
دستور JU بدون وجود هیچ گونه شرطی پرش یا انقال را انجام میدهد این پرش ممکن است از یک بلوک به بلوک دیگر و یا از یک سطر به سطر دیگر همان بلوک انجام گیرد.
دستور JC وابسته به بیت RLO میباشد و مانند دستور قبل عمل پرش را انجام میدهد.
مثال : برنامهای که با فشردن یک کلید PB ۱۸ و در صورت غیر فعال نمودن همان کلید PB ۱۹ را اجرا نماید.
با اندکی تفکر درمی یابیم که چنین برنامهای را باید در «OB 1» نوشت، زیرا همانطور که گفته شد ساختار کلی سیستم در این بلوک شکل میپذیرد.
همچنین باید از دستور پرش شرطی استفاده نمود.
اگر فرض کنیم کلید فشرده شده I 0.0 باشد: A I 0.0 JC PB 0.0 AN I 0.0 JC PB 19 BE دستورهای بارگذاری و انتقال: برای بارگذاری از دستور«L» و برای انتقال از دستور «T» استفاده میشود.
دستورات L و T غیر شرطی اند.
زیرا به RLO وابسته نیستند.
جهت مبادله مقادیر ورودیها، خروجیها یا فلگها نیاز به یک حافظه واسط میباشد که در قسمی بنام انباره یا آکومولاتور (Accumulator) موجود است.
این حافظه از نوع رجیستر و شانزده بیتی است که معمولا شامل شانزده بیت یا دو بایت با ارزش بالا و پایین میباشد.
دستور «L»: برای بارگذاری اطلاعات از این دستور دستور «L» استفاده مینماییم که محتویات یک بایت فراخوانی و در انبارک جایگزین میشود.
L IB 4 L KD 5 L KH 3 L FY 5 ...
اگر PLC ما دو انبارک داشته باشد با دستور «L IW 4» شانزده بیت موجود در کلمه ورودی شماره چهار را به «ACCUME 1» میفرستد.اگر در همین حالت «L IW 6» اجرا شود اطلاعات «ACCUME 1» به «ACCUME 2» میرود و «IW 6» به «ACCUME 1» منتقل میشود.
دستور «T»: برای انتقال اطلاعاتی که در انبارکها موجود است به خروجیها یا فلگها از این دستور استفاده میشود.
مثلاً در برنامه ی زیر با اجرای دستور اول محتویات «ACCUME 1» به کلمه «خروجی هشت» کپی میشود.
T QW 8 T FW 52 رایانه بهعنوان PLC برای پیادهسازی PLC در رایانههای معمولی از یک نرمافزار شبیهساز مانند «S5W» استفاده میشود.
S5W S5W یک سیستم PLC زیمنس را شبیهسازی مینماید.
استفاده از این نرمافزار سادهاست؛ پس از پایان کدنویسی و فشردن کلید شروع شبیهسازی پنجره شبیهساز PLC باز میشود.
در اینجا ورودیها، خروجیها و فلگها مشاهده میشوند و میتوان عملکرد برنامه نوشته شده را روی PLC آزمود.
منابع مقالههای اتوماسیون صنعتی - مصطفی عرب عامری ۲۰۰۶ آموزش و تعریف بر اساس کتاب برنامه نویسی صنعتی از دکتر برایان اوهام فهرست مندرجات ۱ مفهوم PLC ۱.۱ مزیت PLC نسبت به رایانه ۱.۲ مزیت PLC نسبت به مدار فرمان ۲ ساختار ۳ انواع PLC ها ۳.۱ از نظر اندازه، حافظه، تعداد ورودی/خروجی ۳.۲ از نظر وسعت عملیات ۳.۲.۱ PLCها با کاربرد محلی ۳.۲.۲ PLCها با کاربرد وسیع ۳.۳ از سایر نظرگاه ها ۴ مقیاس و نوع دستگاه ۵ برنامه نویسی PLC ۵.۱ اهمیّت روش نمایش در برنامه نویسی ۶ آموزش شکلدهی برنامهٔ PLC به روش نمایش نوشتاری یا الگوریتم ۶.۱ ساختار برنامه ۶.۲ دستورهای برنامه نویسی PLC ۶.۳ رایانه بهعنوان PLC ۶.۴ S5W ۷ جستارهای وابسته ۸ منابع اندازه PLCتعداد خطوط ورودی و خروجیاندازه حافظه به کیلوکوچک۴۰/۴۰۱متوسّط۱۲۸/۱۲۸۴بزرگبیش از ۱۲۸/بیش از ۱۲۸بیش از ۴ نوع کانتاکتدر ورودیدر خروجیکانتاکت در حالت عادی باز (NO)۱0کانتاکت در حالت عادی بسته (NC)01