Modbus TCP vs RTU شرح: الفرق في الإطار والسرعة والعنونة وطريقة الاختبار

Modbus TCP vs RTU شرح: الفرق في الإطار والسرعة والعنونة وطريقة الاختبار
دليل
Ahmet Korkmaz7 دقائق

Modbus TCP vs RTU: ما الفرق؟

Modbus RTU يعمل عبر خطوط تسلسلية مثل RS485 ويُنهي كل إطار بـ CRC. أما Modbus TCP فيحمل أكواد الوظائف نفسها عبر شبكة Ethernet/IP على المنفذ 502، مع رأس MBAP بطول 7 بايت بدلاً من الـ CRC. السجلات وأكواد الوظائف ونموذج البيانات متطابقة، والذي يختلف هو طريقة النقل فقط. ويظهر أثر هذا الفرق أكثر ما يظهر عند إعداد البوابات (gateways) وفي اتصالات «RTU over TCP» المضبوطة بشكل خاطئ.

مقارنة سريعة

Modbus RTUModbus TCP
الطبقة الفيزيائيةتسلسلي: RS485 (وأحياناً RS232)شبكة Ethernet / IP
العنونةSlave ID من 1 إلى 247عنوان IP + unit ID
المنفذمنفذ تسلسلي COM / ttyTCP 502
التحقق من الأخطاءCRC-16 في نهاية كل إطارتحقق TCP نفسه؛ لا يوجد CRC في Modbus
الرأسلا يوجد (slave ID + PDU + CRC)MBAP: transaction ID وprotocol ID وlength وunit ID
عدد الـ mastersmaster واحد لكل خطعدة clients في الوقت نفسه (حسب حد الجهاز)
السرعة المعتادة9600–115200 بت/ثشبكة 10/100 ميغابت؛ زمن استجابة الجهاز هو العامل الحاسم
المسافةنحو 1200 متر لكل مقطعحسب البنية الشبكية
أجهزة نموذجيةعدادات، حساسات، محركات، انفرترات صغيرةانفرترات، PLC، بوابات، محللات طاقة

بنية الإطار: هنا يكمن الفرق الحقيقي

الجزء الأوسط مشترك بين النوعين: PDU (كود الوظيفة + البيانات). الذي يتغير هو ما يحيط به.

إطار RTU: [Slave ID بايت واحد] [PDU] [CRC بايتان] تفصل بين الإطارات فترة صمت لا تقل عن زمن 3.5 حرف، وبهذا الصمت يعرف المستقبل أن الإطار انتهى.

إطار TCP: [Transaction ID 2] [Protocol ID 2 = 0] [Length 2] [Unit ID 1] [PDU] لا يوجد CRC لأن TCP يتحقق من البيانات أصلاً، ويسمح الـ transaction ID للـ client بربط كل استجابة بطلبها.

لماذا يبقى الـ unit ID في TCP؟

الجهاز المزوّد بمنفذ Ethernet خاص به يتجاهل الـ unit ID عادةً (أو يتوقع 1 أو 255). لكن خلف بوابة TCP إلى RTU يحدد الـ unit ID أي slave على جانب RS485 ستُرسل إليه البوابة الطلب. إذا لم يستجب جهاز خلف بوابة، فابدأ بفحص الـ unit ID.

«Modbus RTU over TCP» ليس Modbus TCP

بعض محولات التسلسلي إلى Ethernet تنقل إطار RTU كما هو (مع الـ CRC وبدون رأس MBAP) عبر TCP، ويُسمى ذلك «RTU over TCP» أو «الوضع الشفاف».

  • إذا اتصل به client من نوع Modbus TCP فسيُفتح اتصال TCP لكن لن تصل استجابة، أو تصل بيانات بلا معنى.
  • الحل: حوّل المحوّل إلى وضع «Modbus TCP gateway»، أو استخدم خيار RTU over TCP في الـ client.

كون المنفذ 502 مفتوحاً لا يثبت أن الجهاز يتحدث Modbus TCP.

أيهما تختار ومتى؟

  • أجهزة بسيطة كثيرة على مسافات قصيرة (عدادات، حساسات): RTU، فالتوصيل رخيص ولا يحتاج شبكة.
  • الموقع يعمل بـ Ethernet أصلاً أو تحتاج معدل بيانات أعلى: TCP.
  • مواقع مختلطة (مثل محطة شمسية): انفرترات على TCP، وعدادات وحساسات على RTU، وبينهما بوابة أو datalogger.

عملياً غالباً ما يكون الاختيار بيد الجهاز لا بيدك، والمهم أن تستطيع اختبار الجانبين.

اختبار الجانبين ببرنامج واحد

عند تركيب بوابة اعمل بهذا الترتيب:

  1. اختبر جانب RTU مباشرةً بمحوّل USB إلى RS485 (الإعدادات التسلسلية، slave ID، السجلات). راجع شرح اختبار Modbus RTU عبر RS485.
  2. ثم اختبر جانب TCP بالاتصال بعنوان IP البوابة على المنفذ 502 وقراءة السجل نفسه بالـ unit ID نفسه.
  3. إذا تطابقت القراءتان فالبوابة تعمل، وإذا اختلفتا فالمشكلة في إعداد الربط داخل البوابة.

يوفر Ranaliz iOT Tester دعم Modbus TCP وUDP وRTU التسلسلي في نافذة واحدة. يمكنك الانتقال من RTU إلى TCP في الجلسة نفسها ومقارنة النتيجتين جنباً إلى جنب. أكواد FC01–FC16 وخيارات endian وسجل المعاملات والتصدير إلى Excel/CSV كلها مجانية، على Windows وmacOS.

أسئلة شائعة

هل Modbus TCP أسرع من RTU؟

على مستوى الشبكة نعم، لكن زمن الاستعلام الفعلي يحدده غالباً زمن معالجة الجهاز. خط RTU متعدد الأجهزة بطيء أساساً لأن master واحداً يستعلم من كل جهاز بالتناوب.

ما المنفذ الذي يستخدمه Modbus TCP؟

TCP 502 افتراضياً، وبعض الأجهزة والبوابات تسمح بتغييره.

هل يدعم جهاز واحد TCP وRTU معاً؟

نعم. كثير من الانفرترات ومحللات الطاقة لديها منفذا Ethernet وRS485. خريطة السجلات عادةً واحدة، لكن تحقق من إزاحة العنوان في الجانبين.

ما هو Modbus ASCII؟

نوع تسلسلي أقدم يرسل البيانات كأحرف hex مع تحقق LRC. نادر اليوم، والتركيبات الجديدة تستخدم RTU.

المصادر

  • Modbus Organization — MODBUS Application Protocol Specification V1.1b3
  • Modbus Organization — MODBUS Messaging on TCP/IP Implementation Guide V1.0b
  • Modbus Organization — MODBUS over Serial Line Specification and Implementation Guide V1.02
A

Ahmet Korkmaz

مهندس كهرباء وإلكترونيات

منصة Ranaliz

راقب محطتك مع Ranaliz

أدِر منشآت الطاقة من منصة واحدة عبر المراقبة الآنية والتنبيهات الذكية والتحليلات المدعومة بالذكاء الاصطناعي.

طلب عرض تجريبي