> 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/msharya-nmwthjyh/alive-signal.md).

# إنشاء إشارة حياة

إشارة الحياة، وتسمى أيضاً نبضة القلب (heartbeat)، تتبدل بشكل متكرر بين `TRUE` و`FALSE` أثناء تشغيل السيناريو. يمكن لوحدة PLC أو لجهاز خارجي مراقبة هذه التبدلات للتأكد من أن السيناريو ما زال يعمل.

## 1. إنشاء النبضة

1. أضف كتلة [PWM (Pulse Width Modulation)](/arabic/alblwkat-alwzyfyh/blocks-reference/input-output/data-inputs/pwm-pulse-width-modulation.md).
2. اضبط **Time mode** على **Seconds**.
3. اضبط **Interval** ليكون مدة الدورة الكاملة، و**Up Duration** ليكون المدة التي يبقى فيها الخرج `TRUE`.

على سبيل المثال، يؤدي interval بقيمة `0.3` ثانية وup duration بقيمة `0.1` ثانية إلى إنتاج `TRUE` لمدة 0.1 ثانية و`FALSE` لمدة 0.2 ثانية بشكل متكرر.

## 2. إرسال الإشارة إلى الجهاز الخارجي

صِل خرج **Boolean** من كتلة PWM بمدخل **Data** أو **Value** في كتلة كتابة الاتصال التي يستخدمها الجهاز. صِل كتلة الكتابة بعميل الاتصال أو الاتصال الخاص بها كالمعتاد.

* إذا كانت كتلة الكتابة تحتوي على مدخل **Enable**، فصِل [Logic Input](/arabic/alblwkat-alwzyfyh/blocks-reference/input-output/data-inputs/logic-input.md) مضبوطاً على `TRUE`.
* عند استخدام كاتب TCP مثل **TCPIPWrite**، اضبط **Send Policy** على **Always** لإرسال حالتي الإشارة. يستخدم المثال التالي هذا الإعداد.
* مع [Siemens S7 Write](/arabic/alblwkat-alwzyfyh/blocks-reference/input-output/communication/siemens-s7-write.md)، صِل **Siemens S7 Connect** بمدخل **S7 Client**، واضبط **DB Data Type** على `Boolean`، ثم عيّن رقم DB وعنوان البايت وموضع البت المطلوب.
* مع [Modbus Write](/arabic/alblwkat-alwzyfyh/blocks-reference/input-output/communication/modbus-write.md)، صِل **Modbus Connect** بمدخل **Modbus Client**، واختر **Coil** ثم عيّن العنوان الهدف.

<figure><img src="/files/9K93ATeoJW5P2O8Lp5JV" alt="خرج Boolean من PWM متصل بمدخل Data في TCPIPWrite، وLogic Input مضبوط على TRUE متصل بمدخل Enable."><figcaption><p>مثال على heartbeat مرسل بواسطة TCPIPWrite</p></figcaption></figure>

## 3. إعداد المستقبِل

يجب أن يراقب الجهاز الخارجي تغير الحالة، وليس القيمة الحالية فقط. في المثال أعلاه، يتيح timeout يبلغ نحو ثانية واحدة هامشاً للجدولة الطبيعية ولتذبذب الشبكة، مع اكتشاف السيناريو المتوقف بسرعة.

* استخدم بتاً أو tag مخصصاً في PLC؛ ولا تشاركه مع منطق التحكم في العملية.
* اختر نبضة أبطأ إذا كان الجهاز أو زمن مسح PLC أو الشبكة لا يستطيع رصد التبدلات القصيرة بصورة موثوقة.
* إذا كانت كتلة الكتابة توفر **Data on Stop**، فاضبطها على `FALSE` عندما يحتاج المستقبِل إلى حالة نهائية معروفة.

يطلق الجهاز الخارجي إنذار timeout عندما يتوقف عن تلقي تغيرات الحالة. تتوقف الإشارة عندما يتوقف السيناريو عن تقييم كتلتي PWM والاتصال.

## 4. اختبار الإشارة

قبل التوصيل بمعدات الإنتاج، استخدم [Scope](/arabic/alblwkat-alwzyfyh/blocks-reference/input-output/outputs-exports/scope.md) للتأكد من دورة `TRUE`/`FALSE` المتوقعة. ثم تحقق من أن المستقبِل يرى الحالتين ويطلق إنذاراً بعد timeout الذي قمت بإعداده.
