electrical engineering

Mohammad Shahri Farimani

electrical engineering

Mohammad Shahri Farimani

ایجاد فانکشن (FC ) و فانکشن بلاک( FB ) درSimatic Manager و فراخوانی FB1 درOB1 - ایجاد بلاک‌های وقفه مانند OB33 - فیلم آموزشی

توجه : تمامی مطالب زیر برگرفته از فصل دهم کتاب کارور 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  و  بررسی عملکرد برنامه ‌:



دستورات مقایسه‌ای ( Comparators ) و شمارنده‌ها ( Counters ) در Simatic Manager به همراه فیلم آموزشی

توجه : مطالب زیر برگرفته از فصل نهم کتاب کارور PLC  ، نوشته مهندس محمد شهری فریمانی ، می‌باشد .

نکته : در مقایسه‌کننده‌ها ( Comparators ) حرف I  برای اعداد 16 بیتی ،  حرف D برای اعداد 32 بیتی  و حرف R برای اعداد حقیقی ( Real ) استفاده می شود که در اینجا فقط مقایسه‌کننده‌های 16 بیتی را نشان داده‌ایم .

مقایسه‌کننده‌ها ( Comparators ) :


شمارنده‌ها ( Counters ) :

مثال : می‌خواهیم برنامه‌ای بنویسیم که از عدد صفر شروع به شمارش کند ، و زمانی که شمارش به عدد 10 رسید ، مجدد از عدد صفر شروع به شمارش کند ، مثلاً فرض بگیرید قطعات از روی نوار نقاله از مقابل یک سنسور بدون تماس خازنی ( BERO ) در حال عبور است و با عبور هر قطعه ، سنسور که به ورودی CU  شمارنده متصل شده ، یکی به مقدار شمارش اضافه می کند و 10 قطعه درون کارتن بسته‌بندی قرار می گیرد و برای کارتن بعدی ، مجدد باید از عدد صفر شمارش را آغاز کند .

بنابراین برنامه را به دو Network  تقسیم می کنیم در Network1  از یک شمارنده صعودی و در Network2 از یک مقایسه‌گر مساوی استفاده می کنیم . 

فیلم آموزشی کوتاه برنامه نویسی به زبان FBD و آموزش نحوه استفاده از Comparator  و Counter  در برنامه :


دستورات ریاضی ، محاسباتی و توابع صحیح ( Integer Function ) در S7 -300

توجه : مطالب زیر برگرفته از فصل نهم کتاب کارور PLC  نوشته مهندس محمد شهری فریمانی ، می‌باشد .

دستورات توابع صحیح ( Integer Function ) :

 در این دستورات حرف I برای اعداد 16 بیتی  ، حرف D برای اعداد 32 بیتی و حرف R برای اعداد حقیقی ( Real ) استفاده می‌گردد .


انواع داده‌های اولیه در 300- S7 و دستورات LOAD , TRANSFER , P , N و مثال‌های کاربردی مانند جک پنوماتیک و فیلم آموزشی

توجــــه : مطالب زیر بخشی از فصل هشتم کتاب کارور PLC ، نوشته مهندس محمد شهری فریمانی ، می‌باشد .

آکومولاتور ( انبــــاره ) :


بعضی دستورات پرکاربرد در S7 :



فیلم آموزشی برنامه نویسی Simatic Manager و استفاده از دستورات P و N :


مثال کاربردی  : برنامه جک پنوماتیک به زبان FBD ;


نحوه ایجاد Edit Symbols ، برنامه‌نویسی یک مدار پرکاربرد به زبان FBD و استفاده از تایمر S-ODTS در برنامه به همراه فیلم آموزشی

Edit Symbols :


مثـــال :


توجــــه : مدار فرمان و قدرت راه اندازی ، 3  الکتروموتور سه فازه به صورت یکی پس از دیگری مطابق شکل زیر را در نظر بگیرید ، اکنون به زبان برنامه نویسی FBD ، مدار فرمان مذکور را در محیط نرم‌افزار Simatic Manager  اجرا خواهیم کرد.


مدار فرمان - قدرت راه‌اندازی سه الکتروموتور سه فازه به صورت یکی پس از دیگری به طور اتوماتیک :


برنامه مدار راه اندازی سه الکتروموتور به صورت یکی پس از دیگری به طور اتوماتیک به زبان  FBD :


یادآوری :

تایمر S - ODTS : خروجی این تایمر فقط به لبه بالا رونده ورودی S ، حساس است .


فیلم آموزشی برنامه‌نویسی  ، مدار راه اندازی سه الکتروموتور به صورت یکی پس از دیگری اتوماتیک به زبان  FBD به همراه توضیحاتی درباره Edit Symbol