Discusiones sobre Productos NI

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

como mejorar mi codigo??

hola, les cuento que he creado un programa que realiza varias tareas simultaneamente pero no estoy conforme con el resultado. La verdad no soy muy conocedor de la forma de ejecucion de las estructuras de programacion en labview y eso me hizo crear un codigo que creo no es la mejor forma de resolver mi problema.

El programa debe controlar la velocidad de un motor por un puerto contador de mi tarjeta con un PWM, ademas debe adquirir datos de un señal analoga y capturar imagenes desde 2 camaras web usb. El motor esta continuamente moviendose al igual que la adquisicion de la señal analoga, solo las camaras se ejecutan cada cierto tiempo guardando imagenes (eso es programable, cada 10 o 20 o 30 seg.)

Mi problema esta en que al ejecutarse las camaras crea un pequeño retardo que hace que el motor de pequeñas pausas al estar en marcha, este motor lo controlo con un puente h y ese problema hace que la corriente de pequeñas variaciones lo cual no es bueno......

Si alguien puede ayudarme le dejo el codigo para que lo vea, de antemano gracias!!....

 

PD: LabVIEW 8.5, tarjeta PCI6023E, camaras web usb convencionales....


 

0 kudos
Mensaje 1 de 2
3.128 Vistas

Hola skudero:

 

Revisando tu codigo se le pueden hacer diversas modificaciones que lo hagan más efectivo. Te enlisto lo principal:

 

1.- Resulta un poco difícil el leer el código debido a que ocupa mucho espacio. Utiliza los subVI's para encapsular funciones repetitivas.

 

2.- Utilizas muchas variables locales que pueden ocasionarte condiciones de carrera (race conditions). Ésto perjudica al flujo de información y contribuye a un código ilegible.

 

3.-Los VI Express no son los más eficientes cuando se encuentran en un ciclo. Utiliza las API's disponibles para optimizar el uso de recursos. Esto es debido a que los VI Express realizan en un solo VI apertura y cierre de referencias.

 

4.-Debido a las acciones que debe de realizar el programa, puedes utilizar una arquitectura de máquina de estado. Te permitirá tener mayor control de los procesos y darle un orden más logico. 

 

Otro punto es que tu panel frontal tiene muchos colores, te recomiendo utilizar uno con sus diversas tonalidades.

 

Si quieres profundizar un poco más te recomiendo éste enlace:

 

http://digital.ni.com/worldwide/latam.nsf/web/all/6224EE1564F4688786256ED60057896A

Luis Guizar
0 kudos
Mensaje 2 de 2
2.979 Vistas