0% encontró este documento útil (0 votos)
21 vistas4 páginas

Guía Modbus - PC

El documento describe la implementación de un sistema de comunicación Modbus RTU entre un Arduino como esclavo y LabVIEW como maestro, incluyendo la configuración de registros para la lectura y escritura de datos. Se explica el protocolo Modbus, sus variantes Modbus ASCII y Modbus RTU, y se comparan sus características, ventajas y desventajas. Además, se detallan los materiales necesarios, el procedimiento de conexión del circuito y la configuración del maestro en LabVIEW.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas4 páginas

Guía Modbus - PC

El documento describe la implementación de un sistema de comunicación Modbus RTU entre un Arduino como esclavo y LabVIEW como maestro, incluyendo la configuración de registros para la lectura y escritura de datos. Se explica el protocolo Modbus, sus variantes Modbus ASCII y Modbus RTU, y se comparan sus características, ventajas y desventajas. Además, se detallan los materiales necesarios, el procedimiento de conexión del circuito y la configuración del maestro en LabVIEW.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Comunicación Modbus RTU entre un Arduino esclavo y LabVIEW maestro

Objetivos

Implementar un sistema de comunicación Modbus RTU entre un Arduino como esclavo y


LabVIEW como maestro, configurando correctamente los registros para leer y escribir datos.

Comprender el protocolo Modbus RTU, su estructura de mensajes y su implementación en


aplicaciones de monitoreo y control industrial.

Información sobre Modbus ASCII y Modbus RTU

Modbus: Definición y Tipos

Modbus es un protocolo de comunicación desarrollado en 1979 por Modicon (ahora Schneider


Electric) para aplicaciones industriales. Es un protocolo maestro/esclavo ampliamente utilizado
para comunicar dispositivos como controladores lógicos programables (PLC), sensores y
actuadores [1].

Existen varios modos de Modbus, pero los más comunes son Modbus ASCII y Modbus RTU [2].

Modbus ASCII

Modbus ASCII utiliza caracteres legibles (ASCII) para transmitir mensajes. Es más fácil de
interpretar por humanos, pero menos eficiente en términos de transmisión [2].

• Características principales:

1. Usa caracteres ASCII (0-9, A-F) para codificar datos [2].


2. Cada mensaje comienza con : (dos puntos) y termina con CR+LF (retorno de
carro + salto de línea) [2].
3. Requiere más ancho de banda que Modbus RTU debido a su formato de
caracteres [1].

• Ventajas:

o Fácil de depurar manualmente [2].


o Más tolerante a errores en transmisiones largas [1].

• Desventajas:

o Menor velocidad y eficiencia [2].

• Estructura de un mensaje ASCII:

: [Dirección] [Código de Función] [Datos] [LRC] CR LF

Donde:

o Dirección: Dirección del esclavo Modbus.

o Código de Función: Especifica la operación (lectura, escritura, etc.).

o Datos: Información enviada o solicitada.

o LRC: Longitudinal Redundancy Check para verificar la integridad [1], [2].


Modbus RTU

Modbus RTU (Remote Terminal Unit) es la variante más utilizada en aplicaciones industriales.
Utiliza un formato binario más compacto que Modbus ASCII, lo que lo hace más eficiente para
transmisión de datos [1], [2].

• Características principales:

1. Usa formato binario, lo que permite transmitir más datos en menos tiempo [1].

2. Cada mensaje incluye un CRC (Cyclic Redundancy Check) para verificar la integridad de
los datos [2].

3. Los mensajes no tienen caracteres delimitadores, sino un intervalo de silencio entre


mensajes para identificar el inicio y fin de los mismos [1], [2].

• Ventajas:

• Alta eficiencia en la transmisión [1], [2].

• Compatible con dispositivos industriales [2].

• Desventajas:

• Más difícil de depurar manualmente debido a su formato binario [1].

• Estructura de un mensaje RTU:

[Dirección] [Código de Función] [Datos] [CRC]

Donde:

o Dirección: Dirección del esclavo Modbus.

o Código de Función: Especifica la operación (lectura, escritura, etc.).

o Datos: Información enviada o solicitada.

o CRC: Cyclic Redundancy Check para verificar la integridad [2].

Comparación entre ASCII y RTU

Característica Modbus ASCII Modbus RTU


Formato ASCII (legible) Binario (compacto)
Eficiencia Baja Alta
Facilidad de depuración Alta Baja
Uso típico Aplicaciones simples Industria y automatización

Procedimiento

Materiales

1. Arduino UNO
2. Convertidor USB a RS-485 o cable USB estándar (si usas solo comunicación serial).

3. LabVIEW instalado en una PC con la biblioteca Modbus configurada.

4. Software Arduino IDE.

5. Potenciómetro, cables y resistencias según el circuito.

Conexión del Circuito

1. Conexión del potenciómetro:

o Conecta un extremo del potenciómetro a 5V y el otro a GND.

o Conecta el pin central del potenciómetro al pin A0 del Arduino.

2. Conexión de botones:

o Conecta botones a los pines digitales 2, 3, y 4, con resistencias pull-up internas


activadas.

3. Conexión al PC:

o Si usas RS-485, conecta el convertidor USB-RS485 y configura los pines A y B


correctamente.

o Si usas USB, conecta el cable directamente al Arduino.

Direcciones Modbus y Funciones

Direcciones Configuradas

Tipo Dirección Modbus Descripción


Holding Register 0x3000 Frecuencia PWM (escritura).
Input Register 0x2000 Valor del potenciómetro (lectura).
Coil 0x0000 Estado de inicio del motor (true/false).
Coil 0x0001 Dirección del motor (true: derecha, false: izquierda).
Coil 0x0002 Parada del motor (true/false).

Funciones Modbus

Función Código Descripción


Read Coils 0x01 Lee el estado de salidas digitales (Coils).
Write Single Coil 0x05 Escribe el estado de una salida digital.
Read Input Registers 0x04 Lee valores analógicos de solo lectura.
Write Single Register 0x06 Escribe un valor en un registro de retención.

Configuración del Maestro (LabVIEW)

1. Conexión:
o Configura el puerto serial en LabVIEW usando el VI VISA Configure Serial Port.

o Parámetros:

▪ Baud Rate: 9600.

▪ Parity: None.

▪ Stop Bits: 1.

▪ Data Bits: 8.

2. Acceso a datos:

o Usa Read Input Registers para leer 0x2000 (potenciómetro).

o Usa Write Single Register para escribir en 0x3000 (PWM).

o Usa Write Single Coil para activar/desactivar las Coils (0x0000, 0x0001, 0x0002).

Referencias

1. J. A. Stenerson, "Industrial automation and control," 2nd ed., Upper Saddle River, NJ,
USA: Prentice Hall, 2003, pp. 234–238.

2. Modbus Organization, "Modbus Protocol Specification," Modbus.org, 2006. [Online].


Available: https://modbus.org.

También podría gustarte