> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/input-output/communication/opc-ua-client.md).

# OPC UA Client

هذه الدالة (function block) تنشئ وتحافظ على اتصال مع خادم OPC UA حتى تتمكن وحدات الاتصال الأخرى من القراءة من الخادم أو الكتابة إليه. توفر حقولًا بسيطة لعنوان الخادم وبيانات الاعتماد الاختيارية، تراقب صحة الاتصال وتحاول إعادة الاتصال تلقائيًا عند الحاجة.

## 📥 المدخلات

`(none)`\
لا يحتاج هذا البلوق إلى أي مدخلات للتشغيل. يعمل كمزود اتصال يمكن لباقي البلوكات استخدامه للوصول إلى الخادم.

## 📤 المخرجات

`Client`\
يوفر كائن عميل OPC UA المتصل والذي يمكن لوحدات الاتصال الأخرى استخدامه لإجراء عمليات قراءة/كتابة على الخادم.

## 🕹️ الضوابط (Controls)

`Username`\
أدخل اسم المستخدم إذا كان خادم OPC UA يتطلب مصادقة. اتركه فارغًا للوصول المجهول.

`Password`\
أدخل كلمة المرور المرتبطة باسم المستخدم. هذا الحقل يخفي المدخل لأغراض الخصوصية.

`Server Address`\
اكتب عنوان الخادم كـ IP:Port (مثال 192.168.1.10:4840) أو كـ URL كامل لـ OPC UA (مثال opc.tcp\://host:port). سيستخدم البلوك هذا العنوان للاتصال بالخادم.

## 🎨 الميزات (Features)

* إدارة اتصال تلقائية: يتصل البلوك عند تعيين العنوان وسيحاول إعادة الاتصال إذا انقطع أو تغيّر العنوان.
* دعم المصادقة: حقول اختيارية لاسم المستخدم وكلمة المرور للخوادم المؤمنة.
* مراقبة صحة الاتصال: ينبه أو يسجل حين لا يستطيع العميل الوصول إلى الخادم.
* قطع اتصال نظيف: يحرر الاتصال عند إزالة البلوك من مساحة العمل لتحرير الموارد.

## ⚙️ آلية التشغيل

عند تشغيل السيناريو، يستخدم هذا البلوك قيمة `Server Address` (و`Username`/`Password` الاختياريين) لفتح اتصال مع خادم OPC UA. يقوم بالتحقق المستمر من حالة الاتصال ويحاول إعادة الاتصال تلقائيًا في حال فشل الاتصال أو تغيّر العنوان. يتم كشف الاتصال النشط عبر مخرج `Client` بحيث يمكن لباقي البلوكات إجراء عمليات على الخادم. عند إزالة البلوك، يتم إغلاق الاتصال بشكل نظيف.

## 💡 نصائح وحيل (Tips and Tricks)

`OPC UA Read`\
اتصل بهذا البلوك عبر مخرج `Client` لقراءة القيم من الخادم أثناء التشغيل.

`OPC UA Write`\
استخدم هذا البلوك مع مخرج `Client` لكتابة القيم إلى الخادم.

`CSV Export`\
سجّل القيم المقروءة بتوصيل المخرجات إلى هذا البلوك لحفظ بيانات السلاسل الزمنية للتحليل لاحقًا.

`SQL-DB Client Connect` + `SQL-DB Operations`\
خزن القيم التاريخية في قاعدة بيانات بدمج عميل OPC UA مع اتصال قاعدة بيانات وبلوكات كتابة/استعلام.

`MQTT Publish` / `MQTT Subscribe`\
اجسر بيانات OPC UA إلى/من أنظمة السحابة بنشر القراءات إلى MQTT أو الاشتراك بمواضيع التحكم لبدء عمليات كتابة.

`REST API - Post` / `REST API - Get`\
أرسل بيانات حرجة أو تنبيهات إلى خدمات الويب عبر طلبات HTTP تحتوي على بيانات OPC.

`Send Mail`\
أرسل تنبيهات بريدية (مثلاً عند فقدان الاتصال أو تجاوز عتبات) عن طريق توصيل إخراج الشروط إلى بلوك البريد.

`Debug Input`\
استخدم هذا البلوك لفحص القيم القادمة من الخادم أثناء الإعداد واستكشاف الأخطاء.

## 📝 الاستخدام السريع (Quick usage)

1. أدخِل عنوان الخادم في حقل `Server Address` (IP:Port أو URL كامل لـ OPC UA).
2. إذا تطلب الخادم مصادقة، املأ `Username` و`Password`.
3. شغّل السيناريو — سيتصل البلوك ويزوّد مخرج `Client` لاستخدامه من قِبل بلوكات الاتصال الأخرى.
4. لإيقاف الاتصال وتحرير الموارد، أزل البلوك أو امسح العنوان؛ سيغلق البلوك الاتصال.

## 🛠️ استكشاف الأخطاء وإصلاحها (Troubleshooting)

* فشل الاتصال أو انتهاء المهلة
  * تحقق من أن عنوان الخادم والمنفذ صحيحان ويمكن الوصول إليهما من الجهاز الذي يشغّل السيناريو.
  * افحص إعدادات الجدار الناري أو قواعد الشبكة التي قد تمنع منافذ OPC UA.
  * إذا كان الخادم يستخدم نقطة نهاية مؤمنة، تأكد من صحة بيانات الاعتماد وإعدادات الأمان على الخادم.
* أخطاء المصادقة
  * تأكد من أن `Username` و`Password` صحيحان وأن الخادم يسمح بطريقة المصادقة المستخدمة.
* انقطاعات غير متوقعة أو اتصال غير مستقر
  * استخدم `Debug Input` لتسجيل القيم وتحديد متى تحدث الانقطاعات.
  * فكّر في توجيه القراءات المهمة إلى `CSV Export` أو قاعدة بيانات (`SQL-DB Operations`) للاحتفاظ بها.

إذا استمرت المشكلات، راجع توثيق خادم OPC UA الخاص بك وتواصل مع مسؤول الشبكة للتأكد من نقاط النهاية، المنافذ، ومتطلبات الأمان الخاصة بالخادم.
