# Modbus TCP وModbus RTU

> اربط وحدات PLC ومغيّرات السرعة وعدادات الطاقة ووحدات الإدخال/الإخراج التي تدعم Modbus، واجعل قيمها متاحة لعملاء OPC UA وشاشات SCADA والسجل التاريخي ومساعدي الذكاء الاصطناعي.

يُعد Modbus أكثر بروتوكولات الحقل انتشارًا في الصناعة: إذ تدعمه دائمًا تقريبًا وحدات PLC ومحوّلات التردد وعدادات الطاقة ومنظّمات الحرارة ووحدات الإدخال/الإخراج البعيدة. ويتضمن PLCGateway وحدة Modbus Master تدعم Modbus TCP، وModbus RTU المنقول عبر TCP (البوابات التسلسلية)، وModbus RTU على منفذ تسلسلي.

تُدمج السجلات المتجاورة في طلب واحد بحيث يُقرأ الجهاز كاملًا ببضعة إطارات، وتُجمّع قيم 32 و64 بت وفق ترتيب الكلمات في الجهاز، وتحمل كل قيمة رمز جودة. ويمكن بعد ذلك نشر القيم عبر خادم OPC UA المدمج، وإرسالها عبر MQTT، وتسجيلها، وربطها بالإنذارات، وعرضها على الشاشات.

- **معرّف برنامج التشغيل:** `modbus_tcp`, `modbus_rtu_tcp`, `modbus_rtu`
- **الاتصال:** TCP 502 · RTU over TCP · RS-485 / RS-232
- **استعراض العناوين:** تُكتب العناوين يدويًا أو تُستورد
- **الكتابة:** نعم
- **مضمَّن في:** PLCGateway Connect, PLCGateway SCADA, PLCGateway Embedded

## ما يقرؤه PLCGateway ويكتبه

- سجلات Holding (FC3) وسجلات Input (FC4)
- Coils (FC1) والمداخل المنفصلة Discrete Inputs (FC2)
- بتات مفردة من السجل كقيم BOOL
- من INT16 إلى INT64، وFLOAT32 / FLOAT64، والسلاسل النصية مع ترتيب كلمات قابل للاختيار (ABCD وCDAB وBADC وDCBA)
- الكتابة بالدوال FC5 وFC6 وFC16، وبتات السجلات بأسلوب قراءة-تعديل-كتابة (read-modify-write)
- عدة أجهزة تابعة (Slaves) خلف بوابة واحدة عبر معرّف الوحدة (unit id)

## أمثلة على العناوين

| العنوان | المعنى |
|---|---|
| `HR100 · %MW100` | سجل Holding رقم 100 (الترقيم من 0) |
| `40101` | الترميز التقليدي (الترقيم من 1) لسجل Holding رقم 100 |
| `IR5 · 30006` | سجل Input |
| `C12 · 00013` | Coil |
| `DI7 · 10008` | مدخل منفصل (Discrete Input) |
| `HR20.7` | البت 7 من سجل Holding رقم 20 |

## وحدات التحكم والأجهزة

- [Schneider Electric Modicon](https://plcgateway.com/ar/controllers/schneider-electric.md)
- [وحدات التحكم المبنية على CODESYS](https://plcgateway.com/ar/controllers/codesys-plcs.md)
- [أتمتة المباني وعدادات الطاقة](https://plcgateway.com/ar/controllers/building-automation.md)

## الربط في بضع خطوات

1. أضف جهازًا، واختر Modbus TCP أو RTU عبر TCP أو RTU التسلسلي، وأدخل عنوان IP أو المنفذ التسلسلي مع معدّل الباود والتكافؤ.
2. اضبط معرّف الوحدة (unit id)، واضبط لقيم 32 بت ترتيب الكلمات المعتمد في الجهاز.
3. أنشئ الوسوم بعناوينها وأنواع بياناتها، أو استورد قائمة السجلات من CSV؛ ثم اختبر الاتصال لرؤية القيم الأولى.
4. استخدم القيم في الشاشات والسجل التاريخي والإنذارات، أو شاركها عبر OPC UA وMQTT.

## أسئلة وأجوبة

### هل يدعم PLCGateway بروتوكول Modbus RTU عبر RS-485؟

نعم. يستخدم برنامج التشغيل modbus_rtu منفذًا تسلسليًا (RS-485 أو RS-232) مباشرة، بينما يرسل modbus_rtu_tcp إطارات RTU عبر بوابة تحويل من التسلسلي إلى Ethernet.

### تبدو قيم float لديّ خاطئة. ماذا أغيّر؟

تخزّن معظم الأجهزة قيمة 32 بت في سجلين، لكنها تختلف في ترتيبهما. اختر ترتيب الكلمات ABCD أو CDAB أو BADC أو DCBA على مستوى الجهاز أو لوسم واحد حتى تطابق القيمة ما تعرضه شاشة الجهاز.

### هل يمكن أن يعمل PLCGateway أيضًا كخادم Modbus؟

نعم. إلى جانب برنامج تشغيل Modbus، يتضمن PLCGateway خادم Modbus TCP يتيح جميع الوسوم على شكل Coils وسجلات، بحيث تستطيع وحدة PLC أخرى أو نظام SCADA قراءة البيانات المجمّعة عبر Modbus.

## بروتوكولات ذات صلة

- [BACnet/IP](https://plcgateway.com/ar/protocols/bacnet.md)
- [Siemens S7](https://plcgateway.com/ar/protocols/siemens-s7.md)
- [عميل OPC UA](https://plcgateway.com/ar/protocols/opc-ua.md)
- [DNP3 (IEEE 1815)](https://plcgateway.com/ar/protocols/dnp3.md)
- [جميع البروتوكولات](https://plcgateway.com/ar/protocols.md)

_أسماء المنتجات والطرازات علامات تجارية لأصحابها. وهي مذكورة فقط لتوضيح المعدّات التي تتواصل معها برامج التشغيل؛ ولا تربط PLCGateway أي صلة بهذه الشركات._

---
Source: https://plcgateway.com/ar/protocols/modbus
