OB های PLC S7-1200

OB در TIAPORTALچیست؟

در PLCهای SIMATIC S7-1200، بلوک‌های سازمان‌دهی یا Organization Block (OB) نقطه ورود سیستم‌عامل PLC به برنامه کاربر هستند. هر OB توسط یک رویداد (Event) اجرا می‌شود و نمی‌توان آن را از داخل FC یا FB فراخوانی کرد. بلوک OB1  اولین بلوکی است که در آن برنامه نوشته میشود.میتوانیم به کمک این بلوک ها قسمتی از برنامه خود را بصورت مداوم و قسمتی دیگر را بصورت موقت یا در زمانی خاص اجرا کنیم.
نکته مهم:عدد جلوی OB نشان دهنده اهمیت آن است.هرچه عدد بالاتر باشد اهمیت بیشتری دارد.

فرق OB ها با FB  و FC چیست؟ 

  • OB (Organization Block): بلوکی است که توسط سیستم‌عامل PLC و بر اساس یک رویداد اجرا می‌شود. نقطه شروع اجرای برنامه است و وظیفه سازمان‌دهی اجرای سایر بلوک‌ها را بر عهده دارد.OB ها محیط های اصلی اجرای برنامه هستند.
  •  
  • FB (Function Block): بلوکی است که برای انجام یک وظیفه همراه با حفظ اطلاعات و وضعیت خود استفاده می‌شود. FB دارای حافظه اختصاصی (Instance DB) است و مقادیر داخلی آن بین سیکل‌های اجرای PLC باقی می‌ماند.از  FB برای قسمت بندی برنامه استفاده میشود و FB باید داخل OB1  فراخوانی شود.
  •  
  • FC (Function): بلوکی است که برای انجام یک عملیات یا محاسبه بدون نیاز به حفظ وضعیت استفاده می‌شود. FC حافظه دائمی ندارد و پس از پایان اجرا، متغیرهای محلی آن از بین می‌روند.باید FC را در OB1 فراخوانی کنید تا بتوانید از آن استفاده کنید.
  •  

معرفی OB های  PLC  S7- 1200 :

1. Program Cycle OB (OB1)
مهم‌ترین OB در PLC است.
ویژگی‌ها:
  • 1-پس از قرار گرفتن CPU در RUN اجرا می‌شود.
  • 2-به صورت مداوم تکرار می‌شود (Scan Cycle).
  • 3-معمولاً تمام FB و FC ها از داخل آن فراخوانی می‌شوند.
  • اگر چند Program Cycle OB ایجاد کنید، به ترتیب شماره  اجرا می‌شوند.بعد از OB1  بلوک های  Program Cycle  از عدد 123 شروع میشود.
 
  • 2. Startup OB (OB100)
    فقط یک بار اجرا می‌شود.این بلوک در اولین لحظه شروع به کار CPU اجرا میشود و معمولا برای ریختن مقادیر   در لحظه روشن شدن CPU در دیتابلاک استفاده میشود.
    کاربرد: 1-مقداردهی اولیه متغیرها     2-ریست کردن شمارنده‌ها
    • 3-تنظیم پارامترهای اولیه    4-آماده‌سازی سیستم
 
 
    • 3. (OB30)Cyclic Interrupt 
      شماره‌های پیش‌فرض:  OB32 , OB31 , OB30 ,  و …….OB 38.

      کاربرد:
      اجرای برنامه در زمان‌های ثابت. زمانی که قسمتی از برنامه در PLC  سنگین است و نیاز نداریم مداوم توسط CPU اسکن شود میتوانیم با نوشتن آن در این بلاک در فواصل خاص از آن استفاده کنیم مانند:

      • هر 5ms
      • هر 10ms
      • هر 50ms
      • هر 100ms

      مناسب برای:

      • PID,کنترل سرعت , نمونه‌برداری آنالوگ,فیلترها

      مزیت:
      وابسته به Scan Time نیست.

SIEMENS BLOCKS
SIEMENS BLOCKS
4. (Time Delay Interrupt (OB20
شماره‌های معمول: OB23 , OB22 , OB21 , OB20
کاربرد:
اجرای برنامه بعد از گذشت مدت مشخص. به کمک این بلوک میتوانید  تعیین کنید بعد از یک اتفاق در PLC و گذشت یک تایم  در این بلوک یک خروجی روشن یا خاموش شود و یا یک محاسبه انجام شود.این OB معمولاً همراه دستورات ATTACH/DETACH یا مکانیزم‌های وقفه زمانی استفاده می‌شود.
 
5. (Time of Day Interrupt (OB10

اجرای برنامه در زمان مشخص. از OB 10 تا OB17  به این بلوک اختصاص دارد.به کمک این بلوک میتوانید در یک ساعت یا دقیقه از یک روز مشخص یا هرروز یک برنامه را اجرا کنید.مانند راه اندازی یک پمپ در ساعت 8 صبح و خاموش کردن ان در ساعت 8 شب.

6. (Hardware Interrupt (OB40
هنگام وقوع یک رویداد سخت‌افزاری اجرا می‌شود.
مثال‌ها:
  • 1-لبه ورودی دیجیتال پرسرعت
  • 2-رسیدن محور به موقعیت مشخص
  • 3-پایان شمارش HSC
  • 4-وقفه از ماژول‌های توسعه
به محض وقوع رویداد، CPU اجرای OB1 را متوقف کرده و این OB را اجرا می‌کند.بیشترین کاربرد آن اجرای یک برنامه زمان رسیدن تعداد پالس های انکودر به عدد مورد نظر است.

7. Time Error Interrupt (OB80)
برای مدیریت خطاهای زمانی.
مثال‌ها:
  • طولانی شدن Scan Time
  • Watchdog Timeout
  • خطاهای زمان‌بندی
اگر این OB وجود نداشته باشد، در برخی شرایط CPU ممکن است وارد STOP شود. 
 
7. DIAGNOSTIC Error Interrupt (OB82)
برای مدیریت خطاهای سخت افزاری  در زمان خطا استفاده میشود.
  •  
  •  

برای مشاوره و اجرای پروژه میتوانید با کارشناسان ما در ارتباط باشید.

#منوال تمام درایو های زیمنس