Skip to main content

Creación de perfiles por instrumentación de código

Importante

El código IEC agregado implícitamente para un método de medición de Profiler, así como los puntos de interrupción para las POU en la lista de observación, provocan un cambio y ralentizan el programa evaluado.

Cuando una medición de cobertura de código o creación de perfiles está activa, generalmente no es posible realizar una medición en línea. Además, algunas funciones en línea no están disponibles, como "control de flujo" y "puntos de interrupción". No hay restricciones para la lista de vigilancia a este respecto.

Habilitar o deshabilitar un método de medición de Profiler, o cambiar cualquier configuración en el editor de Profiler requiere una descarga. Entonces ya no es posible un cambio en línea. No hay restricciones para la lista de vigilancia a este respecto.

Sugerencia

El registro y procesamiento de los valores medidos tiene lugar en el controlador y, por lo tanto, también se puede realizar sin conectar el sistema de desarrollo al controlador (a diferencia de los otros métodos de medición).

Con este método de perfilado, CODESYS Profiler inserta código adicional en la entrada y salida de cada función en el programa. Los tiempos de ejecución de un ciclo de tarea completo se miden y almacenan.

El método es útil para detectar valores atípicos individuales en los tiempos de ejecución de tareas. Para hacer esto, seleccione el Grabar ciclo máximo Modo grabación.

Cuando se instrumenta todo el proyecto, esto puede tener un impacto considerable en los tiempos de ejecución de las tareas y el consumo de memoria. Por lo tanto, seleccione solo una parte de las POU de la aplicación para la instrumentación siempre que sea posible. Un enfoque recomendado es seleccionar primero solo aquellas POU a las que llama directamente la tarea. Determine los "puntos calientes" del tiempo de ejecución para estas POU y luego, en función de estos, seleccione las POU llamadas para la medición.

Importante

  • Las POU que no están seleccionadas para la medición no se muestran en la lista de mediciones, el árbol de llamadas o las pestañas de seguimiento inverso. Por lo tanto, es posible que se muestre un árbol de llamadas "POU1 -> POU3", aunque no hay una llamada directa de POU3 por POU1. Esto se debe a que hay llamadas de POU que no están seleccionadas para la medición entre POU1 y POU3.

  • La salida de "tiempo propio" en la medición de un POU también puede contener tiempos de POU llamados que no están seleccionados para la medición.

Activación y ejecución de perfiles mediante instrumentación

Requisito:

  • A CODESYS la aplicación del proyecto con múltiples POU está abierta en modo fuera de línea.

  • Se define una tarea para controlar las llamadas de POU.

  • La aplicación es la aplicación activa y se puede compilar sin errores.

  • Una conexión al controlador estándar está configurada en la configuración de comunicación y el controlador está funcionando.

  1. Para activar y desactivar la creación de perfiles mediante programación, defina una variable booleana en la aplicación. (Esto es opcional para el ejemplo descrito aquí. La activación también se puede realizar mediante un comando de menú).

  2. Hacer clic Añadir objeto para agregar un Perfilador objeto debajo de la aplicación en el árbol de dispositivos.

  3. Haga doble clic en el objeto.

    Se abre el editor de objetos. los _prf_icon_settings.png Ajustes la pestaña está enfocada.

  4. Selecciona el Método para Instrumentación. Selecciona el Tarea con las llamadas de POU en las que desea realizar mediciones de tiempo.

  5. Bajo Grabación, seleccione la tarea de control de los POU a instrumentar.

    Para Condición, haga clic en el _cds_icon_three_dots.png y seleccione la variable booleana de su aplicación que desea usar para activar y desactivar el registro de valores. Nota: El uso de este tipo de variable es opcional. Si deja el campo en blanco, se registra cada ciclo.

  6. Bajo Parámetros de instrumentación, selecciona el Modo grabación para Grabar el siguiente ciclo. Deja lo requerido Tamaño del búfer (el número máximo de llamadas de POU que se registran por ciclo de tarea) como predeterminado 10000.

    Bajo Aspecto de la instantánea, Selecciona el Formato de tiempo para mostrar la grabación.

  7. En selección de POU, seleccione las POU que se deben instrumentar. Tenga en cuenta que también puede seleccionar "Aplicación completa del instrumento", que incluiría todas las POU del proyecto, así como las POU de las bibliotecas integradas.

  8. Hacer clic En línea → Iniciar sesión para descargar la aplicación al controlador.

    La pantalla _prf_img_status.png se muestra en la barra de estado de CODESYS.

  9. Hacer clic En línea → Inicio para iniciar la aplicación.

    El proyecto se ejecuta y ve los valores de las variables actuales en la vista de seguimiento habitual.

  10. Si configuró una variable booleana como condición para comenzar a generar perfiles, ahora establezca esta variable en TRUE.

    Información básica sobre la grabación: Debido a que seleccionó el Grabar el siguiente ciclo En este ejemplo, solo se registra el primer ciclo cuando se inicia la aplicación y el perfilado. No se registra ningún ciclo adicional. Se realiza una medición adicional solo cuando se carga una grabación desde el controlador. Esta carga se realiza abriendo el En línea pestaña por primera vez o haciendo clic en el Actualizar instantánea botón. Para obtener información sobre la alternativa Grabar ciclo máximo opción, consulte la parte de referencia de la ayuda: Pestaña 'Configuración'.

    Ahora mire los resultados del muestreo. Abra el editor del objeto Profiler y su En línea pestaña.

    los _prf_icon_online.png En línea La pestaña proporciona cuatro subpestañas que se pueden seleccionar en el menú del lado izquierdo. Además, verá un área con botones y configuraciones para la creación de perfiles que se está ejecutando actualmente. Para más información, ver: Pestaña 'En línea'

procedimiento. Información detallada sobre una llamada de POU en el Propiedades diálogo
  1. Sobre el En línea pestaña, haga clic en el Árbol de llamadas categoría.

    Verá la jerarquía de todas las llamadas que se han originado a partir de la tarea especificada en el Ajustes diálogo.

  2. Seleccione una de las llamadas y haga clic en Propiedades en el menú contextual.

    los Propiedades Se abre un cuadro de diálogo para la POU llamada con información detallada, como Propio tiempo y Desviación Estándar.