Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

estoy obteniendo lecturas atraves de modbus pero son erroneas

¡Resuelto!
Ir a solución

Buen Dia

 

Estoy realizando un proyecto donde estoy recibiendo datos de unos medidores ion6200 atraves de MODBUS Rs485, donde los valores de Kwh, Kvarh, Kvah no me coinciden con los valores de los medidores. si alguien me puede ayudar gracias.

0 kudos
Mensaje 1 de 11
6.781 Vistas
Solución
Aceptado por el autor del tema Angeluno

Que tal Angeluno:

 

Muchas cosas podrían estar pasando. ¿Estas seguro que estas direccionando los registros correctos? ¿Como estas realizando la lectura? ¿Con que funciones?

 

En ocasiones los valores vienen en dos registros y hay que armarlos en el programa de lectura. Eso me pasó al comunicarme con un controlador de temperatura Honeywell. En esa ocasión, el valor era un punto flotante de 32 bits, dividido en 2 registros de 16 bits, los cuales tuve que armar y convertir a tipo de dato SGL en mi programa de LabVIEW.

 

Me gustaría que nos dieras mas detalles de lo que estas haciendo, o bien anexar un VI de ejemplo. Si puedes anexar el manual de usuario de los medidores, para darles una revisada, estaría muy bien.

 

Quedamos en espera de tu respuesta.

 

Saludos!

 

Robst.



Robst - CLD

Using LabVIEW since version 7.0


0 kudos
Mensaje 2 de 11
6.767 Vistas

te envio el archivo del programa y folleto de modbus del ion6200

 

Tambien necesito guardar estos datos en un libro de excel y luego enviar a una base de datos.

 

Gracias.

 

Descargar todos
0 kudos
Mensaje 3 de 11
6.750 Vistas

Que tal Angeluno:

 

Creo que parte del problema en tu programa es el direccionamiento. Si no mal recuerdo, solo debes restar 1 a los valores que marca el mapa de memoria del dispositivo, a diferencia de 40,000 que es lo que me parece tu estas haciendo. En este caso, según el manual, las direcciones de interes empiezan en 40100, entonces tu tendrías que poner 40099 para el primer registro y asi sucesivamente. Podrías probar con esto. Otra cosa que tienes que tomar en cuenta es que los valores que tu quieres leer vienen escalados (multiplicados por 10) según el manual.

 

Otra cosa es que tu programa esta muy desordenado y grande. Sería bueno que lo acomodaras un poco más y no tuvieras cables tan largos, para que fuera mas fácil examinar y depurar la aplicación.

 

Cualquier cosa, no dudes en postear.

 

Saludos!

 

Robst.



Robst - CLD

Using LabVIEW since version 7.0


0 kudos
Mensaje 4 de 11
6.731 Vistas

Hola, alguien puede ayudarme.

 

Estoy intentando comunicarme a través de MODBUS Serial con un datalogger CR1000 que está configurado, según los de Campbell Scientifics, como "esclavo", la instrucción es ModBusSlave(varios parametros).

 

Pretendo utilizar LabVIEW para que actue como maestro leyendo una serie de variables del datalogger.

 

He estado probando las vi's que aparecen en los ejemplos y en la libreria de MODBUS de la zona de NI, y he logrado comunicarme con el CR1000 sin ningún problema. Sin embargo, no consigo leer los "Holding Registers". En concreto son 10 valores de una matriz que el CR1000 sabe que debe se pasar los valores a la llamada del maestro.

 

Sé que en MODBUS el dato se representa por un "unsigned integer 16 bits word", pero no consigo hacer la lectura correcta de las posiciones de los "Holding". Sé, además, que los dos valores de dicha matriz, en la posicion 1 es al año (ModOut(1)=2010) y la posicion 2 (ModOut(2) es el día juliano (valor de 1 a 365). El resto de valores de esta matriz son registros de temperatur, valores medios, etc.

 

Por otro lado, el CR1000 solo admite el estado RTU que se ha introducido en LabVIEW para la comunicación.

 

Adjunto imagen para aclarar conceptos:

 

 

0 kudos
Mensaje 5 de 11
6.503 Vistas
Mira, yo necesitaba extraer los datos de medidores ION8600 con DNP3.0 y lo que hice fue utilizar el OPC Server, lo demas ya fué muy sencillo...si quieres te puedo mandar lo que hice para obtener los datos....
0 kudos
Mensaje 6 de 11
6.464 Vistas

Hola. Gracias por la respuesta.

 

He buscado información sobre OPC Server y veo que se necesita un módulo de LV, que no tengo. Mi intención, como ya comentaba, es comunicarme con un datalogger CR1000 de la casa Campbell Scientifics a través de MODBUS serial y que, aunque consigo conectarme y leer ciertos registros, el valor de esos registros me dá problemas, es decir, no se parecen a lo que debería ser.

 

Si el problema fuera la conversión, en la imagen que adjuntaba esta hecha un tipo de conversión, ya que el formato del registros es 16bits unsigned integer o 16bits words, y los convierto a 32bits

 

Solo necesito que me echeis una mano en la conversion del valor leido, o que me indiqueis cual debería ser la conversión para leer correctamente los "Holdings Registers" del esclavo.

 

Por otro lado, el LV que utilizo es el LabVIEW 7.1.

0 kudos
Mensaje 7 de 11
6.449 Vistas

me ayudaria mucho ver tu programa

gracias

 

0 kudos
Mensaje 8 de 11
6.280 Vistas

Ya conseguí hacer las lecturas de los "Holding Registers" a través de ModBUS. Adjunto imagenes del programita que ya se está ejecutando.

Descargar todos
0 kudos
Mensaje 9 de 11
6.227 Vistas

hola jmsantos estoy realizando un proyecto similar al tuyo, e el que debo adquirir datos de una red rs485 y con ellos graficar y editar algunos para regresarlos y planeo usar la libreria modbus pero no estoy claro de como usarlar y quisiera que me ayudes. como haces para resivir los datos?? y como haces para escribir?? no tengo informacion de como usar esos VI de la libreria libre de modbus labview todo lo que me aportes me sera de ayuda

0 kudos
Mensaje 10 de 11
5.453 Vistas