el 07-04-2006 06:33 AM
el 07-04-2006 12:06 PM
Que tal Javier:
Gracias por utilizar el foro. Para ayudarte me gustaria que me dieras un poco mas detalles sobre los cambios que quieres hacer. Al referirte al texto de un icono te refieres a una de las terminales del VI, a un valor (tipo string) en una de las terminales o a otra cosa?
Si lo que quieres hacer es cambiar la estructura de tu ( o tus) VI(s) lo que puedes hacer de manera practica es generar un nuevo VI con el código que ya hiciste y el texto cambiado.
Esta opcion, aunque no es programatica, no esta mal si los VIs que ya tienes los vas a seguir utilizando y el texto que tienes es importante en su configuración.
Para cambiar un VI de manera programatica lo puedes hacer con un property node utilizando VI Server para cambiar los cambios.
Para hacer esto se hace una referencia del VI que quieres cambiar, con un property node se le cambia la propiedad ( en tu caso el texto) al VI y los cambios quedan guardados con la funcion "Save Instrument".
Si te interesa esta solución te envio un Vi ejemplo al final de este comentario. ( para que funcione en tu maquina cambia el Path del invoke node por el que tenga el archivo cuando lo guardes en tu computadora)
Este VI cambia la propiedad de visibilidad de un control y guarda los cambios en el VI ( cosa que no sucederia porque los property nodes guardan los cambios unicamente en la ejecucion del VI)
Si a lo que te refieres con texto es un parametro (variable) con un valor determinado en tus VIs tal vez puedas declarar ese parametro como una variable global a la que tus nuevos VIs tengan acceso e inicializar ese variable global con el valor que deseas programaticamente.
Para hacer esto te recomiendo la siguiente liga donde puedes consultar paso a paso la forma de crear variables globales : http://zone.ni.com/reference/en-XX/help/371361A-01/lvhowto/creating_global_variables/
Espero que algo de esto te ayude y estoy a tus ordenes si tienes mas dudas al respecto.
Saludos
el 07-12-2006 03:57 AM
Hola Erwin,
Antes que nada, gracias por contestar. El VI que adjuntabas en el foro no lo he podido abrir puesto que yo uso una versión anterior (7.1).
Lo que quería hacer con los iconos de los VIs era lo que a continuación voy a intentar explicarte. Es conveniente que abras los VIs que te adjunto con nombre M5.C5.vi, M5.D5.vi y M5.vi para que te hagas una idea. En el proyecto que estoy haciendo hay unos VIs que hacen referencia a una parte de una máquina (M5 = máquina 5 y C5 = Calentadora 5) pero en un futuro estos VIs se tendrán que extrapolar a otra calentadora de otra máquina 3 por tanto el nombre de los VIs serán M3.C3. Los nombres de los VIs los sé cambiar programaticamente. Esto lo hago porque a pesar que el código va a ser practicamente igual, al final siempre hay diferencias y asi evito tener en el disco duro del PC VIs que son distintos con igual nombre. Junto con el cambio del nombre también viene el cambio del texto de los iconos, porque como habrás podido comprobar en los VIs adjuntos arriba indicados aparece como texto. Mi duda era por tanto como cambiar, no todo el icono programaticamente, sino sólo un texto del icono.
Mirando en otros foros he conseguido VIs que cambian los iconos y el texto siguiendo más o menos la estructura de icono que yo empleo. Te adjunto estos VIs también.
Un saludo.