3-2 سرویس ارتباطی S7 communication
با استفاده از این سرویس ارتباطی میتوان با انجام تنظیمات پیکربندی ارتباط در نرمافزار STEP7 و تعریف یک اتصال منطقی از نوع S7-Connection در Netpro بین دو PLC با یکدیگر به تبادل دیتا پرداخت.
3-2-1 خصوصیات سرویس S7 communication
- این سرویس تحت شبکههای MPI، Profibus، Profinet و Industrial Ethernet ارائه شده است.
برخی از خصوصیات این سرویس برای شبکه MPI عبارتست از:
- این سرویس به صورت سرور/کلاینت و کلاینت/کلاینت عمل میکند.
- PLCهای S7-300 فقط میتوانند بعنوان سرور مورد استفاده قرار گیرند و توسط یک PLC S7-400، دیتای آنها را خوانده و یا دیتایی در آنها نوشت.
- در این سرویس نمیتوان در دو طرف ارتباط از PLC S7-300 استفاده نمود. حداقل باید یکطرف PLC S7-400 قرار داشته باشد.
- PLCهای S7-400 میتوانند بعنوان سرور و کلاینت مورد استفاده قرار گیرند. در این صورت میتوان از همه بلاکهای ارائه شده توسط این سرویس برای ارتباط استفاده نمود.
- در این روش تعریف کانکشن در نرمافزار Netpro الزامی است. برای تعریف کانکشن، یک PLC بعنوان Local و دیگری بعنوان Partner معرفی میشود. امکان تعریف PLC S7-300 بعنوان Local وجود نداشته و فقط میتوان این نوع PLC را بعنوان Partner معرفی نمود.
- حجم دیتای قابل تبادل در این سرویس میتواند حداکثر برابر 64 K Byte باشد که بسیار بیشتر از سرویس S7 basic communication است.
- در این روش میتوان چندین کانکشن مختلف بین یک PLC با یک یا چند PLC دیگر ایجاد نمود. البته باید به تعداد کانکشنهای مجاز هر CPU نیز توجه نمود.
- در این سرویس، انتقال و دریافت اطلاعات توسط SFBها و FBهای خاصی صورت میپذیرد. لیست این بلاکها در جدول … نشان داده شده است. {رفرنس1}
سرویسهای ارائه شده توسط سرویس S7 communication جهت شبکه MPI عبارتند از:
- BSEND / BRCV: ارسال و دریافت اطلاعات به صورت تایید شده با امنیت بالا (مخصوص S7-400)، بر مبنای ارتباط کلاینت/کلاینت
- USEND / URCV: ارسال و دریافت اطلاعات بدون تایید، بر مبنای ارتباط کلاینت/کلاینت
- GET/PUT: انجام عمل خواندن و یا نوشتن اطلاعات در یک PLC دیگر بدون برنامهنویسی در آن، بر مبنای ارتباط سرور/کلاینت
جدول 1-4 خصوصیات ارتباط S7 communication را نشان میدهد.
جدول 1-4
جدول 2-4 بلاکهای مورد استفاده در برنامهنویسی ارتباط S7 communication و حداکثر حجم دیتای قابل انتقال توسط آنها را نشان میدهد.
جدول 2-4 بلاکهای مورد استفاده در سرویس S7 communication
نوع سرویس | بلاکهای S7-300 | بلاکهای S7-400 | حداکثر حجم دیتا
در S7-300 |
حداکثر حجم دیتا
در S7-400 |
BSEND / BRCV | FB12/ FB13 | SFB12/SFB13 | 64 Kbytes | 64 Kbytes |
USEND / URCV | FB8/ FB9 | SFB8/ SFB9 | 160 Bytes | 440 Bytes |
GET/PUT | FB14/ FB15 | SFB14/ SFB15 | 160 Bytes | 440 Bytes |
نکته1: مسیر قرارگیری بلاکهای برای ارتباط از طریق MPI (منظور زمانی که از پورت CPU استفاده میشود نه از CP):
- S7-300: در مسیر Library: Standard Library / Communication Blocks
- S7-400: در مسیر Library: Standard library / System function blocks
نکته2: بلاکهای S7-300 زمانی قابل استفاده است که از پورت PN (Profinet) روی CPU استفاده شود و برای شبکه MPI قابل استفاده نیست.
تعریف ارتباط از نوع S7-Connection
همانطور که ذکر شد، سرویس S7 communication (S7 Connection) سرویسی است که نیاز به تعریف کانکشن در بخش NetPro دارد. برای این منظور میتوان به روش زیر عمل نمود:
1- برای هر PLC به طور جداگانه وارد محیط HW Config شده و تنظیمات سختافزاری لازم را انجام دهید. سپس تنظیمات ارتباط CPU با شبکه MPI را نیز انجام داده و یک آدرس دلخواه به CPU اختصاص دهید. به شکل 1-4 توجه فرمایید. در پایان تنظیمات را Compile نمایید.
شکل 1-4
2- در محیط Simatic Manager از منوی Options گزینه Configure Network را انتخاب نمایید. در اینصورت محیط نرمافزار NetPro به صورت شکل 2-4 نمایان میشود. شکل2-4 حالتی را نشان میدهد که دو PLC S7-300 و یک PLC S7-400 به شبکه MPI متصل شدهاند.
شکل 2-4
هدف ما در این تمرین، ایجاد ارتباط بین PLC S7-400 با PLC 2 (S7-300) است.
3- ابتدا با موس روی گزینه CPU 414-1 در آیکن مربوط به SIMATIC 400(1) کلیک نموده و سپس از Insert گزینه New Connection را انتخاب نمایید. در اینصورت کادر Insert New Connection به صورت نشان داده شده در شکل 3-4 نمایان میشود. در این کادر، در بخش Connection Partner وارد زیرمجموعه PLC 2 شده و گزینه CPU 315-2DP را انتخاب نموده و در بخش Connection، سرویس S7 connection را انتخاب نمایید.
شکل 3-4
4- روی گزینه Apply کلیک نمایید، در اینصورت کادر Properties- S7 Connection به صورت نشان داده شده در شکل 4-4 نمایان میشود. در این شکل، گزینه مهم، کد ID است که بعدا باید در بلاکهای برنامهنویسی وارد شود.
شکل 4-4
5- در کادر Properties- S7 Connection روی گزینه OK کلیک نمایید. در اینصورت یک سطر جدید به جدول موجود در نرمافزار NetPro افزوده میشود. به شکل 5-4 توجه فرمایید.
شکل 5-4
6- در پایان از منوی Network گزینه Save And Compile را انتخاب نموده و در کادر باز شده، گزینه Compile Change Only را انتخاب نمایید تا تنظیمات ذخیرهسازی و Compile شود. در صورتیکه در این کادر، گزینه Compile and check everything را انتخاب نمایید، همه تنظیمات پیکربندی بررسی و Compile میشود.
شکل 6-4
آشنایی با بلاک BSEND (FB12/SFB12) (در شبکه MPI مخصوص S7-400)
از این بلاک بهمنظور ارسال دیتا در سمت فرستنده (سرور) استفاده میشود. در شکل 7-4 بلاک BSEND (FB12/SFB1) در زبان LAD به همراه پارامترهای آن نشان داده شده است.
شکل 7-4
جدول 3-4 نیز پارامترهای بلاک BSEND (FB12/SFB1) به همراه عملکرد آنها را نشان میدهد.
جدول 3-4
پارامتر | ورودی/ خروجی | Data Type | عملکرد |
REQ | Input | BOOL | فعالساز ارسال دیتا توسط بلاک (با اعمال لبه بالارونده ارسال دیتا آغاز میشود) |
R | Input | BOOL | لغو کردن ارسال دیتا |
ID | Input | WORD | ID مربوط به کانکشن تعریف شده در NetPro |
R_ID | Input | DWORD | کد مشخصکننده جهت دریافت اطلاعات در گیرنده برای چندبار استفاده از بلاک میتوان در این پایه کد مشخصی را وارد و در گیرنده نیز همان کد را وارد نمود تا دیتا به درستی به گیرنده ارسال شود. |
DONE | Output | BOOL | نشان دهنده پایان ارسال دیتا با گرفتن مقدار یک منطقی، مقدار صفر منطقی بیانگر اینست که ارسال دیتا انجام نشده و یا به پایان نرسیده است. |
ERROR | Output | BOOL | مقدار یک منطقی بیانگر بروز خطا و مقدار صفر منطقی بیانگر عدم بروز خطا در ارسال اطلاعات است. |
STATUS | Output | WORD | کد وضعیت را نشان میدهد که در شرایط بروز خطا کد متناسب با نوع خطا را نشان میدهد. این کدها در Help بلاک موجود است. |
SD_1 | IN_OUT | ANY | آدرس دیتای مورد نظر جهت ارسال به فرم Pointer مثلا p# DB10.DBX5.0 Byte 10 |
LEN | IN_OUT | WORD | اندازه دیتای ارسالی بر حسب Byte (در صورتی که در پایه SD_1 اندازه دیتا وارد نشود) |