Para evaluar posibles errores de programación, puede utilizar la funcionalidad de depuración.
Para fines de pruebas, las aplicaciones también se pueden ejecutar en modalidad de simulación sin necesidad de contar con un enlace al 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.
Puntos de interrupción para forzar paradas de ejecución
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 con mayor precisión mediante 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.
NOTA: Las entradas o salidas gestionadas por la tarea de depuración no se actualizarán si se detienen en un punto de interrupción. Esto se aplica aunque la opción Actualizar E/S en parada esté activada en la ficha Ajustes PLC del editor de dispositivos.
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 Puntos de interrupción proporciona una descripción general de todos los puntos de interrupción, lo que le permite añadir, eliminar y modificar puntos de interrupción.
Puntos de interrupción condicionales
La detención en el punto de interrupción puede depender de las siguientes condiciones:
oEn ese momento, el valor de una expresión booleana específica es TRUE.
oEl número de ciclo que se está ejecutando.
oLa tarea que se está ejecutando.
oCuando 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 online, el cuadro de diálogo Puntos de interrupción permite modificar un punto de interrupción y punto de interrupción de datos de tal manera que pase a ser 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. |
Ejecución paso a paso del programa
La ejecución paso a paso permite la ejecución controlada de un programa de aplicación en modalidad online 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 relacionados con puntos de interrupción para ver 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:
oComando Paso a paso: ejecución de un solo paso; también se aplica a las POU que se llamen en el paso.
oComando Paso a paso por procedimientos: ejecución de un solo paso; las POU se ejecutan de manera completa dentro del paso.
oComando Paso a paso para salir: si el programa de aplicación no contiene ninguna llamada, se saltará hasta el inicio de la aplicación.
oComando Ejecutar hasta el cursor: ejecución del programa hasta una posición definible temporal.
oComando Definir la siguiente instrucción: definición de la siguiente instrucción que deberá ejecutarse.
oComando Mostrar la siguiente instrucción: salto a la instrucción que deberá ejecutarse en el siguiente paso.
oVista Pila de llamadas: esta vista indica la posición del paso que se ha alcanzado en estos momentos con la ruta completa de la llamada.
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 Árbol de llamadas muestra la ubicación del bloque de funciones en la estructura de llamadas de un programa de aplicación incluso antes de compilar la aplicación.
Ejemplo de operación paso a paso (step Into)
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
Puntos de interrupción de datos
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 se puede definir dependerá del número de registros que tenga disponibles el controlador que está utilizando. 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:
oVincular la detención en el punto de interrupción de datos con otra condición (consulte Puntos de interrupción condicionales).
oRedefinir 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).
Puntos de interrupción y ejecución paso a paso en aplicaciones con múltiples tareas
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, sólo 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 sólo 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 Puntos de interrupción > Nuevo punto de interrupción, ficha Condición).
Control de proceso para la visualización de valores exactos durante el procesamiento
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 que encontrará en la ayuda en línea de comandos de menú.
Valores de variables durante la detención de la ejecución
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 que encontrará en la ayuda en línea de comandos de menú.