LabView - labview+server+captura de datos ¿alguna idea?

   
Vista:

labview+server+captura de datos ¿alguna idea?

Publicado por Vicente  (104 intervenciones) el 26/08/2009 18:34:48
Hola a todos

Hace tiempo que no aparezco por este foro, antes solia utilizalo y sobre todo solia responder al personal, ahora me gustaría que me tiraseis un cable vosotros. Trato de desarrollar un proyecto y no se como meterle mano, me gustaría oir vuestros comentarios antes de ponerme a programar. Os describo el proyecto y de paso me aclaro yo mismo las ideas.

Descripción:

Se utilizaran 3 PCs con labview instalado, dos moviles y uno fijo, los 3 equipos permanecerán conectados via wifi a una misma red:

IP Equipo fijo: 172.26.0.2
IP Equipo portatil 1: 172.26.0.3
IP Equipo portatil 2: 172.26.0.4
IP Router: 172.26.0.1

El equipo Fijo dispone de un sistema de adquisición de datos con los que tomo la lectura de 2 variables. Para adquirir los datos puedo usar un agilent 34970A o un NIDAQ de NI. La captura la haría mediante un programa en labview, aquí no hay problema. Este equipo actuaria como server y aceptaria las peticiones de los dos equipos moviles. El server, como minimo, debe ser capaz de aceptar y enviar dos peticiones al mismo tiempo.

Los equipos moviles envian peticiones por wifi al server solicitando las lecturas de las dos variables así como la hora del server a la que se hizo la medida, los datos recolectados se almacenan en el equipo que hizo la petición en un CSV con el formato siguiente :

Tiempo del server,lectura1,lectura2,comentario

¿IDEAS?
QUE SE NOTE QUE SABEIS DE LABVIEW!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:labview+server+captura de datos ¿alguna idea?

Publicado por Sergio Valerio (168 intervenciones) el 29/08/2009 22:40:25
Hola

Ya intentaste hacer un VI con tres ciclos while en paralelo
en el primero se encargara de hacer la adquisición de los datos ya sea del Agilent o de la DAQ no importa y transmitir esta info a los otros dos ciclos, por cualquier método que conozcas (si no te importa mucho la velocidad de transferencia)

Una facil podrias utilizar variables compartidas, otra opción que tu trabajaras directo con las funciones de algun protocolo como TCP

Los otros dos ciclos estaran manejando conexiones TCP Cada ciclo con su configuración independiente (distintos puertos) ó variables compartidas independientes.

cada maquina remota estará direccionada solo a uno de estos puertos. Así tendrás un doble servidor de datos con dos canales disponibles y dos clientes enfocados en un puerto.

Atento con los firewalls y la configuración del VIserver, que te podrían jugar una mala pasada, haciéndote pensar que tu programación esta mal.

Saludos desde México

Sergio Valerio
Certified LabVIEW Architect, Certified Professional Instructor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:labview+server+captura de datos ¿alguna idea?

Publicado por Vicente (104 intervenciones) el 02/09/2009 12:16:35
Hola Sergio.

Gracias por tu ayuda y sugerencias. Eso de variables compartidas con varias máquinas nunca lo he hecho, me puedes indicar un VI de los que vienen en "la help" de Labview donde se implemente.gracias.

Ahora mismo estoy probando con los VI simple client y VI simple server. He conseguido mandar cadenas de strings desde los clients al server y por lo pronto eso me es suficiente para mandar comandos SCPI al Agilent. Ahora me queda saber como voy a tener de "ocupado" al server escuchando peticiones de los clientes, es decir, la logica que usaré para detectar las peticiones de los equipos moviles (clients). Ahí es donde puedo usar tu idea del triple while.

Bien, supongamos que quiero ir un paso más allá, es decir, supongamos que parto del hecho que los equipos moviles son dos Iphones donde no puedo instalar labview, pero son ideales para ir tomando anotaciones de campo y son verdaderamente portables. Mis elocubraciones van por el siguiente camino:

Montaría un server apache en la maquina fija (linux) que está conectada por GPIB al agilent, además instalaría los modulos Python para control del puerto GPIB. Y ahora viene lo bueno, en el server alojaria una pagina con look&feel en HTML donde incrustaria codigo Python para el control del instrumento. Los Iphones via wifi se conectarian al server mediante un explorador y captarian datos del agilent a golpe de boton, puesto que la comunicación GPIB via python es cosa del server y por lo tanto transparente a los Iphones.

¿Que te parece esta idea?¿Dificil de implementar?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:labview+server+captura de datos ¿alguna idea?

Publicado por Sergio Valerio (168 intervenciones) el 02/09/2009 20:17:31
Hola, déjame buscar un ejemplo en el "Find Examples" de no encontrar desarrollare uno fácil para después enviártelo.

Pro otro lado, la cuestión de los Iphones, no receurdo que versión de LabVIEW estas manejando, pero de desde la versión 8.6 existe una paleta llamada "Web Services"
mira la siguiente información te sera muy útil:

http://zone.ni.com/devzone/cda/tut/p/id/7350

me comentas que te parece la idea y la paleta.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:labview+server+captura de datos ¿alguna idea?

Publicado por Vicente (104 intervenciones) el 07/09/2009 12:50:33
Hola Sergio.

Ya he visto lo de las web services y parece una solucion elegante para mi problema, sin embargo uso LV8.2 y sobre ubuntu (que no es una distro soportada). Digo esto porque creo que lo de las web services está portativo desde LV8.5 y aunque dispongo de esta versión instalarla en un Ubuntu no es cosa de siguiente-->siguiente-->siguiente, sino bastante complicado.

Sigo indagando en la opcion de PyVisa+mod_python se que es una opcion más artesanal y complicada, pero creo que voy a aprender mas.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar