Sei sulla pagina 1di 7

1/7 www.ni.

com
1.
2.
3.
4.
1.
2.
3.
Gua sobre Control de Instrumentos por USB
Fecha de Publicacin: Apr 21, 2009
Visin General
Esta gua intenta ser un punto de inicio para utilizar NI-VISA y as comunicarse con un dispositivo USB. Su propsito no es ser un punto de inicio para aprender sobre la arquitectura USB o distintos
protocolos utilizados en la comunicacin por USB. Despus de leer esta gua, usted deber poder instalar un dispositivo USB y utilizar NI-VISA para comunicarse con ese dispositivo, siempre y
cuando usted entienda el protocolo de comunicacin del dispositivo.
Contenido
1. Contexto sobre USB y VISA
2. Configurando NI-VISA para Controlar su Dispositivo USB
3. Utilizando NI-VISA para Establecer Comunicacin con su Dispositivo USB
4. USB en Linux y Mac
1. 1. Contexto sobre USB y VISA
VISA es un API de alto nivel utilizado para comunicarse con buses de instrumentacin. Es independiente de la plataforma, del bus y del entorno. En otras
palabras, la misma API se utiliza sin importar si un programa est creado para comunicarse con un dispositivo USB con LabVIEW en una mquina que
ejecuta Windows 2000, o con un dispositivo GPIB con C en una mquina que ejecuta Mac OS X.
USB es un bus de comunicacin basado en mensajes. Esto significa que una PC y un dispositivo USB se comunican enviando comandos y datos a travs
del bus en forma de texto o datos binarios. Cada dispositivo USB tiene su propio conjunto de comandos. Usted puede utilizar funciones de Lectura y
Escritura NI-VISA para enviar estos comandos a un instrumento y leer la respuesta del mismo. Contacte al fabricante de su instrumento para consultar la lista de comandos de su instrumento.
A partir de la versin 3.0, NI-VISA utiliza comunicacin por USB. Se pueden utilizar dos clases de recursos VISA: USB INTR y USB RAW:
Los dispositivos USB que cumplen con el protocolo USB Test and Measurement Class (USBTMC) utilizan la clase de recursos USB INSTR. Los dispositivos USBTMC cumplen con un protocolo que
la clase de recursos USB INSTR de VISA puede entender. No se necesita ninguna configuracin para comunicarse con un dispositivo USBTMC. Para comunicarse con instrumento USBTMC,
consulte la seccin 3. Para obtener ms informacin sobre la especificacin USBTMC, consulte la pgina web del foro de implementadores de USB, cuyo enlace se encuentra al final de esta gua.
Los instrumentos USB RAW son todos aquellos de USB que no cumplen con la especificacin USBTMC. Si usted utiliza un dispositivo USB RAW, siga las instrucciones en la seccin 2 para
configurar NI-VISA para que controle su dispositivo. Contacte al fabricante de su instrumento para obtener detalles sobre el protocolo de comunicacin y el juego de comandos que utiliza su
instrumento.
Para informacin especfica sobre el API NI-VISA, consulte el documento . Este documento est incluido con NI-VISA y est disponible a travs del enlace al final de esta gua. Ayuda para NI-VISA
2. 2. Configurando NI-VISA para Controlar su Dispositivo USB
Esta seccin lo lleva por una serie de pasos para configurar su dispositivo USB RAW y as controlarlo por NI-VISA 3.0 en una PC basada en Windows. Si usted utiliza un dispositivo compatible con
USBTMC, conecte su dispositivo y consulte directamente la seccin 2.3.
En este punto, NI-VISA ya debe estar instalada en su PC, y su dispositivo USB no debe estar conectado. Adems, no debe haber ningn controlador para su dispositivo USB instalado. Hay tres
pasos para configurar su dispositivo USB y as utilizar NI-VISA:
Genere el archivo INF utilizando el Driver Development Wizard (asistente para desarrollo de controladores).
Instale el archivo INF y el dispositivo USB utilizando el archivo INF.
Pruebe el dispositivo con el Control Interactivo de NI-VISA.
En esta gua se utilizar como ejemplo el dispositivo USB NI DAQPad-6020E, y ser instalado en un sistema Windows XP. Debido a que esta gua intenta explicar la configuracin de un dispositivo
USB genrico, no se tratarn los detalles especficos de DAQPad-6020E. Recuerde que NI-DAQ es el nico controlador con el que es compatible DAQPad-6020E.
2.1. Genere el Archivo INF Utilizando el Driver Development Wizard
Para utilizar NI-VISA, usted debe indicarle a Windows primero que utilice NI-VISA como el controlador predeterminado para el dispositivo. En el entorno Windows, usted puede hacer esto con un
archivo INF. NI-VISA 3.0 y posterior incluye el VISA Driver Development Wizard (DDM) para crear el archivo INF para su dispositivo USB.
1. Para abrir el DDW, seleccione las opciones . La Figura 1 muestra una imagen de la pantalla. StartProgramsNational InstrumentsVISAVISA Driver Developer Wizard
2/7 www.ni.com
Figura 1. Ventana de Seleccin del Bus de Hardware en el VISA DDW
Usted puede utilizar este asistente para crear el archivo para un dispositivo PXI/PCI, USB o IEEE 1394. En esta ocasin usted est creando un controlador para un dispositivo USB, por lo tanto
debe hacer clic con el mouse en y , es decir, siguiente. La ventana de Informacin Bsica del Dispositivo en el VISA DDW aparecer, como se muestra en la Figura 2. USB Next
Figura 2. Informacin Bsica del Dispositivo en el VISA DDW
2. Para este paso, usted debe conocer los nmeros de identificacin del proveedor y de producto de su instrumento USB. Estos nmeros identifican su dispositivo USB cuando usted lo instala;
tambin ubican su dispositivo cuando usted desea establecer comunicacin con l. De acuerdo a la especificacin USB, ambos nmeros son nmeros hexadecimales de 16 bits y deben ser
proporcionados por el fabricante del dispositivo.
Si usted no conoce el nmero de identificacin del proveedor o del producto USB, los puede conseguir conectando el dispositivo a la PC y permitiendo a la PC reconocer el nuevo dispositivo. Cierre
la aplicacin del Asistente de Nuevo Hardware Encontrado si se ejecuta. Ejecute el Administrador de Dispositivos del Panel de Control y ubique su dispositivo en la lista, generalmente lo encontrar
bajo "Otros Dispositivos." Podra mostrar una marca con un signo de exclamacin amarillo indicando que es un dispositivo desconocido. Haga doble clic con el mouse en el dispositivo para
desplegar sus propiedades. Seleccione la pestaa de Detalles y asegrese de que "Identificador del Dispositivo" aparezca en la ventana de atributos desplegable. Se mostrar una cadena de
caracteres similar a la Figura 3. Los cuatro caracteres a la derecha de "VID_" y "PID_" son los nmeros de identificacin del proveedor y del producto, respectivamente. Anote los caracteres del
dispositivo, cierre el Administrador de Dispositivos y desconecte el dispositivo de la PC. Otra manera de conseguir estos nmeros es contactando al proveedor del dispositivo.
3/7 www.ni.com
1.
2.
Figura 3. Encontrando los Nmeros de Identificacin del Proveedor y del Producto en el Administrador de Dispositivos

