Para evaluar posibles errores de programación, puede utilizar la funcionalidad de depuración.
Para realizar pruebas, una aplicación también puede ejecutarse en simulación sin necesidad de que haya ningún enlace a un dispositivo de destino real. Si bien la simulación evita la necesidad de conectarse al hardware físico, existen limitaciones por las que es posible que deba llevar a cabo la depuración en línea.
El punto de interrupción establecido en un programa de aplicación detiene la ejecución del programa. Los valores de las variables pueden comprobarse en el punto de ejecución actual. La posición actual puede determinarse de forma más precisa con la Pila de llamadas.
Solo se detendrá la tarea de depuración que haya alcanzado el punto de interrupción. Las otras tareas seguirán ejecutándose. Las posiciones de los posibles puntos de interrupción dependen del editor de programa en cuestión. En cada caso, hay un punto de interrupción al final de una POU.
Consulte el capítulo Comandos relacionados con los puntos de interrupción para ver una descripción de los comandos relacionados con los puntos de interrupción. El cuadro de diálogo (consulte EcoStruxure Machine Expert, Comandos de menú, Ayuda en línea) proporciona una descripción general de todos los puntos de interrupción, lo que le permite añadir, quitar y modificar puntos de interrupción.
La detención en el punto de interrupción puede depender de las siguientes condiciones:
En ese momento, el valor de una expresión booleana específica es TRUE.
El número de ciclo que se está ejecutando.
La tarea que se está ejecutando.
Cuando se modifica el valor de una variable (punto de interrupción de datos).
La declaración de una tarea de depuración específica puede contribuir a evitar que diversas tareas queden afectadas por la comprobación de errores (consulte el apartado Puntos de interrupción y ejecución paso a paso en aplicaciones con múltiples tareas).
En la modalidad en línea, el cuadro de diálogo (consulte EcoStruxure Machine Expert, Comandos de menú, Ayuda en línea) le permite cambiar un punto de interrupción y un punto de interrupción de datos de tal forma que se conviertan en un punto de ejecución. En consecuencia, el programa no se detiene en la posición, sino que se inicia el procesamiento del código.
Símbolo |
Descripción |
---|---|
![]() |
Punto de interrupción activado. |
![]() |
Punto de interrupción desactivado. |
![]() |
El punto de interrupción se establece en otra instancia del bloque de funciones que se encuentre abierta en el editor. |
![]() |
Se detiene en el punto de interrupción. |
![]() |
Punto de interrupción condicional activado. |
![]() |
Punto de interrupción condicional desactivado. |
![]() |
Punto de ejecución activado. |
![]() |
Punto de ejecución desactivado. |
![]() |
Punto de ejecución condicional activado. |
![]() |
Punto de ejecución condicional desactivado. |
![]() |
Posición actual del paso. Se indica con una flecha amarilla delante de la línea respectiva y una sombra amarilla detrás de la operación en cuestión. |
![]() |
Punto de interrupción de datos activado. |
![]() |
Punto de interrupción de datos desactivado. |
![]() |
Se detiene en el punto de interrupción de datos. |
![]() |
Punto de ejecución de datos activado. |
![]() |
Punto de ejecución de datos desactivado. |
![]() |
Se detiene en el punto de ejecución de datos. |
![]() |
Punto de ejecución de datos condicional activado. |
![]() |
Punto de interrupción de datos condicional activado. |
La ejecución paso a paso permite la ejecución controlada de un programa de aplicación en modalidad en línea para fines de depuración. Antes de utilizar los comandos de ejecución paso a paso, el programa deberá detenerse en un paso de programa definido, por ejemplo estableciendo un punto de interrupción. Básicamente, se pasa de una instrucción a la siguiente accediendo a la instrucción (step into), pasando a la siguiente instrucción (step over) o saliendo de la instrucción (step out). Consulte el capítulo Comandos de punto de interrupción si desea una descripción de los comandos de ejecución paso a paso.
En EcoStruxure Machine Expert se proporcionan las siguientes funciones de ejecución paso a paso:
Comando (consulte EcoStruxure Machine Expert, Comandos de menú, Ayuda en línea): ejecución de un solo paso; esto también se aplica a las POU llamadas en un paso.
Comando (consulte EcoStruxure Machine Expert, Comandos de menú, Ayuda en línea): ejecución de un solo paso; las POU se ejecutan completamente en un paso.
Comando (consulte EcoStruxure Machine Expert, Comandos de menú, Ayuda en línea): si el programa de aplicación no contiene ninguna llamada, se ejecuta un salto de vuelta al inicio de la aplicación.
Comando (consulte EcoStruxure Machine Expert, Comandos de menú, Ayuda en línea): ejecución del programa hasta una posición definible temporal.
Comando (consulte EcoStruxure Machine Expert, Comandos de menú, Ayuda en línea): definición de la siguiente instrucción que se ejecutará.
Comando (consulte EcoStruxure Machine Expert, Comandos de menú, Ayuda en línea): saltar a la instrucción que se ejecutará en el siguiente paso.
Vista (consulte EcoStruxure Machine Expert, Comandos de menú, Ayuda en línea): esta vista indica la posición del paso alcanzada con la ruta de llamada completa.
Las posibles posiciones de detención al ejecutar paso por paso un programa de aplicación dependerán del tipo de editor. La posición actual se indica mediante una flecha amarilla.
La vista (consulte EcoStruxure Machine Expert, Comandos de menú, Ayuda en línea) muestra la ubicación del bloque de funciones en la estructura de llamada de un programa de aplicación incluso antes de compilar la aplicación.
A partir del punto de interrupción, puede ejecutar cada línea de comandos con el comando de ejecución paso a paso.
Paso a paso, ejemplo
Los puntos de interrupción de datos permiten detener la ejecución del programa cuando cambia el valor de una variable.
Esta función no está disponible para todos los controladores admitidos. Consulte la guía de programación específica de su controlador.
El número de puntos de interrupción de datos que puede definir depende del controlador que use. Se muestra un mensaje cuando intenta establecer un punto de interrupción de datos y ya se ha alcanzado el número máximo.
Las opciones siguientes están disponibles tanto para puntos de interrupción de datos como puntos de interrupción normales:
Vincular la detención en el punto de interrupción de datos con otra condición (consulte Puntos de interrupción condicionales).
Redefinir un punto de interrupción de datos en un punto de ejecución de datos en el que el programa no se detiene, sino que procesa un código específico (consulte Puntos de ejecución).
La depuración no puede ejecutarse en diversas tareas al mismo tiempo. Mientras trabaja con una tarea con puntos de interrupción o ejecución paso a paso, se ignoran los puntos de interrupción de otras tareas.
Si múltiples tareas pueden acceder a un punto de interrupción porque varias tareas utilizan la POU, solo se detendrá la tarea que se ejecute en primer lugar. Tenga esto en cuenta en el caso de una única ejecución paso a paso o si prosigue la depuración después de una parada. Si solo debe haber una determinada tarea implicada (tarea de depuración), puede especificarlo en las propiedades de las condiciones del punto de interrupción (cuadro de diálogo
, ficha ).Es posible activar el control de proceso para realizar un seguimiento de partes de la aplicación que ya se hayan ejecutado. A diferencia de la supervisión estándar, que muestra únicamente el valor de la variable entre dos ciclos, el control de proceso devuelve el valor de cada paso de procesamiento en el momento de su ejecución. Consulte también la descripción de Control de proceso en la Ayuda en línea de los comandos de menú.
En cada detención de la ejecución, EcoStruxure Machine Expert muestra los valores de las variables del ciclo actual (supervisión). Para determinar la posición actual, es posible mostrar la pila de llamadas de una variable. Consulte también la descripción de Pila de llamadas en la Ayuda en línea de los comandos de menú.