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

آشنایی با OB های Cyclic interrupt

یکی از انواع OB های بسیار مهم در PLC های S7، همانطور که می دانید OB های وقفه سیکلی می باشند. اجرای این OB ها به صورت سیکلی بوده و مزیت آنها امکان تنظیم زمان تناوب اجرای بلاک است. در نتیجه، از این بلاک ها می توان برای اجرای برنامه هایی که باید سریعتر یا کند تر از سیکل OB1 اجرا شوند، استفاده نمود.  به عنوان نمونه هایی از کاربرد OB های سیکلی می توان به موارد زیر اشاره نمود:

  • اجرای برنامه های حساس به زمان که همواره باید با یک فاصله زمانی مشخص اجرا شوند، مانند برنامه PID Control، برنامه انتگرال گیر و مشتق گیر، ارسال دیتای شبکه و …
  • اجرای برنامه هایی که باید سریعتر از سیکل اصلی CPU (سیکل OB1) اجرا شوند.
  • اجرای برنامه هایی که باید کند تر از سیکل اصلی CPU (سیکل OB1) اجرا شوند.
  • Update  کردن سریعتر برخی از نواحی PII و PIQ در صورتی که CPU از این قابلیت پشتیبانی نماید.
  • تولید پالس با فرکانس دلخواه

مقاله پیشنهادی: OB های Time Of day Interrupt


تنظیمات OB های وقفه سیکلی

OB های سیکلی از زمان دانلود به CPU مطابق یک دوره زمانی (سیکل) قابل تنظیم توسط کاربر، دائما فراخوانی و اجرا می شوند. در زمان ایجاد یک OB سیکلی می توان زیر نشان داده شده است. همچنین، پس از ایجاد بلاک نیز می توان وارد بخش تنظیمات آن شده و زمان اجرای بلاک را تنظیم نمایید. با ادامه آشنایی با OB های Cyclic interrupt همراه باشید.

تنظیمات به شرح زیر است:

– تنظیم Cycle time: تعیین زمان تناوب فراخوانی بلاک

  • در S7-1200: می توان زمان تناوب اجرای بلاک را بر حسب میکرو ثانیه تعیین نمود.
  • در S7-1500: می توان زمان تناوب اجرای بلاک را بر حسب میلی ثانیه تعیین نمود.

– تنظیم Phase offset: تعیین یک زمان جابجایی

در این بخش، می توان یک زمان جابجایی را تعیین نمود که اگر فراخوانی دو OB سیکلی در یک زمان اتفاق بیفتد، این بلاک با یک مدت زمان تاخیر نسبت به زمان اصلی خودش فراخوانی شود.

نکات مهم در OBهای وقفه سیکلی

در استفاده از OB های وقفه توجه به نکات زیر الزامی است:

  • زمان تناوب این OB باید به نحوی تنظیم شود که برنامه درون آن کاملا شود. اگر زمان تناوب این OB کوچک تنظیم شود و قبل از پایان اجرای برنامه آن، زمان فراخوانی OB فرا رسد، خطای زمانی (Time Error ) رخ می دهد. در این شرایط، CPU نسبت به فراخوانی OB مربوط به خطای زمانی، یعنی OB80 اقدام می نماید.
  • در صورت استفاده از تایمر در این OB باید توجه داشته باشید،که زمان تنظیمی تایمر به صورت ضریب صحیحی از زمان تناوب اجرای OB سیکلی باشد. در غیر این صورت، ممکن است نتیجه عملکرد تایمر بین دو سیکل اجرای OB قرار گرفته و با تاخیر دیده شود.
  • در صورتی که زمان تناوب اجرای OB سیکلی نسبت به زمان سیکل اسکن CPU خیلی کوچکتر باشد، ضمن اجرای OB1، چندین بار OB وقفه سیکلی اجرا شده و می تواند باعث افزایش زمان سیکل اسکن از حد مجاز شود.

 


پایان مقاله: آشنایی OB های Cyclic interrupt

نویسنده : جناب آقای مهندس احمد فرجی

انتشارات : قدیس