Configuración de una tarea específica
Al insertar una tarea en el nodo Configuración de tareas del árbol Aplicaciones, la vista del editor de tareas para definir la configuración de tareas se abre con la ficha Configuración.
También se abre si hace doble clic en una tarea disponible (por ejemplo, MAST) para modificar la configuración de la tarea.
NOTA: Puede modificar el nombre de la tarea editando la entrada respectiva en el árbol Aplicaciones.
Inserte los atributos que desee.
Prioridad |
|
---|---|
Prioridad (0...31) |
Un número de 0 a 31; 0 es la prioridad más alta y 31 la más baja. El valor predeterminado para nuevas tareas lo define el controlador. NOTA: Tenga en cuenta la configuración de tareas específica del controlador a la hora de decidir la configuración adecuada para las tareas de su aplicación. Esto puede ser importante al asignar la prioridad a las tareas exclusivas de comunicaciones, así como su relación con temas como la ciberseguridad. Aumente la solidez del sistema definiendo una prioridad mayor para las tareas de aplicación que para las de comunicación. |
Tipo |
|
---|---|
El dispositivo de destino define los tipos de tarea admitidos. Algunos dispositivos de destino no son compatibles con todos los tipos. Consulte la guía de programación específica de su controlador para obtener más información. |
|
Cíclico |
La tarea se procesará cíclicamente según la definición del tiempo (tiempo de ciclo de tarea) especificada en el campo Intervalo (véase a continuación). |
Evento |
La tarea se iniciará en cuanto la variable definida en el campo Evento obtenga un flanco ascendente. |
Ejecución libre |
La tarea se procesará en cuanto se inicie el programa y, al finalizar una ejecución, se reiniciará automáticamente en un bucle continuo. No hay un tiempo de ciclo definido. |
Externo |
La tarea se iniciará en cuanto se produzca el evento del sistema, que se define en el campo Evento externo. Los eventos que se admitirán y se ofrecerán en la lista de selección dependen del destino. No se deben mezclar con eventos del sistema. |
Estado |
La tarea se iniciará si la variable definida en el campo Evento es TRUE. |
Entradas obligatorias según el tipo de tarea
Entrada |
Descripción |
---|---|
Intervalo (por ejemplo, t#200ms) |
Obligatorio para el tipo de tarea Cíclico. Tiempo (en milisegundos [ms]) tras el que debe reiniciarse la tarea. Cuando establece el tiempo de ciclo de tarea, tenga en cuenta el sistema de bus que utiliza la aplicación. Por ejemplo, en un sistema de bus CAN, puede establecer la Tarea de ciclo de bus en la ficha Asignación de E/S CANopen. El tiempo del ciclo de tarea debe coincidir con la velocidad de transmisión y el número de tramas que se utilizan en el bus. Además, los tiempos establecidos para heartbeat, nodeguarding y sync deben ser siempre múltiplos del tiempo de ciclo de tarea. De lo contrario, puede que no se reconozcan las tramas CAN. Para obtener más información, consulte la sección sobre el editor de dispositivos de la ayuda online EcoStruxure Machine Expert. |
Evento |
Obligatorio para el tipo Evento o activado por un Evento externo. Una variable booleana global que activará el inicio de la tarea en cuanto se detecte un flanco ascendente. Utilice el botón ... o el asistente Accesibilidad para obtener una lista de todas las variables de eventos globales disponibles. NOTA: Si el evento que inicia una tarea se origina en una entrada, debe haber como mínimo una tarea que no se inicie por eventos. De lo contrario, las E/S nunca se actualizarán y la tarea nunca se iniciará. NOTA: Solo se permiten variables IEC internas. Si se referencia una propiedad (incluido un parámetro del sistema) en una tarea de evento, se detectará un error de excepción del watchdog durante la descarga. |
Diferencia entre estado y evento
Si el evento especificado es TRUE, cumple la condición de inicio de una tarea iniciada por estado, mientras que una tarea iniciada por un evento requiere el cambio del evento de FALSE a TRUE. Si el evento cambia demasiado rápido de TRUE a FALSE y otra vez a TRUE, es posible que no se detecte y que, por tanto, no se inicie la tarea Evento.
El ejemplo siguiente ilustra el comportamiento resultante de la tarea en reacción a un evento (línea verde):
En los puntos de muestreo 1...4, tareas de distintos tipos muestran una reacción diferente:
Comportamiento en el punto: |
1 |
2 |
3 |
4 |
---|---|---|---|---|
Indicador |
no iniciar |
iniciar |
iniciar |
iniciar |
Evento |
no iniciar |
iniciar |
No iniciar porque el evento ha cambiado demasiado rápido de TRUE a FALSE y otra vez a TRUE |
no iniciar |
Para cada tarea, puede configurar un control de tiempo (watchdog).
La configuración predeterminada del watchdog depende del controlador.
Cuando la opción Habilitar está activada (tiene la marca de verificación), el watchdog está habilitado. Cuando el watchdog de tareas está habilitado, se detecta un error de Excepción si el tiempo de ejecución de la tarea supera el límite de tiempo de tarea definido (Tiempo). Se detendrán la aplicación que contiene la tarea en la que se ha producido el error y las aplicaciones secundarias correspondientes. En consecuencia, las tareas de estas aplicaciones también se detendrán. Se tiene en cuenta la Sensibilidad definida. Si la opción Actualizar E/S en parada está habilitada en el cuadro de diálogo de configuración del controlador, las salidas se configurarán con los valores predeterminados predefinidos según la plataforma de controlador específica. Esta función no está disponible para todos los controladores admitidos. Consulte la guía de programación específica de su controlador.
Se pueden producir los siguientes casos:
oVarios timeouts consecutivos:
oSensibilidad: 0, 1 - excepción en el ciclo 1
oSensibilidad: 2 - excepción en el ciclo 2
oSensibilidad: n - excepción en el ciclo n
NOTA: El límite superior de Sensibilidad (n) depende del controlador. Para obtener más información en relación con la sensibilidad, el tiempo de tarea y otros parámetros relevantes, consulte el capítulo Watchdogs del sistema y de tareas de la guía de programación del controlador.
oTimeout único: excepción si el tiempo del ciclo actual es superior a (límite de tiempo de tarea * sensibilidad).
Ejemplo:
Tiempo=t#10 ms, Sensibilidad = 5 (se indica una excepción cuando la tarea se ejecuta durante más de 50 ms).
Tiempo (por ejemplo t#200 ms) |
Define el tiempo de ejecución máximo permitido para una tarea. Cuando una tarea tarda más tiempo del permitido, el controlador notificará una excepción de watchdog de tareas. |
Sensibilidad |
Define el número de excepciones de watchdog de tareas que debe producirse antes de que el controlador detecte un error de aplicación. |
NOTA: La función de watchdog no está disponible en modo de simulación.
Consulte la guía de programación específica de su controlador, capítulo Watchdogs del sistema y de tareas, para obtener información sobre el tiempo de tarea, la sensibilidad y otros posibles parámetros del watchdog.
Las POU controladas por la tarea se enumeran aquí en una tabla con el nombre de la POU y un Comentario opcional. Encima de la tabla hay comandos para la edición:
oPara definir una POU nueva, abra el cuadro de diálogo Accesibilidad mediante el comando Agregar llamada. Seleccione uno de los programas disponibles en el proyecto. También puede añadir POU de tipo programa a la lista mediante el método de arrastrar y soltar desde el árbol Aplicaciones.
oPara sustituir una llamada de programa por otra, seleccione la entrada en la tabla, abra Accesibilidad mediante el comando Modificar llamada y seleccione otro programa.
oPara eliminar una llamada, selecciónela en la tabla y utilice el comando Eliminar llamada.
oEl comando Abrir POU abre el programa seleccionado en el editor correspondiente.
La secuencia de las llamadas POU enumeradas de arriba abajo determina la secuencia de ejecución en modalidad online. Puede desplazar la entrada seleccionada dentro de la lista por medio de los comandos Uno adelante y Uno atrás.