> 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/german/beispielprojekte/alive-signal.md).

# Alive-Signal erstellen

Ein Alive-Signal, auch Heartbeat genannt, wechselt wiederholt zwischen `TRUE` und `FALSE`, während ein Szenario läuft. Eine externe SPS oder ein Gerät kann diese Zustandswechsel überwachen, um zu bestätigen, dass das Szenario noch aktiv ist.

## 1. Puls erstellen

1. Fügen Sie einen [PWM (Pulse Width Modulation)](/german/funktionsblocke/blocks-reference/input-output/data-inputs/pwm-pulse-width-modulation.md)-Block hinzu.
2. Setzen Sie **Time mode** auf **Seconds**.
3. Legen Sie mit **Interval** die vollständige Zyklusdauer und mit **Up Duration** die Zeit fest, in der der Ausgang `TRUE` bleibt.

Beispiel: Ein Intervall von `0.3` Sekunden und eine Up Duration von `0.1` Sekunden erzeugen wiederholt `TRUE` für 0,1 Sekunden und `FALSE` für 0,2 Sekunden.

## 2. Signal an das externe Gerät senden

Verbinden Sie den **Boolean**-Ausgang des PWM-Blocks mit dem **Data**- oder **Value**-Eingang des Kommunikationsschreibers, den das Gerät verwendet. Verbinden Sie den Schreiber wie üblich mit seinem Kommunikations-Client oder seiner Verbindung.

* Wenn der Schreiber einen **Enable**-Eingang hat, verbinden Sie einen auf `TRUE` gesetzten [Logic Input](/german/funktionsblocke/blocks-reference/input-output/data-inputs/logic-input.md).
* Stellen Sie bei einem TCP-Schreiber wie **TCPIPWrite** die **Send Policy** auf **Always**, damit beide Signalzustände gesendet werden. Das folgende Beispiel verwendet diese Konfiguration.
* Verbinden Sie bei [Siemens S7 Write](/german/funktionsblocke/blocks-reference/input-output/communication/siemens-s7-write.md) **Siemens S7 Connect** mit **S7 Client**, setzen Sie **DB Data Type** auf `Boolean` und konfigurieren Sie DB-Nummer, Byte-Adresse und Bitposition.
* Verbinden Sie bei [Modbus Write](/german/funktionsblocke/blocks-reference/input-output/communication/modbus-write.md) **Modbus Connect** mit **Modbus Client**, wählen Sie **Coil** und legen Sie die Zieladresse fest.

<figure><img src="/files/zPHPxllcXKVUtS6Le04a" alt="Der Boolean-Ausgang von PWM ist mit dem Data-Eingang von TCPIPWrite verbunden; ein auf TRUE gesetzter Logic Input ist mit Enable verbunden."><figcaption><p>Beispiel: Heartbeat über TCPIPWrite senden</p></figcaption></figure>

## 3. Empfänger konfigurieren

Das externe Gerät sollte eine Zustandsänderung überwachen und nicht nur den aktuellen Wert. Mit dem obigen Beispiel lässt ein Timeout von etwa einer Sekunde normales Scheduling und Netzwerk-Jitter zu und erkennt trotzdem ein gestopptes Szenario schnell.

* Verwenden Sie ein eigenes SPS-Bit oder Tag; teilen Sie es nicht mit der Prozesssteuerungslogik.
* Wählen Sie einen langsameren Puls, wenn Gerät, SPS-Zykluszeit oder Netzwerk kurze Wechsel nicht zuverlässig erkennen können.
* Wenn der Schreiber **Data on Stop** bietet, setzen Sie diesen Wert auf `FALSE`, wenn der Empfänger einen definierten Endzustand benötigt.

Das externe Gerät löst seinen Timeout-Alarm aus, wenn es keine Zustandswechsel mehr erhält. Das Signal endet, wenn das Szenario die PWM- und Kommunikationsblöcke nicht mehr auswertet.

## 4. Signal testen

Prüfen Sie vor dem Anschluss an Produktionsequipment mit [Scope](/german/funktionsblocke/blocks-reference/input-output/outputs-exports/scope.md) den erwarteten `TRUE`/`FALSE`-Zyklus. Prüfen Sie anschließend am Empfänger, dass beide Zustände erkannt werden und der Alarm nach dem konfigurierten Timeout ausgelöst wird.
