🔹 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-oriented | Connection-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 دادهها را به یک جریان یکنواخت تبدیل میکند.
🔧 جمعبندی
ویژگی | TCP | ISO-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 خواهد بود.
در آینده بلوک های برنامه نویسی در تیاپورتال هم بررسی میکنیم. تا اینجت فقط ی مقدمه داشته باشید. این مقدمه هم بر اساس ترجمه مستندات رسمی زیمنس ارائه شده اند.
دیدگاه خود را بنویسید