Discusiones sobre Productos NI

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

Retraso en muestra de valores de entrada!! Ni-6008

Hola estimados:

 

Les escribimos ya que estamos trabajando hace un tiempo en un proyecto en el cual trabajamos con un modulo NI usb 6008 y dos Ni 9217. nuestro trabajo implica la obtencion constante de datos en experiencias que duran de 2  a 3 horas, hasta ahora tenemos casi todas las lecturas en orden, el UNICO problema es que el Labview demora en mostrar modificaciones en valores que nosotros asignamos, explicado de mejor forma, esto es:

 

Asiganamos un voltaje de 5 volts a calefactores la respuesta de salida es inmediata, sin embargo, la respuesta de mostrar el valor en el indicador de panel de control se demora entre 8-10 segundos, siendo esto un grave problema para nosotros que en estos momentos estamos adquierioendo estos valor y guardandolos en un excel cada 5 segundos, por lo que existirian valores "falsos" para algunos segundos,

 

Esto a que se debe?, configuracion de algun modo de toma de datos por ejemplo Samples, Frecuencia?, o es inherente al sistema al tratar con tantas salidas y entradas configuradas?, hemos modificado a direfentes samples y frecuencias, sin tener mayores resultados.

 

Hemos tratado en continuos samples pero nos tira un error despues de un hacerlo correr un rato el programa, por lo que la unica forma que no se nos cae es dejandolo en N samples, de igual maneta adjunto programa.

 

Esperando la ayuda de ustedes.

 

Atentamente

 

Nicolas Panigua G

Felipe Kim V.

0 kudos
Mensaje 1 de 18
5.445 Vistas

Hola Nicolás y Felipe!

 


Creo que deberíam de cambiar la estructura de su VI casi por completo.

 


Estos son algunos consejos para diseñar un VI:

 

  • No se ponga a dos VIs de adquisición en el mismo loop.
  • No se ponga VIs de lectura y escritura en un mismo loop.
  • No utilice la estructura de eventos para la sincronización.
  • No abra y cierre el archivo cada vez que escribe en él.
  • No ponga la adquisición y la interfaz de usuario en un mismo loop.

Mi sugerencia es utilizar un modelo de proyecto llamado "productor / consumidor", que se utiliza para el manejo de las diferentes sample rates y para separar la interfaz de usuario desde la adquisición.

 


Hice un ejemplo para ustedes, basado en un template que se encuentra en el próprio LabVIEW. Para obtener más información acerca de "productor / consumidor" patrón, visite https://www.ni.com/en/support/documentation/supplemental/21/producer-consumer-architecture-in-labvie...

 


adjunté el VI.Saludos

Felipe Flores
Technical Support Engineer
National Instruments
0 kudos
Mensaje 2 de 18
5.431 Vistas

Estimado Felipe:

 

Nosotros somos personas que poseemos un control basico de labview, a traves de videos y el mismo foro hemos podido lograr crear el VI que adjuntamos, es dificil que podamos separar estos Loop, lo unico que nos falla en estos momentos es lo que mencionamos anteriormente, con el tema de no tener respuesta inmediata en el panel de control de la señal de salida que nosotros necesitamos, si pudieses ser un poco mas explicativo te lo agradeceriamos mucho, de ante mano muchas gracias.

Nicolás

0 kudos
Mensaje 3 de 18
5.414 Vistas

Hola, Nicolás y Felipe


Voy a ser más explicativos para ayudar a ustedes en este problema. Como he dicho antes, ustedes están implementando en un bucle único adquisición, la gestión de la interfaz de usuario, la generación de valores de salida y el registro de datos. Por lo tanto, este bucle sólo termina una iteración cuando todo está hecho. Sólo de haber una estructura de evento con un tiempo de espera de 5 segundos, nos hizo saber que se recorre tendrá, al menos, 5 segundos para terminar una iteración. Además, la frecuencia de adquisición de los RTD es de 1 Hz con 5 samples, lo que suma un segundo más para repetición del bucle. Tanto la adquisición y las salidas se ejecutan una vez por iteración. Consideren el tiempo que el procesador demora para procesar la interfaz de usuario, adquirir todos los canales que está utilizando y dalatog. Todo esto lo harán de su ciclo, como proove aquí, tomar unos 9s hasta el final, lo que explica la actualización lenta de la interfaz de usuario.

Lo que se debe hacer es hacer que cada una de estas tareas (adquisición, la generación de la producción, registro de datos) estean en bucles separados y paralelos. De esta manera, la ejecución de un no afect el otro. Hay un patrón proyecto ampliamente utilizado cuando se trata de entradas con las diferentes muestras y en que tenemos que gestionar la adquisición y la interfaz de usuario al mismo tiempo, llamado patrón "productor / consumidor". En este diseño los datos de patrones se generan dentro del ciclo de producción, puesta en una cola (lo que evitará la pérdida de datos) y luego será remitida al bucle "consumidor", que puede ser su interfaz de usuario o su registro de datos, por ejemplo.

Encontré en el sitio de NI un webcast acerda de "patrones de diseño" en español que se explican los patrones de diseño diferentes (incluido el productor / consumidor), para que sirven y mostran ejemplos. el enlace es: http://zone.ni.com/wv/app/doc/p/id/wv-2687 

También quiero sugerir a usted para hacer un entrenamiento en NI LabVIEW. Le sugiero a ustedes los cursos LabVIEW Core 1 y Core 2, que son la base para el estudio de LabVIEW

