3-3-2 عملکرد سرویس GD
این سرویس دارای یک عملکرد سیکلی است که در آن، CPU فرستنده (Sender) اقدام به ارسال دیتای خود (GD Paket) به همه CPUهای دریافتکننده دیتا مینماید. شکل 1-5 این نوع ارتباط را نشان میدهد.
شکل 1-5
در این ارتباط به سیکل ارسال دیتا، GD Circle گفته میشود. در صورتیکه تعداد GD Paketها بیشتر از یک عدد باشد، به ازای هر GD Paket اضافه، یک GD Circle نیز افزوده میشود. به شکل2-5 توجه فرمایید. توضیحات بیشتر در بخش 3-3-3 نیز آمده است.
شکل2-5
در S7-300 حداکثر تعداد GD Circleها (برای هر CPU استفاده شده در ارتباط) برابر چهار و در مدلهای جدید برابر 8 عدد بوده و در S7-400 این عدد برابر 16 عدد است البته بهتر است برای اطلاع از حداکثر تعداد GD Circle قابل پشتیبانی توسط هر CPU به کاتالوگ آن مراجعه نمود. شکل 3-5 ارتباط GD در 6 عدد GD Circle را نشان میدهد.
شکل 3-5
نکته دیگری که باید به آن توجه نمود ایسنت که عمل ارسال دیتا در انتهای سیکل اسکن (با توجه به تنظیم انجام شده در Scan Rate هر n سیکل یکبار) انجام میپذیرد و عمل دریافت دیتا در ابتدای سیکل اسکن (با توجه به تنظیم انجام شده در Scan Rate هر n سیکل یکبار) انجام میپذیرد. به شکل 4-5 توجه فرمایید.
شکل 4-5
3-3-3 پیکربندی و تنظیمات سرویس GD
بهطور کلی مراحل کار جهت پیکربندی و تنظیمات سرویس GD عبارتست از:
1- تعریف شبکه MPI و اتصال PLCهای مورد نظر به آن، ذخیرهسازی و Compile
2- باز نمودن بخش Global Data با راستکلیک روی گزینه MPI در محیط Simatic Manager (مطابق شکل 5-5)
شکل 5-5
3- افرودن CPUها مورد نظر به جدول، با انتخاب سطر مورد نظر و انجام راستکلیک و انتخاب گزینه CPU ؛ به شکل 6-5 توجه فرمایید.
شکل 6-5
4- مطابق شکل 7-5 CPU مورد نظر را انتخاب نمایید. در اینصورت CPU مورد نظر به جدول افزوده میشود.
شکل 7-5
5- تکمیل جدول GD با توجه به صورت نشان داده شده در شکل 8-5 ؛ همانطور که در این شکل مشخص است در سطر اول برای هر کدام از PLCها آدرس MW0 را وارد نموده و سپس با راستکلیک در آدرس مربوط به PLC فرستنده، گزینه Sender را انتخاب میکنیم. در اینصورت PLC1 بعنوان فرستنده (Sender) محسوب شده و دیتای درون آدرس MW0 خود را برای دو PLC دیگر ارسال میکند.
شکل 8-5
در صورتیکه تنظیم فوق انجام شد، محیط نرمافزار به صورت نشان داده در شکل 9-5 خواهد شد.
شکل 9-5
6- تنظیمات انجام شده را Compile نمایید. این کار را میتوان با انتخاب گزینه Compile از منوی GD Table انجام داد. به شکل 10-5 توجه فرمایید.
شکل 10-5
7- تنظیمات را به PLCها دانلود نمایید. برای انجام این کار میتوانید از کلید ترکیبی Ctr + L استفاده نمایید. در این صورت کادری به صورت نشان داده شده در شکل11-5 الف نمایان میشود، با انتخاب گزینه Yes کادر دیگری به صورت نشان داده شده در شکل 11-5 ب نمایان میشود که در آن میتوان PLCهای مورد نظر را برای انجام دانلود انتخاب نمود. اگر در این کادر روی گزینه OK کلیک نمایید، عمل دانلود به PLCها انجام شده و در پایان پیام تاییدی به صورت نشان داده شده در شکل 12-5 نمایان میشود.
الف) |
ب) |
شکل 11-5
شکل 12-5
تنظیمات سرویس GD
علاوه بر موارد بیان شده در بخش قبل، برخی از تنظیمات لازم به منظور ارتباط GD عبارتست از:
- تنظیم Scan Rate
- آدرسهای مجاز برای تبادل دیتا
- محاسبه تعداد GD Circleها
تنظیم Scan Rate
Scan Rate یکی از پارامترهای قابل تنظیم جهت ارسال و دریافت دیتا است که مشخص میکند ارسال دیتا پس از چند سیکلاسکن توسط CPU فرستنده (Sender) ارسال و پس از چند سیکلاسکن توسط CPU گیرنده (Receiver) دریافت شود. مثلا اگر این عدد برای یک CPU فرستنده (Sender) برابر 8 باشد، یعنی پس از 8 سیکلاسکن دیتا توسط CPU ارسال شود.
توجه فرمایید که در اولین Compile مقادیر پیشفرض بعنوان Scan Rate قرار گرفته و پنجرهای به صورت نشان داده شده در شکل 13-5 الف (دو شکل قبل الف) نمایش داده میشود؛ ولی پس از آن قابل تنظیم است. برای نمایش تنظیمات مربوط به Scan Rate، میتوان مطابق شکل 13-5 الف، از منوی View گزینه Scan Rates را انتخاب نمود. در اینصورت گزینههای مربوط به Scan Rate با عنوان SR به جدول GD افزوده میشود و کاربر میتواند نسبت به تغییر این اعداد اقدام نماید.
الف)
ب)
شکل 13-5
در تنظیم Scan Rate به نکات زیر توجه شود:
- در S7-300: scan rate * scan cycle time >= 60 milliseconds
- در S7-400: scan rate * scan cycle time >= 10 milliseconds
- تنظیم عدد 0 بعنوان Scan Rate برای تبادل غیرسیکلی اطلاعات در S7-400 است. در این حالت میتوان توسط بلاکهای GD_SND (SFC 60) و GD_RCV(SFC 61) تبادل اطلاعات را انجام داد.
- برای اطمینان از دریافت صحیح اطلاعات باید رابطه زیر بین Sender و Receiver وجود داشته باشد:
Scan rate (receiver) ´ scan cycle time (receiver) < scan rate (sender) ´ scan cycle time (sender)
- فواصل زمانی بین دو ارسال یا دریافت متوالی از ضرب سیکل اسکن در Scan Rate بدست میآید. مثلا اگر سیکل اسکن در یک CPU برابر 50 ms شود و عدد Scan Rate برابر 22 در نظر گرفته شود، فاصله زمانی بین دو ارسال برابر است با: 22 * 50ms = 1.1S در نتیجه این CPU هر 1 S یکبار اقدام به ارسال دیتا مینماید.
آدرسهای مجاز برای تبادل دیتا
یکی از نکات مهم در تنظیمات ارتباط GD، نحوه مشخص نمودن آدرس دیتاهای مورد نظر جهت ارسال و دریافت دیتا است. دیتاهای تا اندازه 32 بیت را میتوان به صورت معمولی آدرس دهی نمود، مثلا MD0 یا DB1.DBD4؛ اما دیتاهای بزرگتر را میتوان به صورت زیر آدرسدهی نمود. مثلا آدرسدهی 11 ورد با آدرس شروع MW0 عبارتست از:
MW0: 11 یعنی 11 عدد Word (22 بایت) با آدرس شروع MW0
DB8.DBB0:22 یعنی 22 بایت با آدرس شروع DB8.DBB0
حداکثر اندازه هر GD Paket در CPU های S7 به صورت زیر است:
- در S7-300 حداکثر 22 بایت
- در S7-400 حداکثر 54 بایت
- در صورتیکه در آدرس مربوط به GD Paketها از جند ناحیه آدرس مختلف استفاده شود، مثلا از آدرس MW0 و DBW0 ، دو بایت از حداکثر اندازه هر GD Paket کم میشود. مثلا در S7-300 حداکثر اندازه هر GD Paket به 20 بایت کاهش پیدا مینماید.
- در صورتی که یک آدرس به صورت بیتی باشد، از نظر اندازه در Paket، بعنوان یک بایت در نظر گرفته میشود.
محاسبه تعداد GD Circleها
همانطور که قبلا ذکر گردید، CPUهای ارسال کننده دیتا (Sender) مطابق یک سیکل به نام GD Circle اقدام به ارسال GD Paket مینمایند. تعداد GD Circleها برای هر CPU مهم بوده و دارای محدودیت است. حال به بررسی تعداد GD Circleهای مورد استفاده در ارتباطات میپردازیم:
- در S7-300 حداکثر تعداد GD Circle برابر 4 عدد است. این عدد برای CPUهای جدید و مدلهای بالاتر (مثلا CPU 317-2PN/DP) برابر 8 عدد است.
- در S7-400 حداکثر تعداد GD Circle برابر 16 عدد است.
- در S7-300 در صورتیکه یک CPU یک GD Paket را فقط برای یک CPU ارسال و از آن نیز فقط یک GD Paket دریافت نماید، یک GD Circle استفاده میشود.
- در S7-400 در صورتیکه سه CPU هر کدام یک GD Paket به دو CPU دیگر ارسال نماید، یک GD Circle محسوب میشود.
- در جدول GD برای هر کدام از GDها یک شماره درج میشود که عدد اول از سمت چپ بیانگر شماره GD Circle است. به شکل 14-5 توجه فرمایید.
شکل 14-5