el 05-23-2009 02:34 PM
Hola a todos. Espero que podais ayudarme con mi problema. Tengo dos arrays de 18 posiciones. Uno es de booleanos y otro de strings. Quiero formar otro array de strings que sólo contenga el de las posiciones a true del array de booleanos. Espero haberme explicado bien. Por ejemplo, en el array de booleanos están a true 1,4,6,8,11. El nuevo array de strings tendrá sólo las cadenas pertenecientes a esas posiciones del primer array de strings.
Gracias y saludos a todos.
¡Resuelto! Ir a solución.
el 05-24-2009 07:22 PM
Hola serrano,
lo que quieres hacer no se puede hacer directamente con una funcion de LabVIEW pero es relativamente sencillo de hacer con un bucle FOR y un CASE. Te adjunto un VI de ejemplo y la imagen del diagrama de bloques.
Un saludo
el 05-25-2009 06:55 AM
Muchas gracias. Me va perfecto. Aunque una cosa que no entiendo. El array constant que entra en el FOR a un shift register, eso ¿como funciona?
Gracias por todo
el 05-25-2009 07:47 AM
A ver si me puedes decir porque da error esto. Tengo un array con la dirección de celdas de excel (2C, 2D, 3D, etc) y un archivo en el escritorio (excel) del que cojo los datos. Intento acceder con un for pero me da un error que no se como arreglar. Alguna sugerencia??
Lo dejo colgado. Esta en 8.5
el 05-26-2009 02:23 AM
El array vacio lo meto para vaciar el shift register, ya que este componente mantiene su último valor hasta que el VI que lo contiene se elimina de memoria. Esto lo puedes comprobar ejecutando varias veces el VI habiendo quitado previamente el array vacio.
el 05-26-2009 02:46 AM
El problema está en que las funciones que estas utilizando no se usan para cargar valores de un archivo sino para asignar rangos de valores para inserciones de datos de LabVIEW. Hay muchas maneras diferentes de leer valores de una hoja Excel. Lo más fácil es con el toolkit Report Gneration de LabVIEW, pero siempre puedes utilizar referencias ActiveX como estas. Lo mejor es que mires estos ejemplos para ver como lo hacen:
http://zone.ni.com/devzone/cda/epd/p/id/3409
http://decibel.ni.com/content/docs/DOC-2343
http://decibel.ni.com/content/docs/DOC-2073
http://decibel.ni.com/content/docs/DOC-2001
http://decibel.ni.com/content/docs/DOC-2275
Por otro lado, si solo tienes una referencia a una worksheet de LabVIEW no habilitar el indexado a la salida del FOR, porque si no estarás creándote un array de referencias y cerrándolas de golpe cuando en realidad solo tienes 1. Además, la entrada del FOR determina sus ejecuciones por el índice del array de strings. No hace falta que calcules su tamaño y lo metas como entrada. Estos son conceptos básicos de LabVIEW por lo que creo que te vendría bien algo de formación en programación en LabVIEW. Este es un enlace a un curso gratuito, pero hay muchos otros:
http://digital.ni.com/worldwide/latam.nsf/web/all/6224ee1564f4688786256ed60057896a
el 05-26-2009 06:07 AM
Muchas gracias, me pondré a ello ahora mismo. La verdad es que he exo un par de tutoriales, pero eran de lo más basico, y eso que me has dicho del bucle for ni lo mencionan. Haré el curso que me has enviado.
Gracias de nuevo.
Saludos
el 05-26-2009 06:17 AM
Hola serrano,
Además del enlace web que te indicaba, cuando instalas LabVIEW se te instalan un par de tutoriales en PDF que están bastante bien. Son el "LabVIEW Getting Started" y el "LabVIEW Fundamentals". Los puedes encontrar en esta carpeta de tu disco duro:
C:\Archivos de Programas\National Instruments\LabVIEW 8.5\manuals\LV_Getting_Started.pdf
C:\Archivos de Programas\National Instruments\LabVIEW 8.5\manuals\LV_Fundamentals.pdf
Mucho ánimo!!
el 05-27-2009 06:44 AM