با استفاده از رابط TCP/UDP میتوان دادههای RAW بین کنترلگر منطقی برنامه نویسی شده و سرور دور ارسال کرد. در همان زمان، یک سرور برای شنیدن دادهها نیز میتواند شروع شود.
Info: این رابط خودکاراً با چرخه آهستهترین کنترلگر منطقی برنامه نویسی شده همگام میشود. پیامهای سیستم بافر شدهاند، بنابراین هیچ پیام از دست نمیرود.
رنگهای زیر در Monitor استفاده میشوند.
| رنگ | توضیحات |
|---|---|
| سفید | هیچ خطایی رخ نداده است. |
| نارنجی | تایم اوت به دست آمده است. |
| سبز | اتصال با موفقیت انجام شد. |
| قرمز | اتصال برقرار نشد یا یک تایم اوت بحرانی در هنگام ارسال به دست آمد. ممکن است خطایی در ارتباط UDP تشخیص داده نشده باشد. |
ارسال و دریافت Broadcast و Multicast از طریق رابط TCP/UDP امکانپذیر است. در این صورت، حالت کار در پیکربندی گیتوی مناسب انتخاب میشود. سپس گزینههای مختلفی مانند TCP غیرموجود خواهند بود. علاوه بر این، انتخاب رابط خروجی اجباری خواهد بود.
برای ارسال پیامها، باید IP مطابق با دستورالعمل در کنار فیلد وارد شود. اگر این کار انجام نشود، پیام از طریق Unicast ارسال میشود.
| حالت | توضیحات |
|---|---|
| Unicast | ارتباط مستقیم را امکانپذیر میکند. |
| Broadcast محدود | ارتباط تنها در شبکه محلی را امکانپذیر میکند. (بез وابستگی به IP) |
| Broadcast هدایت شده | ارتباط با زیرشبکه Broadcast را امکانپذیر میکند. برای مثال، 10.0.0.255 اگر زیرشبکه 24 بیت داشته باشد یا به 255.255.255.0 تنظیم شده باشد. |
| Multicast | ارتباط از طریق Multicast را امکانپذیر میکند. در این صورت IGMP-Snooping استفاده میشود. |
در پیکربندی خط جدید، شرط برای پایان انتقال دادهها تعیین میشود. پایان شناسایی شده نیز همراه ارسال میشود.
اگر پایان شناسایی نشود، رابط تا رسیدن به تایم اوت یا پایان اتصال منتظر میماند و نتیجه را به کنترلگر منطقی برنامه نویسی شده ارسال میکند. بنابراین توصیه میشود که تمام بستههای دریافتی بررسی شوند. دریافت پیامهای UDP هیچ تایم اوتی ندارد.
این روش با استفاده از خط جدید زیر تعریف میشود:
HTTP
این روش خاص است، زیرا امکان پاسخ دادن به Content-Length در هدر را فراهم میکند.
برای پایان یافتن دریافت پس از یک طول مشخص، رشته زیر را میتوان در پیکربندی خط جدید استفاده کرد:
LEN === ###
در اینجا ### تعداد کاراکترها است. نحوه نوشتن باید دقیقاً مانند این باشد، شامل فضاهای خالی.
Achtung: استفاده از LEN === 1 هر کاراکتر را به صورت جداگانه دریافت میکند و ممکن است باعث افزایش بار سرور شود.
میتوان پایانهای مختلفی برای خطوط تعریف کرد. معمولاً \n یا \r استفاده میشود. هر خط یک شناسایی متفاوت از پایان خط را تعریف میکند.
زیرا در پیکربندی یک Escape دارند:
\\ \r \n \0
در ارتباط خروجی از طریق TCP، پس از هر درخواست اتصال دوباره بسته میشود.
اگر در زمان درخواست sendrecv پاسخ دریافت نشود، رابط ارسالکننده تا رسیدن به تایم اوت بلوک میشود. در Monitor یک خطا نمایش داده میشود.
| متغیر | توضیحات |
|---|---|
| دادهها را به سرور ارسال میکند. | |
| همه دادهها را به سرور ارسال میکند و در این过程中 هیچ پیام را نادیده نمیگذارد. | |
| مانند send، اما در انتظار پاسخ است. | |
| مانند !send، اما در انتظار پاسخ است. | |
| پاسخ از |
|
| دادههایی که از سرور محلی دریافت شدهاند. | |
| اگر در هنگام انتقال داده خطایی رخ دهد، مقدار درست است. این میتواند در sendrecv پس از تایم اوت رخ دهد. |
Hinweis: لطفاً به امنیت رابط توجه کنید. دادهها هرگز باید مستقیم از طریق اینترنت منتقل نشوند. در اینجا احراز هویت و رمزنگاری از طریق SSL یا TLS وجود ندارد.