Primero que nada quiero agradecer a los foristas de TodoPic que con la exposición de algún tema o la respuesta a preguntas me han ayudado en muchos de mis proyectitos.
Lo que hago aquí es mostrar en un ejemplo el uso de NI-VISA para la comunicación usb utilizando LabWindows/CVI, ya que cuando yo tuve que hacerlo busque en infinidad de páginas y no podía encontrar un ejemplito que me ayudara, mucha teoría y nada de acción. (Por lo menos para LabWindows/CVI). Virtual Instrument Software Architecture (VISA) es un standard para configurar, programar, y solucionar problemas de sistemas de instrumentación que comprenden GPIB, VXI, PXI, Serial, Ethernet, y/o interfaz de USB. VISA provee el interfaz de programación entre el hardware y ambientes de desarrollo como LabVIEW, LabWindows/CVI, y Measurement Studio para Microsoft Visual Studio. Agregando la posibilidad de compartir un instrumento en red/acceso remoto con VISA-Server.
Las interfaces estándar en la industria aseguran que el sistema de test dure a lo largo del tiempo. Con estas tecnologías construidas aparte del bus de comunicación, puede programar su sistema con una API estándar independientemente del bus que use, da igual que sea GPIB, USB, serie, o Ethernet/LAN. Mientras no cambie la interfaz de programación del instrumento, el cambio entre un bus y otro no requiere modificar el código, o requiere hacerlo mínimamente, lo que ayuda a garantizar la larga duración del sistema.
En este ejemplo vamos a comunicar un PIC de la familia 18Fxx5x con la PC por medio de NI-VISA (El Driver los creamos con Driver Development Wizard que puede ser usado en Win Xp y Vista) usando transmisión Bulk, con ello pretendemos conseguir que enviemos comandos e información al PIC y éste nos conteste devolviéndonos lo que corresponda. Comandos y/o funciones:
- Petición de lectura de un potenciómetro conectado al conversor A/D.
- Un comando de conmutación del estado de un LED en nuestro Hardware.
- Dos led’s que indican estado del dispositivo (conectados y reconocidos por el Windows del PC o viceversa)
Como el que hizo el maestro J1M en WinPicUsb, algo fácil de entender y como punto de partida.
Ejemplo completo (Esquemático, firmware, driver y software)Para bajar NI-VISA full directamente desde
NITutorial para hacer el driver (Win Xp, Vista, Linux y Mac)Ejemplos para LabViewSoftware (Con sources) hecho en Visual Studio 2003 .net y Measurement Studio 7.1, ya que tiene algunas diferencias con respecto a LabWindows/CVI.-
En C# En VB