> 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/turkish/ornek-projeler/alive-signal.md).

# Alive Signal Oluşturma

Alive signal, diğer adıyla heartbeat, bir senaryo çalışırken sürekli olarak `TRUE` ve `FALSE` arasında geçiş yapar. Harici bir PLC veya cihaz, senaryonun hâlâ çalıştığını doğrulamak için bu durum değişimlerini izleyebilir.

## 1. Sinyali oluşturun

1. Bir [PWM (Pulse Width Modulation)](/turkish/fonksiyon-bloklari/blocks-reference/input-output/data-inputs/pwm-pulse-width-modulation.md) bloğu ekleyin.
2. **Time mode** ayarını **Seconds** olarak seçin.
3. Tam çevrim süresini **Interval** ile, çıkışın `TRUE` kaldığı süreyi **Up Duration** ile ayarlayın.

Örneğin, `0.3` saniyelik interval ve `0.1` saniyelik up duration ayarı, tekrar eden şekilde 0,1 saniye `TRUE` ve 0,2 saniye `FALSE` üretir.

## 2. Sinyali harici cihaza gönderin

PWM bloğunun **Boolean** çıkışını, cihazın kullandığı iletişim yazma bloğunun **Data** veya **Value** girişine bağlayın. Yazma bloğunu her zamanki gibi iletişim istemcisine veya bağlantısına bağlayın.

* Yazma bloğunda bir **Enable** girişi varsa, `TRUE` olarak ayarlanmış bir [Logic Input](/turkish/fonksiyon-bloklari/blocks-reference/input-output/data-inputs/logic-input.md) bağlayın.
* **TCPIPWrite** gibi bir TCP yazma bloğunda, her iki sinyal durumunun da gönderilmesi için **Send Policy** ayarını **Always** yapın. Aşağıdaki örnek bu yapılandırmayı kullanır.
* [Siemens S7 Write](/turkish/fonksiyon-bloklari/blocks-reference/input-output/communication/siemens-s7-write.md) için **Siemens S7 Connect** bloğunu **S7 Client** girişine bağlayın, **DB Data Type** ayarını `Boolean` yapın ve gerekli DB numarası, byte adresi ve bit konumunu ayarlayın.
* [Modbus Write](/turkish/fonksiyon-bloklari/blocks-reference/input-output/communication/modbus-write.md) için **Modbus Connect** bloğunu **Modbus Client** girişine bağlayın, **Coil** seçin ve hedef adresi ayarlayın.

<figure><img src="/files/rCSokeeOtuO3PvQiwDVQ" alt="PWM Boolean çıkışı TCPIPWrite Data girişine, TRUE durumundaki bir Logic Input ise Enable girişine bağlıdır."><figcaption><p>TCPIPWrite ile gönderilen heartbeat örneği</p></figcaption></figure>

## 3. Alıcıyı yapılandırın

Harici cihaz yalnızca mevcut Boolean değerini değil, durum değişimini izlemelidir. Yukarıdaki örnekte yaklaşık bir saniyelik timeout, normal zamanlama ve ağ gecikmesi için pay bırakırken durmuş bir senaryoyu hızlıca algılar.

* Ayrı bir PLC biti veya tag kullanın; bunu proses kontrol mantığıyla paylaşmayın.
* Cihaz, PLC tarama süresi veya ağ kısa geçişleri güvenilir şekilde algılayamıyorsa daha yavaş bir sinyal seçin.
* Yazma bloğu **Data on Stop** sunuyorsa ve alıcının bilinen bir son duruma ihtiyacı varsa bu değeri `FALSE` yapın.

Harici cihaz, durum değişimlerini artık almadığında timeout alarmını tetikler. Senaryo PWM ve iletişim bloklarını değerlendirmeyi bıraktığında sinyal de durur.

## 4. Sinyali test edin

Üretim ekipmanına bağlamadan önce beklenen `TRUE`/`FALSE` çevrimini [Scope](/turkish/fonksiyon-bloklari/blocks-reference/input-output/outputs-exports/scope.md) ile doğrulayın. Ardından alıcının her iki durumu da gördüğünü ve yapılandırılan timeout sonrasında alarm verdiğini kontrol edin.
