En la configuración de tareas se definen una o varias tareas para controlar y ejecutar el programa de aplicación en el PLC. Cada aplicación debe incluir un objeto «Task Configuration».
Una tarea es una unidad de flujo temporal de un programa CEI. Se define mediante un nombre, una prioridad y un tipo, que determina qué condición desencadena el inicio de la tarea. Puede definir esta condición por tiempo (intervalo cíclico, libre) o por la aparición de un evento interno o externo para procesar la tarea. Ejemplos de un evento son el flanco ascendente de una variable global de proyecto o un evento de interrupción del controlador.
Una tarea llama a uno o más bloques de programa (POU). Estos programas pueden ser específicos de la aplicación (objetos situados debajo de la aplicación en el árbol de dispositivos) o específicos del proyecto (objetos disponibles en la vista POU). En el caso de un programa específico de un proyecto, la aplicación instancia el programa global del proyecto. Si CODESYS procesa la tarea en el ciclo actual, entonces los programas se ejecutan durante la duración de un ciclo.
Con la combinación de prioridad y condición, se define el orden en que se procesan las tareas.
Puede configurar un perro guardián para cada tarea. También es posible acoplar Start, Stop y Reset directamente con la ejecución del proyecto POU.
Reglas para el orden de procesamiento de las tareas definidas
-
Si se cumple la condición de la tarea, CODESYS la procesa.
-
Si varias tareas cumplen la condición para ser procesadas al mismo tiempo, entonces CODESYS procesa primero las tareas con mayor prioridad.
-
Si varias tareas con el mismo nivel de prioridad cumplen la condición para ser procesadas al mismo tiempo, CODESYS procesa primero la tarea que lleva más tiempo en la cola.
-
Las llamadas al programa se procesan en el orden en que aparecen en el diálogo de configuración de la tarea.
-
Si un programa llamado tiene el mismo nombre en el árbol de dispositivos de la aplicación y en una biblioteca o proyecto-global en la vista POU, entonces se utiliza el programa de la aplicación.
Notas importantes
Todas las tareas comparten una imagen de proceso. La razón es que tener una imagen
de proceso individual por tarea comprometería el rendimiento. Sin embargo, la imagen
del proceso sólo puede ser coherente con una tarea. Cuando crees un proyecto, debes
asegurarte de que la aplicación copia los datos de entrada y salida en una ubicación
segura en caso de conflicto. Los módulos, como la biblioteca SysSem, permiten resolver problemas de coherencia y sincronización.
También pueden producirse problemas de coherencia al acceder a otros objetos globales,
como variables globales o bloques. Siempre se producen problemas de coherencia si
varias tareas leen y escriben en una misma variable. Los módulos, como la biblioteca
SysSem, son una solución.
-
Véase también:⮫ Configuración de tareas, ⮫ Configuración de tareas
-
Creación de una configuración de tareas
-
Definiciones de fluctuación de fase y latencia
-
Varios núcleos