زمان مطالعه: 8 دقیقه

ساختار برنامه

در نمایندگی زیمنس در این مرحله از بررسی تکنیک های طراحی، شایسته است که درباره طرح و ساختار برنامه‌های PLC های زیمنس بحث شود. عقلانی خواهد بود که طرح اولیه هر برنامه ای بر پایه اهداف و ساختارهای عملیاتی عمومی که مورد استفاده در همه سیستم های کنترل پروسه است، بنا نهاده شود. یعنی بایستی در روند طراحی هر برنامه، بخش های سر وکار دارنده با حالت های عملیاتـی، توابع اصلی، زنجیره یا توالی پروسه، خروجی‌های فرمان و نمایش وضعیت، تعیین و مشخص گردند. به عبارت دیگر هر قسمت از کار عملیاتی برنامه در یک بخش تقریباً مجزا نوشته شود. موارد فوق در جدول ۴-۲ نشان داده شده است.

 

  • شروع
    حالت های عملیاتی و وظایف اساسی
    موقعیت شروع (اصلی)
    شرایط فعال و ریست شدن
    عملکرد پروسه / منطق ترتیبی
    خروجی های فرمان
    خروجی های وضعیت
    پایان

 

حالت های عملیاتی

موقعیت اصلی یا نقطه شروع: شایسته است که تجهیزات تحت کنترل دارای موقعیتی اصلی یا عادی باشند. (در موقعیت اصلی یا عادی معمولاً کاری انجام نمی‌گیرد. اما فرآیند آماده برای شروع یک سیکل کاری جدید است.) این موقعیت می تواند مثلا زمانی باشد که تمام محرک ها (actuators) خاموش و جمیع سوئیچ های حدی باز هستند. موقعیت اصلی را می‌توان به عنوان گامی از یک پروسه ترتیبی، برنامه ریزی نمود.
شرایط فعال سازی و ریست: بیشتر پروسه های صنعتی دارای کنترل های شروع و توقف دستی می باشند. که می‌توانند در این مرحله به ساختار اصلی برنامه PLC، ضمیمه شوند. این سوئیج ها به عنوان فعال ساز و ریست به کار برده خواهند شد و کنترلی اصلی را در PLC تحت نام‌های run یا stop و غیره فراهم می‌آوردند. همچنین ممکن است سوئیچ دستی دیگری جهت فعال سازی خروجی های سیستم وجود داشته باشد که اجازه اجرای برنامه را بدون راه‌اندازی خروجی‌های فیزیکی متصل شده به PLC، بدهد. به عبارت دیگر قابلیت آزمایش و تست عملکرد کار پروسه را فراهم می‌آورد.
ب) ترتیب پروسه و عملکرد آن
این مورد موضوع اصلی این فصل است و شامل طراحی و برنامه ریزی شبکه های ترکیبی و ترتیبی می‌باشد. معمولا خروجی‌های منتج به طور مستقیم محرک ها را راه‌اندازی نمی‎نمایند، بلکه جهت فعال سازی رله های نشانه گر واسطه به کار می‌روند.
ج) خروجی های فرمان
سیگنال های خروجی ارسال شده به محرک های پروسه، از تلفیق خروجی های توالی (نشانه‌گرها) با شرایط فعال سازی موجود در مرحله کنترل توالیتشکیل می‌شوند.
د) خروجی های وضعیت و اگاهی دهنده
وضعیت پروسه اغلب با استفاده از لامپ ها یا زنگ‌های اعلام خطر و غیره مشخص می‌شود. چنین قطعاتی در این بخش از نرم‌افزار، برنامه ریزی می‌شوند.
با اتخاذ این روش سازمان یافته در ساختار برنامه، ما قادر به آفرینش نرم‌افزارهای قابل اعتماد و سهل الادرک می‌باشیم که ردیابی خطای آن به سرعت انجام گرفته و مدت زمان های توقف و خرابی پروسه نیز کاهش می یابد.

 

کنترل توالی

