LabView - sincronizacion subvi

 
Vista:

sincronizacion subvi

Publicado por PATRI (9 intervenciones) el 25/03/2007 18:41:20
Hola:
Como se puede ejecutar un VI con un subvi que tenga un while o un event structure?
Pense que solo era con el while pero consegui hacerlo con el event y me ocurre lo mismo,el programa queda bloqueado porque no sale del subvi,hay alguna manera de solucionar esto?Muchas gracias por adelantado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:sincronizacion subvi

Publicado por rafa (1 intervención) el 26/03/2007 09:22:35
Se puede hacer llamando de forma dinámica el subVI a través de VI Server, después tienes que usar el método Run VI: http://zone.ni.com/reference/en-XX/help/371361B-01/lvprop/vi_run_vi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:sincronizacion subvi

Publicado por patricia (9 intervenciones) el 26/03/2007 17:21:47
Hola,ante todo muchas gracias,pero no me e enterado mucho,entre que no se mucho ingles y soy nueva en esto de labview,porque lo estoy usando para mi proyecto de fin de carrera y la verdad estoy un poco perdida.
Para mi programa necesito un subvi que cuente las veces que pulso un boton (dependiendo de esas veces hara unas cosas u otras), para eso he exo un subvi que me cuenta los flancos,pero solo he conseguido hacerlo con un while o cun un event structure,y en ambos casos el programa se me bloquea porque no sale del subvi.Como podria hacerlo para que solo entrara en el subvi cuando doy al flanco?
Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:sincronizacion subvi

Publicado por rafa (1 intervención) el 27/03/2007 09:44:00
Respecto a mi mensaje anterior, en la página que te decía antes (http://zone.ni.com/reference/en-XX/help/371361B-01/lvprop/vi_run_vi) tienes casi al final la sección ejemplos, en ella indica la ruta en tu ordenador de unos ficheros (directorio donde está instalado labview\examples\viserver\runvi.llb) que te pueden servir. En estos ejemplos puedes ver cómo se abre una referencia con Open VI Reference a un subVI, con Ctrl Val.Set se le pasan datos y con Run VI se inicia la ejecución, en este último paso además se indica que el flujo de ejecución no se espere hasta que finalice la ejecución del subVI, por tanto se ejecutará en paralelo al resto del programa y no se quedará 'bloqueado'.

Por otra parte, si lo que quieres es que simplemente se cuenten pulsaciones de un botón hay muchas más formas de hacerlo; así de repente se me ocurre una solución que no necesita programación, sólo un poco de gracia dibujando... Podrías coger un control numérico y personalizarlo (http://zone.ni.com/reference/en-XX/help/371361B-01/lvconcepts/custom_cont_ind_type/) de manera que la única parte visible sea la de increment (increment y decrement son esos dos pequeños botones con flechas hacia arriba y hacia abajo que están en la parte izquierda de los controles numéricos), de esta forma el control será un numérico que si empieza en cero devolverá las veces que has pulsado ese botón. Para ejecutar una acción u otra dependiendo de ese valor simplemente hay que conectar este control a un CASE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:sincronizacion subvi

Publicado por patri (9 intervenciones) el 01/04/2007 12:12:57
ok;
lo del runvi no lo he conseguido,xo me e xo un boton xa contar los pulsos,xo cada vez q lo ejecuto no se pone a 0 ya q es un control,ademas habria alguna manera xa q ademas de mostralmelo pueda escribirle el valor que quiero??es decir cuando llegue x ejemplo a tres inicializarlo a cero.
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:sincronizacion subvi

Publicado por rafa (1 intervención) el 02/04/2007 12:24:35
Tanto para inicializar el control como para resetearlo puedes usar variables locales (http://zone.ni.com/reference/en-XX/help/371361B-01/lvhowto/creating_local_variables/ y http://zone.ni.com/reference/en-XX/help/371361B-01/glang/local_variable/) y escribir cualquier valor sobre el control.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar