کار با OBهای وقفه
OB مخفف Organization Block بهمعنای بلاک سازمانی بوده و دارای انواع و اقسام مختلفی میباشد که هر کدام از آنها وظیفهای بر عهده دارد.
در این بین OB1 بعنوان بلاک اصلی CPU بوده و CPU در هر سیکلاسکن یکبار برنامهی درون آن را اجرا میکند. سایر OBها نیز دارای مکانیزم فراخوانی مخصوص به خود میباشند. به شکل 7-1 توجه فرمایید. همانطور که در شکل 7-1 مشخص است، سایر OBها از درون OB1 قابل فراخوانی نمیباشند، بلکه سیستم عامل CPU با توجه به موارد خاصی آنها را فراخوانی و اجرا مینماید.
شکل 7-1
انواع OBها
شکل 7-2 انواع OBها را نشان میدهد. همانطور که در این شکل مشخص است، علاوه بر OB1 ، OBهای راهاندازی، OBهای وقفه و نیز OBهای خطا وجود دارند.
شکل 7-2
معرفی انواع OBها
در این بخش برخی از OBهای مهم و پرکابرد معرفی میگردند.
1- وقفه TOD
به معنای وقفه زمانی بوده و میتواند در تاریخ و زمان دلخواه فراخوانی و اجرا گردد. OBهای شمارهی 10-17 جزو این نوع وقفه میباشند که البته هر CPU ممکن است فقط برخی از آنها را پشتیبانی نماید.
تنظیمات وقفه TOD
برای انجام تنظیمات این نوع وقفه میتوان وارد تنظیمات CPU شده و در سربرگ Time Of Day Interrupt، تنظیمات لازم را انجام داد. به شکل 7-3 توجه فرمایید.
شکل 7-3
موارد قابل تنظیم عبارتند از:
Active: علامت زدن این گزینه، وقفه TOD را برای OB مورد نظر فعال مینماید.
Execution: نوع اجرای وقفه را مشخص میکند.
Start Date: تاریخی که باید وقفه اجرا شود، در این بخش تنظیم میگردد.
Time Of Day: ساعت و دقیقهای که وقفه اجرا شود، در این بخش تنظیم میگردد.
2- وقفه سیکلی
این وقفه میتواند مطابق سیکل زمانی مشخصی، بهطور سیکلی اجرا گردد؛ از اینرو به آن وقفه سیکلی گفته میشود. OB30-38 برای این منظور در نظر گرفته شدهاند که CPU ممکن است همه و یا برخی از آنها را پشتیبانی نماید.
تنظیمات:
تنظیمات لازم برای وقفه سیکلی را میتوان در بخش تنظیمات CPU و سربرگ Cyclic Interrupt انجام داد.
شکل 7-4
مهمترین تنظیم برای این OBها مشخصهی Execution است که در حقیقت زمان تناوب فراخوانی این OB را مشخص میکند. شکل 7-4 نحوهی انجام تنظیمات و نیز عملکرد این وقفه را نشان میدهد.
3- Hardware Interrupt
بهمعنی وقفه سختافزاری بوده و مرتبط با کارتهای ورودی میباشد. OB 40-47 بعنوان OBهای وقفهی سختافزاری شناخته میشوند. یکی از کاربردهای این OB برای اجرای برنامههای آلارم در پروسههای آنالوگ میباشد. به شکل 7-5 توجه فرمایید. این شکل چگونگی انجام تنظیمات وقفه سختافزاری را برای یکی از کانالهای کارت AI نشان میدهد.
شکل 7-5
4- Time Delay Interrupt
بهمعنی وقفه تاخیر زمانی بوده و میتواند یک برنامهی خاص را با تاخیر زمانی مشخصی اجرا نماید. OB20-OB23 برای اینمنظور در نظر گرفته شدهاند. شکل 7-6 نحوهی انجام تنظیمات این وقفه را نشان میدهد.
شکل 7-6
آشنایی با OBهای خطا
OBهای خطا از جمله ابزارهای مهم در PLCهای S7 میباشند که هم در عیبیابی و هم در جلوگیری از توقف PLC در شرایط بروز خطا نقش بسیار مهمی بر عهده دارند. این OBها به دو دستهی زیر تقسیم میشوند:
الف) Asynchronous Error OBs
این OBها عمدتا برای شناسایی و عیبیابی اشکالات سختافزاری استفاده میشوند و شامل OB80-OB87 میباشند.
ب) Synchronous Errors
این OBها عمدتا برای شناسایی و عیبیابی اشکالات برنامهنویسی استفاده میشوند و شامل OB121 و OB122 میباشند.
شکلهای 7-7 و 7-8 انواع این OBها و وظایف آنها را نشان میدهد.
شکل 7-7 Asynchronous Error OBs
شکل 7-8 Synchronous Errors
روش استفاده از OBهای خطا:
بهتر است متناسب با نیاز، OBهای مورد نظر ایجاد و برنامهنویسی شده و سپس به PLC دانلود گردند. در شرایط بروز فالت در صورت وجود OB مربوطه، PLC متوقف نمیگردد و برنامهی درون OB اجرا شده و کاربر از بروز فالت مطلع میشود؛ ولی در شرایط عدم وجود OB، PLC متوقف میگردد.
8- تست و عیبیابی
بهمنظور تست و عیبیابی در PLC، ابزارهای مختلفی ارائه شده است که در بخشهای قبل با برخی از آنها آشنا شدید. در این بخش ضمن مرور مطالب قبلی، ابزارهای جدید معرفی میگردند.
8-1 جدول VAT
همانطور که در بخشهای قبل اشاره شد، جدول VAT یکی از ابزارهای مهم در تست و عیبیابی برنامهی PLC و نیز سایر اشکالات ( حتی اشکالات تجهیزات فیلد) میباشد.
8-2 OBهای خطا
OBهای خطا نیز از جمله ابزارهای مهم در PLC محسوب میگردند. با ایجاد OBهای خطا و برنامهریزی آنها میتوان هم از توقف PLC جلوگیری نمود و هم از بروز اشکال ایجاد شده مطلع گشت.
8-3 ابزار Diagnostic Buffer
CPU و برخی از کارتها دارای بافر تشخیص عیب یا همان Diagnostic Buffer میباشند که در شرایط بروز خطا، دلیل آن در این بافر ثبت میشود و کاربر با مراحعه به آن میتواند دلیل خطا را مشاهده و نسبت به برطرف کردن آن اقدام نماید. برای دسترسی به Diagnostic Buffer مربوط به CPU باید به پنجرهی اطلاعات ماژول CPU یا همان پنجرهی Module Information مراجعه نمود. برای اینکار میتوان در محیط Siamtic Manager کلید Ctrl + D را فشرد.
شکل 8-1
در کادر module Information میتوان سربرگ Diagnostic Buffer را انتخاب نمود تا محتویات این بافر نمایش داده شود.
شکل 8-2
مطابق شکل 8-3 نیز میتوان به پیام مرتبط با خطا دسترسی پیدا نمود.
شکل 8-3
8-4 حالت Open Online
این روش بهمنظور تشخیص خطاهای سختافزاری مفید میباشد. برای این منظور میتوان در محیط HW Config وارد شده و از منوی Station، گزینهی Open Online را انتخاب نمود؛ در اینصورت وضعیت تکتک ماژولها نشان داده میشود. اگر روی یک ماژول Status خطا وجود داشته باشد، با دابلکلیک روی آن میتوان وارد بخش Diagnostic Buffer آن ماژول شده و دلیل خطا را متوجه شد. به شکل 8-4 توجه فرمایید.
شکل 8-4