در ابتدای این فصل، دلایل و ضرورت استفاده از سیستم های کنترل ترتیبی ذکر شد. سیستم‌هایی که در آنها خروجی نه تنها به ورودی ها بستگی دارد بلکه به ترتیب ورودی ها و خروجی های قبلی نیز وابسته است. به عبارت دیگر این روش محتاج حافظه برای نگهداری حالات و رویدادهاست.
از مدت ها پیش مسایل ترتیبی با استفاده از گیت های منطقی متداول به عنوان بلوک‌های سازنده ساخته و حل و فصل شده‌اند. این راهکار با به کار بردن تکنیک های تعیین کننده معادلات منطقی توالی، که خروجی های سیستم را کنترل می‌کند، میسر بوده است. امروزه هنوز هم از این شیوه استفاده می‌شود و ما نیز در بخش بعدی به آن خواهیم پرداخت. اما توابع دیگری نیز در PLCها وجود دارد که مخصوصاً جهت سهولت در امر طراحی و اجرای سیستم های ترتیبی تدارک دیده شده‌اند. تعدادی از این توابع مانند شیفت رجیسترها، رله های کنترل اصلی و تایمرهای غلطکی در فصل سوم معرفی شدند. مثال های کاربردی این توابع را بعدا در همین فصل خواهیم یافت. به منظور کامل کردن درک عملکرد و مسائل برنامه ریزی کنترل ترتیبی، شایسته است که اطلاعاتی را در مورد طراحی برنامه های منطقی ترتیبی داشته باشیم.

 

روند برنامه ریزی

طراحی برنامه ترتیبی دارای تفاوت های اندکی نسبت به مدارات ترکیبی خالص در شیوه طراحی می‌باشد. روند طراحی برنامه در یک PLC به صورت زیر است:
۱٫ پروسه یا فرآیند به طور لفظی توصیف می‌شود.
۲٫ این توصیفات به فلوچارت یا دیاگرام وظایف تبدیل می‌گردد.
۳٫ در این مرحله، مقتضیات برنامه به سادگی تعیین شده، سپس به معادلات بولی که نمایش دهنده حالات پروسه ترتیبی می‌باشند، تبدیل می‌شود.
۴٫ سرانجام معادلات بولی به سادگی به صورت نردبانی تبدیل شده و سپس در PLC برنامه ریزی می‌گردند.
توضیحات لفظی یا مکتوب از یک پروسه اتوماتیک اغلب طولانی، صعب الادراک و مبهم می‌باشند. همان گونه که پیشتر ذکر شد، اگر پروسه کامل به تعدادی زیر واحد (sub-unit) یا زیر پروسه های جداگانه تقسیم شود بسیار قابل درک‌تر خواهد بود. در این صورت هر زیر واحد یا زیر پروسه می‌تواند از ترتیب ها و ترکیب های منطقی لازم ساخته شود تا تابع مورد نظر را تولید نماید.
برای بیان بهتر توصیفات لفظی چندین روش وجود دارد: دیاگرام های منطقی رله‌ا‌‌ی، شماتیک‌های منطقی، فلوجارت‌ها و نمودارهای وظایف. این روش ها را نمی‌توان جایگزین توصیفات لفظی دانست، اما به میزان بسیار زیادی در تکمیل آن ها دخالت دارند. انتخاب یک روش به خصوص، بستگی زیادی به تجربیات قبلی فرد و ماهیت کاربرد مورد نظر خواهد داشت. کسانی که دارای پیش آگاهی هایی در زمینه دیجیتال الکترونیک یا محاسبات (کامپیوتری) می‌باشند، احتمالا به سه روش آخری علاقمند می‌باشند و منطق نردبانی رله‌ای را به آنهایی که در زمینه رله ها تبحر دارند، واگذار می‌کنند. اما مهندسینی که از نزدیک با پروسه ها سر و کار دارند، همواره دارای بهترین اطلاعات در مورد عملکرد آن پروسه می‌باشند، لذا روش انتخاب شده برای توصیف مقتضیات و شرایط کنترل، همواره بایستی نظر و خواسته آنان را برآورده و منعکس کند.

 

دیاگرام های منطقی رله‌ای و شماتیک‌های منطقی

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

 

فلوچارت‌ها

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

 

نمودارهای وظایف

در سال های اخیر نمودارهای وظایف (Function charts) روشی عمومی و مرسوم برای نمایش مقتضیات کنترل ترتیبی شده اند. نمودار های وظایف، جهت به تصویر کشیدن جزئیات دقیق یک سیستم و طرح عملیاتی پروسه، ابزاری مناسب می‌باشند. نمودار های وظایف با استفاده از شکل مجتمع و فشرده توصیفات نمادین، بیشتر محاسن دیگر روش‌ها را – جهت نمایش منسجم و واضح ترتیب کنترل – تلفیق می کنند. این نمودارها برای هر مرحله جداگانه عمل، شرایط ست و ریست شدن، معیارهای گذر و تمامی سیگنال‌های ضروری کنترل را نشان می دهند. همچنین نمودار های وظایف ابزارهای کمکی ارزشمندی جهت ردیابی خطا، راه‌اندازی PLC و تشخیص اتوماتیک معایب در سیستم‌های کنترل می‌باشند.
علایم و نام‌های به کار رفته در نمودارهای وظایف طبق مشخصات DIN (سازمان استاندارهای ملی آلمان) و IEC (کمیسیون بین المللی الکترو مکانیک)، استاندارد شده اند.

 

