Si se crea un nuevo proyecto o se inserta una nueva tarea en la configuración de tareas , la tarea se crea con la "configuración de tareas por defecto" prioridad = 15 y tiempo de ciclo = 10 ms. El watchdog está activado, ajustado a 20 ms y sensibilidad = 1.
El manejo del watchdog depende también de la configuración del parámetro de la CPU "Comportamiento del ciclo perdido":
Este parámetro configura el comportamiento de una tarea en tiempo real si el tiempo de procesamiento de la tarea es superior al tiempo de ciclo.
"Siguiente" significa - omitir el ciclo omitido y comenzar la tarea en el siguiente ciclo a tiempo. Esto puede resultar en tareas omitidas, pero al menos la tarea de mayor prioridad siempre se inicia a tiempo, si no se omite (= valor por defecto).
"ASAP" significa: empezar la tarea inmediatamente cuando sea posible.
Este parámetro es válido para todas las tareas en tiempo real (prioridades 0 ... 15) de la aplicación PLC.
Ejemplo 1: configuración por defecto de la tarea, tTarea - tiempo de procesamiento de la tarea en [ms].
|
tTarea |
Par. |
![]() |
|
6 |
Siguiente |
|
|
12 |
ASAP |
|
|
12 |
Siguiente |
No se produce ningún watchdog, tampoco si el tiempo de procesamiento de la tarea es mayor que el tiempo de ciclo (casos 2 y 3) ya que el tiempo de procesamiento es menor que el tiempo del watchdog.
Ejemplo 2: configuración por defecto de la tarea, tTarea - tiempo de procesamiento de la tarea 24 ms, SWD - sensibilidad del watchdog
|
SWD |
Par. |
![]() |
|
1 |
Siguiente |
|
|
3 |
ASAP |
|
|
3 |
Siguiente |
La vigilancia se produce en los 3 casos, ya que el tiempo de procesamiento de la tarea es mayor que el tiempo de vigilancia. Según el ajuste de la sensibilidad el watchdog se produce después de 1 o 3 ciclos.
Además del task watchdog existe el llamado "omitted cycle watchdog" (OMCW). El watchdog de ciclo omitido sólo está activo si se ha configurado un watchdog para la tarea.
El Watchdog "normal" se activa sólo si el tiempo de procesamiento de la tarea supera el valor de Watchdog establecido.
Por otro lado, el vigilante de ciclos omitidos comprueba completamente los ciclos "fallidos". Por ejemplo, si el planificador tiene un problema y la tarea no vuelve a ejecutar su ciclo, el perro guardián "normal" no se activará. Por lo tanto, el tiempo de ejecución realiza una comprobación adicional, si una tarea se ha ejecutado dentro del doble tiempo de ciclo o del doble tiempo de vigilancia (el mayor de ambos es válido). Si no, se dispara el watchdog de ciclo omitido.
Ejemplo 3: configuración por defecto de la tarea, tTarea - tiempo de procesamiento de la tarea en ms, Cperdida - ciclos perdidos
|
tTarea |
Cperdido |
![]() |
|
6 |
3 ... 6 |
|
|
12 |
3 ... 6 |
|
|
¥ |
2ff |
El ciclo de vigilancia omitido ocurre después del doble del tiempo de vigilancia (2 x 20 ms = 40 ms).
Ejemplo 4: Dos tareas con la siguiente configuración:
|
Tarea |
Prioridad |
Duración del ciclo [ms] |
Tiempo de vigilancia [ms] |
Sensibilidad |
Parámetro |
Tiempo de procesamiento de la tarea [ms] |
|---|---|---|---|---|---|---|
|
1 |
10 |
10 |
20 |
1 |
Siguiente |
6 |
|
2 |
15 |
50 |
50 |
1 |
30 |
|
Tarea |
![]() |
|
1 |
|
|
2 |
Se activa el perro guardián de la tarea 2, ya que la tarea no puede ejecutarse en el ciclo de tareas definido.
Ejemplo 5: Dos tareas con la siguiente configuración
|
Tarea |
Prioridad |
Duración del ciclo [ms] |
Tiempo de vigilancia [ms] |
Sensibilidad |
Parámetro |
Tiempo de procesamiento de la tarea [ms] |
|---|---|---|---|---|---|---|
|
1 |
10 |
10 |
20 |
1 |
ASAP |
12 |
|
2 |
15 |
30 |
60 |
1 |
6 |
|
Tarea |
![]() |
|
1 |
|
|
2 |
El perro guardián de la tarea 2 se activa porque la tarea no puede iniciarse en el ciclo de tarea definido.
Ejemplo 6: Dos tareas con la siguiente configuración
|
Tarea |
Prioridad |
Duración del ciclo [ms] |
Tiempo de vigilancia [ms] |
Sensibilidad |
Parámetro |
Tiempo de procesamiento de la tarea [ms] |
|---|---|---|---|---|---|---|
|
1 |
10 |
10 |
20 |
1 |
Siguiente |
12 |
|
2 |
15 |
30 |
60 |
1 |
6 |
|
Tarea |
![]() |
|
1 |
|
|
2 |
No se dispara ningún watchdog, pero la tarea 1 se ejecuta en un ciclo de 20 ms en lugar del ciclo configurado de 10 ms. La tarea 2 se ejecuta alternativamente cada 20 ms o 40 ms.







