🔹 TCP و ISO-on-TCP

 پروتکل TCP (Transport Control Protocol)

پروتکل TCP مطابق با استاندارد RFC 793 تعریف شده است (Transmission Control Protocol).
هدف اصلی آن، ایجاد یک ارتباط قابل اطمینان (Reliable Connection) بین دو فرآیند در شبکه است.

ویژگی‌های کلیدی TCP عبارت‌اند از:

  • پروتکلی کارآمد و نزدیک به سخت‌افزار است، بنابراین تأخیر کمی دارد.
  • برای حجم‌های متوسط تا زیاد داده‌ها (تا حدود 8192 بایت) مناسب است.
  • امکانات متنوعی برای برنامه‌ها فراهم می‌کند، از جمله بازیابی خطا، کنترل جریان داده و قابلیت اطمینان بالا.
  • از نوع Connection-oriented است (پیش از ارسال داده، ارتباط باید برقرار شود).
  • برای سیستم‌های جانبی (Third-party systems) که فقط از TCP پشتیبانی می‌کنند، کاملاً سازگار و انعطاف‌پذیر است.
  • قابل مسیریابی (Routing-capable) است، بنابراین می‌تواند در شبکه‌های بزرگ (LAN/WAN) استفاده شود.
  • فقط از طول داده‌ی ثابت (Static Data Length) پشتیبانی می‌کند.
  • پیام‌ها باید تأیید (Acknowledge) شوند.
  • برنامه‌ها از طریق شماره پورت (Port Number) آدرس‌دهی می‌شوند.

پروتکل ISO-on-TCP

بسیاری از پروتکل‌های کاربردی استاندارد مانند TELNET و FTP، بر پایه‌ی TCP اجرا می‌شوند.
با این حال، هنگام استفاده از رابط‌های برنامه‌نویسی SEND/RECEIVE، برای مدیریت داده‌ها نیاز به کدنویسی در سطح کاربر وجود دارد.

پروتکل ISO-on-TCP (استاندارد RFC 1006) مکانیزمی است که به برنامه‌های مبتنی بر ISO اجازه می‌دهد تا روی شبکه‌های TCP/IP قابل اجرا باشند.

ویژگی‌های کلیدی ISO-on-TCP عبارت‌اند از:

  • پروتکلی کارآمد و نزدیک به سخت‌افزار است.
  • برای حجم‌های متوسط تا زیاد داده‌ها (تا 8192 بایت) مناسب است.
  • برخلاف TCP، پیام‌ها دارای نشانگر پایان داده (End-of-data identification) بوده و Message-oriented هستند (بر پایه‌ی پیام، نه جریان بایت).
  • قابل مسیریابی است و می‌تواند در شبکه‌های WAN استفاده شود.
  • از طول داده‌ی پویا (Dynamic Data Length) پشتیبانی می‌کند.
  • مشابه TCP، در سطح برنامه‌نویسی به مدیریت داده از طریق SEND/RECEIVE نیاز دارد.
  • از TSAP (Transport Service Access Point) برای مدیریت ارتباط‌ها استفاده می‌کند.
    این ویژگی به پروتکل اجازه می‌دهد که چندین اتصال هم‌زمان (تا 64K کانکشن) را روی یک آدرس IP برقرار کند.
    با RFC 1006، هر TSAP به‌صورت یکتا یک نقطه‌ی انتهایی ارتباط (Communication Endpoint) را روی IP مشخص می‌کند.

 جمع‌بندی

ویژگی
TCP
ISO-on-TCP
نوع پروتکلجریان‌محور (Stream-based)پیام‌محور (Message-based)
نوع دادهطول ثابتطول پویا
روش آدرس‌دهیشماره پورت (Port Number)TSAP (کد سرویس انتقال)
تأیید پیامدارد (ACK)دارد (با کنترل ISO)
مناسب برایارتباط با نرم‌افزارها و دستگاه‌های غیرزیمنسارتباط بین PLCهای زیمنس و سیستم‌های صنعتی ISO
قابلیت مسیریابیدارددارد (حتی در WAN)
نیاز به مدیریت برنامهدارددارد (SEND/RECEIVE interface)
حداکثر حجم پیامتا 8192 بایتتا 8192 بایت
شناسایی پایان دادهندارددارد (End-of-data flag)
نوع اتصالConnection-orientedConnection-oriented (با مدیریت TSAP)

🔹 حالت Ad hoc در TCP و ISO-on-TCP

