Resumen
La tarea es un mecanismo de escalonamiento muy útil en sistemas de tiempo real para controlar la ejecución de programas, de forma periódica o disparada por eventos.
La configuración de las tareas es realizada adicionando archivos de tareas a la carpeta Tarea, dentro del recurso. A estos archivos de tarea, son entonces asociados programas que ejecutan su lógica, cuando la tarea se vuelve activa. Para cada tarea puede ser configurado un watchdog (ver sección Watchdog). Cada tarea posee un marcador de sistema asociado que puede ser habilitado o deshabilitado a través del programa.
Dentro de un recurso, existe una única tarea llamada Main, que no puede ser apagada, en la cual el programa principal (Main Ladder) es ejecutado.
En el menú de opciones de la carpeta de tareas, es posible realizar las siguientes acciones:

| • | Adicionar una nueva tarea: para adicionar una nueva tarea, es necesario seleccionar la opción Nuevo archivo de la carpeta Tarea. |
| • | Configuración del borde de transición de las entradas digitales (DIs): las entradas digitales DI9 y DI10 tienen la opción de disparar eventos a través de la transición del borde de subida, bajada o subida y bajada. La configuración de estos bordes de transición se hace a través de la ventana de configuración de las DIs, que se accede seleccionando la opción Configura transición DI de la carpeta de Tarea. |

Estas DIs son utilizadas en las tareas del tipo evento externo y conteo.
A través del menú de opciones de los archivos de las tareas, es posible realizar las siguientes acciones:

| • | Configurar tareas: para configurar la tarea, es necesario seleccionar la opción Abrir, en el archivo de tareas que se desea configurar. Para más informaciones de como configurar las tareas, ver sección Configuración de las tareas. |
| • | Adicionar, remover u ordenar programas de tarea: para adicionar, remover u ordenar programas de una determinada tarea, es necesario seleccionar la opción Selecciona programas en el archivo de tareas que desea configurar. Para más informaciones de como seleccionar los programas, ver en la sección Configuración de las tareas el ítem Lista de programas. |
Configuración de Tareas
En la Ventana de configuración de tareas, son configurados:
| • | Prioridad, |
| • | Secuencia de los programas, |
| • | Tipo de tarea, y |
| • | Opciones de watchdog de la tarea. |

| • | Prioridad: configurada con un número entre 0 y 30 (0 - prioridad más alta, 30 - más baja) que define la prioridad en que la tarea será ejecutada. Caso una tarea de prioridad más alta que la tarea en ejecución sea accionada, esta inmediatamente entrará en ejecución. De otra forma, caso una tarea de prioridad más baja que la actual sea accionada, esta aguarda el final de la ejecución de la tarea actual para entrar en ejecución. |
| • | Lista de programas: la Ventana de selección de la secuencia de los programas sirve para adicionar, remover o alterar la secuencia de los programas asociados a determinada tarea. En la lista del lado izquierdo, están todos los programas disponibles en el recurso y al lado derecho, los programas seleccionados para esta tarea. El orden en que los programas entrarán en ejecución será el mismo orden definido en esta lista. |

| • | Tipos de Tarea: Las tareas están dividas en: system, interval, single, external event, count y freewheeling. |

| o | System: Esta tarea puede ser del tipo Inicialización o Parada. Cuando seleccionada la opción "Inicialización", la tarea entrará en ejecución después que el programa del usuario sea ejecutado por primera vez. Caso la opción "Parada" sea seleccionada, los programas asociados a esta tarea, entran en ejecución después de la parada del programa del usuario. |

| o | Interval: Los programas asociados a esta tarea, son ejecutados repetidas veces, en el intervalo de tiempo definido en el campo "Intervalo de tiempo", con el tiempo de retraso para la primera ejecución definido en el campo "Retraso inicial". A esta tarea es asociada una variable de sistema que permite que la tarea sea deshabilitada a través del programa. |

| o | Single: Los programas asociados a esta tarea, son ejecutados una sola vez, siempre que la variable seleccionada sufra una transición positiva, o sea, de cero a algún otro valor. A esta tarea es asociada una variable de sistema que permite que la tarea sea deshabilitada a través del programa. |