جبربول

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

مثالی ساده از کنترل توالی برای یک ماشین مونتاژ

توصیفات لفظی فرآیند

یک تسمه تغذیه کننده، قطعات را به صورت متوالی و منظم به سمت ماشین مونتاژ هدایت می‌کند. زمانی که یک قطعه روبروی قالب مونتاژ قرار می‌گیرد. سوئیچ حدی LS1 برای متوقف کردن تسمه تغذیه کننده فعال می‌شود، در این لحظه LS2 تحریک می گردد. و یک بازوی بادی باز شده و قطعه را محکم به درون قالب مونتاژ فشار می دهد. با ورود قطعه به درون قالب، LS3 تحریک شده، بازو را متوقف کرده سپس آن را به موقعیت عادی خویش برمی گرداند. LS3 همچنین یادآور می شود که بازو از قالب مونتاژ جدا شده است، در این حال ماشین، قطعات پرداخت نشده را با پرس کردن به شکل دلخواه در می‎آورد. عمل پرس کاری کامل می شود و با تحریک یک حسگر نوری محصول از پرس خارج می شود. تحریک حسگر نوری بیان می‌دارد که قطعه بعدی می‌تواند وارد قالب مونتاژ شود و این فرآیند تکرار می شود.

 

از روی توصیفات لفظی، به راحتی قادر به ترسیم فلوچارتی برای نمایش این توالی خواهیم بود. با توجه به شکل ۴-۱۶ به وضوح می توان ۴ “حالت” را در این سیستم ملاحظه نمود:

۱- تسمه تغذیه کننده روشن، بازوی بادی در حالت عادی، ماشین پرس غیر فعال.

۲- بازو در حال پیشروی، تسمه خاموش، پرس غیر فعال.

۳- بازو در حال بازگشت، تسمه خاموش، پرس غیر فعال.

۴- پرس عمل می کند، تسمه خاموش، بازو در حالت عادی.

 

 

همچنین از روی این توصیفات ما قادر به مشاهده روابط بین سیگنال‌های ورودی به این حالت ها، خواهیم بود. در واقع تغییر حالت ها (از ۱ به ۲، ۲ به ۳ و غیره) توسط سیگنال های ورودی ناشی از چهار سوئیچ حدی انجام می گیرد. نیز می‌بینیم که این چهار حالت متفاوت، همواره طبق ترتیب واحدی رخ می‌دهند، یعنی:

درک این موضوع بسیار مهم است که در هر لحظه تنها یک حالت (حالت فعلی) در سیستم فعال و موجود می‌باشد.

با توجه به این موضوع می‌توانیم بگوییم که (الف) شما وارد حالت۱ خواهید شد. اگر در حالت ۴، سوئیچ LS4 فعال شود، یا (ب) شما در حالت ۱ باقی خواهید ماند. مادامی که LS1 هنوز تحریک نشده است. بررسی این جملات مشخص خواهد کرد که جمله الف، ملاک یا ضابطه ورود به یک حالت (یا راه‌اندازی) و جمله ب، خودنگه‌دارندگی (Latching) و ضابطه ریست (خروج) را تشکیل می دهد.

این موارد را می توان در قالب جبربولی بیان کرد.

 

 

چنانچه یک برنامه به عنوان یک برنامه کنترل بخواهد قابل اعتماد باشد، عبارت بولی نوشته شده برای هر حالت فرآیند بایستی شامل تمامی ترکیب‎های مجاز برای ورود، باقی ماندن و خروج از آن حالت باشد. در این مثال LS4 سبب گذر از حالت ۴ به ۱ در فرآیند شده ست. از آن جا که اکنون به حالت ۱ وارد شده ایم، برای باقی ماندن در این حالت بخش ورود معادله (۴LS4) دیگر زیاد موثر نیست، بنابراین می بایست این کار توسط قسمت دیگری از معادله انجام گیرد. عبارت ۱٫LS1 این ویژگی خودنگه‎دارندگی (یا باقی ماندن در حالت) را فراهم می آورد.، مشروط بر آن که LS1 عمل نکند. زمانی که LS1 عمل می کند،  سبب می شود عبارت ۱٫LS1 حذف شود (به دلیل تابع AND) زیرا LS1 برابر صفر خواهد بود. (۱٫۰=۰)