Interfaz del microcontrolador con Modbus Serial [cerrado]

0

Soy un principiante y estoy tratando de adquirir datos de un microcontrolador con protocolo serial Modbus para crear una interfaz con LabVIEW. Estoy usando un convertidor USB-RS232 de Prolific Technology y Windows 7 como sistema operativo. No puedo leer los datos del micro. Sé que las variables de solo lectura están en los registros de 100hex y 1FFhex y las variables de lectura / escritura son de 200hex y 2FFhex. ¿Cómo se necesita utilizar la memoria de micro? ¿Cómo defino los registros de tenencia y los registros de entrada?

Gracias de antemano por cualquier consejo.

Andrea.

    
pregunta AndreaB93

2 respuestas

1

Aquí hay algunos comandos básicos de Modbus que debes conocer:

0x01 - Leer el estado de la bobina

0x02 - Leer registros de entrada

0x03 - Leer registros de retención

Los registros de espera son los registros de LEER SOLO. Normalmente tienen valores que el microcontrolador midió o calculó. Los registros de entrada, en mi experiencia, son de lectura / escritura y se utilizan para dar parámetros al controlador.

Debes descargar un programa Modbus Master desde internet, hay cientos. El programa utilizará el puerto 232 para enviar los comandos de modbus al controlador y esperar una respuesta.

Un mensaje típico de Modbus Master tiene este aspecto:

Leer registros de retención 100-105:

Device Address  Command     1st Reg     Number of Registers     Checksum
  100            0x03        0x64              6                  CRC
                                        (our starting 
                                         register + 5)
    
respondido por el R. Johnson
2

Hay una serie de preguntas que debe responder antes de conectarse a una interfaz Modbus:

1) ¿Qué es la capa física?

Modbus se puede transportar a través de un RS-232, RS-485 o Ethernet. Según su pregunta, voy a suponer que ya ha determinado que es RS-232.

2) ¿Cuáles son los parámetros de la conexión RS-232?

Necesitará conocer la velocidad en baudios, los bits de datos, los bits de parada, la paridad y si se está utilizando o no algún control de flujo.

Normalmente, la velocidad en baudios varía de un controlador a otro, pero los parámetros restantes serán casi seguramente 8 bits de datos, 1 bit de parada, sin paridad y sin control de flujo.

3) ¿Cuáles son los parámetros de la conexión Modbus?

Para comunicarse con un dispositivo Modbus, primero debe saber qué formato de Modbus se está utilizando, este será ASCII o RTU. ASCII, en teoría, podría utilizar un programa de terminal y escribir manualmente las solicitudes y recibir respuestas. RTU deberá escribir un software para enviar bytes de comando / respuesta entre LabView y el microcontrolador. Para cualquiera de los formatos, necesitará el número de gota del dispositivo con el que se está comunicando, ya que a veces existen múltiples dispositivos Modbus en una sola red.

4) Necesitará un software que pueda formar y enviar paquetes de solicitud Modbus y recibir y analizar los paquetes de respuesta Modbus.

Para obtener más detalles sobre el aspecto de estos paquetes, consulte la especificación Modbus en Información técnica en Modbus.org. Si desea probar que la comunicación Modbus funciona, le recomendaría un programa como ModScan. Una vez que haya verificado que la comunicación Modbus entre la PC y el dispositivo está funcionando, puede realizar el siguiente paso de la interfaz de LabView con Modbus.

    
respondido por el mjh2007

Lea otras preguntas en las etiquetas