| o | External Event: Los programas asociados a esta tarea, son ejecutados una sola vez, siempre que el evento DI9, DI10 o Pulso Z seleccionado sea activado. Los eventos DI9 y DI10 poseen la opción de seleccionar la transición que activa la tarea (ver ítem "Configuración del borde de transición de las entradas digitales" en la sección "Visión General"). A esta tarea es asociada una variable de sistema que permite que la tarea sea deshabilitada a través del programa. |

|
¡NOTA! Las opciones DI1 a DI8 están disponibles desde la versión 2.10. |
| o | Count: Los programas asociados a esta tarea son ejecutados cada vez que el conteo de pulsos en la entrada seleccionada (DI9, DI10, Pulso A, Pulso B, Pulso Z, Cuadratura AB, Cuadratura DI9/DI10, Dir/Pulso DI9/DI10) sea mayor que el valor de la variable definida en el campo "Predefinido". El valor de conteo de los pulsos es almacenado en la variable "Conteo". El valor del conteo de los pulsos es reiniciado cuando este valor sobrepasa el definido en el campo "Reinicio". Las variables configuradas en estos campos pueden ser del tipo DWORD y UDINT para las entradas DI9, DI10, Pulso A, Pulso B y Pulso Z y DINT para entrada cuadratura AB. A esta tarea le es asociada una variable de sistema que permite que la propia tarea sea deshabilitada a través del programa. La opción Dir/Pulse_DI9/DI10 puede ser utilizada como conteo rápido de hasta 100KHz. |

Importante:
Las funciones Quadrature_DI9/DI10 y Dir/Pulse_DI9/DI10 no podrán ser utilizadas simultáneamente en tareas o en tarea y bloque;
Las funciones Quadrature_DI9/DI10 y Dir/Pulse_DI9/DI10 podrán ser utilizadas en bloques diferentes, desde que no sean utilizadas en tareas.
|
¡NOTA! Estas opciones, tras ser seleccionadas, no causarán error en caso de que las otras (DI9, DI10, Pulso A...) también sean seleccionadas. |
Ejemplos que no generan error de compilación:
| • | Dos bloques en Quadrature_DI9/DI10; |
| • | Dos bloques, uno Quadrature_DI9/DI10 y otro Dir/Pulse_DI9/DI10; |
| • | Dos tareas Quadrature_DI9/DI10 o dos tareas Dir/Pulse_DI9/DI10; |
Ejemplos que generan error de compilación:
| • | Dos tareas, una Quadrature_DI9/DI10 y otra Dir/Pulse_DI9/DI10; |
| • | Tarea Quadrature_DI9/DI10 y bloque Dir/Pulse_DI9/DI10; |
| • | Tarea Dir/Pulse_DI9/DI10 y bloque Quadrature_DI9/DI10. |
|
¡NOTA! Las opciones Quadrature_DI9/DI10 e Dir/Pulse_DI9/DI10 están disponibles desde la versión 2.00. |
|
¡NOTA! Las opciones DI1 a DI8 están disponibles desde la versión 2.10. |
| o | Freewheeling: Los programas asociados a esta tarea son ejecutados de forma cíclica. Al final de la ejecución de la lista de programas, la lista de programas es reiniciada, hasta que el programa del usuario sea parado. El programa principal (Main Ladder) está asociado a esta tarea y no es posible removerlo o asociarlo a otra tarea. |
| • | Watchdog: Cuando la opción watchdog está activa, el programa del usuario es parado con alarma de error, caso el tiempo de ejecución de la tarea tarde más que el tiempo definido en el campo "Tiempo", por un número de veces mayor que el definido en el campo "Sensibilidad". |

| o | Tiempo: Tiempo máximo para ejecución de la tarea, sin que acontezca el error de watchdog. |
| o | Sensibilidad: Número de errores de watchdog permitidos, antes de la generación de la alarma de error y parada del programa del usuario. |
|
¡NOTA! Las opciones Quadrature_DI9/DI10 e Dir/Pulse_DI9/DI10 están disponibles desde la versión 2.00. |
Compatibilidad
Equipo |
Versión |
PLC300 |
1.20 o superior |