Discusiones sobre Productos NI

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

CÁLCULOS MATEMATICOS LABVIEW

Hola de nuevo amigos.

Muchas gracias Becega,por tus sabias y aconsejadas rspuestas.

Bueno,vuelvo a la carga con otro tema asociado a este , pero ahora consta sobre un tratamiento de datos(adquiridos del primero).

Me meto pues en el meollo;el siguiente vi que adjunto Grabar2.vi, lo que básicamente hace es adquirir externamente de un archivo de texto (x.txt),(adjuntado TAMBIÉN),DOS COLUMNAS DE VALORES x e y (resultados que generó el programa General4.vi,para posteriormente hacer un montón de operaciones matemáticas básicas e ir generando columnas de resultados posteriormente,si os fijais en el programa fuente,cada columna de datos o agrupación de ellas las efectúo por sequence y los ciclos for y formulación  por math-scipt,luego hasta ahora normal,todo.

 

Problemas pues,al ejecutarlo me da errores de secuenciación de datos(se traba a mitad de camino y despues he de volver a ejecutarlo para posteriormente acabar de rellenar las columnas que por problemas "desconocidos",no me deja inicialmente,(trabaja Step by Step).

Mi pregunta es: Labview para tratamiento de datos al estilo excell no es muy aconsejado??,o los math-script son secuencias que le resulta más complicado de compilar,ya que he probado más configuraciones y vuelvo a más de  lo mismo.

Me gustaria por favor alguna indicación para compilar y generar lo resultados lo más optimos posible.

Gracias a todos.!!

René 
Descargar todos
0 kudos
Mensaje 1 de 2
4.944 Vistas

 

Hola Munico en general siempre te conviene más utilizar las estructuras básicas de LabVIEW como un ciclo for normal, a depender de Ciclos for dentro del Mathscriptnode.

Cuando tu cableas un arreglo a un ciclo for se activa la opción de Auto-indexado esto te ayuda mucho para realizar manipulación de arreglos con estos. Esta opción la puedes dejar deshabilitada para poder realizar operaciones con tu arreglo completo dentro del Ciclo. Te anexo un ejemplo modificando cambiando dos de los scripts que estas utilizando por funciones nativas de LabVIEW, con esto deberías de ver una gran diferencia en Velocidad en tu Programa.

También por ejemplo en el Frame 8 de tu programa no tienes ningún valor asignado para P(1) ya que empiezas en P(1+i) y esto lo haces en varios de los casos, esto podría estar causando el error.

Otra cosa es que en general no es bueno que el programa depende de una Flat o Stacked Sequence. Aqui el Código no puede ser interrumpido hasta que termina toda la secuencia. Siempre que se puede lo ideal es remplazarlo por una maquina de estado. La máquina de estado es una arquitectura de LabVIEW para trabajar en forma secuencial o estados y en base a la condición que tengas, salte al estado que necesites. Dada la característica dinámica de la máquina de estado, este salto no tiene que ser lineal sino puede saltar directo al estado que necesitas.

Puedes encontrar un témplate de la máquina de estado en LabVIEW, en New.. from template y ahí esta standard state machine.

También puedes encontrar un poco más de información en la siguiente dirección:

http://zone.ni.com/devzone/cda/tut/p/id/3024

http://zone.ni.com/devzone/cda/epd/p/id/3063

Una Versión más avanzada de la state machine:

http://zone.ni.com/devzone/cda/epd/p/id/1959

Mensaje editado por BeCeGa
Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 2 de 2
4.933 Vistas