LabVIEW Core 1: https://www.ni.com/en/shop/services/education-services/customer-education-courses/labview-core-1-cou...

 

LabVIEW Core 2: https://www.ni.com/en/shop/services/education-services/customer-education-courses/labview-core-2-cou...

 

Estoy disponible para más consejos.

 

Saludos.

Felipe Flores
Technical Support Engineer
National Instruments
Mensaje 4 de 18
5.378 Vistas

Felipe,

 

Muchas gracias por tu ayuda, en estos momentos no contamos con los instrumentos para poder realizar pruebas del VI, sin embargo, a partir de mañana si podriamos hacerlo, ahora leeremos los documentos que nos facilitaste.

 

estamos en contacto

 

reitero mis agradecimientos por guia en este tema de labview

 

Nicolás

Felipe

0 kudos
Mensaje 5 de 18
5.376 Vistas

Estimado Felipe;

 

Observe el video que nos recomendaste de Productor/consumidor, con lo cual nacieron un par de dudas, y para facilitar el tema adjunto 2 VI´s para que si puedes observar que modificaciones habría que hacerles.

 

Opción 1.-

 

En el VI: Productor...Consumidor a lo que nos habias sugerido le colocamos las salidas a traves de un tutorial que en este mismo foro encontramos y colocamos tambien la lectura por VISA (poseemos el cable USB-RS232 de NI) con lo cual no tenemos problemas para obtener los datos, sin embargo, no podemos hacer que estos datos de visa sean escritos en el excel puesto que dice que no son del mismo formato, si es posible nos puedes ayudar con eso???

 

Opción 2.-

 

En el VI: Productor...Consumidor  Salidas Daq, aqui decidimos hacer las salidas a traves de daq assistent, pero nos nace la duda que si tambien hay que incluirlas en el sistema con sus estructuras while lopp al igual que los demas daq assitent, de igual manera hemos tenido el problema de formato con el VISA y su paso al excel.

 

Cuando nos ayudaste con el primer VI producer/consumer, recibiamos las señales de los 2 daq assisten que este poseia, pero teniamos problemas en el almacenamiento de los datos, se demoraba mucho mas de los 5000 ms en escribir los datos en el excel, esto es debido a que?

 

 

De ante mano muchas gracias nuevamente, esperamos tus comentarios y consejos respecto al tema.

 

Nicolás Paniagua

Felipe Kim

Descargar todos
0 kudos
Mensaje 6 de 18
5.368 Vistas

Prezado Felipe:

 

 

Con mucho gusto nos comunicamos contigo, ya que LOGRAMOS mejorar el sistema viendo el video que nos mandaste, de modo que tenemos una respuesta casi instantanea de los indicadores del panel de control, todo esto por la implementacion de lo que menionabas Productor- Consumidor.

 

El unico inconveniente que tenemos es que no podemos hacer que el programa anote los datos tomados por VISA, ya que dice hay una discordancia de formatos en la señal.

 

Nosotros dejamos una señal repetida en el lugar donde deberia ir la señal del VISA para que pudiesemos correr el programa.

 

De que modo podemos hacer para que el labview transforme la señal de VISA y asi podamos tener esta informacion junto con la de los demas dispositivos?

 

 

De antemano muchas gracias estimado Felipe

 

A gente se fala.

 

 

 

Nicolas Paniagua G.

Felipe Kim V.

 

 

0 kudos
Mensaje 7 de 18
5.359 Vistas

Buenos Dias Nicolas y Felipe, 


Me queda muy contento por saber que lograran construir el VI con los ayuda que yo he dado a ustedes.


Acerca de la VISA lo que ocorre es que esta trabaja con "strings". Mi consejo es utilizar la función "Decimal String to Number" que está en la paleta de funciones "String/Number Conversion". De esta manera, conseguirán no solamente armazenar en excel como pueden graficar tambien.

 

adjunté una imagen de la paleta de funciones "Number/String Convertion".

 

cualquier duda no hesiten en ponerse en contato.

 

Atentamente.

 

Felipe Flores
Technical Support Engineer
National Instruments
0 kudos
Mensaje 8 de 18
5.283 Vistas

Estimado Felipe:

 

 

Encontramos la paleta que tu nos mencionas....sin embargo, no podemos encontrar el lugar donde se debe colocar dicha paleta, puedes guiarnos con el ultimo VI que te enviamos como podemos realizar dicho cambio? de ante man muchas gracias.

 

Nicolás Paniagua

Felipe Kim

0 kudos
Mensaje 9 de 18
5.279 Vistas

Buenas tardes, 


Bien, observé que ustedes están usando todas las funciones de VISA dentro de un loop consumidor, pero no se deben olvidar que esta función "VISA READ" está producindo datos y no los consumindo, es decir, deben estar en un loop productor. Otra observación es que no se abre y cerra la puerta Serial todas las veces que adquirir un dato. Debe se hacer como en la figura abajoVISA.PNG

 

Observen que en la saída del VISA READ hay un String/Number Converter. Ustedes deben conectar esta saida numerica a una cola.

Mi consejo es hacer un loop productor como el da figura y que el consumidor de este loop sea aquello que almacena los datos en el archivo excel.

 

Intente esto

 

Saludos!

Felipe Flores
Technical Support Engineer
National Instruments
0 kudos
Mensaje 10 de 18
5.273 Vistas