محیط 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 ) :