یک PLC و ورودی خروجیهای آن
پیالسی (به انگلیسی: Programmable Logic Controller) یا کنترلگرهای منطقی برنامهپذیر رایانه کنترلگر تک منظورهای است که به دلیل ویژگیهای خاصش بیشتر برای کنترل فرآیندهای مکانیکی یا صنعتی مانند خطوط تولید استفاده میشود.
یک PLC و ورودی خروجیهای آن
پیالسی (به انگلیسی: Programmable Logic Controller) یا کنترلگرهای منطقی برنامهپذیر رایانه کنترلگر تک منظورهای است که به دلیل ویژگیهای خاصش بیشتر برای کنترل فرآیندهای مکانیکی یا صنعتی مانند خطوط تولید استفاده میشود.
PLC یا کنترلگر منطقی برنامهپذیر:
PLC برخلاف یک رایانهٔ عادی غیر صنعتی:
PLC جایگزین مناسب مدار فرمان الکتریکی ست. اما چون منطقی ست، بهتر است.
کنترل منطقی از کنترلی ست که در آن صدور فرمانها نیازمند برآورده شدن تعدادی توابع و خواستهای منطقی باشد
ساختار PLC مشابه ساختار رایانهاست. شامل:
در PLCهای کوچک همهٔ موارد (پردازنده، I/O، منبع تغذیه در یک واحد و در PLCهای بزرگتر هر یک در واحدی مجزّا جای داده شدهاند.
حافظهٔ PLC دو نوع است:
در صنعت PLC بیش از یکصد کارخانه با تنوع بسیار در طراحی و ساخت انواع مختلف PLC فعالیت میکنند. PLCها را میتوان از نظر اندازه، حافظه، تعداد ورودی/خروجی، وسعت عملیات (محلی یا وسیع) و ... دستهبندی نمود. باید توجه داشت که برای ارزیابی قابلیت یک PLC باید ویژگیهای دیگری مانند پردازنده، زمان اجرای یک سیکل، سادگی زبان برنامه نویسی، قابلیت توسعه و ... را در نظر گرفت.
اندازه PLC | تعداد خطوط ورودی و خروجی | اندازه حافظه به کیلو |
---|---|---|
کوچک | ۴۰/۴۰ | ۱ |
متوسّط | ۱۲۸/۱۲۸ | ۴ |
بزرگ | بیش از ۱۲۸/بیش از ۱۲۸ | بیش از ۴ |
کاربرد: کنترل سیستمهایی با حجم کوچک (تعداد ورودی و خروجیهای محدود) و برای کنترل همزمان تعداد کمتری از پروسهها یا کنترل دستگاههای مجزای صنعتی (به علت قابلیت محدودتر) ارائه: اغلب شرکتهای سازنده، این نوع PLCها را همراه دیگر PLCها به بازار ارائه میدهند ولی برخی از شرکتهای سازنده آنرا با نام میکرو PLC ارائه مینمایند. از جمله این نوع PLCها میتوان به نمونههای زیر اشاره کرد:
کاربرد: کنترل سایت کارخانهها.
ارائه: از جمله معروفترین PLCها از این خانواده را که میتوان نام برد عبارتند از:
داشتن دیدگاه کاملی نسبت به تنوّع PLCها مهمترین موضوع در انتخاب یک PLC مناسب است. لذا باید به این جنبههای تنوّع توجّه داشت
از طرفی امروزه عموماً از PLCهای «زیمنس S۵» استفاده میشود. از طرفی هم بیشتر خط تولیدهای جدید رو به استفاده از نسخه جدید PLCهای «زیمنس S۷» رفتهاند که در آن خیلی از مشکات نسخه قبلی رفع شده و کنترلها بسیار ساده تر گردیدهاست.
یک PLC کوچک تنها دارای تعداد محدودی از ورودی/خروجیهاست و معمولاً امکان گسترش ورودی/خروجیها تا تعداد بیشتری هم در صورت نیاز وجود دارد.
PLCهای ماژولار دارای یک اسکلت (یا رک) هستند که واحدهای مختلف PLC با توجه به نیاز بر روی آن سوار میشوند. در این PLCها پردازنده و ماژولهای ورودی/خروجی میتوانند با توجه به کاربرد سیستم انتخاب شوند. همچنین این امکان وجود دارد که چندین رک (Rack) یا تعداد خیلی زیادی از ورودی/خروجیها به وسیله یک پردازنده کنترل شوند.
برای نمایش برنامهٔ PLC از سه روش استفاده میشود:
این روشها ابتکاری نیستند. نمایش مدار در موهندسی برق معمول است و الگوریتم و فلوچارت در مهندسی رایانه
اصطلاحات فرم یا طرز نمایش، و فرمول بندی یا شکل دهی در ریاضیات کابرد زیادی یافتهاند. علّت در اینجا بارز تر میشود: برنامه یک نظم دهی ست، و نظم برای انسان حتماً نیازمند شکل است. پس نمیتوان گفت روشهای نمایش فرع برنامهاند و تعریف برنامه اصل آن. زیرا نوشتن یک برنامه چیزی جز نمایش دستورات در جای صحیح نیست.
الگو:جابجایی
به هر دستور یک رشته خط برنامه گفته میشود هر خظ برنامه معمولاً یکی از ترکیبهای منطقی ریاضی را در بر دارد؛ که همچنین کنترل فلگها و فلیپفلاپها را به عهده دارند در این روش هر چند خط برنامه که عمل خاصی را انجام میدهند یک سگمنت گفته میشود و یک برنامه میتواند شامل یک سگمنت و یا بیشتر باشد. هر برنامه با یک «نقطهویرگول(;)» شروع شده و با "BE" به پایان میرسد. ریز پردازنده از سطر اول برنامه شروع به خواندن و اجرای دستورات میکند تا به دستور "BE" برسد. مدت زمان لازم برای اجرای این کار راسیکل زمانی اجرای برنامه میگویند برای تسریع در اجرای برنامه و کاهش این سیکل زمانی میتوان پردازندهای با سرعت بالا به کار برد که مشمول هزینه خواهد بود و یا برنامه را ساماندهی بهتری نمود. هر کدام از ورودیها، خروجیها و فلگها در دستههای ۸بیتی سازماندهی میشوند و در آدرسدهی ابتدا باید آدرس بایت مربوط و سپس آدرس بیت تعیین شود.
در نوشتن برنامههای پیچیده که معمولاً طولانی هستند برنامههای فرعی را در بخشهای جداگانه مینویسند و سپس آنها را در برنامه اصلی به کار میبرند، هر کدام از این بخشها در یک بلاک خاص نوشته میشود.
در کل پنج نوع بلوک وجود دارد که عبارتند از:
بلوکهای برنامه یا PB : تشکیل دهندهٔ برنامهٔ کنترل یک فرایند میباشند که از شمارهٔ ۰ تا ۲۵۵ شماره گذاری شدهاند. کاربر برنامه را به تشخیص خود در هر بلوک "PB" مینویسد و در انتهای آن از "BE" استفاده مینماید. بلوکهای ترتیبی یا SB: در کنترلهای ترکیبی مثل راه اندازی خطهای تولید استفاده میشود. بلوکهای تابع ساز یا FB: توابعی که در طول برنامه بارها مورد استفاده هستند و در خود برنامه تعریف نشدهاند مثل ضرب دو عدد باینری که از شماره ۰ تا ۲۵۵ شماره گذاری شدهاند. هر FB از دو بخش تشکیل شدهاست. FBها اجزا و انواعی دارند:
بلوکهای اطلاعاتی DB: تعداد ۲۵۶ بلوک برای ذخیره اطلاعاتی در نظر گرفته شده که هنگام اجرای برنامه مورد استفادهاند. همچون، پیغامها، هشدارها و...
بلوک سازماندهی OB: این بلوک ساختار برنامه را مشخص مینماید هر OB بایک شمارهٔ خاص مشخص میشود. شامل:
دستورهای برنامه نویسی PLC سهگانهاند:
این دستورها ممکن است در PLCهای شرکتهای مختلف متفاوت باشند.
دستور AN برای خواندن صفر: همانطور که گفته شد، سه روش برای نمایش برای برنامهٔ PLC وجود دارد:
در روش LAD و CSF برای خواندن عدد صفر از ورودی از دستور AN استفاده میشود؛ که عبارت «صفر یا یک» در ورودی را به عبارت معکوسش یعنی «یک یا صفر» تبدیل میکند.
وقتی دکمهٔ فشار فشرده یا کلیدی روشن گردد بر حسب نوع کانتاکت عددی که در ورودی و خروجی ظاهر میشود متفاوت است:
نوع کانتاکت | در ورودی | در خروجی |
---|---|---|
کانتاکت در حالت عادی باز (NO) | ۱ | ۰ |
کانتاکت در حالت عادی بسته (NC) | ۰ | ۱ |
مثال : برنامهای بنویسید که با دو کلید A و B که به صورت سری به هم وصل هستند خروجی را روشن و خاموش نمایند.
A I ۰٫۲ = Q ۰٫۰ BE
فلگ: هر فلگ یک بیت از حافظه PLC میباشد که آن را میتوان معادل خروجی مجازی دانست. این بیت مانند هر بیت از حافظه میتواند دو مقدار «صفر» یا «یک» بگیرد با این تفاوت که فلگها حافظههای موقتی هستند. آدرس دهی فلگها همانند ورودیها و خروجیها است. کاربرد فلگها در برنامههایی است که عملگر "OR" قبل از عملگر "AND" بیاید و با حذف پرانتزها میتوان از فلگ استفاده کرد. البته گاهی ممکن است برنامه طولانی تر شود. مثال:
O I ۱٫۴ O I ۱٫۵ = F ۶٫۰ O I ۲٫۰ O I ۲٫۱ = F ۶٫۱ A F 6 A F ۶٫۱ = Q ۳٫۰ BE
بیت RLO:
فلیپ فلاپها: فلیپ فلاپ شامل دو ورودی set و reset میباشد. در کل دو نوع فلیپ فلاپ وجود دارد:
تفاوت بین فلیپ فلاپهای فوق در ارجحیت ورودیهای set و reset است. مثال:
A I ۱٫۱ S Q ۲٫۰ A I ۱٫۲ R Q ۲٫۰ BE
A I ۱٫۲ R Q ۲٫۰ A I ۱٫۱ S Q ۲٫۰ BE
در فلیپ فلاپهای SR هنگامی که ورودی R در حالت «صفر» باشد کافی است در یک لحظه ورودی S در حالت «یک» قرار بگیرد تا خروجی به صورت پایدار «یک» شود این وضعیت مادامی که R به صورت «صفر» است باقی خواهد ماند. در این فلیپ فلاپ اگر هر دو ورودی برابر «یک» باشد ارجحیت با دستور دوم است. چرا که دستور دوم ناقض دستور اول است و PLC دستورات را سطر به سطر اجرا میکند. با این بیان میتوان اصل کلی زیر را نتیجه گرفت : هر دستوری که به خط پایان برنامه (BE) نزدیک تر باشد از نظر اجرا ارجح تر است.
دستور NOP ۰ در فلیپفلاپ: در PLCهای زیمنس، هر گاه بخواهیم از خروجی یک فلیپ فلاپ یا قسمتی از برنامه هیچ استفادهای نکنیم از دستور «NOP ۰» استفاده مینماییم. مثال:
A I ۲٫۳ S Q ۳٫۴ A I ۲٫۴ R Q ۳٫۵
با «NOP ۰» میتوان خروجی یک فلیپ فلاپ را در یک فلگ قرار داد. مثال:
A I ۰٫۱ S F ۲٫۷ A I ۰٫۷ R F ۲٫۷ A F ۲٫۷ = Q ۳٫۴ BE
دستورات JU و JC: همانطور که گفته شد نتیجه عملکرد دستورات هر خط در بیت خاصی با نام RLO ذخیره میشود که دستورات میتوانند به بیت RLO وابسته باشند و یا نه. اگر دستورات به RLO وابسته نباشند غیر شرطی خواهند بود.
دستور JU بدون وجود هیچ گونه شرطی پرش یا انقال را انجام میدهد این پرش ممکن است از یک بلوک به بلوک دیگر و یا از یک سطر به سطر دیگر همان بلوک انجام گیرد.
دستور JC وابسته به بیت RLO میباشد و مانند دستور قبل عمل پرش را انجام میدهد. مثال : برنامهای که با فشردن یک کلید PB ۱۸ و در صورت غیر فعال نمودن همان کلید PB ۱۹ را اجرا نماید. با اندکی تفکر درمی یابیم که چنین برنامهای را باید در «OB ۱» نوشت، زیرا همانطور که گفته شد ساختار کلی سیستم در این بلوک شکل میپذیرد. همچنین باید از دستور پرش شرطی استفاده نمود. اگر فرض کنیم کلید فشرده شده I ۰٫۰ باشد:
A I ۰٫۰ JC PB ۰٫۰ AN I ۰٫۰ 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 ۴» شانزده بیت موجود در کلمه ورودی شماره چهار را به «ACCUME ۱» میفرستد.اگر در همین حالت «L IW ۶» اجرا شود اطلاعات «ACCUME ۱» به «ACCUME ۲» میرود و «IW ۶» به «ACCUME ۱» منتقل میشود.
دستور "T": برای انتقال اطلاعاتی که در انبارکها موجود است به خروجیها یا فلگها از این دستور استفاده میشود. مثلاً در برنامهٔ زیر با اجرای دستور اول محتویات «ACCUME ۱» به کلمه «خروجی هشت» کپی میشود.
T QW 8 T FW ۵۲
برای پیادهسازی PLC در رایانههای معمولی از یک نرمافزار شبیهسازمانند "S5W" استفاده میشود.
S5W یک سیستم PLC زیمنس را شبیهسازی مینماید. استفاده از این نرمافزار سادهاست؛ پس از پایان کدنویسی و فشردن کلید شروع شبیهسازی پنجره شبیهساز PLC باز میشود. در اینجا ورودیها، خروجیها و فلگها مشاهده میشوند و میتوان عملکرد برنامه نوشته شده را روی PLC آزمود.
لینک منبع: http://control2011.blogfa.com/post-16.aspx