Está en la página 1de 3

PROTOCOLO MODBUS RTU

El protocolo Modbus RTU es un medio de comunicación que permite el intercambio de datos


entre los controladores lógicos programables (PLC) y los ordenadores (PC). Los dispositivos
electrónicos pueden intercambiar información a través de conexiones en serie utilizando este
protocolo.

En definitiva, una característica distintiva de esta versión es el uso de codificación binaria y una
fuerte verificación de errores CRC. En realidad, es la implementación del protocolo Modbus
utilizado con mayor frecuencia en aplicaciones industriales e instalaciones de producción
automatizada.

No obstante, este es un protocolo serial relativamente simple que puede ser transmitido a
través de la tecnología tradicional UART. Los datos se transmiten en bytes de 8 bits, un bit cada
vez, a velocidades en baudios que van de 1200 bits por segundo (baudios) a 115200 bits por
segundo. La mayoría de los dispositivos sólo soportan velocidades de hasta 38400 bits por
segundo.

Finalmente, una red Modbus RTU tiene un maestro y uno o más esclavos. Cada esclavo tiene
una dirección de dispositivo o número de unidad de 8 bits. Los mensajes enviados por el
maestro incluyen la dirección del esclavo al que va dirigido el envío.

El esclavo debe responder sólo si se reconoce su dirección, y debe responder dentro de un


cierto período de tiempo o el maestro lo llamará un error de «no respuesta».

El Modbus RTU se utiliza frecuentemente:

 Cuando se utilizan dispositivos Modbus similares.


 Cuando el protocolo Modbus se entiende bien.
 Como estándar de la instalación.

Comunicación simplex con Arduino y RS-485


Comunicación simplex  entre dos Arduinos o más.

Esta comunicación se consigue enviar órdenes desde un Arduino MEGA hasta un Arduino


UNO utilizando dos módulos RS-485.

En este caso solo uno de los dispositivos envía información por el bus y los esclavos lo
procesan.

En este caso solo se utiliza un esclavo, pero pueden utilizarse varios sin ningún problema.
El Arduino MEGA actúa como maestro y por tanto su módulo RS-485 está configurado como
transmisor. La placa envía datos al pin DI del MAX485 mediante el pin TX3. Los datos son
transmitidos por el bus a todos los dispositivos.

El Arduino UNO actúa como esclavo y su módulo RS-485 se ha configurado en modo recepción.


Para la comunicación se ha utilizado un objeto de la librería SoftwareSerial que utiliza el pin 10
para recepción.

Código para cargar en el maestro

Este código se carga en el Arduino MEGA o Arduino UNO que haga la función de maestro.

Un problema con el bus RS-485 es que hay que indicar a qué esclavo va dirigido cada comando.
Es por eso que se ha definido un formato de trama simple pero eficiente.

La trama consta de 4 bytes organizados de la siguiente forma:

Un ejemplo de trama seria: {0xAA, 0x34, 0x01, 0xFE} donde:

0xAA → Inicio de Trama

0x23 → Id del esclavo al que va dirigido el mensaje

0x01 → comando a ejecutar por el esclavo

0xFE → fin de trama


PROGRAMA 1

Analisis

Nuestro programa consiste en que a travez de un potenciómetro vamos ir variando la


velocidad que tienen 2 motores. Estos 2 motores van a estar conectados en el Arduino esclavo.

Los valores que registran nuestro potenciómetro van a estar conectados por nuestro arduino.

También a través de nuestro terminal vamos a ver el % con el que están girando nuestros
motores en el Arduino esclavo.

Se asemejara a el control de temperatura de un cuarto , mediante un sensor de temperatura.

También podría gustarte