> 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/spanish/proyectos-de-ejemplo/alive-signal.md).

# Crear una señal de vida

Una señal de vida, también llamada heartbeat, cambia repetidamente entre `TRUE` y `FALSE` mientras se ejecuta un escenario. Un PLC o dispositivo externo puede supervisar esos cambios de estado para confirmar que el escenario sigue activo.

## 1. Crear el pulso

1. Añade un bloque [PWM (Pulse Width Modulation)](/spanish/function-blocks/blocks-reference/input-output/data-inputs/pwm-pulse-width-modulation.md).
2. Configura **Time mode** en **Seconds**.
3. Configura **Interval** como la duración completa del ciclo y **Up Duration** como el tiempo durante el que la salida permanece en `TRUE`.

Por ejemplo, un intervalo de `0.3` segundos y una duración activa de `0.1` segundos producen `TRUE` durante 0,1 segundos y `FALSE` durante 0,2 segundos de forma repetida.

## 2. Enviar la señal al dispositivo externo

Conecta la salida **Boolean** del bloque PWM a la entrada **Data** o **Value** del bloque de escritura de comunicación que utiliza el dispositivo. Conecta el bloque de escritura a su cliente o conexión de comunicación como de costumbre.

* Si el bloque de escritura tiene una entrada **Enable**, conecta un [Logic Input](/spanish/function-blocks/blocks-reference/input-output/data-inputs/logic-input.md) configurado en `TRUE`.
* En un escritor TCP como **TCPIPWrite**, configura **Send Policy** en **Always** para que se envíen ambos estados de la señal. El ejemplo siguiente usa esta configuración.
* En [Siemens S7 Write](/spanish/function-blocks/blocks-reference/input-output/communication/siemens-s7-write.md), conecta **Siemens S7 Connect** a **S7 Client**, configura **DB Data Type** como `Boolean` y ajusta el número de DB, la dirección de byte y la posición de bit necesarios.
* En [Modbus Write](/spanish/function-blocks/blocks-reference/input-output/communication/modbus-write.md), conecta **Modbus Connect** a **Modbus Client**, selecciona **Coil** y configura la dirección de destino.

<figure><img src="/files/pc2nUIXkrl5UQmDdx1uR" alt="La salida Boolean de PWM está conectada a la entrada Data de TCPIPWrite; un Logic Input en TRUE está conectado a Enable."><figcaption><p>Ejemplo de heartbeat enviado mediante TCPIPWrite</p></figcaption></figure>

## 3. Configurar el receptor

El dispositivo externo debe supervisar un cambio de estado, no solo el valor actual. Con el ejemplo anterior, un tiempo de espera de alrededor de un segundo permite la planificación normal y el jitter de red, sin dejar de detectar rápidamente un escenario detenido.

* Utiliza un bit o tag de PLC dedicado; no lo compartas con la lógica de control del proceso.
* Elige un pulso más lento si el dispositivo, el tiempo de ciclo del PLC o la red no pueden observar transiciones cortas de forma fiable.
* Si el escritor proporciona **Data on Stop**, configúralo como `FALSE` cuando el receptor necesite un estado final conocido.

El dispositivo externo activa su alarma de timeout cuando deja de recibir cambios de estado. La señal se detiene cuando el escenario deja de evaluar los bloques PWM y de comunicación.

## 4. Probar la señal

Antes de conectar equipos de producción, utiliza [Scope](/spanish/function-blocks/blocks-reference/input-output/outputs-exports/scope.md) para confirmar el ciclo `TRUE`/`FALSE` esperado. Después, verifica en el receptor que detecta ambos estados y activa una alarma después del timeout configurado.
