el 11-15-2010 10:26 AM
Hola a todos, estoy haciendo una aplicación para registrar señales de 16 medidores de gases a traves de Modbus RTU. Las medidas ya las tengo en Labview, el problema que tengo es que durante la ejecución, el usuario debe ser capaz de parametrizar cada uno de los canales de entrada, por ejemplo, factores de calibración de la entrada o las constantes de una función analítica utilizada para corregir la medida (Esto hace parte del proceso). En total, el usuario podría modificar alrededor de 70 valores, algunos de tipo numérico, cadenas de texto y valores booleanos.
El problema que tengo es que cuando se cierra la aplicación y se vuelve a abrir, todos los controles vuelven a su valor por defecto. ¿Alguien podría decirme como puedo almacenar de forma remanente estos parametros?. Gracias por la ayuda
el 11-15-2010 01:56 PM
Hola:
Efectivamente cuando cierres el programa todos los indicadores y controles pasaran a sus valores por defecto.
Para que puedas evitar esto necesitarás ficheros donde almacenes esos parámetros. Yo suelo utilizar ficheros INI, y así también los puedo modificar desde fuera del programa, pero puedes utilizar cualquier estructura de fichero que te permita leerlos al iniciar el programa y grabarlos al salir de el. De esa manera cuando vuelvas a iniciar el programa tendrás los parámetros que se grabaron en la anterior ejecución del mismo.
Saludos.... Moisés San Martín
el 11-16-2010 10:11 AM
Hola Moisan, gracias por la respuesta, lo he probado y funciona, aunque será un poco tedioso almacenar las variables, las tengo agrupadas por tipos (booleanos, numericos, strings) en Clusters, lo que hice fue convertirlos en vectores y crear ciclos for para ahorrar un poco de código.
Saludos,
Daniel
el 11-16-2010 01:29 PM
Hola.
¿Has intentado agrupar varias de tus variables en Clusters y luego guardarlas para la siguente ocasión que abras tu VI? Eso te haría el trabajo mucho menos tedioso que estarlas guardando de una en una. Un Cluster sólo aguanta hasta 256 valores si no me equivoco.
Nos vemos
el 11-16-2010 04:05 PM
Hola, en el panel frontal tengo las variables almacenadas en clusters, pero cuando intenté almacenarlo en un archivo .INI no pude, en la ayuda leí que solo se pueden almacenar valores numéricos, strings y booleanos, pero no agrupados, es decir, ni clusters ni arrays, ¿Hay alguna forma de hacerlo?. En este momento no tengo los archivos que estoy generando, pero en cuanto los tenga los subiré. Gracias por la ayuda.
el 11-17-2010 01:20 AM
Hola de nuevo:
Yo propuse hacerlo en ficheros INI porque permite su modificación de forma muy sencilla mediante un procesador de textos (Notepad,...) pero si exclusivamente el programa es el que va a modificar los parámetros, se puede hacer con la función "Write (y Read) characteres to file". Se pueden almacenar cualquier tipo de dato, también clusters con la función Type cast.
Saludos... Moisés
el 11-17-2010 03:22 AM
Hola Moises,
Finalmente pude resolver la aplicación facilmente utilizando las funciones Read y Write Datalogs, adjunto envío el código implementado, aún no esta terminada toda la aplicación, pero la parte de almacenar datos esta resuelta. Gracias por la ayuda.
Un saludo, Daniel