TIA Portal - Medir tiempo de ciclo de programa de PLC Siemens S7-1200 / 1500

Fecha de publicación
Cateogría del artículo Software & Programacion
Visualizaciones del artículo Leído 937 veces

En TIA Portal se utiliza la instrucción "RUNTIME" para medir el tiempo de ciclo de ejecución del programa completo, bloques individuales o secuncias de instrucciones. Con la instrucción "RT_INFO" se leen las estadísticas en tiempo de ejecución de los bloques de organización específicos, la comunicación o el programa de usuario.

La instrucción "RUNTIME" está en la paleta de "Instrucciones básicas > Instrucciones de control del programa" y la instrucción "RT_INFO" está en la paleta "Instrucciones avanzadas > Diagnóstico". Los siguientes ejemplos muestran el cálculo del tiempo de ejecución.

Ejemplo 1: Medición del tiempo de ejecución con la instrucción "RUNTIME" para el S7-1200/S7-1500

Programa

Usando la instrucción "RUNTIME" se mide el tiempo de ejecución del programa, bloques individuales o secuencias de instrucciones.

Si se desea medir el tiempo de ejecución del programa, de los bloques individuales o de secuencias de instrucciones, si es posible, mover el código del programa a un OB con una prioridad superior. De esta manera no se verá interrumpido y, en consecuencia, no se verá retrasado por la comunicación y por otros OBs.

La figura 1 muestra cómo medir el tiempo de ejecución para un bloque de programa llamado en el OB30 con la prioridad 24:

- La primera llamada a la instrucción "RUNTIME" establece el punto de comienzo para la medición del tiempo de ejecución y lo guarda como una referencia para la segunda llamada en la variable del DB "Memory".
- Entonces se llama al bloque de programa "TestBlock".
- Cuando se ha procesado el bloque, se llama una segunda vez a la instrucción "RUNTIME". Esta segunda llamada calcula el tiempo de ejecución del bloque de programa "TestBlock" y escribe el resultado (segundos) en la variable del DB "runtimeResult".

Evaluación

Para registrar los tiempos de ejecución se crea una traza con la variable "DB".runtimeResult. Para el muestreo se selecciona el OB30.La figura 2 muestra el registro de las variables. En este ejemplo, el tiempo de ejecución del bloque de programa "TestBlock" está entre 20,5 y 23 μs.

Consideración

Para la medición del tiempo de ejecución se debería deshabilitar el estado del programa porque falsifica el resultado de la medida. Para poder visualizar los valores actuales en el estado, la CPU recompila la parte de programa visualizada. En función de que se muestra en el editor, el tiempo de ejecución de este subprograma se amplía.

Ejemplo 2: Medición del tiempo de ejecución con la instrucción "RT_INFO" para el S7-1500

Programa

Con la instrucción "RT_INFO" se generan las estadísticas en tiempo de ejecución de los bloques de organización específicos, la comunicación o el programa de usuario. A través del parámetro "MODE" se define qué tiempo de ejecución se desea leer en la salida "INFO". En el siguiente ejemplo (figura 3) se llama a la instrucción "RT_INFO" para la salida de diferentes tiempos de ejecución en el OB1.

En el bloque de datos, con la variable "obNr" se define el OB del que se desean medir los tiempos de ejecución. Con la variable "mode" se selecciona el tiempo de ejecución que se desea medir.

Se pueden medir los siguientes tiempos de ejecución:

MODE = 1 Tiempo de ejecución de un OB específico
MODE = 2 Tiempo de ejecución máximo de un OB específico
MODE = 3 Tiempo de ejecución mínimo de un OB específico
MODE = 23 Tiempo de ciclo más largo (número de OB no es relevante)
MODE = 24 Tiempo de ciclo más corto (número de OB no es relevante)
MODE = 25 Tiempo de ciclo actual / último, o longitud del último ciclo (número de OB no es relevante)

Evaluación

Para registrar los tiempos de ejecución se crea una traza con la variable "DB".runtimeResult. Para el muestreo se selecciona el OB30. La figura 4 muestra el registro de las variables. En este ejemplo, el tiempo de ejecución del bloque de programa "TestBlock" está entre 31 y 33 μs.

Consideración

Para la medición del tiempo de ejecución se debería deshabilitar el estado del programa porque falsifica el resultado de la medida. Para poder visualizar los valores actuales en el estado, la CPU recompila la parte de programa visualizada.
En función de que se muestra en el editor, el tiempo de ejecución de este subprograma se amplía.

Recomendación

La longitud del tiempo de ejecución depende de la CPU usada. Si se necesita un tiempo de ejecución más corto, se recomienda utilizar una CPU mayor.

La siguiente tabla proporciona una visión general de los tiempos de procesamiento para las instrucciones binarias y con palabras: