> 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/twincat-connect.md).

# TwinCAT Connect

هذا الكتلة الوظيفية تنشئ اتصالاً مع PLC من نوع TwinCAT ليتمكن باقي البلوكات من القراءة من PLC أو الكتابة إليه. استخدمها لإنشاء والحفاظ على اتصال العميل PLC والإبلاغ عن حالة الاتصال لبقية السيناريو الخاص بك.

## 📥 المدخلات <a href="#inputs" id="inputs"></a>

هذه الكتلة الوظيفية لا تحتوي على مآخذ إدخال.

## 📤 المخرجات <a href="#outputs" id="outputs"></a>

`Connection` مقبض الاتصال النشط (استخدمه مع بلوكات الاتصال اللاحقة).

`Success` قيمة منطقية تشير إلى ما إذا تم إنشاء اتصال ناجح مع PLC أم لا.

## 🕹️ عناصر التحكم <a href="#controls" id="controls"></a>

`AMS ID` أدخل معرف AMS الخاص بـ PLC (العنوان). عادةً ما يزودك به إعداد PLC أو مسؤول النظام.

`Port` أدخل رقم المنفذ المستخدم لاتصال TwinCAT. يوجد رقم منفذ شائع مملوء افتراضيًا (يمكنك تغييره إذا لزم الأمر).

`Timeout (ms)` اضبط مهلة الاتصال بالمللي ثانية. استخدم قيمة أكبر للشبكات البطيئة أو البعيدة.

ملاحظة: إذا لم تكن مكتبات دعم TwinCAT المطلوبة مثبتة على النظام، سيعرض البلوك رسالة في واجهته تشير إلى أن وحدات TwinCAT غير متاحة ولن يتمكن البلوك من الاتصال حتى تُثبّت المكونات المطلوبة.

## 🎯 الميزات <a href="#features" id="features"></a>

* إخراج اتصال مستمر يمكن للبلوكات اللاحقة إعادة استخدامه بدون إعادة تهيئة.
* يعرض نجاح الاتصال كقيمة منطقية لتفعيل تدفقات عمل شرطية.
* عناصر تحكم بسيطة وموضّحة لضبط `AMS ID` و`Port` و`Timeout (ms)`.
* يبلغ بشكل واضح عن تبعيات النظام المفقودة حتى تعرف متى تكون مكونات TwinCAT مطلوبة.

## ⚙️ كيفية العمل <a href="#how-it-works" id="how-it-works"></a>

* عند تشغيل البلوك يحاول إنشاء اتصال PLC باستخدام القيم الموجودة في `AMS ID`, `Port` و`Timeout (ms)`.
* عند النجاح يزود المخرج `Connection` بالاتصال المُنشأ ويضبط `Success` على true. عند الفشل يوفر اتصالًا فارغًا أو null ويضبط `Success` على false.
* يمكن ترك مخرج الاتصال موصولًا ببلوكات الاتصال الأخرى حتى تستخدم نفس الارتباط المُنشأ دون إنشاء اتصالات متكررة.
* يعرض البلوك رسائل خطأ واضحة في واجهة المستخدم إذا كانت الإعدادات مفقودة أو تبعيات النظام غير متوفرة.

## 📝 تعليمات الاستخدام <a href="#usage" id="usage"></a>

1. أدخل عنوان PLC في `AMS ID` ورقم المنفذ الهدف في `Port`.
2. اضبط `Timeout (ms)` إذا كانت شبكتك بطيئة أو غير موثوقة.
3. شغّل السيناريو؛ تحقق من مخرج `Success` للتأكد من نجاح الاتصال.
4. وصّل مخرج `Connection` إلى البلوكات التي تقوم بعمليات القراءة/الكتابة على PLC.

## 💡 نصائح وحيل <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* استخدم بلوكات `TwinCAT Read` و`TwinCAT Write` بعد هذا البلوك لتنفيذ عمليات القراءة والكتابة باستخدام `Connection` المقدم.
* اجمع بين `Logic Input` ومخرج `Success` لتقييد عمليات PLC فقط عند تفعيل الاتصال.
* استخدم `Debug Input` أو بلوك عرض/تسجيل لعرض حالة الاتصال أو الأخطاء أثناء التطوير.
* لحفظ أو معالجة القيم المقروءة من PLC لاحقًا، وصّل القُرّاء إلى بلوكات مثل `CSV Export` أو `Data Write Global` لحفظ النتائج.
* إذا احتجت إلى تحفيز إجراءات عند ظهور أو اختفاء الاتصال، استخدم بلوكات منطقية مثل `Rising Edge` أو `Set - Reset` مع مخرج `Success`.

## 🛠️ استكشاف الأخطاء وإصلاحها <a href="#troubleshooting" id="troubleshooting"></a>

* إذا أبلغ البلوك أن وحدات TwinCAT غير متاحة، تأكد من تثبيت وقت تشغيل TwinCAT والحزم البرمجية (Python packages) المطلوبة على الجهاز ثم أعد تشغيل التطبيق.
* إذا ظل `Success` على false، تحقق من صحة وقابلية الوصول إلى `AMS ID` و`Port` من شبكتك.
* زد قيمة `Timeout (ms)` عند الاتصال بـ PLCs بعيدة أو عند وجود تأخير متقطع في الشبكة.
* إذا فشل الاتصال بشكل متقطع، استخدم دائرة منطق صغيرة (مثل `Delay Step` + منطق `Retry` مع `Rising Edge`) لمحاولة إعادة الاتصال فقط عند الحاجة.
