03-24-2014 11:07 PM
Saludos,
Deseo elaborar una interface en labview que me muestre los valores de dos sensores analógicos conectados cada uno a módulos Xbee independientes. Encontre una publicación referente a una libreria en Labview para trabajar con modulos Xbee serie 2 en modo API, de esta publicación estracte la parte de lectura de tramas API de los Xbee que esta basada en una estructura productor consumidor. Despues de probar y consultar varias fuentes logre crear una interface que funciona de forma parcial, el problema radica en que la interface solo me muestra la información proveniente de un módulo Xbee y la informacion del segundo módulo Xbee se pierde, si apago el módulo del cual estaba recibiendo información enpiezo a recibir la información del módulo que queda encendido.
Adjunto el proyecto como lo he depuerado hasta la fecha para que me colaboren con una revisión que me ayude a resolver mis inconvenientes.
nota: para ejecutar la interface se debe abrir el proyecto y abrir el VI principal prueba2403
03-25-2014 04:57 PM
Saludos otr06
Asumo que está utilizando un Xbee a USB Hub para interfazar los módulos Xbee a la computadora. ¿Es posible que esté recibiendo datos de ambos sensores pensando que es solo uno? Si ambos sensores están conectados inalámbricamente al mismo receptor USB en su computadora ¿Cómo identifica de dónde viene el dato del sensor?
Mi recomendación es que en el nodo inalámbrico agregue un encabezado a la transmisión que le permita al código de LabVIEW poder determinar a cuál sensor corresponde los datos que recibe.
Si me equivoqué en alguna de mis suposiciones, o si tienes más preguntas háznoslo saber.
Saludos.
03-25-2014 07:42 PM - edited 03-25-2014 07:43 PM
Respecto a tu afirmación, no estás equivocado, utilizo una interfaz XBee-USB para la recepción de información en la computadora. En esta tarjeta está montado un módulo XBee configurado como coordinador zigbee en modo API, este coordinador recibe información de dos módulos configurados como dispositivos finales que tienen conectados cada uno un sensor analógico y leds que hacen la vez de encendido u apagado de un actuadores.
¿Es posible que esté recibiendo datos de ambos sensores pensando que es solo uno?
Este es mi dilema!, LabView recibe información de ambos módulos e interpreta los datos de los sensores conectados a ellos cuando esta encendido cualquiera de los módulos, si enciendo los dos al tiempo muestra información de ambos al inicio pero luego solo muestra la información proveniente de un módulo.
¿Cómo identifico de dónde viene el dato del sensor?
Cada módulo XBee trae una dirección de 64bits que viene de fábrica similar a la MAC de una tarjeta de red para PC, en mi caso utilizo una parte de esta dirección para identificar de donde proviene la información de cada sensor, el VI que hace esto se llama selección módulos, este VI usa una estructura case para verificar la dirección de procedencia de la trama, y dependiendo de la dirección hace una conversión de Hex a decimal y calcula valores de temperatura o nivel.
El inconveniente que se presenta no radica en identificar de donde proviene a información, ya que el programa si lo hace. A mi parecer el problema se presenta en el VI lector de tramas, este VI lee la información del puerto serial y la almacena en un queue que luego se pasa como referencia a un proceso paralelo donde se verifica si la información recibida corresponde a una trama API y si es así, este proceso genera un cluster que contiene la trama y la almacena en un queue. Es aquí donde pienso que se presenta la perdida de información, no se si por sobre flujo (el muestreo de los sensores se realiza cada 500ms) o talvez por una mala configuración del puerto serial.
Para que tengan más claridad al respecto, adjunto la publicación en PDF de donde tome esta forma de leer las tramas.
05-29-2015 04:41 PM
Hola otr06 estoy en busca de informacion en la red acerca de los modulos XBee comunicados con LabView, me interesaron tus comenatrios, por que tengo un proyecto similar al tuyo, lo que necesito es comunicar cuatro XBee, los cuales tengo configurados como un coordinador y 3 End Device en comunicacion tipo API, al igual que tu, encontre el mismo PDF del cual tu sacaste un VI para procesar los FRAME, tengo muchas dudas y me gustaría saber si lograste hacer la comunicación, y si es así cuantos VI necesito para saber la cadena de datos que envia un coordinador a sus tres End Device, y como poder direccionar un datos a un End Device en especifico.
Espero contar con tu ayuda.
Gracias, saludos.