توجه : تمامی مطالب زیر برگرفته از فصل دهم کتاب کارور PLC ، نوشته مهندس محمد شهری فریمانی ، میباشد .
نگاهی به انواع OB ها :
تا اینجا با OB1 آشنا شدهاید ، ولی OBهای دیگری نیز وجود دارد که برای کارهای پیشرفتهتر برنامهنویسی بهکار میروند .
به طور کلی میتوان OBها را به سه دسته اصلی تقسیم کرد :
1- OB اجرای سیکلی برنامه : مانند OB1
2- OBهای راهاندازی : مانند OB100 ، OB101 ، OB102
3- OBهای وقفه : مانند OB 30 تا OB38 که Cyclic Interrupt هستند و به صورت پریودیک و سیکلی در برنامه وقفه ایجاد می کنند ، که مبتنی بر Event میباشند ، وقفههای مبتنی بر Error نیز وجود دارد که برای حفاظت از سیستم کنترلی ، در زمان خطای سخت افزاری یا نرم افزاری PLC را به حالت وقفه خواهند برد تا خطا و Error برطرف گردد .
OBهای وقفه دیگر نیز وجود دارد که مبتنی بر Event هستند مانند: OB10 تا OB17 که Time of day Interrupt هستند ، OB20 تا OB23 که Time Delay Interrupt هستند ، OB40 تا OB47 که Hardware Interrupt میباشند و ...
توجه : میخواهیم برنامهای در محیط نرمافزار Simatic Manager بنویسیم که علاوه بر ایجاد فانکشن بلاک ( FB ) ، از OB های وقفه نیز در اجرای برنامه استفاده کنیم ، برنامه زیر را به طور کامل در فیلم آموزشی توضیح دادهایم .
ایجاد متغیرهای ورودی ، خروجی و ... در قسمت Declaration از پنجره فانکشن بلاک FB1 :
ایجاد بلاک FB1 ( فانکشن بلاک Function Block ) و نوشتن برنامه در FB1 :
ایجاد بلاک OB33 ( بلاک وقفه Cyclic Interrupt ) و نوشتن برنامه در OB33 :
ایجاد بلاک OB1 ( اجرای سیکلی برنامه ) و فراخوانی بلاک FB1 و نوشتن برنامه در OB1 :
دانلود بلاکهای FB1 ، OB33 و OB1 در Simulation :
فیلم آموزشی ایجاد فانکشن بلاک ( FB ) در محیط نرمافزار Simatic Manager و نحوه نوشتن برنامه در FB1 و فراخوانی آن در OB1 و همچنین نحوه ایجاد بلاک وقفه OB33 ، دانلود برنامه روی Simulation و بررسی عملکرد برنامه :
بسیار مفید و مختصر. ممنون
سلام و احترام-جناب آقای مهندس فرشید از حُسن توجه شما بسیار سپاسگزارم.