Вы находитесь на странице: 1из 13

Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.

CAPTULO XII

PROGRAMACIN DEL NI USB-6008 CON LABVIEW

Figura 1: El USB-6008 (USB-6009 es similar)

12.1. Introduccin
El NI USB-6008 es un dispositivo de control y adquisicin de datos (DAQ) basado en USB. Un resumen de sus
caractersticas principales son las siguientes:
ANALOG INPUT (AI): 8 entradas con acoplamiento de seal referenciado a un solo terminal o 4 entradas
con acoplamiento de seal diferencial. Los rangos de voltaje configurable por software son: 20V, 10V, 5V,
4V, 2.5V, 2V, 1.25V, 1V. La velocidad mxima de muestreo es 10kS/s (10000 muestras por segundo).
El Convertidor ADC es de 12 bits.
ANALOG OUTPUT (AO): 2 salidas. El Rango de Voltaje es de 0 - 5V (fijo). La Velocidad de la Salida es
150Hz (muestras/segundo). El Convertidor DAC es de 12 bits.
DIGITAL INPUT (DI) y DIGITAL OUTPUT (DO): 12 canales que pueden ser utilizados como DI o DO
(configurados individualmente). Estos 12 canales estn organizados en ports, con el Port 0 teniendo las lneas
0, .., 7, y el Port 1 teniendo las lneas 0, .., 3. Una entrada de nivel bajo se encuentra entre -0.3V y +0.8V. Una
entrada de nivel alto se encuentra entre 2.0V y +5.8V. Una salida de nivel bajo est debajo de 0.8V. Una salida
de nivel alto esta sobre los 2V (con la opcin open-drain).
COUNTER: 32 bits. Cuenta en el flanco de bajada.
FUENTES DE VOLTAJE ON-BOARD (disponible en terminales individuales): 2.5V y 5.0V
POWER: el USB-6008 es alimentado va el cable USB.
CONFIGURACIN Y TESTING: el USB-6008 puede ser configurado y testeado usando el MAX
(Measurement and Automation Explorer).
SOFTWARE DE APLICACIN: LabVIEW, C, o Visual Studio. En Plataformas: Windows, Mac, Linux.
DOCUMENTACIN: Los siguientes documentos de inters relevante pueden ser encontrados en
http://www.ni.com/:
o Home Page del producto USB-6009 (http://sine.ni.com/nips/cds/view/p/lang/en/nid/201987).
o USB-6009 Data Sheet (http://www.ni.com/pdf/products/us/20043762301101dlr.pdf, disponible de la
pgina web del producto).
o Getting Started Guide: NI-DAQmx for USB Devices (http://www.ni.com/pdf/manuals/371556a.pdf). Este
documento explica como probar el dispositivo en Measurement and Automation Explorer (MAX).
o USB-6008/6009 User Guide and Specifications (http://www.ni.com/pdf/manuals/371303e.pdf). Este
documento muestra en detalle como debe ser conectado el USB-6008 a seales externas para medicin y
control; y describe los terminales I/O en detalle.

12.2. Etiquetado de los terminales I/O


Antes de empezar a utilizar el USB-6008, deberamos haber pegado las etiquetas a los terminales analgicos y
digitales. La figura 2 de abajo muestra los terminales I/O analgicos con las etiquetas asumiendo acoplamiento de
seal diferencial.

AIEA - IPEN MEER - QUITO - ECUADOR 131


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

Figura 2: Los terminales I/O analgicos con etiquetas asumiendo acoplamiento de seal diferencial

La figura 3 de abajo muestra los terminales I/O digitales con conexiones para las lneas individuales. P0 es el port
0, y P1 es el port 1. Por ejemplo, P0.3 es la lnea 3 en el port 0.

Figura 3: Los Terminales I/O digital

12.3. Conectando el USB-6008 a la PC


La primera vez que se conecta el USB-6008 a la PC, se abrir el Windows Hardware Installer Wizard, ver la
figura 4.

AIEA - IPEN MEER - QUITO - ECUADOR 132


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

Figura 4: El Windows Hardware Installer Wizard

En esta ventana de dilogo, seleccionar la opcin automatic install.

Luego, el wizard busca el driver de software necesario para el USB-6008, en la PC. Este driver de software ha sido
instalado con la instalacin del software NI-DAQmx.

Cuando el wizard finalice la instalacin del driver de software, el USB-6008 estar listo para su uso (despus de
hacer click en Finish), ver Figura 5.

Figura 5: El wizard ha finalizado la instalacin del driver de software, y el USB-6008 est listo para su uso,
despus de hacer click en Finish

Si se desconecta el USB-6008 de la PC, y luego se vuelve ha conectar nuevamente, la ventana de dilogo New
Data Acquisition Device aparecer, dndonos varias opciones, ver la Figura 6.

AIEA - IPEN MEER - QUITO - ECUADOR 133


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

Figura 6: La ventana de dilogo New Data Acquisition Device

Para probar y configurar el USB-6008 podramos seleccionar una de las dos primeras opciones, pero haremos click
en Cancel; y en su lugar abriremos MAX haciendo doble click en el cono correspondiente en el escritorio de
Windows.

12.4. Testing del USB-6008

a) Testing del USB-6008 en MAX


Antes de iniciar el uso del USB-6008 en una aplicacin, deberamos de probar el dispositivo en el utilitario
MAX, el cual est disponible va Start / Programs / National Instruments. Ver la Figura 7 que muestra MAX.

Figure 7: MAX (Measurement and Automation Explorer)

AIEA - IPEN MEER - QUITO - ECUADOR 134


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

En la ventana MAX, expandir el item Devices and Interfaces, ver la Figura 8.

Figura 8: El Item Devices and Interfaces

Si MAX ha reconocido el USB-6008, el dispositivo debe aparecer bajo NI-DAQmx Devices.

Asumiendo que MAX reconoce el dispositivo, podemos ahora correr una autoprueba (self-test), del propio
dispositivo, seleccionando en el Men-TAB Self-Test o haciendo click derecho sobre NI USB-6008:Dev1,
y seleccionando Self-Test en el men emergente.

Puede suceder que se pase el self-test sin errores. Entonces, ahora podemos probar los canales individuales del
USB-6008 para verificar que las seales de entrada son detectadas correctamente y que tambin las seales de
salida generadas por el USB-6008 son correctas.

Esta I/O puede ser probada de varios modos, dependiendo en que canales queremos hacer la prueba. Aqu,
probaremos el canal 0 (AO0) de salida analgica y el canal 0 (AI0) de entrada analgica para ver si ellos
trabajan correctamente.

Nosotros efectuaremos una prueba muy simple, el cual es suficiente si estamos verificando que la salida AO0 y
la entrada AI0 trabajan correctamente. El procedimiento de prueba, que es denominado loopback, consiste en
conectar el canal AI0 al canal AO0. Entonces nosotros generaremos algn voltaje vlido en AO0. Si AI0
detecta el mismo voltaje, entonces sabremos que ambos AO0 y AI0 trabajan bien. (Entonces podemos repetir
este procedimiento para otros canales). Si por alguna razn AI0 detecta algn otro voltaje diferente del valor
puesto en AO0, entonces hay un error en el canal AI0 o en el canal AO0, y se requiere un mayor anlisis.

Para preparar un test de loopback, nosotros cableamos juntos AI0 y AO0. Para ver los terminales del USB-
6008, seleccionar Device Pinouts en el men mostrado en la figura 8. Los terminales o pines se muestran en la
ventana NI-DAQmx Device Terminals, ver la Figura 9.

AIEA - IPEN MEER - QUITO - ECUADOR 135


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

Figura 9: Los terminales o pines son mostrados en la ventana NI-DAQmx Device Terminals

La Figura 10 muestra los canales AI0 y AO0 cableados juntos.

Figura 10: Preparacin para el Test loopback, AI0 y AO0 son cableados juntos.

Se debe observar que las conexiones efectuadas son:

AI0+ (pin2) con AO0 (pin14)


AI0- (pin3) con GND (pin13)

Para realmente efectuar el Test loopback, debemos hacer click derecho en el dispositivo etiquetado NI USB-
6008: "Dev1" en MAX, y luego seleccionar Test Panels, entonces se abrir el Test Panels. En la ventana de
Test Panels, seleccionar el Men-TAB Analog Output, ver Figura 11.

AIEA - IPEN MEER - QUITO - ECUADOR 136


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

Figura 11: La ventana de dilogo de Analog Output en la ventana de Test Panels

En la ventana de dilogo de Analog Output, seleccionar cualquier voltaje entre 0V y 5V. En la Figura 11, se ha
puesto un output value de 3.57V.

En el siguiente paso, hacer click en el Men-TAB Analog Input de la ventana Test Panels, ver la Figura 12.
Podemos desmarcar Auto-scale chart en la ventana.

Figura 12: La ventana de dilogo de Analog Input en la ventana de Test Panels

AIEA - IPEN MEER - QUITO - ECUADOR 137


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

Si el canal pasa el Test sin problemas, podemos finalizar la sesin de Test poniendo 0V en la salida (en la
ventana de Analog Output).

La ventana Analog Input debera indicar el mismo (o casi el mismo) voltaje como se puso en la salida AO0.
Puede haber una pequea diferencia entre los valores debido a la resolucin limitada en el convertidor DAC
(digital-a-analgico) y en el convertidor ADC (analgico-a-digital).

b) Panel de Control Interactivo del USB 6008


El Panel de Control Interactivo es un programa de ejemplo que se incluye con el Software del Driver NI-
DAQmx y proporciona a los usuarios una manera rpida de empezar a utilizar su dispositivo de hardware
USB-6008, USB-6009. El panel de control interactivo ayuda a que los usuarios nuevos no tengan que
escribir su cdigo desde cero en LabVIEW para utilizar sus dispositivos USB-6008.

EJERCICIO:
Conectar el USB-6008 al puerto USB de la PC. El Windows debe reconocer automticamente el
dispositivo.
Ejecutar el Programa Daq-mx USB-600x Interactive Control.vi y verificar el funcionamiento
siguiente:

Conectar un cable entre la salida AO0 (pin 14) y la entrada AI0+ (pin 2).
Conectar un cable entre la salida GND (pin 13) y la entrada AI0- (pin 3).
Verificar las lecturas en AI0, variando el valor de AO0. Observar los valores que muestran las otras
entradas AI en modo RSE y Diferencial.
Verificar las Entradas/Salidas Digitales
Verificar la entrada contador, conectando un generador de seal TTL.

12.5. Configurando el USB-6008 en MAX


Despus que se han pasado exitosamente las pruebas, debemos configurar el USB-6008 en MAX. Ahora
describiremos como crear tasks (tareas), para operaciones con las entradas y salidas analgicas. Estas tareas, sern
referenciadas en un programa de aplicacin, por ejemplo LabVIEW. En general, una tarea representa la
configuracin de una operacin de entrada o salida de seal para ser ejecutada por el dispositivo de I/O. La
creacin de tareas es una caracterstica general del utilitario MAX.

En general, una tarea puede contener uno o ms global o local virtual channels, y un canal virtual est basado en
un canal fsico (por ejemplo un Terminal en el dispositivo I/O). Un canal virtual local existe solamente dentro de su
tarea padre, mientras un canal virtual global puede ser utilizado en varias tareas. Si un canal global es re-
configurado, todas las tareas que estn involucradas con ese canal global sern consecuentemente actualizadas. Por
ejemplo todos los siguientes tems:
tasks,
local and global virtual channels,
physical channels,

AIEA - IPEN MEER - QUITO - ECUADOR 138


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

Pueden ser configurados en MAX. Las Tareas y Canales virtuales pueden tener cualquier nombre (por ejemplo
task_motor y meas_speed, respectivamente), mientras los canales fsicos tendrn nombres pre-definidos (por
ejemplo ai0, ai1, ao0, ao1).

Configuracin de una tarea para analog input


Ver la figura 8, y seleccionar Create Task en el men emergente, se abrir una ventana donde podemos seleccionar
el tipo de medicin, ver Figura 13.

Figura 13: La Ventana donde se selecciona el tipo de medicin

En nuestro caso, en la figura 13 hemos seleccionado Acquire Signals / Analog Input (posteriormente
seleccionaremos Analog Output). Esto abrir la ventana mostrada en la Figura 14 donde podemos seleccionar el
tipo de medicin desde una lista.

Figura 14: Una Lista de Opciones para el tipo de medicin

AIEA - IPEN MEER - QUITO - ECUADOR 139


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

De la lista de tipo de mediciones, seleccionamos en nuestro caso Voltage, el cual abre la ventana mostrada en la
Figura 15 donde podemos seleccionar los canales fsicos para nuestra tarea.

Figura 15: Seleccionando el canal fsico para la tarea

En la ventana mostrada en la Figura 15, seleccionar ai0, el cual abre la ventana mostrada en la Figura 16. Donde
podemos ingresar el nombre de la tarea (task.):

Figura 16: Ventana donde podemos ingresar el nombre de la tarea

Haciendo click en el botn Finish de la ventana mostrada en la Figura 16, se abrir la ventana mostrada en la
Figura 17.

AIEA - IPEN MEER - QUITO - ECUADOR 140


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

Figura 17: Ventana para la Configuracin del analog input asociado a la tarea tarea_a0_in

La ventana mostrada en la figura 17 tiene varios items. A continuacin describiremos varios de estos.
Virtual channel list (Lista de Canales Virtuales), es el rea que tiene el botn Show Details en la parte alta.
Por defecto, el nombre del canal virtual analog input channel es Voltage, Voltage1 etc. Sin embargo,
podemos renombrar el canal haciendo click derecho en el nombre del canal virtual, y luego seleccionando
Rename del men de contexto. Esto se ha hecho en la figura 17, donde el nombre por defecto Voltage ha sido
renombrado a meas_speed. Tambin podemos, hacer click derecho en el nombre de un canal virtual y definir
que un canal virtual (local) llegue a ser un global virtual channel, que significa que el canal puede ser parte de
varias tareas al mismo tiempo.

Terminal Configuration (Configuracin de Terminal):


o Referenced single ended (Referenciado a un solo Terminal), que significa que todos los canales
tienen la misma tierra. El rango de seal utilizando acoplamiento referenced single ended es 10V
(fijo).

AIEA - IPEN MEER - QUITO - ECUADOR 141


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

o Differential (Diferencial), que significa que cada canal tiene su propia (individual) tierra. El
acoplamiento Diferencial es por supuesto ms robusto contra las diferencias de de potenciales de
tierra, por tanto este debera ser el tipo de acoplamiento por defecto.
Custom Scaling (Ajuste de Escala Personalizado): Esto da la posibilidad de definir un ajuste de escala de la
seal fsica medida desde la unidad de medida (Voltios en el USB-6008) a alguna otra unidad (por ejemplo
cm). Es el valor de escala ajustada (por ejemplo cm) el que llega a estar disponible en el software de aplicacin
(por ejemplo LabVIEW). Si seleccionamos No Scale (No efectuar ajuste de escala), entonces es el valor
numrico de la seal fsica medida (V) el que llega a estar disponible en el software de aplicacin.
Signal Input Range (Rango de la Seal de Entrada): Aqu podemos seleccionar el rango de la seal de
entrada. Los rangos de seal permitida con acoplamiento diferencial son 20V, 10V, 5V, 4V, 2.5V, 2V,
1.25V, 1V. Notar que en mediciones RSE el voltaje mximo en cualquiera de los pines es 10V con
respecto a GND. Por ejemplo, si AI1 es +10V y AI5 es 10V, entonces la medicin registrada por el USB-
6008 es +20V.
Scaled Units (Unidades de Escala): La nica opcin para el USB-6008 es Voltios.
Timing Settings (Configuracin de Sincronizacin): Bajo el Modo de Adquisicin podemos tener cuatro
opciones que son ms o menos auto-explicatorios. Por ejemplo, si el USB-6008 es usado para leer una seal
medida y esta seal es alimentada o llevada a la entrada de un controlador que calcula una seal de control en
funcin de la seal medida, entonces usaremos la opcin 1 Sample (On Demand).

Para ver los detalles acerca de un canal virtual, podemos hacer click en el botn Show Details, por ejemplo la
figura 17. Este muestra el canal fsico asociado con el canal virtual, ver Figura 18.

Figura 18: Detalles sobre el canal virtual pueden mostrarse / ocultarse utilizando el botn Show Details/Hide
Details

Configuracin de una tarea para analog output


Anteriormente se cre una tarea para un analog input. Ahora crearemos una tarea para analog output del mismo
modo, es decir, haciendo click derecho en USB-6008 device que aparece bajo Devices and Interfaces, se
desplegar un men en el cual seleccionamos Create Task, ver Figure 8. La Figura 19 muestra la ventana resultante
de la tarea configurada para la tarea tarea_ao_out

AIEA - IPEN MEER - QUITO - ECUADOR 142


Curso de Capacitacin en Programacin y DAQ usando el Software LABVIEW 8.6

Figura 19: La ventana de configuracin de tareas para la tarea tarea_ao_out.

Como se muestra en la Figura 19, la tarea que ha sido configurada, aparece bajo Data Neighborhood/NI-DAQmx
Tasks.

Grabando la Configuracin
La configuracin puede ser grabada usando el botn Save, ver Figura 19. Se graban las configuraciones ms
recientes, y son cargadas la siguiente vez que se abre MAX. Tambin podemos exportar la configuracin a un
archivo va el men File / Export, poner de nombre tarea_0. Este men tambin tiene una opcin para importar
(import).

Despus que se ha finalizado la configuracin del dispositivo en MAX, debemos cerrar MAX (de otro modo puede
ocurrir un error).

AIEA - IPEN MEER - QUITO - ECUADOR 143