شرح Modbus RTU: كيف تختبر اتصال RS485 خطوة بخطوة

شرح Modbus RTU: كيف تختبر اتصال RS485 خطوة بخطوة
دليل
Ahmet Korkmaz8 دقائق

شرح Modbus RTU: كيف تختبر اتصال RS485

اختبار Modbus RTU يعني الإجابة على خمسة أسئلة بالترتيب: هل التوصيل صحيح؟ هل إعدادات المنفذ التسلسلي مطابقة للجهاز؟ هل رقم الـ slave صحيح؟ هل نطلب كود الوظيفة والعنوان الصحيحين؟ هل تُقرأ القيمة بالشكل الصحيح؟ معظم بلاغات «الجهاز لا يستجيب» في الموقع تنتهي عند السؤال الأول أو الثاني. يشرح هذا الدليل كيف تغلق الأسئلة الخمسة في نحو 15 دقيقة باستخدام محوّل USB إلى RS485 وبرنامج اختبار Modbus مجاني.

ما تحتاجه

العنصرملاحظة
محوّل USB إلى RS485المحولات الرخيصة المبنية على FTDI أو CH340 تكفي. ثبّت التعريف أولاً.
كابل مزدوج مجدول (twisted pair)يُفضّل المحجوب، مع تأريض الحجب من طرف واحد فقط.
مقاومتان 120 أومللإنهاء في طرفي الخط. كثير من الأجهزة توفرها عبر مفتاح DIP.
دليل الجهازفيه سرعة البود والـ parity ورقم الـ slave وخريطة السجلات.
برنامج اختبار Modbus RTUمثل Ranaliz iOT Tester المجاني (Windows وmacOS).

الخطوة 1: افحص التوصيل والقطبية

RS485 خط تفاضلي بسلكين. أكثر الأعطال شيوعاً هو عكس قطبية A/B، فبعض المصنّعين يسمّي A «+» وآخرون «−»، وقد تجد أيضاً تسميات مثل D+/D− وD0/D1 وTX+/TX−.

  • لا توجد استجابة إطلاقاً؟ بدّل A وB أولاً، فهذا لا يضر دوائر RS485.
  • مدّد الخط على شكل سلسلة (daisy chain). التوصيل النجمي والتفرعات الطويلة تسبب انعكاسات.
  • ركّب مقاومة الإنهاء 120 أوم في الطرفين الفعليين فقط، وليس على الأجهزة في المنتصف.
  • المقطع القياسي يستهدف 32 حملاً ونحو 1200 متر، وتقل المسافة الآمنة مع ارتفاع سرعة البود.

الخطوة 2: طابق إعدادات المنفذ التسلسلي

يجب أن يستخدم الطرفان نفس سرعة البود والـ parity وبتات البيانات وبتات التوقف. أي اختلاف يعني عدم وجود استجابة أو أخطاء CRC.

المعاملالقيمة الشائعةملاحظة
Baud9600 أو 19200القيمة الافتراضية في مواصفة Modbus هي 19200
Data bits8دائماً 8 في RTU
ParityEven أو Noneالافتراضي في المواصفة Even
Stop bits1 مع parity / 2 بدونهاعملياً تستخدم أجهزة كثيرة 8N1

في Windows يظهر المنفذ مثل COM3، وفي macOS مثل /dev/tty.usbserial-…. افصل المحوّل وأعد توصيله لتعرف أي منفذ هو الجديد.

الخطوة 3: تأكد من وجود master واحد فقط

في خط Modbus RTU يتحدث master واحد فقط. إذا كان datalogger أو PLC أو SCADA يستعلم بالفعل، فستتصادم طلبات برنامج الاختبار مع حركته، والنتيجة timeout وأخطاء CRC عشوائية. افصل الـ master الحالي أو أوقفه أثناء الاختبار.

الخطوة 4: رقم الـ slave وأول قراءة

أدخل أربع قيم في برنامج الاختبار:

  1. Slave ID: من 1 إلى 247، والقيمة الافتراضية غالباً 1.
  2. كود الوظيفة: عادةً FC03 (holding registers) أو FC04 (input registers) للقياسات.
  3. عنوان البداية: من دليل الجهاز. انتبه: الدليل الذي يذكر «40001» يقصد غالباً العنوان 0 في البروتوكول.
  4. العدد: من 1 إلى 10 سجلات تكفي في المحاولة الأولى.

