Tipos de tareas

Introducción

En la siguiente sección se describen los diferentes tipos de tareas disponibles para el programa junto con una descripción de las características del tipo de tarea.

Cyclic Task

A una tarea cíclica se le asigna un tiempo de ciclo fijo con el ajuste de intervalo de la sección Tipo de la subficha Configuración de esa tarea. Cada tipo de tarea cíclica se ejecuta así:

1.

Read Inputs: los estados de entrada física se escriben en las variables de memoria de entrada %I y se ejecutan otras operaciones del sistema.

2.

Task Processing: se procesa el código de usuario (POU, etc.) definido en la tarea. Las variables de memoria de salida %Q se actualizan según las instrucciones del programa de aplicación pero no se escriben todavía en las salidas físicas durante esta operación.

3.

Write Outputs: Las variables de memoria de salida %Q se modifican con cualquier forzado de salida que se haya definido; sin embargo, la escritura de las salidas físicas depende del tipo de salida y de las instrucciones utilizadas.

Para obtener más información, sobre cómo definir la tarea de ciclo de bus, consulte EcoStruxure Machine Expert - Guía de programación y Configuración de PLC.

Para obtener más información, sobre el comportamiento de E/S, consulte Descripción detallada de los estados del controlador.

4.

Remaining Interval time: El firmware del controlador lleva a cabo el procesamiento del sistema y otras tareas de prioridad inferior.

NOTA: Si define un periodo demasiado corto para una tarea cíclica, se repetirá inmediatamente después de la escritura de las salidas y sin ejecutar otras tareas de prioridad inferior o sin ningún procesamiento del sistema. Esto afectará a la ejecución de todas las tareas y debido a que el controlador excederá los límites de watchdog del sistema, se generará una excepción de watchdog del sistema.
NOTA: Cuando el tiempo de ciclo de tarea se establece en un valor menor de 3 ms, la duración real de la tarea debe monitorizarse primero desde la pantalla Supervisión de tareas durante la puesta en marcha para asegurarse de que es considerablemente menor que el tiempo de ciclo de tarea configurado. Si es mayor, no se podrá cumplir el ciclo de tarea sin provocar un timeout del watchdog y una transición del controlador a un estado HALT. Para evitar esta condición hasta cierto punto, cuando el tiempo de ciclo de tarea se establece en un valor menor que 3 ms, se imponen límites reales de +1 ms en el caso de que, en un ciclo determinado, el tiempo de ciclo calculado supere ligeramente el tiempo de ciclo configurado.
NOTA: Obtenga y defina el intervalo de una tarea cíclica por aplicación mediante las funciones GetCurrentTaskCycle y SetCurrentTaskCycle. Consulte EcoStruxure Machine Expert - Gestionar un intervalo de tareas cíclicas - Guía de la biblioteca Toolbox_Advance para obtener más información.

Freewheeling Task

Una tarea de ejecución libre no tiene duración fija. En la modalidad de ejecución libre, cada análisis de tareas empieza cuando se ha terminado el anterior análisis y después de un corto periodo de procesamiento del sistema. Cada tipo de tarea de ejecución libre se ejecuta así:

1.

Read Inputs: los estados de entrada física se escriben en las variables de memoria de entrada %I y se ejecutan otras operaciones del sistema.

2.

Task Processing: se procesa el código de usuario (POU, etc.) definido en la tarea. Las variables de memoria de salida %Q se actualizan según las instrucciones del programa de aplicación pero no se escriben todavía en las salidas físicas durante esta operación.

3.

Write Outputs: Las variables de memoria de salida %Q se modifican con cualquier forzado de salida que se haya definido; sin embargo, la escritura de las salidas físicas depende del tipo de salida y de las instrucciones utilizadas.

Para obtener más información, sobre cómo definir la tarea de ciclo de bus, consulte EcoStruxure Machine Expert - Guía de programación y Configuración de PLC.

Para obtener más información, sobre el comportamiento de E/S, consulte Descripción detallada de los estados del controlador.

4.

System Processing: El firmware del controlador lleva a cabo el procesamiento del sistema y otras tareas de prioridad inferior (por ejemplo: gestión de HTTP, gestión de Ethernet, gestión de parámetros).

NOTA: Si desea definir el intervalo de tareas, consulte Tarea cíclica.

Tarea de eventos

Este tipo de tarea está controlada por eventos y se inicia mediante una variable de programa. Se inicia en el flanco ascendente de la variable booleana asociada al evento activado, salvo que se le adelante una tarea de mayor prioridad. En ese caso, la tarea de eventos se iniciará según lo establecido en las asignaciones de prioridad de tareas.

Por ejemplo, si ha definido una variable denominada my_Var y quiere asignarla a un evento, siga estos pasos:

Paso

Acción

1

Haga doble clic en TAREA, en el árbol de aplicaciones.

2

Seleccione Evento en la lista Tipo de la ficha Configuración.

3

Haga clic en el botón Accesibilidad situado a la derecha del campo Evento.

Resultado: Aparecerá la ventana Input Assistant.

4

Navegue por el árbol del cuadro de diálogo Accesibilidad para buscar y asignar la variable my_Var.

NOTA: Cuando la tarea de eventos se activa con excesiva frecuencia, el controlador entrará en el estado HALT (excepción). La tasa máxima de eventos aceptable es de 6 eventos por milisegundo. Si la tarea de eventos se activa a una frecuencia mayor que esta, se registra el mensaje "ISR Count Exceeded" en la página de registro de la aplicación.

Tarea External Event

Este tipo de tarea está controlada por eventos y se inicia mediante la detección de un evento de hardware o un evento de función relacionado con el hardware. Se inicia cuando se produce el evento, salvo que se le adelante una tarea de mayor prioridad. En ese caso, la tarea Evento externo se iniciará como lo indiquen las asignaciones de prioridad de tareas.

Por ejemplo, una tarea de evento externo podría estar asociada a un evento de detención de HSC. Para asociar el evento HSC0_STOP a una tarea de evento externo, selecciónelo en la lista desplegable Evento externo de la ficha Configuración.

En función del controlador, hay hasta cuatro tipos de eventos que pueden asociarse a una tarea de evento externo:

  • Flanco ascendente en una entrada avanzada (DI0 a DI15)

  • Umbrales de HSC

  • Parada HSC

  • CAN Sync

NOTA: La sincronización de CAN es un objeto de evento específico que depende de la configuración del Administrador CANopen.
NOTA: La frecuencia máxima de eventos es de 6 por milisegundo. Si la tarea de evento externo se activa a una frecuencia mayor que esta, el controlador pasa al estado HALT (Excepción) y se registra un mensaje "ISR Count Exceeded" en la página de registro de la aplicación.