Para el DAQPad-6020E, los nmeros de identificacin del proveedor y del producto son 0x3923 y 0x12C0, respectivamente. Si su dispositivo no es un NI DAQPad-6020E, los nmeros de
identificacin del proveedor y del producto sern distintos.
Nota: Antes de proceder con el Driver Development Wizard, asegrese de que el dispositivo ha sido desconectado de la PC.
Introduzca los nmeros de identificacin del proveedor y del producto, el nombre del fabricante y el nombre del modelo de su dispositivo en los campos adecuados.
Haga clic en , siguiente. Se mostrar la ventana de propiedades de los archivos generados, como se muestra en la Figura 4. Next
Figura 4. Ventana de Propiedades de Archivos Generados en el VISA DDW
3. El "USB Instrument Prefix", o prefijo de instrumento USB, es simplemente un descriptor que usted utilizar para identificar los archivos utilizados para este dispositivo. Introduzca un prefijo de
instrumento USB, seleccione el directorio en el cual desea ubicar estos archivos y haga clic en , siguiente. La siguiente ventana le proporcionar opciones de instalacin. La seleccin Next
predeterminada es instalar la informacin de configuracin en el sistema operativo y por lo general es la mejor opcin. Una vez que haya seleccionado una opcin, haga clic en para terminar Finish
de usar el asistente. El archivo INF se habr generado en el archivo que usted especific en el campo de directorio de archivos generados en la ventana previa.
2.2 Instale los archivos INF y el dispositivo USB.
La instalacin de los archivos INF es diferente para cada versin de Windows. Cuando el DDW crea un archivo INF, las instrucciones de instalacin se incluyen en el encabezado al principio de
cada archivo INF. Debido a que los archivos INF son archivos de texto ASCII, se pueden leer utilizando cualquier editor de texto tal como Notepad. Para obtener informacin detallada sobre la
instalacin de su archivo INF, abra el archivo INF en un editor de texto y siga las instrucciones que aparecen al principio del archivo. En esta gua se asume que usted est utilizando Windows XP.
Copie el archivo INF a la carpeta INF. En Windows XP, esta carpeta generalmente se encuentra ubicada en . Esta carpeta puede estar escondida, por lo que podra necesitar C:\WINDOWS\INF
cambiar las opciones de carpeta para ver los archivos escondidos.
Haga clic derecho con el mouse en el archivo INF en y haga clic en . Este proceso crea un archivo PNF para su dispositivo. Ahora est listo todo para que usted C:\WINDOWS\INF Instalar
4/7 www.ni.com
2.
3.
Haga clic derecho con el mouse en el archivo INF en y haga clic en . Este proceso crea un archivo PNF para su dispositivo. Ahora est listo todo para que usted C:\WINDOWS\INF Instalar
instale su dispositivo USB.
Conecte su dispositivo USB. Debido a que USB es insertable durante el funcionamiento, Windows debera detectar su dispositivo USB, y el Asistente de Agregar Nuevo Hardware debera
aparecer automticamente tan pronto como usted conecte su dispositivo al puerto USB. Siga las instrucciones en la pantalla del asistente. Cuando se le solicite que seleccione un controlador
para este dispositivo, busque la carpeta INF y seleccione el archivo INF que usted gener utilizando el DDW.
Nota: En algunos casos, Windows puede tener un controlador ya predeterminado asociado con su dispositivo USB. Si este es el caso, Windows intentar instalar ese controlador primero. Una vez
que usted haya conectado su dispositivo USB y Windows haya instalado el controlador predeterminado, haga clic derecho en Mi PC y seleccione Propiedades. En la ventana de Propiedades, vaya
a la pestaa de Hardware y haga clic en Administrador de Dispositivos. Una vez que la ventana de Administrador de Dispositivos est abierta, expanda el men de "Dispositivos de Interfaz
Humana." Despus ubique qu instancia de "Dispositivos de Interfaz Humana USB" (mostrada en la Figura 5) corresponde a su dispositivo USB. Para lograr esto debe hacer clic derecho,
seleccionar Propiedades y seleccionar la pestaa de Detalles para encontrar el VID y PID que coincida con su dispositivo USB.

