Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Paso a Paso en un VI recursivo.

¡Resuelto!
Ir a solución

Hola.

 

Alguien sabe cómo hacer una corrida paso a paso de un VI recursivo para ver que ocurre en cada nivel de recursión?

 

Nos vemos.

0 kudos
Mensaje 1 de 5
4.105 Vistas

Hola Walter

 

Solamente necesitas asegurarte pausar el VI antes de ejecutar, puedes poner highlight execution y postermente correr el VI y darle paso por paso, cuando llegues al subVI de recurrencia te abrirá un nuevo clon y podrás habilitar todas las opciones de debug. Acabo de hacer la prueba y funciona bien. Yo lo hice en 2009, si utilizas una versión distinta infórmame y envíame tu VI para checarlo.

 

Saludos

 

Coamín Cruz

NI México

0 kudos
Mensaje 2 de 5
4.080 Vistas
Hola.

Lamento haber tardado en responder, pero he estado enfermo y no he podido venir a la universidad.

Yo estoy trabajando con LabVIEW 8.20 en este momento.  Mi problema tiene que ver con el Algoritmo DFS (depth first search), el cual sirve para hacer una búsqueda de caminos en un grafo cualquiera. Para hacer esta tarea desarrollé los siguientes VIs los cuales estoy endosando junto con este post:

Desmembrador de Texto.vi : Este VI lo que hace es una compilación de un archivo de texto que contiene la descripción de un grafo en lenguaje GDL (un lenguaje desarrollado por mi para este fin Emoticono feliz ) . Este VI "desmiembra" el grafo descrito en componentes como aristas y vértices y da información relevante como cuales son los vecinos a cada vertice, las aristas que salen de un vértice, etc.

DFS Algotithm.vi : En este VI sa hace el llamado a DFS.vi y presenta los caminos que encontró para un grafo determinado. Este es el VI que debe ser ejecutado primero para realizar toda la tarea de búsqueda de caminos usando DFS.

DFS.vi : Este es el VI recursivo que busca los caminos en un grafo dado de acuerdo con le algoritmo de Búsqueda en Profundidad (DFS o Depth First Search).

Por que requiero de hacer una corrida paso a paso?, pues bien, para la descripción "Grafo005.txt" debería aparecer en la Lista de Caminos lo siguiente:

v01  v02  v01  v02
v02  v05  v02  v04
              v04  v03

mas lo que aparece es lo siguiente:

v01  v02
v02  v04
v02  v05
v05  v03

Entienden ahora por qué requiero de correr al DFS.vi paso a paso? Necesito saber dónde estoy cometiendo el error de escritura en el arreglo Lista de Caminos para presentar los caminos de forma correcta y que este programa sirva para cualquier tipo de grafo.

Adjunto los VIs descritos, sus bibliotecas LLB y algunas descripciones de grafos en GDL.

Muchas gracias de antemano.
Descargar todos
0 kudos
Mensaje 3 de 5
4.050 Vistas
Solución
Aceptado por el autor del tema Walter

Estimado Walter

 

Mira el procedimiento que yo realicé fue el siguiente:

 

  1. Entré a tu DFS Algorithm.vi
  2. Doble clic sobre el DFS.vi. Ahí se abre el clon, presiona Ctl+M para abrir el original.
  3. Ve al diagrama de bloques y coloca un breakpoint sobre una de las terminales del Call By Reference Node.VI
  4. Cierra y guarda el subVI, cierra el clon previamente abierto.
  5. Corre tu VI principal, te aparecerá el cuadro de diálogo para seleccionar el archivo, seleciónalo y se detendrá tu aplicación en el breakpoint previamente configurado. Ahi habilita highlightexecution y avanza paso por paso con el Step Into (primer botón de paso por paso de izquierda a derecha). Cuando llegues al Call By Reference Node.VI se abrirá el primer clon, el cual podrás debugear como de costumbre y así consecutivamente se irán abriendo los diferentes clones.

Te anexo una imagen de cómo iban apareciendo.

 

Quedo a tus órdenes para cualquier cosa.

 

Saludos

 

Coamín Cruz

NI México 

0 kudos
Mensaje 4 de 5
4.041 Vistas

Hola.

 

Gracias Coamín por la ayuda... Ahora veré de corregir este problema que tengo.

 

Nos vemos pronto.

0 kudos
Mensaje 5 de 5
4.010 Vistas