Discusiones sobre Productos NI

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

Adqusicion y generacion simultanea


Hola,
Estoy tratando de medir 6 canales analogicos con una tarjeta  y LabVIEW FDS 8.2, las senales tienen diferentes escalas (en pares). La medicion se basa en una observacion de los valores y luego se inicia la medicion como tal y la generacion de un archivo con los valores medidos. Al iniciar la medicion, se genera un pulso digital q controla un switch externo que corta la corriente del sistema que quiero medir. Mis preguntas.
1. Como puedo medir el tiempo real y guardarlo en el archivo con los correspondientes valores medidos en ese instante
2. El pulso se genera y los datos son tomados, pero no en el mismo instante, para la medicion es interesante tomar los datos con una frecuencia de al menos 1 MHz por lo menos 1ms despues de la caida de corriente. Que se puede hacer?
3. Es posible escribir una secuencia en la que la toma de datos (siempre los mismos datos excepto la generacion del pulso) ocurra a diferentes velocidades, es decir, los primeros 1000 datos a 1 MHz los siguientes a 0,1 MHz y asi sucesivamnete?
4. Como puedo eliminar el error de la senal? antes de guardarlo
5. Es posible usar canales con distinta magnitud en el voltage? siempre que trato aparece un error de recurso reservado
aqui les envio lo que hasta ahora he podido hacer.
Muchas gracias por la ayuda!!!

Alejandro

Mensaje editado por Alejo1

0 kudos
Mensaje 1 de 4
3.184 Vistas

Hola Alejo, que bueno que estas trabajando con nuestro productos y estas utilizando este foro.

  1. Como puedo medir el tiempo real y guardarlo en el archivo con los correspondientes valores medidos en ese instante

Para medir el tiempo en el que estas tomando las mediciones puedes utilizar timestamps, hay varios VIs, en Programming>>Timing, que te pueden ir marcando timestamps. Tambien según tengas configurado tu adquisición (por ejemplo con Waveforms) se almacena el tiempo de las mediciones con lo cual puedes lograr esto.

 

2. El pulso se genera y los datos son tomados, pero no en el mismo instante, para la medición es interesante tomar los datos con una frecuencia de al menos 1 MHz por lo menos 1ms después de la caída de corriente. Que se puede hacer?

Con respecto al tiempo con el que empiezas la medición puedes utilizar desde simplemente funciones de timing hasta funciones de sincronización con triggers. (en el link que coloque al final puedes encontrar mas información.     

 

3. Es posible escribir una secuencia en la que la toma de datos (siempre los mismos datos excepto la generación del pulso) ocurra a diferentes velocidades, es decir, los primeros 1000 datos a 1 MHz los siguientes a 0,1 MHz y asi sucesivamente?
Para cambiar la velocidad de tu adquisición (el sampling rate) existen 3 opciones. Una es detener el task, cambiarle la configuración y reiniciar el task. Esta es fácil de ejecutar pero puedes perder un par de muestras.

La siguiente opción es que siempre simples a la velocidad mas alta y por software (como con el VI de Resimple Waveforms) elimines los puntos adicionales.

Por ultimo una de las mejores opciones nada mas que es un poquito mas complicada de utilizar es que utilices un contador como el source del Timing de tu aplicación.

Los contadores pueden cambiar la frecuencia de sus pulsos si tener que detener el task por lo cual lograrías esta versatilidad que necesitas.

 

4. Como puedo eliminar el error de la señal? antes de guardarlo

Con el error de la señal no se si te refieres al error de medición en tu señal o algún offset que le estas ajustando. Puedes procesar tus datos antes de guardarlos así como escalarlos y hacerles offsets ya se con las funciones matemáticas o los VIs de Signal Processing

 

5. Es posible usar canales con distinta magnitud en el voltaje? siempre que trato aparece un error de recurso reservado

Si es posible hacer esto. El error de recurso reservado que te envía se debe a que aunque estas trabajando 2 canales diferentes Las tarjetas de la Serie E y M tiene un multiplexor con el cual los canales comparten el convertidor análogo digital.

Para evitar este conflicto lo que necesitas hacer es tomar los dos canales dentro del mismo task. Y configurar cada uno de estos canales con sus rangos de valores independientemente.

El task lo puedes generar desde el DAQ assistant o desde MAX

 

Espero que esta información te sirva.

También puedes encontrar el siguiente link como un link util

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

Saludos

Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 2 de 4
3.170 Vistas
Gracias por tu pronta respuesta
Aun me quedan muchas dudas referentes a time stam, como puedess ver en mi VI, estoy guardando todas las senales en un archivo con un determinado formato, el formato de tiempo es string y no es compatible con el resto de las senales. Por otro lado no entiendo como hacer que el timestamp sea generado justo con la senal del contador para archivarlo con los orrespondientes datos. Podrias enviarme algun ejemplo?
He hecho algunas modificaciones en el VI ya que voy a usar una contador externo con frequencia variable (entrada en PFI7) y la toma de datos debe comenzar con un trigger digital (entrada en PFI0).
Tambien incluí un pequeno programa que general un timestamp en microsegundos, como puedo integrar la idea??
Gracias
Alejandro
0 kudos
Mensaje 3 de 4
3.140 Vistas
Hola de nuevo,
Con respecto a los canales con diferente escala, en el DAX assistant es facil de hacer pero resta algo de flexibilidad, existe algun ejemplo de como hacer esto creando los canales por separadao?
Gracias
Alejandro
0 kudos
Mensaje 4 de 4
3.139 Vistas