Figura 5. Encontrando la Instancia Correcta para el Dispositivo de Interfaz Humana USB para su Dispositivo USB
Una vez que usted ha encontrado el "Dispositivo de Interfaz Humana de USB" cuyo VID y PID coinciden con el de su Dispositivo USB, haga clic derecho y seleccione la opcin Actualizar
Controlador del men desplegable, como se muestra en la Figura 6.

Figura 6. Actualice el Controlador de su Dispositivo USB
En la primer pantalla, seleccione "Por ahora no" y despus haga clic en Siguiente. En la segunda pantalla, seleccione "Instalar desde una lista o una ubicacin especfica (Avanzado)" y despus
haga clic en Siguiente. En la tercer pantalla, seleccione "No buscar. Elegir el controlador para instalar." La cuarta pantalla ser similar a la que se muestra en la Figura 7, en la cual el controlador
marcado es el controlador que usted cre. Una vez que ya haya seleccionado su controlador, haga clic en Siguiente. Cuando el controlador se haya terminado de instalar, haga clic en Terminar.

5/7 www.ni.com
Figura 7. Seleccione el Controlador de su Dispositivo USB
2.3 Pruebe la Comunicacin con VISA Interactive Control.
1. Abra Measurement & Automation Explorer (MAX). Seleccione para actualizar la visualizacin. Su dispositivo USB debera aparecer en la lista como Dispositivo USB bajo ToolsRefresh Devices
, dispositivos e interfaces, como se muestra en la Figura 8. Su dispositivo USB ahora est instalado y configurado para utilizar NI-VISA. and Interfaces
Si usted selecciona su dispositivo USB, la informacin del dispositivo aparecer en la ventana de configuraciones, USB Settings. Al utilizar esta ventana, usted puede tener acceso a informacin tal
como nmero de identificacin del fabricante, cdigo del modelo y nmero de serie de su dispositivo.
Figura 8. Dispositivo USB Mostrado en MAX
2. Para comunicarse con su dispositivo utilizando VISA, utilice el descriptor de instrumentos VISA de su dispositivo. El formato del descriptor de instrumentos para un dispositivo USB INSTR es
USB[tarjeta]:: identificacin del fabricante:: cdigo de modelo:: nmero de serie[:: USB nmero de interfaz]::INSTR. El formato del descriptor de instrumentos para un dispositivo USB RAW es
USB[tarjeta]:: identificacin del fabricante:: cdigo de modelo:: nmero de serie[:: USB nmero de interfaz]::RAW.
De acuerdo a la especificacin USBTMC, todos los dispositivos USBTMC deben tener un nmero de serie. Algunos dispositivos RAW USB pueden no tener nmero de serie. Si su dispositivo no
tiene un nmero de serie, NI-VISA automticamente asigna un nmero de serie de VISA especfico para ese dispositivo. El formato del nmero de serie es NI-VISA-#, donde # es un nmero
generado automticamente.
Algunos dispositivos USB tienen mltiples interfaces. Esto es similar a la manera en que un dispositivo PCI puede tener mltiples funciones. Si su dispositivo solamente puede utilizar una interfaz,
usted no necesita incluir el nmero de interfaz USB.
El DAQPad-6020E utiliza la clase RAW, y los cdigos de fabricante y de modelo son 0x3923 y 0x12C0, respectivamente. Para el DAQPad-6020E, el descriptor de instrumento es
USB0::0x3923::0x12C0::00B50DAE::RAW.
Para probar la comunicacin con este dispositivo, abra MAX. Seleccione . Una ventana similar a la mostrada en la Figura 9 deber aparecer. ToolsNI-VISAVISA Interactive Control
6/7 www.ni.com
Figura 9. Control Interactivo VISA
3. El Control Interactivo VISA (VISAIC) es un programa de herramientas utilizado para comunicarse fcilmente con cualquier recurso VISA. Despus de haber configurado su dispositivo USB para
utilizar VISA, ste debe aparecer en la lista de la rama USB. Haga doble clic en el cono de su dispositivo para iniciar una sesin VISA con su dispositivo. La ventana mostrada en la Figura 10
deber aparecer.
Figura 10. Sesin VISA Iniciada en el Control Interactivo VISA
Cuando usted inicia una Sesin VISA con VISAIC, automticamente se seleccionan las pestaas de Template (plantilla) y Property Node-get (nodo para obtener propiedades). Para leer una
propiedad, seleccione la pestaa de Property Note (Get), elija la propiedad que desee y haga clic en , ejecutar. El valor actual de la propiedad especificada en (nombre de Execute Attribute Name
atributo) es mostrado en el indicador del valor actual, . En la Figura 10, la propiedad del nombre del recurso, , fue leda. Current Value Resource Name
Para obtener ms informacin sobre cmo utilizar VISAIC, consulte . Para informacin especfica sobre el API NI-VISA, consulte el documento Developer Zone: Control Interactivo VISA (VISAIC)
. Ambas referencias estn disponibles a travs de los enlaces al final de esta gua. Para obtener una lista de comandos vlidos para su instrumento USB, contacte al fabricante Ayuda para NI-VISA
de su instrumento.
3. 3. Utilizando NI-VISA para Establecer Comunicacin con su Dispositivo USB
Esta seccin explica cmo establecer comunicacin con su dispositivo USB utilizando NI-VISA 3.0 y posterior. Recuerde que existen dos clases de dispositivos USB. El mtodo de comunicacin
depende del tipo de clase de su dispositivo.
3.1 USB Clase INSTR (USBTMC)
Los dispositivos que cumplen con el protocolo USB Test and Measurement Class (USBTMC) utilizan la NI VISA USB clase INSTR. Estos dispositivos utilizan una comunicacin estilo 488.2. Para
estos dispositivos, usted puede simplemente utilizar las funciones VISA Open (iniciar), VISA Close (terminar), VISA Read (leer) y VISA Write (escribir) de la misma manera que si se estuviera
comunicando con instrumentos GPIB.
La Figura 11 muestra un VI de LabVIEW que se comunica con un dispositivo USBTMC. En este ejemplo, se inicia una sesin de VISA con un dispositivo USB. Un comando es escrito en el
dispositivo, y la respuesta es enviada de vuelta. En este ejemplo, el comando especfico que est siendo enviado es la solicitud de la identificacin del dispositivo. Verifique con el fabricante de su
dispositivo el conjunto de comandos de su dispositivo. Despus de que toda la comunicacin se ha completado, la sesin VISA termina.
7/7 www.ni.com
Figura 11. Bloque de Diagramas en LabVIEW de Ejemplo de USBTMC
3.2 USB Clase RAW
Establecer comunicacin con USB clase RAW es ms complicado porque cada dispositivo puede utilizar su propio protocolo de comunicacin. Contacte al proveedor de su dispositivo para detalles
sobre el protocolo de comunicacin de su dispositivo.
USB se comunica utilizando cuatro tipos de conductos o puntos finales: control, bulto (bulk), interrupcin e iscrono. Cada tipo de conducto transmite un diferente tipo de informacin. Adems,
cualquier cantidad de puntos finales pueden ser de cualquier tipo de puntos finales. Piense en un punto final como si fuera un enchufe de comunicacin. Para obtener detalles especficos sobre la
arquitectura USB, revise las especificaciones de USB cuyo enlace se encuentra al final de la gua.
NI-VISA utiliza tres tipos de conductos USB: control, bulto (bulk) e interrupcin. Cuando NI-VISA detecta su instrumento USB, automticamente escanea su instrumento para encontrar el punto final
ms bajo disponible de cada tipo.
Cuando VISA detecta el punto final ms bajo disponible, asigna ese valor al atributo VISA adecuado. Los puntos finales de bulto de entrada, y de bulto de salida estn almacenados en los atributos
VI_ATTR_USB_BULK_IN_PIPE y VI_ATTR_USB_BULK_OUT_PIPE, respectivamente. El punto final de interrupcin est almacenado en el atributo VI_ATTR_USB_INTR_IN_PIPE. Un valor de -1
indica que el dispositivo USB no utiliza este tipo de conducto. Para el control de conducto solamente el punto final cero puede ser utilizado. Si usted est utilizando el API C, utilice la funcin
viSetAttribute para cambiar los puntos finales. En LabVIEW, utilice un nodo de propiedad VISA de Escritura.
NI-VISA incluye cuatro funciones para transferir datos a travs de conductos USB. Antes de poder establecer comunicacin con su dispositivo utilizando estas funciones, usted necesita configurar el
protocolo de comunicacin utilizando los atributos VISA USB. La siguiente lista describe las funciones disponibles.
Utilice VISA USB Control In y VISA USB Control Out para transferir datos utilizando el conducto de control.
Para transferir datos utilizando el conducto de bulto, utilice VISA Read y VISA Write.
Si usted est utilizando LabVIEW, VISA incluye una funcin adicional para utilizar el conducto de interrupcin: VISA Get USB Interrupt Data. En el API C, usted puede hacer esto al utilizar los
atributos VI_ATTR_USB_RECV_INTR_SIZE y VI_ATTR_USB_RECV_INTR_DATA del objeto de evento VI_EVENT_USB_INTR. Consulte el documento para obtener ms Ayuda para NI-VISA
informacin sobre eventos VISA.
4. 4. USB en Linux y Mac
4.1 Linux
NI-VISA depende de una funcin del ncleo Linux para su funcionamiento con USB. Esta funcin se llama , y en ncleos Linux ms antiguos se llama . Para que NI-VISA pueda usbfs usbdevfs
ejecutarse con dispositivos USB, esta funcin debe estar presente y montada (como un sistema de archivos virtual). La mayora de las distribuciones Linux, tales como Red Hat, SuSE y Mandrake,
pueden ejecutar esta funcin. Usted puede utilizar el comando de montaje para visualizar qu sistemas de archivos estn montados actualmente, y as poder saber si su sistema es compatible con
esta funcin.
Tambin, el usuario VISA debe tener acceso de escritura al archivo que representa el dispositivo USB, el cual por lo general est en un subdirectorio en /proc/bus/usb. Si este no es el caso,
entonces VISA no tiene acceso al dispositivo USB (no ser encontrado utilizandoviFindRsrc, y viOpen no podr ejecutarse). La configuracin predeterminada en la mayora de los sistemas es que el
usuario principal tenga acceso a escritura, pero ningn otro usuario.
Hay varias opciones para proporcionar acceso a un usuario no principal a un dispositivo USB.
Utilice el paquete hotplug. Este paquete se instala de manera predeterminada en la mayora de las distribuciones incluyendo Red Hat, SuSE y Mandrake. El paquete hotplug permite al usuario
ejecutar scripts para un dispositivo USB especfico en base a caractersticas tales como Vendor ID (VID), identificacin del proveedor, y Product ID (PID), identificacin del producto. Si el
paquete hotplug existe, el instalador NI-VISA de manera predeterminada instalar los scripts para proporcionar a todos los usuarios acceso de escritura a todos los dispositivos USB TMC y una
estructura de soporte para dispositivos USB RAW. Para aadir permisos de escritura para un dispositivo USB RAW en especfico, ejecute el siguiente script incluido:
<VXIPNPPATH>/linux/NIvisa/USB/AddUsbRawPermissions.sh
Para obtener ms informacin sobre el paquete hotplug, consulte la siguiente pgina web: . http://linux-hotplug.sourceforge.net/
usbfs (antes conocida como as usbdevfs) puede ser montada con la opcin devmode=0666. Esta opcin proporciona a todos los usuarios acceso de lectura y escritura para dispositivos USB.
El usuario principal puede aadir permisos de escritura al archivo que representa al dispositivo USB, el cual generalmente se encuentra en el subdirectorio /proc/bus/usb. Desafortunadamente,
estos permisos se pierden si el dispositivo es desconectado. Por lo tanto, esta solucin no se recomienda.
4.2 Mac OS X
Siempre y cuando ningn otro controlador en el sistema solicite el dispositivo USB, usted puede utilizar NI-VISA para accederlo. No se requiere ningn montaje especial.
Enlaces Relacionados:
Regrese a la Pgina Principal de Fundamentos de Control de Instrumentos
Referencia de Producto: Ayuda para NI-VISA
Developer Zone: Control Interactivo VISA (VISAIC)
Developer Zone: Utilizando el Asistente para Desarrollo de Controladores VISA y NI-VISA para Programar un Dispositivo PXI/PCI a Nivel de Registro en Windows
Foro de Implementadores USB: Especificacin USB 2.0: http://www.usb.org/developers/docs
Foro de Implementadores USB: Documentos Aprobados sobre Especificacin de Clases: http://www.usb.org/developers/devclass_docs
Developer Zone: Comunicacin de Control por USB RAW en LabVIEW
Developer Zone: Comunicacin de Bulto por USB RAW en LabVIEW
Developer Zone: Ejemplo del Modo de Interrupcin de Datos para USB RAW en VISA

Linux es la marca registrada de Linus Torvalds en E.U. y otros pases.

Potrebbero piacerti anche