معمولاً پروتکل‌های TCP و ISO-on-TCP داده‌ها را به صورت پکت‌هایی با طول مشخص دریافت می‌کنند که طول آن‌ها بین ۱ تا ۸۱۹۲ بایت قابل تنظیم است.

با این حال، دستورهای TRCV_C و TRCV یک حالت ویژه به نام Ad hoc mode نیز ارائه می‌دهند:

  • در این حالت می‌توان داده‌هایی با طول متغیر از ۱ تا ۱۴۶۰ بایت دریافت کرد.

🔹 محدودیت‌ها هنگام استفاده از DB بهینه (Optimized DB)

اگر داده‌ها را در یک DB بهینه (فقط symbolic) ذخیره کرده باشید، در حالت Ad hoc می‌توان داده‌ها را فقط به صورت آرایه‌هایی از نوع Byte, Char, USInt و SInt دریافت کرد.

  • برای فعال‌سازی حالت Ad hoc:
    • پارامتر ADHOC در ورودی دستور TRCV_C یا TRCV باید تنظیم شود.

🔹 نکته مهم در دریافت چند بسته

اگر دستور TRCV_C یا TRCV در حالت Ad hoc به صورت مکرر فراخوانی نشود، ممکن است چند پکت در یک فراخوانی ترکیب شوند:

مثال:

  • فرض کنید می‌خواهید ۵ پکت ۱۰۰ بایتی را با یک فراخوانی دریافت کنید:
    • در TCP، این پنج پکت به صورت یک پکت ۵۰۰ بایتی تحویل داده می‌شوند.
    • در ISO-on-TCP, پکت‌ها به همان ۵ پکت ۱۰۰ بایتی بازسازی می‌شوند و ساختار پیام حفظ می‌شود.


یعنی ISO-on-TCP ساختار پکت‌ها را حفظ می‌کند، اما TCP داده‌ها را به یک جریان یکنواخت تبدیل می‌کند.


🔧 جمع‌بندی

ویژگیTCPISO-ON-TCP
دریافت داده در Ad hoc modeپکت‌ها ممکن است ترکیب شوند و به صورت یک جریان طولانی تحویل داده شوندپکت‌ها به همان شکل اصلی بازسازی می‌شوند
طول داده قابل دریافت در Ad hoc۱ تا ۱۴۶۰ بایت۱ تا ۱۴۶۰ بایت
محدودیت DB بهینهفقط Byte, Char, USInt, SIntفقط Byte, Char, USInt, SInt
کاربرددریافت داده‌های پیوسته یا ترکیبیحفظ ساختار پکت‌ها برای ارتباط صنعتی دقیق

🔹 پروتکل UDP (User Datagram Protocol)

UDP مطابق با RFC 768 تعریف شده است و یک پروتکل استاندارد برای ارسال Datagram بین دو برنامه است.
نکته مهم: تحویل داده تضمین نمی‌شود، یعنی اگر بسته‌ای در مسیر گم شود، UDP خودش آن را بازنفرست نمی‌کند و مسئولیت مدیریت خطا بر عهده برنامه‌نویس است.

ویژگی‌های کلیدی UDP:

  • سریع و سبک است و تأخیر بسیار کمی دارد.
  • مناسب برای داده‌های کوچک تا متوسط (حداکثر 2048 بایت).
  • یک پروتکل ساده‌تر نسبت به TCP است و لایه سبک‌تری دارد، بنابراین سربار شبکه کمتر است.
  • کاملاً انعطاف‌پذیر برای سیستم‌های جانبی (Third-party) که UDP را پشتیبانی می‌کنند.
  • قابل مسیریابی (Routing-capable) است.
  • برای ارسال داده‌ها از شماره پورت (Port Number) استفاده می‌شود.
  • پیام‌ها بدون تأیید (Unacknowledged) ارسال می‌شوند؛ بنابراین برنامه مسئول بازیابی خطا و امنیت است.
  • به دلیل استفاده از رابط‌های SEND / RECEIVE، نیاز به برنامه‌نویسی برای مدیریت داده‌ها وجود دارد.
  • پشتیبانی از Broadcast:
    برای استفاده از Broadcast، باید بخش IP آدرس در پیکربندی ADDR تنظیم شود.
    مثال:
    • اگر CPU دارای IP 192.168.2.10 و Subnet Mask 255.255.255.0 باشد، آدرس Broadcast برابر 192.168.2.255 خواهد بود.


در آینده بلوک های برنامه نویسی در تیاپورتال هم بررسی میکنیم. تا اینجت فقط ی مقدمه داشته باشید. این مقدمه هم بر اساس ترجمه مستندات رسمی زیمنس ارائه شده اند.