Skip to main content

Tarea IEC ejecución libre

Una tarea gradual se ejecuta de forma cíclica, pero sin un ciclo de tareas fijo. Se trata de una tarea recurrente en el sentido clásico del PLC

La ejecución se lleva a cabo con la mayor frecuencia posible. Sin embargo, el procesamiento no tiene lugar en un ciclo fijo. No puede definir una duración del ciclo de tareas para este tipo de tareas. El comportamiento del tiempo se selecciona automáticamente y se realiza de forma que se suponga la menor carga posible para todo el sistema.

Además, se espera una cantidad específica de tiempo después del final de una ejecución hasta que la tarea se vuelva a ejecutar. La duración es un porcentaje de la duración del último ciclo.

Importante

No se garantiza un tiempo de ciclo de tareas fijo ni un comportamiento de tiempo fijo para la tarea que se desarrolla libremente.

Puede configurar un organismo de control para una tarea sencilla.

Lógica

El sistema de ejecución determina la carga de todas las tareas de IEC que se realizan libremente, de modo que esta carga no supere la mitad de la carga máxima del procesador establecida.

MaxCpuLoadFreewheeling = ((MIN( 100, MaxProcessorload) / 2) / NumOfFreeWheelingTasks);
SleeptimeAfterCycle = CycleTimeFreewheelingTask * ((100 - MaxCpuLoadFreewheeling) / 100)
if (SleeptimeAfterCycle < 1000) // Minimum sleeptime of 1ms is mandatory!   
SleeptimeAfterCycle = 1000;
ejemplo 26. Ejemplo

El sistema de ejecución de una aplicación se ejecuta de la siguiente manera:

  • MaxProcessorload = 80

  • CycleTime = 20 ms

  • 1 tarea desenfrenada

Efecto

  • MaxCpuLoadFreewheeling = 40%

  • SleeptimeAfterCycle = 30 ms

  • Tiempo total del ciclo de la tarea continua = 50 ms

⇒ Se alcanza una carga total de CPU del 60% para el resto del sistema.