Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
Adquisicion de datos con myDAQ
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
1. Introduccion NI myDAQ es un dispositivo de adquisición de datos (DAQ) de b ajo costo que brinda a los estudiantes la habilidad para medir y analizar señales en cualquier lado, a cualquier hora. NI my DAQ es compacto y portátil, así los estudiantes pueden extender el aprendizaje práctico fuera del entorno de laboratorio usando herramientas y métodos estándares en la industria. NI myDAQ combina hardware con ocho instrumentos definidos por software listos para ejecutar, incluyendo un generador de función, osciloscopio y multímetro digital (DMM); estos instrumentos de software también son usados en la plataforma de hardware NI Educational Laboratory Virtual Instrumentation Suite II (NI ELVIS II), así la experiencia en el laboratorio puede ampliarse a experimentos en cualquier lado, a cualquier hora. Con el software de diseño d e sistemas NI LabVIEW, los usuarios amplían la funcionalidad del instrumento a cientos de aplicaciones personalizadas. NI myDAQ incluye dos entradas analógicas y dos salidas analógicas a 200 kS/s y 16 bits, permitiendo aplicaciones como muestrear una señal de audio; ocho entradas digitales y líneas de salida, proporcionando potencia para circuitos simples con fuentes de alimentación de +5, + 15 y -15 volts y un DMM de 60 V para medir voltaje, corriente y resistencia. La misma tecnología integrada como NI DAQ líder en la industria, estas herramientas confiables brindan a los estudiantes la experiencia que pueden usar por mucho tiempo en la investigación y en sus carreras.
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
2. Uso del DAQ assistant Para configurar el myDAQ u otro dispositivo NI DAQ de una forma rapida y sencilla labview cuenta con un VI express que podemos encontrar en Functions Palette Measurement I/O NI DAQmx-DAQ assistant .
Tras colocar el icono en el diagrama de bloques se ejecutara el asistente:
Donde podremos elegir si queremos generar o adquirir una señal y el tipo de señal. Tras seleccionar la señal deseada, en este caso una entrada analógica, veremos la siguiente pantalla
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
donde podremos configurar las opciones deseadas:
Este tipo de Vis son eficaces para realizar una función simple de una forma rápida pero no están recomendados para utilizarlos continuamente ya que cada vez que se ejecutan abren ejecutan y cierran el recurso, por lo que será mas eficaz utilizar componentes DAQmx para la adquisición de datos.
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
3. NI-DAQmx Estas funciones se encuentran en el mismo sitio que el asistente DAQ. Functions Palette Measurement I/O NI DAQmx-
Para utilizar cualquier recurso en labview es conveniente utilizar la siguiente estructura:
Los recursos de tipo DAQ se utilizan de la siguiente manera:
3.1 Crear y Configurar recurso DAQ En la paleta NI-DAQmx disponemos de la siguientes funciones para crear y configurar el recurso:
3.1.1.
Create DAQmx Virtual Channel
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
Crea una tarea asociada a el canal DAQ.
En el menú despeglabe del VI pueden elegirse todo tipo de entradas y salidas para cualquier tipo de tarjeta de adquisición de datos por lo que habrá que tener cuidado de no elegir una opción que el myDAQ no soporte. No es necesario conectar todas las entradas y dependiendo de el tipo de recurso elegido en el menú despegable varíen las entradas de configuración del canal. Estas son algunas de las opciones de configuración:
Task in: Introduce una tarea previamente creada. Puede ser útil si tenemos una tarea (Task) previamente creada y asociada a un canal físico. Physical cannel: Es el canal físico del myDAQ el cual a partir de ahora estará asociado al canal virtual creado por el VI. Name to Assign: Podemos asignarle un nombre al canal, si no lo hacemos labview asignara por defecto el mismo nombre al canal virtual que al canal físico. Units: Podemos seleccionar la unidad predeterminada, en este caso voltios, para el tipo de E/S o seleccionar una escala personalizada que previamente debíamos haber creado. Custom scale name: El nombre de la escala personalizada. Min/max value: Valores máximos y minimos de la entrada analógica. Por defecto, +-10V. Input terminal configuración : Puede elegirse tipos de entrada, diferenciales, pseudodiferenciales… En el caso del myDAQ solo disponemos de entradas diferenciales que son las asignadas por defecto por lo que no será necesario conectar esta entrada.
La salida y los mensajes de error deberán conectarse a los posteriores elementos DAQmx para
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
realizar una correcta ejecución.
3.1.2.
DAQmx Timing VI
Especifica los tiempos de muestreo de la tarea. En caso de querer realizar una tarea con muestreo bajo demanda (Sample on Demand) no será necesario utilizar este VI.
Existen varios tipos de relojes de muestreo: 1
Sample Clock: Reloj de muestreo, normalmente utilizado para E/S analógicas o digitales.
2
Sample Mode: Modo de muestreo: Continuous Samples: Adquiere o genera muestra continuamente. Finite Samples: Adquiere el numero de muestras especificado en Samples per channel y para. Hardware Timed Single Point : Adquiere o genera muestras continuamente usando el hardware (myDAQ) y sin ningun buffer. Util para deteccion de flancos. Samples per channel: Numero de muestras a tomar. En el caso de Continous samples indica el tamaño del buffer: Rate: Velocidad de muestreo: Hasta 200KS/s
Handshaking: Determina el numero de muestras digitales a tomar utilizando Handshaking. No todos los dispositivos soportan Handshaking. Este es el caso del MyDAQ.
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
3
Implicit: Contador implícito. Se utiliza para aquellas aplicaciones que necesiten de detección de flancos.(Contador,encoder,PWM,frecuencia…)
4
Use waveform: Utiliza una variable de tipo waveform para generar una salida analógica. Este VI no genera la señal es necesario el uso de una función DAQmx_Write.VI
5
Change detection: Detecta el cambio de estado de las entradas digitales.
6
Pipelined Sample Clock: Solo puede utilizarse con las tarjetas NI 6536 y NI 6537.
3.1.3.
DAQmx Trigger.VI
Configura la tarea para que empiece a muestrear tras la señal de trigger.
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
3.2.
Lectura y Escritura
Dos funciones son las encargadas de realizar la lectura y escritura de los recursos DAQ. Estos dos VI son los únicos que se ejecutaran continuamente durante la ejecución. Si fuese necesario realizar algún cambio en la configuración de dichos recursos se realizara mediante nodos.(Tema 4)
3.2.1.
DAQmx_Read.vi
Esta función puede leer 3 tipos de datos, analógico, digital y contadores (funciones especiales). A la hora de leer datos analógicos o digitales, podremos realizar muestras de un solo canal (normalmente) o de multiples canales. Esto dependerá de como se haya configurado el canal.
Ademas podremos realizar una sola lectura o multiples lecturas en función de si hem os configurado un reloj de muestreo (sample clock) con un buffer o no. Las muestras multiples pueden leerse en un array DBL de 1 dimension o una variable tipo waveform.En la variable waveform t0 sera el instante en que se ejecuto el DAQmx_Read.vi y dt será 1 divido por la frecuencia de muestreo establecida anteriormente con el DAQmx_timing.vi. Si no se ha establecido ningún reloj solo se podrá realizar una sola lectura.
Podemos configurar el timeout para indicar cuanto tiempo debe esperar como máximo el vi a que haya una lectura disponible. Por defecto es -1 por lo que esperara indefinidamente,
3.2.2.
DAQmx_Write.vi
El funcionamiento es idéntico al de la función de lectura pero en este caso los datos se escriben en lugar de leerlos.
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
3.3.
Funciones de cierre
Normalemente antes de terminar el VI, limpiaremos la tarea con la función DAQmx_Clear_Task.vi.
3.4.
Otras Funciones
Existen otra serie de funciones básicas que pueden ser utilizadas:
Inicia la tarea: Normalemente se ejecuta antes de leer o escribir aunque estos pueden empezar la tarea automáticamente sein utilizar este vi.
Para la tarea.
Espera a que acabe la tarea.
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
4. Nodos Podemos utilizar nodos cuando queramos cambiar la configuración de la tarea sin necesidad de volver a ejecutar un VI. Algunos parámetros pueden necesitar que la tarea se pare para poder cambiarlos.
Las propiedades de estos nodos son comunes para cualquier dispositivo DAQ. Para ver solo las propiedades del myDAQ pulsa el botón derecho sobre el nodo y selecciona select filter y aquí el myDAQ. De esta manera solo aparecerán las propiedades del myDAQ.
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
5. Escala personalizada Podemos crear escalas personalizadas desde NI-MAX o desde el explorador del proyecto.
Las escalas pueden ser lineales, rangos mapeados, polinomicos o a base de tablas. De esta manera podremos especificar las características del sensor y funcionar directamente con los datos reales medidos por el sensor. Vamos a realizar un ejemplo de escala para el LM35 que se supone lineal con una sensibilidad de 10mV/ºC o lo que es lo mismo 100ºC/V. Como es una escala lineal seleccionamos lineal:
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
Introducimos como nombre LM35 y pulsamos finish. Configuramos la sensibilidad en ºC/V en slope y el offset (en este caso 0) en Y-intercept. El valor antes de escalarlo (Pre-scaled) será en Volts y el valor escalada (scaled) en ºC
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
6. Global/project virtual channel Tambien podemos crear un canal global virtual desde NI-MAX o crear un canal virtual o tarea dentro del proyecto. Estos canales se asocian a un canal fisico del myDAQ y pueden utilirzarse durante todo el proyecto en el caso de crear una tarea o canal en el proyecto o en cualquier proyecto en el caso de hacerlo global. De esta manera si habría que cambiar de canal físico bastaría con cambiar este canal virtual. Vamos a crear un NI_DAQmx_Task dentro del proyecto:
Selecionamos una entrada analógica de tipo voltaje, por ejemplo el AI0 del myDAQ y la nombramos como entrada analogica1.
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
Configuramos la tarea como queramos y pulsamos OK. La tarea ya estará creada y configurada por lo que no será necesario configurarla de nuevo durante el proceso.
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
7. Funciones avanzadas Existen otros VIs que nos permiten realizar algunas funciones extra en nuestras adquisiciones en la paleta DAQmxAdvanced Task Options:
Crea un Tarea
Start o Stop
Comprueba que la tarea se ejecuta correctamente
Configura el buffer de entrada
Configura el buffer de salida
Configura el registro de datos en un TDMS Crea un Archivo nuevo
Crea una señal de trigger
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
8. Ejemplos Vamos a ver algunos ejemplos de como podemos utilizar el myDAQ
8.1.
Lectura de entrada digital
8.2.
Lectura de un puerto digital
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
8.3.
Lectura de una entrada analógica con sample clock
8.4.
Salida analógica On demand
8.5.
Encoder incremental
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
8.6.
Calculo de anchura de pulso (Periodo)
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
8.7.
Salida Digital PWM
8.8.
Guardar archivo TDMS
8.9.
Utilizando canal global
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]
Isasi, 36 - 20600 Eibar - Tfno. 943 20 32 44, Fax. 943 20 41 14, e-mail:
[email protected]