Discusiones sobre Productos NI

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

Labwindows/CVI problemas

Hola a todos, perdonar por este nuevo tema pero tengo varias dudas sobre Lab Windows/VCI ya que soy novato con el y me han encargado realizar una interfaz grafica con la que selecionando unas determinadas opciones genere una serie de datos que luego seran enviados por protocolo serie a un micro que lo grabara en un memoria EEPROM. Mis preguntas son:

 

Se puede crear una base de datos interna en labWindows? o tengo que usar una externa (Tengo cerca de 1000 configuraciones posibles) Si teneis alguna idea estoy abierto a sugerencias. Yo de momento he realizado una tabla con Excel, realizo todo bien y obtengo los datos que quiero pero si ayaden nuevas configuraciones al excel tengo que modificar el programa, hay alguna forma con la que se pueda solucinar esto? (Yo he pensado en buscar haciendo filtrados he irlo mostrando por pantalla el resultado de la busqueda para que luego se pueda selecionar pero nose si se podra hacer)

 

Algo de irformacion de manejo del Tree. Supongo que esto habra algo por ahi pero no he encontrado nada de momento y ya que escribo pregunto si sabeis algun enlace.

 

Muchas gracias y perdonar las molestias.

0 kudos
Mensaje 1 de 4
3.016 Vistas

El CVI no tiene una base de datos nativa que pueda utilizarse: puede apoyarse a instrumentos externos como el Excel o el Access por medio de ActiveX pero siempre tienes que tener el programa externo instalado para usarlo.

 

Sin embargo, 1000 elementos no son muchos, por lo que creo que podrías manejarlos sin problemas con los instrumentos del CVI, de esta manera:

 

- Create una estructura con todos los parámetros de una configuración:

typedef struct {

   int    campo1;

   int    campo2;

....

} config;

 

- Crea un arreglo de esta estructura; el arreglo puede ser dinámico así que puedes agrandarlo cuando quieras:

config   *c = NULL;   //Definición

c = calloc (numElements, sizeof (config));    // Creación del arreglo

 

- El arreglo puede ser ordenado por medio del qSort  () y pueden hacerse búsquedas en él por medio del BinSearch ()

 

- Para almacenarlo en el disco duro puedes usar el instrumento IniFile: cada sección tiene los elementos de una configuración; cuando lees el archivo puedes saber cuantas secciones tiene por medio del Ini_NumberOfSections y así crear el arreglo de la dimensión apropriada. Los archivos INI son archivos de texto, por lo que son bastante largos pero pueden leerse y editarse también con el solo notepad. Si quieres un archivo más reducido puedes almacenar el arreglo en formato compacto per que no puede leerse en un editor.

 

 

Esto es simplemente un esquema, pero yo he realizado semejantes aplicaciones con arreglos de unos 7-800 elementos sin problemas. Si quieres ir por esta via puedo proponer algun código para ayudarte.

Message Edited by Roberto Bozzolo on 03-24-2010 12:42 PM


Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 kudos
Mensaje 2 de 4
3.012 Vistas

Gracias por tu rapida respuesta, si que estaria interesado en esa forma.

 

Mi programa tiene unas 1000 configuraciones y cada configuracion tiene unos 9bytes de datos diferentes que debo enviar, y todas estas configuraciones deben de ser selecionadas desde el interfac grafico facil y sencillamente para que el usuario que lo use sepa correctamente lo que realiza.

 

Ok pasame como dices algun ejemplo si puedes y no es mucha molestia y pruebo.

 

Un saludo

0 kudos
Mensaje 3 de 4
3.007 Vistas

Bueno, aquí tienes algunas funciones para referencia.

 

Un tema importante es que para buscar elementos dentro de un archivo de 1000 habrá que añadir algun campo para ayudar el usuario: yo he puesto un simple campo "ID", pero tu tendrás que añadir los elementos que más te sirvan para esto.

 

En el file añadido encuentras la estructura de datos, la función para leer del disco los datos (de un archivo .INI) y las funciones para sortear el arreglo y buscar los elementos que hay en él.

 

A disposición para comentar la solución y aclarar dudas.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 kudos
Mensaje 4 de 4
2.992 Vistas