Discusiones sobre Productos NI

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

Algo parecido a Funciones?

Hola buenas tardes, aqui me tienen de nuevo. Tengo un VI que tengo que "jalarlo" mucho, es decir, este VI sirve para recibir datos de tablas de Excel, yo le indico de que celda a que celda quiero que me mande a LabView. Tengo varios VI que dependen de este VI (el de Excel), entonces, pues, mi idea es usar algo parecido a lo que se hace en C, de mandar llamar el VI de Excel, como si fuera una función, nada mas mandandole de parametros las celdas para que capture, y que esa función me regrese esos valores a una tabla que tenga en el VI, donde mande llamar esa función. Me explico?. Mas no se si aqui en LabView pueda usar algun VI como 1 función. Se me ocurre, estar llamando al VI y guardar en variables globales. Pero creo que si el VI manda llamar el VI de excel 2 veces con 2 rangos de celdas distintos, no tendría muy buenos resultados, es decir, que el VI que mande llamar la función necesite en una parte 1 rango de celdas, y en otra parte otro rango distinto de celdas. Alguna sugerencia, de que sería el equivalente de funciones en LabView?
0 kudos
Mensaje 1 de 17
4.292 Vistas

Fercho8,

No estoy seguro si entiendo tu pregunta pero regularmente cuando se llama un subVI varias veces dentro de un VI hay que hacerlo reentrante para que puedas correr varias llamadas al subVI simultaneamente (como en paralelo).... File>VI Properties>Execution>Reentrant Execution

Ojala te haya dado por lo menos una pista,

Saludos

0 kudos
Mensaje 2 de 17
4.281 Vistas

Hola Fercho8, si al igual que en otros lenguajes en LabVIEW puedes hacer llamadas al mismo código varias veces. Estos se conocen como subVIs. Para hacer un sub VI nada mas tienes que hacer el VI y en el icono mientras estas en el panel frontal le das click derecho y te vas a la opción de Conector Pane, ahí tu cableas los controles o indicadores que tienes en tu panel frontal a las terminales y con esto generas el subVI ya después en tus demás programas solo tienes que agregar este VI al diagrama de bloques y puedes trabajar con el.

Los siguientes links te pueden servir:

http://forums.ni.com/ni/board/message?board.id=170&message.id=198184&requireLogin=False

http://forums.ni.com/ni/board/message?board.id=170&message.id=38005&requireLogin=False

También te recomiendo ampliamente este curso de 6 horas de LabVIEW ahí se explica la creación de subVIs

http://digital.ni.com/worldwide/latam.nsf/web/all/6224ee1564f4688786256ed60057896a

Saludos

 

Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 3 de 17
4.276 Vistas
HOLA SALUDOS A TODOS

Mi duda es la siguiente, cuando uno hace un llamado a un vi dentro de otro vi (es decir un subvi), ste al ser llamado se comienza a ejecutar inmediatamente, pero mi subvi consiste en el buscar un archivo de audio y reproducirlo, entonces cada vez que oprimo el boton que llama al SubVI siempre reproduce el archivo por defecto (el mismo), y cuando se oprime stop pues se cierra y vuelve a la pantalla principal, es posible llamar un subVI sin que corra antes, para poner la ruta a escuchar y que luego si lo haga...?

Muchas Gracias
Lady Johanna Rodriguez Chavez
0 kudos
Mensaje 4 de 17
4.008 Vistas
Hola

Que pena con ustedes pero tengo otra duda,  existe la posibilidad de que yo llame a ejecutar un suVi y est se ejecute pero que al tiempo me permita segir trabajando con mi VI principal??¿


Johanna
Lady Johanna Rodriguez Chavez
0 kudos
Mensaje 5 de 17
3.994 Vistas
Hola estimado amigo Fercho8, tengo que hacer operaciones con tablas Excel y si no es mucha molestia podrías poner en el foro el VI o SubVI que utilizas para manipular los archivos Excel. GRACIAS.
0 kudos
Mensaje 6 de 17
3.985 Vistas

Hola Johanna aquí hay varias, puedes pasar parámetros a tu SubVI, por ejemplo desde el VI principal podrías pasarle el nombre del archivo y as lo llamas en forma normal.

También lo que puedes hacer es en tu subvi agregar una condición dentro del o distintos estados para que lo llames y se este ejecutando pero este esperando el archivo para ejecutarlo.

Por ultimo podrías llamarlo en forma dinámica y abrir la pantalla antes de decirle run.

Aquí depende mucho de la aplicación que estés utilizando.

También para que sea mas fácil contestar tus dudas si no son relacionadas a un tema abre un tread nuevo, esto nos facilita dar seguimiento porque podemos ver que treads no estan contestados.

Saludos

Benjamin C
Principal Systems Engineer // CLA // CLED
Mensaje 7 de 17
3.976 Vistas

Hola Benjamin, Saludos

 

Muchas gracias por responder con la ayuda que me diste pude solucionar lo del VI para reproducir el archivo, como tengo un subvi para escuchar los archivos grabados, tambien tengo uno para grabar, pero me piden que mientras este grabando igual pueda seguir monitorando el equipo con el vi principal, esto es posible?¿ como puedo hacer esto?¿

 

Johanna Rodriguez

Colombia 

Lady Johanna Rodriguez Chavez
0 kudos
Mensaje 8 de 17
3.960 Vistas

Hola Johanna no se cómo lo implementaste así que te puedo decir a ciencia cierta cómo lo debes de hacer cuando lo mandas a correr que problema tienes? recibes algún error?. En general en LabVIEW puedes tener varios VIs corriendo en forma independiente sin que te den conflicto a menos que tengan un recurso compartido por ejemplo la tarjeta de sonido. En caso de que compartan el recurso lo que podrías hacer es acceder este recurso desde un VI y que este VI comparta la información ya sea con Variables o queues la información con los otros VIs.

Saludos

Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 9 de 17
3.952 Vistas

Hola Benjamin, Cordial Saludo

 

No tien recurso compartido pues uno el principal, es el de enviar y recibir comandos por el puerto serial, y el sub vi graba el audio pero no tiene nada que ver pues la entrada de audio es por la del microfono...

 

Johanna Rodriguez

Lady Johanna Rodriguez Chavez
0 kudos
Mensaje 10 de 17
3.950 Vistas