Autor Tema: Osciloscopio USB, y en el PC, ¿Labview?  (Leído 69352 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #30 en: 29 de Marzo de 2006, 12:11:00 »
Os sigo con mucha atención y además con mucha envidia, porque ni tengo tiempo para probar lo que comentáis, ni conocimientos de Labview para ayudaros.
Sin embargo, desde aquí mi apoyo moral a vuestras pruebas, porque seguro que pronto encontraréis la solución.

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #31 en: 29 de Marzo de 2006, 14:55:00 »
No Modulay, con el CIN está hecho el famoso enlace de la primera página (ese que no se deja modificar), estuve ojeando ayer la "teoria" para hacer algo con CIN y es un follon muuuuuuy grande. Lo que estoy es llamando a la DLL a "webo" con la intención de crear un bloque o dos (e intentar que se inserte en el menúGiño, uno para lectura y otro para escritura, de esa forma creo q va a ser muuuuy facilillo hacer cualquier comunicación E/S para PICs por USB... a ver si me da tiempo esta noxe a hacer el de escritura al menos.

Saludos!

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #32 en: 29 de Marzo de 2006, 17:40:00 »
Os subo lo q llevo hecho hasta ahora (he avanzado poco... :S), mas menos creo q se entiende, he comentado un poquito lo q hay, el cacharro "raro" donde entran tantos hilos es el lector de la DLL y se puede configurar a medida nombrando sus E/S como mas nos guste. Por otro lado cada función está en un "frame". Para pasar del frame 1 al 2, el 2 tiene q haber terminado... Si teneis dudas de como y pq funciona decidlo así vamos avanzando poco a poco ok? Giño

http://www.hobbypic.com/temp/picscope.zip

Me he atrancado en el tema del "handle" ya q es un valor necesario, y no se exactamente ni como obtenerlo, ni como pasarselo a la función write.

A ver si me pongo a buscar algo parecido exo con labview xq me he quedao pillao Helado

mañana mas Giño

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #33 en: 29 de Marzo de 2006, 23:50:00 »
No lo he podido descargar, Jaime.

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #34 en: 30 de Marzo de 2006, 02:03:00 »
arreglao Giño

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #35 en: 31 de Marzo de 2006, 10:30:00 »
Ya he resuelto el problema Rebotado ya mando bytes por usb (apago y enciendo los leds al igual q con el Ejemplillo PicUSB) jjejeje! el problema estaba en el jodio pipe! (no en el handle como pensaba al principio), parece ser que "\MCHP_EP1" las \ en C son en realidad solo una  ...... por lo q si se cambia lo q habia por "MCHP_EP1" la cosa va de lujo! ... bueno a seguir avanzando un poco mas! Muchas risas

saludos

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #36 en: 31 de Marzo de 2006, 20:05:00 »
Bueno por aquí sigo en plan monologo... Sonrisa Gigante

Ya están terminados los bloques de lectura y escritura, y he adaptado las funcionalidades del programa que hize en VC# a Labview, es decir, hace lo mismo que el del proyectillo PicUSB http://www.hobbypic.com/index.php?option=com_content&task=view&id=14&Itemid=33 pero con Labview, aquí os dejo un link con todo lo necesario, tanto los .vi para lectura y escritura, como el programa principal. Es como ya digo, totalmente compatible con la plaquita usada para el PicUSB.
http://www.hobbypic.com/temp/picusb_labview.rar

Siguiente paso, juguetear un poco con el convertidor AD y los osciloscopios integrados del Labview a ver q se puede sacar en claro Giño

saludos!

Desconectado Duende_Azul

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 902
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #37 en: 31 de Marzo de 2006, 23:52:00 »
loco  no me funcionan los enlaces...

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #38 en: 01 de Abril de 2006, 06:18:00 »
se ha ido abajo el servidor, dadle unas horitas para q se recupere, mientras tanto hago un mirror en este:
http://perso.wanadoo.es/j1m/picusb_labview.rar

Desconectado Duende_Azul

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 902
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #39 en: 01 de Abril de 2006, 11:34:00 »
Rebotado J1M  funciona maravillosamente!!

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #40 en: 02 de Abril de 2006, 02:27:00 »
Me he tomado la libertad de modificar un poco el archivo de J1M.
Simplemente he añadido un botón para que se pueda ejecutar de forma continua.
He generado un ejecutable para que no haga falta abrirlo desde labview
Ejecutable
Pero tal y como me temía,le ejecución es tremendamente lenta,tanto si se hace con el ejecutable como si se hace desde labview.No parece que labview sea demasiado apropiado para aplicaciones standalone de este tipo.
J1M ¿podrías detallar un poco como es el uso de la primitiva de acceso a la dll? ¿como se accede a funciones concretas de ésta?

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #41 en: 03 de Abril de 2006, 15:21:00 »
Si Modulay, sobre todo el ejecutable, es excesivamente lento invasor, eso es un problemilla que tiene el labview, sin embargo, el software trabaja con sus hardware a altiiiisimas velocidades de procesamiento/muestreo... por lo q supongo q el hecho de ralentizar tanto el PC será por eso... se lleva una gran cantidad de memoria "palante" para poder operar correctamente... en cualquier caso, si vemos que la cosa no trabaja como debiera intentamos hacer algo en otro lenguaje de programación.

Para usar la DLL hay que utilizar el bloque llamado "Call Library Function Node", en este bloque hay varios parámetros a configurar(haciendo doble click sobre el):

- Library Name or Path: pinchando sobre browse se selecciona la dll
- Function Name: pinchando sobre el menú desplegable se puede seleccionar una de las funciones que exporta la dll, por ejemplo "MPUSBRead"
- Calling Conventions: Se selecciona C (creo que es pq la librería está creada según las características de uso del lenguaje C.........)
- Parameter: Aquí por defecto hay solo uno, que es el que devuelve la función, esta casilla se puede editar para poner el nombre que se quiera, en la parte inferior de esa misma ventana aparece el prototipo de la función, así de un vistazo rápido se puede ver que se le pasa y que devuelve.

Ahora hay que añadir cada uno de los Parametros con los que va a trabajar la función, para ello hay q abrir el .c con el que está creada la .dll o bien abrir el funciones_dll.txt que incluí con el ejemplillo PicUSB, ahí se puede ver el prototipo de la función que queramos importar de la DLL, centrandonos en la función del ejemplo:
Codigo:

///////////////////////////////////////////////////////////////////////////////
//   MPUSBRead :
//
//  handle  - Identifies the endpoint pipe to be read. The pipe handle must
//            have been created with MP_READ access attribute.
//
//  pData   - Points to the buffer that receives the data read from the pipe.
//
//  dwLen   - Specifies the number of bytes to be read from the pipe.
//
//  pLength - Points to the number of bytes read. MPUSBRead sets this value to
//            zero before doing any work or error checking.
//
//  dwMilliseconds
//          - Specifies the time-out interval, in milliseconds. The function
//            returns if the interval elapses, even if the operation is
//            incomplete. If dwMilliseconds is zero, the function tests the
//            data pipe and returns immediately. If dwMilliseconds is INFINITE,
//            the function"s time-out interval never elapses.
//
//   Note that "input" and "output" refer to the parameter designations in calls
//   to this function, which are the opposite of common sense from the
//   perspective of an application making the calls.
//
DWORD _MPUSBRead(void* handle,      // Input
         void* pData,      // Output
         DWORD dwLen,      // Input
         DWORD* pLength,      // Output
         DWORD dwMilliseconds);   // Input



Bien en el prototipo se aprecia que devuelve un DWORD (indicando si ha leido (1) ó no (0)), además hay q pasarle el handle de lectura (puntero doble)[este handle lo devuelve la función _MPUSBOpen], hay que pasarle tb un DWORD para indicarle el numero de bytes que va a leer, y pasarte tb otro DWORD para el tiempo entre lecturas. Bien, ahora hay q definir lo q va a devolver... que son punteros a DWORD. Ahora una vez que se tienen claras cada una de las partes que integran al prototipo hay q añadirlas al bloque mediante el botón de Add Parameter, indicando en Type y Data Type lo que indica el prototipo, DWORD equivale a: Type: Numeric, Data Type: U32

Una vez se tienen definidas cada una de las partes del prototipo solo hay que usarlos como si de un lenguaje de programación se tratara... teniendo en cuenta los tipos de datos que se le pasan, y que espera que le sean pasados, y los parámetros que devuelve... quizá el mas complicado de entender sea el del "handle" q despues de varias pruebas y un par de busquedas por google encontré la solución haciendolo como puse en un par de post mas arriba...

Espero que se entienda algo.... Helado

Desconectado Duende_Azul

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 902
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #42 en: 03 de Abril de 2006, 17:18:00 »
J1M, como sabes lo de las "altisimas velocidades"? con que lo estas midiendo?  
Yo he estado probando con otro compilador (Mikropascal) y lo mas que he logrado transferir son 64KBytes/seg, trate de modificar tu programa de ccs para que enviara datos al host pero no me funciona.. loco

Por si no lo tienes, el programa para medir que estoy usando esta en:

http://www.usbfireinfo.com/

PD: por cierto, el pic con tu programa es detectado como FULL 1.1 (12Mbits/seg)  y con el programa generado en Mikropascal es reconocido como FULL 2.0 (12Mbits/seg)  ¿cual es la diferencia si ambos transfieren a 12Mbits/seg?

Desconectado elguitre

  • PIC10
  • *
  • Mensajes: 34
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #43 en: 03 de Abril de 2006, 21:07:00 »
Hola gente muy interesante el proyecto, mi mensaje es por lo siguiente, hace unos dias comenzaron a mostrarnos el labview en la facultad y la semana prooxima ya tenemos examen y no sabemos nada, tienen algun tutorial que explique de forma interesante como trabajar con este programa?? Desde ya muchas gracias y felicitaciones por el proyecto. Saludos!

Desconectado atlasdelcarinakeel

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 277
RE: Osciloscopio USB, y en el PC, ¿Labview?
« Respuesta #44 en: 04 de Abril de 2006, 06:09:00 »
Pasate por aqui http://www.ni.com/labview/ es la pagina oficial aqui hay manuales y ayuda para comenzar en labview; incluso creo que hay una version demo, esta en ingles pero bueno....Sonrisa Gigante
Si tienes un problema y tiene solucion, para que te preocupas? y si no tiene solucion, para que te preocupas?


 

anything