محیط S7 - Graph و زبان برنامه نویسی گراف با ایجاد فانکشن بلاک FB :
تفاوت ایجاد محیط برنامه نویسی گراف با ایجاد Function Block با روش Sources File در این است که در روش ایجاد با فانکشن بلاک ( FB ) ، چون Save & Compile می شود اگر Error داشته باشد ، ذخیره نمی شود، اما در روش Sources می توانید با وجود داشتن Error ، برنامه را ذخیره کنید و بعد از روی فرصت خطاهای ایجاد شده را برطرف نمایید.
ایجاد محیط S7 - Graph با روش ایجاد فانکشن بلاک ( FB ) :
آشنایی با محیط نرم افزار S7 - Graph :
پس از اجرای برنامه S7 - Graph ، پنجره برنامه به شکلی شبیه زیر ظاهر می شود ، برای توصیف بهتر بخش های این برنامه ، شماره گذاری شده اند ، برنامه در بخش شماره 2 ، ترسیم می شود :
بخش 1 : این بخش که در بالا و نیز سمت چپ ظاهر می شود ، همان نوار ابزار ( Toolbars ) برنامه است ، بخش بالا به دوقسمت Standard و View تقسیم می شود که در فیلم آموزشی توضیح داده شده است.
بخش 1 در سمت چپ نیز به دو قسمت Sequencer و LAD/FBD تقسیم می شود که این قسمت هم در فیلم آموزشی توضیح داده شده است .
بخش 2 : برنامه کنترل ترتیبی در این بخش ترسیم و نوشته می شود ، وقتی برای اولین مرتبه ، برنامه Graph را باز می کنیم ، معمولاً شامل یک مستطیل به نام Step 1 که با S1 نشان داده می شود و یک خط افقی در زیر آن به نام Transition 1 که با T1 نشان داده می شود ، می باشد .
بخش 3 : این بخش Menu Bar برنامه است.
بخش 4 : این بخش Title Bar برنامه است ، نام پروژه ، شماره FB و DB و اطلاعاتی از این قبیل در این بخش نشان داده می شود .
بخش 5 : به این پنجره Overview گفته می شود ، و در آن می توان وضعیت کل Stepها که تشکیل یک Sequencer یا توالی را می دهند ، مشاهده کرد .
بخش 6 : به این پنجره Detail گفته می شود که در پایین برنامه ظاهر می شود و در آن می توان وضعیت متغیرها یا آدرس های استفاده شده را دید و در هنگام ذخیره سازی برنامه ، لیست Errorها و Warningها را در این بخش قابل مشاهده است .
بخش 7 : به این قسمت Status Bar گفته می شود ، وضعیت CPU در حالت Online در این قسمت قابل مشاهده است .
Step و Transition : در محیط اصلی S7 - Graph ، شکل یک Step و یک Transition نمایش داده می شود .
مفهوم Step که به صورت یک باکس مستطیل شکل نمایش داده می شود ، مرحله ای است که PLC به آن وارد می شود و در آنجا دستور یا دستورات خاصی را اجرا می کند ، CPU آنقدر در این مرحله می ماند تا شرایط گذر یا Transition که در زیر Step با یک خط افقی نمایش داده شده ، برآورده شود .
به عنوان مثال در شکل زیر درصورتی CPU از مرحله 1 عبور کرده و وارد مرحله2 می شود که سوئیچ I0.0 بسته شود :
دستورات دائمی ( Permanent Instruction ) : دستوراتی هستند که در هر سیکل اسکن ، صرفنظر از اینکه برنامه در کدام Step قرار دارد ، یکبار اجرا می شوند ، دستورات بخش Permanent بالای بلاک ، در ابتدای سیکل اسکن و دستورات Permanent پایین بلاک ، در انتهای سیکل اسکن اجرا می گردند ، دستورات می تواند از نوع condition یا از نوع Call باشد ، که ازمنوی Insert ، قسمت Permanent Instruction ، دستورات را می توان انتخاب کرد .
دستورات Permanent قبل از Sequencer :
دستورات Permanent بعد از Sequencer :
بخش Interlock : در این قسمت شرایط Interlock مربوط به Step نوشته می شود، از شرایط Interlock می توان برای دستورات برنامه نویسی Step استفاده کرد و متناسب با آن دستوراتی را اجرا کرد ، پس از این حیث با شرایط Transition متفاوت است چون Transition فقط شرایط گذر از Step را در برمی گیرد .
بخش Supervision : در این قسمت می توان یک Step را تحت نظارت قرار داد تا به عنوان مثال اگر زمان اجرای آن از حدی بیشتر شد یا کلید خاصی فعال شد ، آلارمی ظاهر شود .
بخش Comment : در این بخش ، توضیحات مربوط به همان Step را می توان نوشت و با بخش Block Comment که مربوط به توضیحات توالی ( Sequencer ) است ، متفاوت می باشد .
توجــه : می خواهیم برنامه کنترل روشنایی راه پله را که قبلاً به زبان FBD نوشته بودیم را به زبان گراف ، طراحی نماییم ، بهطوریکه سه عدد لامپ برای روشنایی که از نقطه مختلف کنترل شود ، برای کنترل از سه محل می توان از سه عدد شستی استارت یا سه عدد سنسور بدون تماس ( BERO ) خازنی ، استفاده کرد ، بعد از آنکه یکی از شستیهای استارت فشرده شود یا یکی از سنسورها ، حضور فردی را حس کند و اکتیو شود ، لامپها روشن شوند و به مدت 15 ثانیه روشن بمانند، درصورتیکه یکی از شستی استارت ، از یکی از محلهای کنترل ، مجدد فشرده شود و یا یکی از سنسورها ، دوباره فعال گردد ، دراینصورت مجدد زمان 15 ثانیه شروع شود و لامپ ها روشن شوند .
فیلم آموزشی ایجاد فانکشن بلاک ( FB1 ) و برنامه نویسی به زبان گراف در S7 - Graph ، فراخوانی فانکشن بلاک FB1 در بلاک OB1 ، دانلود برنامه و تست برنامه در شبیه ساز(Simulation ) :
با سلام و احترام خدمت تمامی مهندسان ؛ دانشجویان و سروران گرامی که از کشورهای مختلف به ویژه کشور عزیزمان ایران از طریق تماشای ویدیوهای آموزشی در سایت نماشا یا از طریق این وبلاگ با بنده درارتباطند.
یک مقاله بسیار ساده داشتم که شاید برای بعضی علاقه مندان مورد استفاده قرار گیرد ؛ لذا آنرا دروبلاگ قرار دادم.
کلیپ تصویری آموزشی طراحی پروژه کنترل دمای آب استخر توسط PLC , STEP7-300 و نرم افزار Simatic Manager :
توجــه : می خواهیم برنامه یک پروژه واقعی را طراحی کرده و در محیط نرم افزار Simatic Manager آن را ، اجرا کنیم .
پروژه کنترل دمای آب یک استخر می باشد ، که قسمت های مختلف پروسه را در شکل زیر مشاهده می کنید :
توجــه : همانطور که در شکل فوق ، مشاهده می کنید ، سنسور S1 تعیین سطح آب استخر را اعلام می کند و بعد از آنکه این سنسور ، فعال شد و اعلام کرد که آب در استخر وجود دارد ، سیستم روشن می شود و Pump1 ، آب را از استخر می کشد و از مبدل حرارتی ( Heat_Exchange ) و صافی ( Filter ) عبور داده و مجدد ، آب را به استخر بر می گرداند .
بویلر به طور مستقل کار می کند و دمای آب بویلر روی 90oC تنظیم می باشد.
سنسور RTD دمای آب استخر را که به طور پیش فرض روی 28 درجه سانتی گراد ( Set_Point=28oC ) تنظیم شده است ، اندازه گیری می کند ، درصورتیکه دما از 28oC کمتر شود ، آنگاه Pump2 روشن شده و آب خروجی بویلر را وارد سیستم می کند و از مبدل حرارتی ( Heat_Exchange ) , عبور میدهد تا دمای آب مجدد از 28oC بیشتر شود ، در این حالت ، اگر سنسور ، RTD ، دمای آب استخر را بیشتر از 28 درجه سانتیگراد را اندازهگیری کند ، آنگاه Pump2 خاموش می شود و این روند به همین صورت ادامه پیدا می کند .
توجــه مهم : آب خروجی از بویلر که دمای آن زیاد است با آب استخر برخورد نمی کند و فقط در مبدل حرارتی به دلیل آنکه لوله های زیادی وجود دارد و آب گرم بویلر، توسط پمپ شماره2 ، با عبور از لوله های مبدل حرارتی ، گرمای خود را به لوله های آب سردی که از استخر می آید ، می دهد ، درنتیجه تبادل حرارتی صورت می گیرد .
نکتــه : در این پروسه ، پاسخ سیستم کند است ، یعنی اگر دمای آب استخر 26oC باشد ، یعنی فقط 2oC کمتر از مقدار تعیین شده ( Set_Point = 28oC ) باشد ، باید مقدار زیادی از آب استخر از تبادلگر حرارتی عبور کند تا دمای آب استخر ، افزایش یابد ، لذا پاسخ سیستم کند است و نیازی به سیستم های دیگر کنترل مانند PID _ Controller نداریم .
توجه : در زیر ، تعریف متغیرها ، ورودی ها و خروجی ها را داریم و آنها را تحلیل می کنیم :
*** پیکربندی سخت افزار در Simatic Manager :
*** آدرس کارت DI / DO :
*** مشخصات و آدرس کارت AI :
*** جدول Symbol Table و تعیین آدرس های سمبلیک برای متغیرها ، ورودی ها و خروجی های برنامه :
***ایجاد دیتا بلاک Data Block ( DB1 ) برای تعریف Set_Point :
*** برای اینکه PLC هردفعه به DB1 مراجعه نکند ، اطلاعات آن را به OB100 که جزو OBهای راهاندازی است ، منتقل می کنیم ، تا در ابتدای اجرای پروژه PLC اطلاعات آن را بخواند و اجرا کند:
توجــه مهم : علاوه بر فانکشن های سیستمی ( SFC ) ، خانواده ای از فانکشن ها با عنوان IEC Function Blocks وجود دارند که بسیاری از عملیات های پیچیده را ساپورت می کنند ، این فانکشن ها به چهاردسته تقسیم می شوند :
1- Convert که تبدیلی را روی نوع دیتا انجام می دهند .
2- DT که برای عملیات مقایسه تاریخ و زمان بکار می رود .
3- String که برای عملیات روی String کاربرد دارد .
4- Floating Point Math برای عملیات روی متغیرهای اعشاری و 32 بیتی ، بکار می رود .
در برنامه پروژه کنترل دمای آب استخر در Network1 در بلاک OB1 از این دسته از فانکشن ها که از نوع Convert می باشد ، برای مقیاس اندازه گیری سنسور RTD ، استفاده می گردد ، به طوریکه در قسمت Program Element ، قسمت منوی درختی Libraries و سپس قسمت Standard Library و بعد قسمت TI-S7 Converting Blocks را انتخاب کرده و درنهایت فانکشن FC105 را انتخاب می کنیم ، مانند شکل های زیر :
*** OB1 را ایجاد می کنیم و برنامه اصلی پروژه را در آن طراحی می کنیم :
*** حالت های مختلف Simulation را در شکل های زیر مشاهده می کنید ( آدرس ورودی ها و خروجی ها را از جدول Symbol Table پیدا کنید ) :
در شکل زیر ، سنسور S1 فعال و شستی استارت فشرده شده در نتیجه Pump1 , Boiler و Pump2 روشن شده اند :
درشکل زیر ، دما توسط RTD_Scale مقدار 29oC اندازه گیری شده درنتیجه Pump2 خاموش شده است :
در شکل زیر ، دما توسط RTD_Scale مقدار 27oC اندازه گیری شده درنتیجه Pump2 روشن شده است :
در شکل زیر ، شستی استپ فشرده شده و Pump1 , Boiler و Pump1 خاموش شدهاند :
*** برنامه را Monitoring می کنیم ، تا حالت های ورودی و خروجی را بهتر مشاهده کنیم :
دیزل ژنراتور ؛
دیزل ژنراتورها برای تولید برق به صورت اضطراری و یا حالت کار دائم بهره برداری میشوند، مقدار توان خروجی و بازدهی دیزل ژنراتور اطلاعات مهمی را برای انتخاب ظرفیت دیزل ژنراتور در اختیار سرمایه گذار قرار میدهد، برای تبدیل توان ظاهری به توان حقیقی از ضریبی به نام ضریب توان یا Power Factor استفاده میشود.
وکیوم کنتاکتور زیمنس
کنتاکتور وکیوم یا همان کنتاکتور خلاء است که در سیستم فشار متوسط مورد استفاده قرار می گیرد که عملکرد این کنتاکتور وکیوم زیمنس بسیار زیاد است که معمولاً جهت کلید زنی خازن ها مورد استفاده قرار می گیرد.
این نوع محصول شرکت زیمنس برای نصب در بانک های خازنی از 3/3 تا 6/6 کیلو وات کاربرد بیشتری دارد، عمر بالای این کنتاکتورها از ویژگی بارزشان است.
دیگر ویژگی های آن:
1- خاموش کردن جرقه به وسیله خلاء
2- کنترل کامل آرک در عملکرد های همچون بانک خازنی
3- ابعاد کوچک
4- وزن مناسب
5- نگهداری آسان و... .