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

# Serial Connect

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

## 📥 المدخلات

لا يحتوي هذا function block على أي مدخلات.

## 📤 المخرجات

* `ConnId` — معرف فريد للاتصال التسلسلي المفتوح. استخدم هذه القيمة للإشارة إلى الاتصال من كتل أخرى.
* `Connected?` — علم منطقي يشير إلى ما إذا كان الاتصال التسلسلي نشطًا حاليًا أم لا.

## 🕹️ الضوابط

* `Port` — اسم منفذ COM للاتصال (مثال: COM3).
* `Baud` — سرعة الاتصال (مثال: 115200).
* `Read timeout (s)` — زمن الانتظار بالثواني لعمليات القراءة.
* `Line delimiter` — اختيار نهاية السطر المستخدمة من جهازك (LF / CRLF / CR).
* `AutoReconnect` — مفتاح يفعّل إعادة الاتصال التلقائية عند فقدان الاتصال.
* `Reconnect interval (s)` — الفاصل الزمني بين محاولات إعادة الاتصال عند تفعيل AutoReconnect.
* `Idle disconnect (s)` — زمن الخمول بعده سيتم إغلاق الاتصال تلقائيًا لتحرير المنفذ.

## 🎨 الميزات

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

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

1. اضبط قيمتي `Port` و`Baud` لتطابق جهازك.
2. كونفِجَر `Read timeout (s)` و`Line delimiter` حسب بروتوكول جهازك.
3. فعّل `AutoReconnect` واضبط `Reconnect interval (s)` إذا رغبت أن يستعيد البلوك الاتصال تلقائيًا بعد الانقطاع.
4. عدِّل `Idle disconnect (s)` حتى يغلق البلوك المنفذ عند عدم الاستخدام.
5. شغّل السيناريو. سيفتح البلوك الاتصال ويخرج `ConnId` و`Connected?`. استخدم `ConnId` في كتل الاتصال الأخرى التي تقبل مرجع اتصال.

## 📊 التقييم

عند التقييم، يضمن البلوك وجود اتصال تسلسلي بالإعدادات الحالية. إذا تغيّرت الإعدادات، يتم تحرير الاتصال السابق وإنشاء اتصال جديد. تعكس المخرجات معرف الاتصال النشط وما إذا كان الاتصال مقيمًا حاليًا.

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

* استخدم `Led Output` لعكس حالة `Connected?` بصريًا في واجهة المستخدم.
* استخدم `String Input` أو `Number Input` و`String Merge` لصياغة الأوامر المرسلة عبر الرابط التسلسلي.
* استخدم `Data Write Global` / `Data Read Global` لمشاركة `ConnId` أو نتائج السلسلة التسلسلية مع أجزاء أخرى من السيناريو دون توصيل مباشر.
* قم بتغذية بيانات السيريال إلى `Data to JSON` أو `CSV Export` لتسجيل التواصل وتحليله لاحقًا.
* أعد توجيه البيانات المفككة إلى الأنظمة البعيدة باستخدام `MQTT Publish` أو `REST API - Post` للتكامل مع السحابة أو المراقبة.
* استخدم `Debug Input` لفحص الرسائل أثناء تطوير سير العمل التسلسلي.
* اجمعها مع `Send Mail` لإرسال تنبيهات عبر البريد عند فقدان الاتصال أو عند وصول رسائل محددة.

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

* إذا بقيت `Connected?` على false: تحقق من تطابق منفذ الجهاز وإعدادات الـ baud؛ افحص تعريفات الجهاز ومدير الأجهزة في نظام التشغيل.
* إذا لم تتمكن من فتح المنفذ: تأكد من أن لا تطبيق آخر يستخدم نفس منفذ COM. أغلق البرامج الأخرى أو فعّل خيار فصل الخمول في تلك الأنظمة.
* إذا ظهرت الأسطر مقطوعة أو مدمجة: جرّب إعدادًا مختلفًا لـ `Line delimiter` أو زد قيمة `Read timeout (s)`.
* إذا حدثت فواصل متكررة: فعّل `AutoReconnect` وزد `Reconnect interval (s)` لمنح الجهاز وقتًا للعودة.
* إذا ظهرت أحرف غير متوقعة: تأكد من سرعة الباود وإعدادات الـ parity وفقًا لوثائق الجهاز واضبطها بحسب الحاجة.