إذا وصلت استجابة فالاتصال يعمل، وكل ما بعد ذلك مسألة تفسير بيانات وليس مسألة اتصال.

الخطوة 5: فسّر القيمة بشكل صحيح

القيم ذات 32 بت (float وuint32) تمتد على سجلين، والأجهزة تختلف في ترتيب الكلمات. إذا رأيت أرقاماً كبيرة بلا معنى:

  • غيّر نوع البيانات بين float32 / int32 / uint32.
  • جرّب word swap (CDAB) وbyte swap.
  • راجع معامل المقياس في الدليل (×0.1 أو ×0.01).

مثال: جهد 230.4 فولت يظهر «2304» هو قيمة صحيحة بمعامل 0.1.

الأعطال الشائعة ومعناها

العَرَضالسبب المحتمل
لا استجابة (timeout)A/B معكوسة، baud أو parity خاطئة، slave ID خاطئ، منفذ COM خاطئ
أخطاء CRCاختلاف parity أو stop bits، غياب الإنهاء، ضوضاء، master ثانٍ
timeout متقطعmaster ثانٍ على الخط، كابل طويل جداً، توصيل نجمي
Exception 02العنوان غير موجود، غالباً إزاحة بمقدار واحد
Exception 01كود الوظيفة غير مدعوم (جرّب FC04 بدل FC03)
قيم بلا معنىنوع بيانات أو ترتيب كلمات أو مقياس خاطئ

لشرح كل أكواد الاستثناء راجع Modbus exception codes (بالإنجليزية).

اختبار RS485 مع Ranaliz iOT Tester

Ranaliz iOT Tester تطبيق سطح مكتب مجاني يختبر Modbus RTU عبر المنفذ التسلسلي:

  • الإعدادات التسلسلية: baud وparity وstop bits والـ timeout وفاصل الاستعلام حسب الجهاز.
  • FC01–FC16: قراءة coils وdiscrete inputs وholding وinput registers، وكتابة مفردة ومتعددة.
  • العرض: قيمة خام، int/uint/float، hex، ثنائي، ASCII، مع big/little وswapped endian.
  • السجلات: سجل المعاملات وتصدير إلى Excel/CSV.

ويحتوي التطبيق نفسه على Modbus TCP وIEC-104 وMQTT. بعد التحقق من جانب RS485 يمكنك الانتقال إلى جانب TCP في البوابة دون تثبيت برنامج آخر. أما القراءة المستمرة والإرسال إلى السحابة فمهمة مختلفة يقوم بها Ranaliz Datalogger.

أسئلة شائعة

هل RS485 وModbus RTU الشيء نفسه؟

لا. RS485 هي الطبقة الفيزيائية: الكابل ومستويات الجهد. Modbus RTU هو البروتوكول الذي يُتحدث عبرها، ويمكن تشغيل بروتوكولات أخرى على RS485 أيضاً.

كم جهازاً يمكن توصيله على خط RS485 واحد؟

32 جهازاً بالحمل القياسي، وأكثر مع مستقبلات ربع أو ثُمن حمل. أما عنونة Modbus فمحدودة بـ 247 slave.

ماذا يحدث بدون مقاومة إنهاء؟

مع كابل قصير وسرعة منخفضة يعمل غالباً. مع خطوط طويلة وسرعات أعلى تسبب الانعكاسات أخطاء CRC وtimeout متقطعاً.

ما البرنامج المناسب لاختبار Modbus RTU؟

Ranaliz iOT Tester خيار مجاني بإصدارات جاهزة لـ Windows 10/11 وmacOS على Apple Silicon، ولا يحتاج مفتاح ترخيص. راجع أيضاً برنامج Modbus tester المجاني.

المصادر

  • Modbus Organization — MODBUS over Serial Line Specification and Implementation Guide V1.02
  • TIA/EIA-485-A — Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems
A

Ahmet Korkmaz

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

منصة Ranaliz

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

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

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