el 02-29-2012 10:51 PM
Saludos, hace un tiempoe scribir por ayuda y muchas gracias por todo el apoyo, queria saber si hay forma de optimizar la velocidad de proceso de datos, yo recepciono datos por 4 puertos, pero conforme voy acondicionando el trabajo, se hace más lento la visualiacion de datos, alguna sugerencia?
además, saben en que paises se dan cursos de labview y sus productos?
en el caso de PERÚ, alguna referencia?.
muchas gracias!
03-02-2012 06:56 AM - editado 03-02-2012 06:56 AM
Buenos Días Jose Alberto,
¡Me quedo muy contento por saber que el forum de NI ha ayudado usted con las dudas que ha tenido!
Para obtener más informaciones acerca de los cursos de LabVIEW, vea este link.
A respecto de sú pregunta, ¿Podría adjuntar el VI para una mejor análisis?
Saludos
el 03-15-2012 11:28 PM
Saludos, una consulta muy urgente,
recibo por puerto serial 120 datos y cada dato los coloco en un indicador numerico, pero he colocado una serie de botones y cada uno de ellos al ser presionado, hace que se abra un Vi diferente, por ejemplo hay un boton que al ser presionado me muestra graficas, otro boton, me lleva a configuraciones, y otro boton finaliza el programa.
mi problema se presenta asi:
antes de colocar los botones, mi lectura de datos era veloz
pero cuando puse botones n cada Vi que se ejecuta, ha sucedido algo inesperado, la toma de datos es lenta, no se actualizan los datos, y no sé que hacer
antes no usaba botones sino usaba el teclado y usando el teclado no habia ningun inconveniente todo era perfectamente veloz, pero le kite la opcion de lectura de teclado coloque botones y esta todo el proceso lento, hay alguna manera de evitar esa lentitud, tal vez hay forma de que los botones trabajen en paralelo con la toma de datos?
spero me pueda responder
gracias
el 03-16-2012 12:12 PM
Hola Jose Alberto!
Esto depende de la programación del panel frontal. As vezes colocar muchos controles y indicadores en el panel frontal hace con que el código se queda lento.
Se posible, adjunta el VI.
Atentamente
el 03-16-2012 01:06 PM
Hola,
Probablemente estas preguntando constantemente (pulling) el estado de los botones y eso hace tu aplicación lenta, tienes colocarle un delay (wait ms) de algunos ms (unos 100ms o mas) entre cada consulta, o si lo deseas optimizar mas deberías cambiar a una estructura de eventos.
Saludos Cordiales,
el 03-17-2012 03:16 PM
ok gracias por los comentarios, estoy editando lo de los botones, otra consulta
quiero mostrar nivel de corriente en funcion del tiempo,
hay alguna forma de que apenas empiece correr el programa, la grafica XY (x tiempo, y corriente) en X inicie con la hora actual de la PC y que a partir de ese punto empiece a mostrarse la grafica, o sea
a las 15:30pm inicie la grafica, en lugar de que inicie en 00:00
ahi adjunto un Vi, pero no creo que puedan compilarlo, nosé, porque tiene variables globales, pero ahi les muestro como estoy graficando los valores de corriente en el tiempo, pero siempre inicia desde las 00:00 horas, yo ya logre que mi X inicial sera la hora de la PC pero no logro que la grafica empieze desde esa misma hora
por favor consejos
muchas gracias
el 03-19-2012 11:52 PM
Saludos respecto a los problemas de lentitud del programa le adjunto mi programa, los botones PRINCIPAL, DATOS y los que siguen, son los que han generado conflicto nosé si estará bien el código, en tdoo caso por favor ayuda extrema, muchas gracias
el 03-20-2012 11:18 AM
Saludos, les envie mis VI's me podrian dar alguna sugerencia? muchas gracias
el 03-20-2012 11:48 AM
Hola Jose Alberto
Revise tu programa con respecto a la eficiencia y note varias mejoras que puedes hacer.
Primero que nada, te recomiendo que cambies la arquitectura de tu programa a una máquina de estados, en lugar de usar el contador de iteraciones en el while loop. Esto te da más control sobre que parte del programa ejecutar.
https://decibel.ni.com/content/docs/DOC-10176
Además, con respecto a los VIs que ejecutas, como ves hay una opción en el nodo que usas que dice "wait until done". Si conectas una constante de falso a esa y una constante de true a "auto dispose reference" haras que tu VI principal no espere a los demás subVIs, lo que eliminara el retraso que tienes. Ten cuidado con esto ya que si pasas datos del otro VI a tu VI principal por medio de variables globales o por otro método tendrás condiciones de carrera. Es decir, que no puedes asegurar el orden en que la variable se lee o se escribe por lo que el programa no siempre funcionará correctamente.
Para corregir este problema tienes que cambiar las variables globales por una variable funcional global, o bien usar Queues para pasar los datos.
Queues: http://labview.ni.com/docs/proposals/5.0/synch/queue.htm
Variable funcional global: https://decibel.ni.com/content/docs/DOC-12876
Saludos.
el 03-20-2012 01:59 PM
Saludos, la constante "wait until done" ...donde se encuentra?
tengo bastantes dificultades, estoy complicandome más...