jueves, 6 de marzo de 2014

Guía LabView: Depuración de Manejo de Errores

DEPURACIÓN Y MANEJO DE ERRORES 

Si LabVIEW no puede ejecutar su VI, le informa al cambiar la Run Arrow por un ícono roto y la ventana Error List enlista las razones específicas por las que el VI está roto. El segundo tipo de bug generalmente es más difícil de rastrear, pero LabVIEW tiene varias herramientas para ayudarle a vigilar su código mientras se ejecuta, lo cual hace el proceso mucho más fácil.
Arreglar VIs Rotos


Si un VI no se ejecuta, es un VI roto o no ejecutable. El botón Run Arrow aparece roto cuando el VI que usted está creando o editando contiene errores.

Generalmente, esto significa que una entrada requerida no está cableada o un cable está roto. Presione el botón Run Arrow roto para tener acceso a la ventana Error List. La ventana Error List enlista cada error y describe el problema. Puede dar doble clic en un error para ir directamente al error.

Encontrar las Causas de VIs Rotos

Las advertencias no evitan que un VI se ejecute. Están diseñados para ayudarle a evitar problemas potenciales en VIs. Los errores, sin embargo, pueden romper un VI. Primero debe resolver cualquier error para poder ejecutar el VI.

Haga clic en el botón Run roto o seleccione View»Error List para encontrar por qué el VI está roto. La ventana Error list enlista todos los errores. La sección Items with errors enlista los nombres de todos los elementos en la memoria, como VIs y bibliotecas de proyectos que tienen errores. Si dos o más elementos tienen el mismo nombre, esta sección muestra la instancia de la aplicación específica para cada elemento. 

La sección errors and warnings enlista los errores y advertencias para el VI que seleccione en la sección Items with errors. La sección Details describe los errores y en algunos casos recomienda cómo corregir los errores. Haga clic en el botón Help para mostrar un tema en LabVIEW Help que describa el error en detalle e incluye instrucciones paso a paso para corregir el error.

Haga clic en el botón Show Error o haga clic en la descripción del error para identificar el área en el diagrama de bloques o panel frontal que contiene el error.

Figura 1. Ejemplo de la Ventana de Diálogo Error List

Causas Comunes de VIs Rotos 

La siguiente lista contiene razones comunes por las que el VI está roto mientras usted lo edita:
  • El diagrama de bloques contiene un cable roto debido a la discrepancia de tipos de datos o una terminal desconectada. Consulte el tema Correcting Broken Wires de LabVIEW Help para obtener información sobre corregir cables rotos.
  • Una terminal de diagrama de bloques requerida no está cableada. Consulte el tema Using Wires to Link Block Diagram Objects de LabVIEW Help para obtener información sobre establecer entradas y salidas requeridas.
  • Un subVI está roto o editó su panel conector después de colocar su ícono en el diagrama de bloques del VI.
Arreglar Comportamiento Incorrecto

Si su VI se ejecuta pero produce resultados incorrectos, entonces tiene un error funcional en su código. LabVIEW tiene varias herramientas para ayudarle a analizar donde su VI no se está comportando como debería.

Barra de Herramientas del Diagrama de Bloques


Cuando ejecuta un VI, aparecen botones en la barra de herramientas del diagrama de bloques que puede usar para depurar el VI. La siguiente barra de herramientas aparece en el diagrama de bloques.


Haga clic en el botón Highlight Execution para mostrar una animación de la ejecución del diagrama de bloques cuando ejecute el VI. Note el flujo de datos a través del diagrama de bloques. Haga clic en el botón otra vez para deshabilitar la ejecución animada.

La ejecución resaltada muestra el movimiento de los datos en el diagrama de bloques desde un nodo a otro usando burbujas que se mueven a lo largo del cable. Use la ejecución resaltada con la herramienta single-stepping para ver cómo los valores de los datos se mueven de nodo a nodo a través del VI.

Nota: La ejecución resaltada reduce enormemente la velocidad a la cual se ejecuta el VI.

Figura 2. Ejemplo de Ejecución Resaltada en Uso


Haga clic en el botón Retain Wire Values para guardar los valores del cable en cada punto en el flujo de ejecución para que cuando coloque una punta de prueba en el cable pueda retener inmediatamente los valores más recientes de los datos que pasaron a través del cable. Debe ejecutar con éxito el VI por lo menos una vez antes de que pueda retener los valores del cable.


Haga clic en el botón Step Into para abrir un nodo y hacer pausa. Cuando hace clic en el botón Step Into otra vez, ejecuta la primera acción y hace pausa en la siguiente acción del subVI o estructura. También puede presionar el y la flecha hacia abajo. Avance a través de los pasos de VI por medio del VI nodo por nodo. Cada nodo se prende para denotar cuando está listo para ejecutarse.


Haga clic en el botón Step Over para abrir un nodo y hacer pausa al siguiente nodo. También puede presionar el y la flecha hacia arriba. Al presionar el nodo, ejecuta el nodo sin avance simple a través del nodo.


Haga clic en el botón Step Out para terminar de ejecutar un nodo actual y hacer pausa. Cuando el VI termina de ejecutarse, el botón Step Out está en color tenue. También puede presionar el y la flecha hacia arriba. Al presionar un nodo, completa el avance en el nodo y navega al siguiente nodo.


El botón de Advertencia aparece si un VI incluye una advertencia y si colocó una marca en la casilla Show Warnings en la ventana Error List. Una advertencia indica que hay un problema potencial con el diagrama de bloques, pero no detiene al VI.


Use la herramienta Probe para verificar los valores intermedios en un cable mientras un VI se ejecuta. También use la herramienta de Probe si tiene un diagrama de bloques complicado con una serie de operaciones y cualquiera de ellas puede regresar datos incorrectos. Use la herramienta de Probe con la identificación de ejecución, avance simple y puntos de paro para determinar donde están los datos incorrectos. Si los datos están disponibles, la punta de prueba se actualiza inmediatamente y muestra los datos en la Probe Watch Window durante la identificación de ejecución, avance simple o cuando hace pausa en un punto de paro. Cuando la ejecución hace pausa en un nodo por avance simple o un punto de paro, también puede medir el cable que se ejecutó para ver el valor que fluye a través de ese cable.

Manejar Errores en LabVIEW

No importa qué tanto confía en el VI que creó, puede predecir cada problema que un usuario puede encontrar. Sin un mecanismo que verifica errores, solamente usted sabe que el VI no funciona adecuadamente. La detección de errores le dice por qué y donde ocurren los errores.
Manejo Automático de Errores 

Cada error tiene un código numérico y un mensaje de error correspondiente.

LabVIEW maneja automáticamente, de forma pre determinada, cualquier error cuando se ejecuta un VI al suspender la ejecución, identificando el subVI o función donde ocurrió el error y mostrando una ventana de diálogo de error.

Para deshabilitar el manejo automático de errores para el VI actual, seleccione File»VI Properties y seleccione Execution en el menú de acceso directo Category. Para deshabilitar el manejo de errores automático para cualquier VI en blanco que usted crea, seleccione Tools»Options y seleccione Block Diagram en la lista Category. Para deshabilitar el manejo automático de errores para un subVI o función en un VI, cablee su parámetro error out al parámetro error in para otro subVI o función o a un indicador error out.
Manejo Manual de Errores 

Puede escoger otros métodos de manejo de errores. Por ejemplo, si un VI de E/S en el diagrama de bloques se multiplica, usted no querrá que la aplicación completa se detenga y muestre una ventana de diálogo de error. También puede querer que el VI intente nuevamente en un cierto periodo de tiempo. En LabVIEW, puede realizar estas decisiones de manejo de error en el diagrama de bloques del VI.

Use los VIs del manejo de errores de LabVIEW y las funciones en la paleta Dialog & User Interface y los parámetros error in y error out de la mayoría de los VIs y las funciones para manejar errores. Por ejemplo, si LabVIEW encuentra un error, puede mostrar el mensaje de error en diferentes tipos de ventanas de diálogo. Utilice el manejo de errores con las herramientas de depuración para encontrar y manejar errores.

