> 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-write.md).

# OPC UA Write

تقوم هذه الدالة بإرسال قيمة إلى عنوان على خادم OPC UA باستخدام اتصال العميل المزوّد. استخدمها لتحديث المتغيرات البعيدة في السيناريو الخاص بك مع إمكانية اختيار نوع البيانات المطلوب.

## 📥 المدخلات

* `Client`\
  مثيل عميل OPC UA المستخدم لعملية الكتابة (غالبًا ما يتم توفيره بواسطة بلوك `OPC UA Client`).
* `Node Address`\
  عنوان العقدة المستهدفة على خادم OPC UA التي سيُكتب إليها القيمة.
* `Value`\
  القيمة التي سيتم إرسالها إلى العقدة المستهدفة.

## 📤 المخرجات

* هذا البلوك لا يوفّر مخرجات.

## 🕹️ عناصر التحكم

* `Data type`\
  قائمة منسدلة لاختيار نوع المتغير (OPC UA variant) المستخدم عند كتابة القيمة. الأنواع الشائعة المتاحة تشمل Float، Boolean، Integer variants، Double و String.

## 🎨 الميزات

* الكتابة مع اختيار صريح لنوع البيانات بحيث يتلقى المتغير الهدف النوع المتوقع.
* يعمل مع مثيل عميل OPC UA خارجي لفصل إدارة الاتصال عن منطق السيناريو.
* واجهة مستخدم بسيطة: يتطلب فقط المدخلات واختيار نوع البيانات للتشغيل.

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

عند تقييم البلوك أثناء تشغيل السيناريو ومع توافر الثلاثة مدخلات، سيحاول إرسال الـ `Value` المحدد إلى `Node Address` المُحدد باستخدام اتصال الـ `Client` المعطى ونوع الـ `Data type` المختار. تأكد من أن العميل متصل والعنوان صحيح قبل التشغيل لتجنب فشل الكتابة.

## 📝 تعليمات الاستخدام

1. أضف وقم بتكوين بلوك `OPC UA Client` لإنشاء وإدارة اتصال الخادم.
2. وصل مخرج العميل إلى مدخل `Client`.
3. ضع عنوان العقدة المستهدفة في مدخل `Node Address`.
4. أمدّ مدخل `Value` بالبيانات المراد كتابتها.
5. اختر `Data type` المناسب من القائمة المنسدلة ليتطابق مع نوع متغير الخادم.
6. شغل السيناريو أو قم بتقييد عملية الكتابة بإشارة منطقية بحيث تحدث الكتابات فقط عند الرغبة.

## 💡 نصائح وحيل

* استخدم بلوك `OPC UA Client` مع هذا البلوك لإدارة دورة حياة الاتصال وإعادة استخدام نفس العميل للقراءة والكتابة.
* اقتران مع بلوك `OPC UA Read` للتحقق من القيم الحالية قبل الكتابة أو لتنفيذ تدفقات قراءة-تحقق-اكتب.
* استخدم بلوك `Logic Input` لتشغيل عمليات الكتابة فقط عندما يتحقق شرط معين (مثلاً عند ضغط زر أو تجاوز قياس لعتبة).
* احفظ أو سجّل القيم باستخدام `Data Write Global` / `Data Write Local` أو صدّرها باستخدام `CSV Export` للاحتفاظ بسجل للكتابات.
* عند كتابة قيم رقمية، من الأفضل اختيار `Data type` الصحيح (integer/float المناسب) لتجنب أخطاء تحويل الأنواع على الخادم.

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

* لم يتم توفير عميل: تأكد من توصيل مدخل `Client` (استخدم بلوك `OPC UA Client`).
* أخطاء اتصال: تحقق من أن بلوك `OPC UA Client` يُظهر اتصالًا ناجحًا بالخادم قبل محاولة الكتابة.
* العنوان خاطئ: تحقق من أن سلسلة `Node Address` هي العنوان الدقيق المتوقع من الخادم.
* عدم تطابق النوع: إذا رفض الخادم القيمة، جرّب تغيير `Data type` إلى النوع الدقيق لمتغير الهدف (مثلاً Float مقابل Double أو حجم الصحيح الصحيح).
* التحكم في الكتابات غير المرغوب فيها: قم بتمرير المدخل عبر `Logic Input` أو بلوكات منطقية أخرى حتى تحدث الكتابات فقط عند القصد.