Cuando realice cualquier tipo de entrada y salida E/S, considere la posibilidad de que pueden ocurrir errores. Casi todas las funciones de E/S regresan información de error. Incluyendo la verificación de errores en los VIs, especialmente para operaciones de E/S (archivo, serial, instrumentación, adquisición de datos y comunicación) y proporciona un mecanismo para manejar errores apropiadamente.

Use los VIs del manejo de errores de LabVIEW, funciones y parámetros para manejar errores. O puede arreglar el error de forma programática y después borrar el error al cablear la salida error out del subVI o función a la entrada error in del Clear Errors VI. Utilice el manejo de errores con las herramientas de depuración para encontrar y manejar errores.

Clusters de Error

Use los controles e indicadores del cluster de error para crear entradas y salidas de error en los subVIs.

Los clusters error in y error out incluyen los siguientes componentes de información:
Status es un valor Booleano que reporta TRUE si ocurre un error.

Code es un entero con signo de 32 bits que identifica el error de forma numérica. Un código de error no igual a cero unido a un estatus FALSE emite una advertencia más que un error. 
Source es una cadena de caracteres que identifica donde ocurrió el error.

El manejo de error en LabVIEW sigue el modelo del flujo de datos. Al igual que los valores de datos fluyen a través de un VI, también puede fluir información errónea. Cablee la información del error desde el inicio del VI hasta el final. Incluya un VI para manejo de error, como el Simple Error Handler.vi, al final del VI para determinar si el VI se ejecutó sin errores. Use los clusters error in y error out en cada VI que utilice o construya para pasar la información del error a través del VI.

Conforme el VI se ejecuta, LabVIEW hace pruebas para errores en cada nodo de ejecución. Si LabVIEW no encuentra ningún error, el nodo se ejecuta normalmente. Si LabVIEW detecta un error, el nodo pasa el error al siguiente nodo sin ejecutar la parte del código. El siguiente código hace lo mismo y así sucesivamente. Al final del flujo de ejecución, LabVIEW reporta el error.
Explicar Error

Cuando ocurre un error, haga clic con botón derecho en la orilla del cluster y seleccione Explain Error en el menú de acceso directo para abrir la ventana de diálogo de Explain Error. La ventana de diálogo de Explain Error contiene información sobre el error. El menú de acceso directo incluye una opción de Explicar Advertencia si el VI contiene advertencias pero no errores.

Usted también puede tener acceso a la ventana de diálogo Explain Error en el menú Help»Explain Error.

Usar Ciclos While con Manejo de Error

Puede cablear un cluster de error a la terminal condicional de un Ciclo While o un Ciclo For con una terminal condicional para detener la iteración del ciclo. Si cablea el cluster de error a la terminal condicional, solamente el valor TRUE o FALSE del parámetro de estatus del cluster de error pasa a la terminal. Si ocurre un error, el ciclo se detiene. En un Ciclo For con una terminal condicional, también debe cablear un valor a la terminal de conteo o auto-index un arreglo de entrada para establecer un número máximo de iteraciones. El Ciclo For se ejecuta hasta que ocurre un error o hasta que se completa el número de iteraciones establecido.

Si cablea un cluster de error a la terminal condicional, el menú muestra Stop if True y Continue if True cambia a Stop on Error y Continue while Error.

En la Figura 3, el cluster de error y un botón stop son usados juntos para determinar cuándo detener al ciclo. Este es el método recomendado para detener la mayoría de los ciclos ya que el ciclo se detiene cuando usted lo pide, o cuando algo anda mal (y se produce un error), cualquiera que suceda primero.

Figura 3. Detener un Ciclo While


DESCARGATE EL PDF AQUÍ. TRADUCIDO POR JOTA ZETA
TODOS LOS DERECHOS DE NATIONAL INSTRUMENTS 2014.

0 comentarios:

Publicar un comentario

Aprende a Programar tus propias aplicaciones