Protocolo de comunicación RS485 y Modbus

Aug 29, 2025 Dejar un mensaje

Introducción a la interfaz RS485

 

RS485 es un estándar de interfaz de comunicación en serie reconocido por su alta velocidad, transmisión de larga-distancia, resistencia a interferencias y capacidades para compartir múltiples-dispositivos. Encuentra una amplia aplicación en automatización industrial, hogares inteligentes, sistemas de seguridad y otros campos. Este artículo proporciona una descripción detallada de los principios de la interfaz RS485, el diseño de circuitos, los protocolos de comunicación y las soluciones a problemas comunes.


Principio RS485

 

La interfaz RS485 emplea transmisión diferencial, utilizando dos líneas de señal (A y B) para transportar señales de nivel de voltaje. La magnitud de la señal depende de la diferencia de voltaje entre estas dos líneas. En la interfaz RS485, tanto las líneas de señal A como B pueden funcionar como transmisores o receptores. Este método de transmisión diferencial permite que la interfaz RS485 resista eficazmente el ruido y las interferencias externas, garantizando así la calidad de la transmisión.


Campos de aplicación RS485


La interfaz RS485 se utiliza ampliamente en escenarios que requieren transmisión de datos estable, de larga-distancia, alta-velocidad, como automatización industrial, hogares inteligentes y sistemas de seguridad. En términos de distancia de transmisión, RS485 admite hasta 1200 metros y en términos de velocidad de transmisión, admite hasta 10 Mbps. Esto hace que la interfaz RS485 sea ampliamente aplicable en escenarios que involucran adquisición, regulación, monitoreo y control de datos.

 

 

 

info-638-230

Diseño de circuito RS485


El diseño del circuito para una interfaz RS485 requiere la consideración de múltiples factores, como la distancia de transmisión, la velocidad de comunicación, la protección contra rayos y el aislamiento. A continuación, presentaremos el diseño del circuito para una interfaz RS485 desde cada uno de estos aspectos.

 

Distancia de transmisión


Debido a su transmisión diferencial, la interfaz RS485 admite distancias de transmisión más largas. Sin embargo, en aplicaciones prácticas, factores como la impedancia de la línea de transmisión, la diafonía y la calidad de la señal imponen limitaciones en el rango de transmisión. Para minimizar la pérdida y distorsión de la señal, generalmente recomendamos limitar la distancia de transmisión a 1,2 km al diseñar circuitos de interfaz RS485.


Velocidad de comunicación

 

La interfaz RS485 puede alcanzar velocidades de comunicación de hasta 10 Mbps. En aplicaciones prácticas, generalmente seleccionamos una velocidad de comunicación adecuada en función de condiciones específicas. Las velocidades de comunicación más altas aumentan la eficiencia de la transmisión pero también mejoran la complejidad y las demandas técnicas de los circuitos de interfaz.


Protección contra rayos


Dado el complejo entorno industrial, las interfaces RS485 suelen sufrir diversas perturbaciones, como rayos, electricidad estática y sobretensiones. Para salvaguardar los circuitos de la interfaz RS485, las medidas de protección contra rayos son esenciales. Se pueden emplear componentes como protectores de sobretensión ajustables y varistores de óxido metálico (MOV) para lograr protección contra rayos.


Aislamiento

 

En determinados escenarios, se requiere aislamiento entre la interfaz RS485 y otros circuitos. Esto se puede lograr utilizando componentes como optoacopladores o acopladores magnéticos para aislar señales. Esto previene eficazmente posibles bucles de tierra e interferencias de ruido, mejorando la confiabilidad y estabilidad del circuito de interfaz.


Protocolos de comunicación RS485


En aplicaciones prácticas, las interfaces RS485 también requieren especificaciones de protocolo y formato de datos. Los protocolos de comunicación RS485 comunes incluyen Modbus, Profibus y CANopen. Cada protocolo posee características distintas y escenarios aplicables, lo que permite la selección en función de requisitos específicos. A continuación, presentamos principalmente el protocolo Modbus RTU, que es el protocolo de transmisión más utilizado en nuestros proyectos basados ​​en interfaces RS485.


Introducción a Modbus RTU

 

Modbus RTU es un protocolo de comunicación industrial ampliamente adoptado, uno de los protocolos de comunicación en serie basados ​​en el marco Modbus. Este protocolo, utilizado principalmente para la comunicación en serie entre dispositivos como controladores PLC, sensores y actuadores, facilita el intercambio de datos. Este artículo detalla los significados específicos de cada registro dentro del protocolo Modbus RTU, proporciona ejemplos de transmisión y recepción de datos para cada código de función y destaca la suma de verificación CRC crucial.


Formato de datos del protocolo Modbus RTU


El protocolo Modbus RTU utiliza comunicación serie para la transmisión de datos.


Específicamente:


El campo Dirección identifica la dirección del dispositivo esclavo en comunicación, que puede tener cualquier valor entre 0 y 247.


El código de función especifica el tipo de datos y la dirección de lectura/escritura, normalmente un número entero entre 1 y 127.


El campo de datos contiene el contenido de datos real.
La suma de comprobación (CRC) verifica la integridad del paquete de datos.
Códigos de función del protocolo Modbus RTU
En el protocolo Modbus RTU, diferentes códigos de función representan distintos tipos de datos y direcciones de lectura/escritura. A continuación se muestran los códigos de función más utilizados y sus significados:


01: Leer registro de bobina
02: Leer registro de entrada discreta
03: Leer registro de retención
04: Leer registro de entrada
05: escribir registro de bobina simple
06: escribir registro de retención único
15: escribir múltiples registros de bobina
16: escribir múltiples registros de retención


Registros de direcciones del protocolo Modbus RTU


Las direcciones de dispositivos y las direcciones de registros son parámetros críticos para la comunicación en el protocolo Modbus RTU. Los registros de direcciones se pueden clasificar en los siguientes cuatro tipos:


Registro de bobina (registro de bobina)

 

Los registros de bobina almacenan valores booleanos (0 o 1). Los códigos de función 01, 05 y 15 están permitidos para operar en registros de bobina. El estado de cada bobina se puede representar mediante un único bit binario.


Por ejemplo, si la bobina en el bit 0x0001 se establece en 0, su valor binario es 00000000 00000001. Si la bobina se establece en 1, su valor binario cambia a 00000000 00000010.


Registro de entrada discreta


El registro de entrada discreta almacena los valores de los interruptores de entrada binaria y es-de solo lectura, siendo el código de función correspondiente 02. La diferencia entre el registro de entrada discreta y el registro de bobina es que indica si un interruptor está en el estado ON, en lugar de su estado actual.


Registro de explotación

 

El Holding Register almacena variables enteras de 32 bits. Los códigos de función 03, 04, 06 y 16 permiten operaciones de lectura/escritura en el Registro de explotación. Los valores dentro del Registro de explotación pueden facilitar la transferencia de datos entre dispositivos o ser personalizados por los usuarios como parámetros de control relevantes.


Registro de entrada

 

Los registros de entrada almacenan variables enteras de 32-bits y admiten operaciones de solo lectura con el código de función 04. De manera similar a los registros de retención, los valores en los registros de entrada se pueden transferir entre dispositivos, pero los usuarios no pueden modificarlos.


Comprobación CRC del protocolo Modbus RTU

 

Para garantizar la confiabilidad de la comunicación del protocolo Modbus RTU, este protocolo emplea un método de verificación de redundancia cíclica (CRC) para verificar la integridad de los paquetes de datos. El código de verificación CRC se calcula en función de los paquetes de datos transmitidos y recibidos y se verifica simultáneamente tanto en el extremo emisor como en el receptor.


Tomando el registro de retención de lectura (Código de función: 03) como ejemplo, los valores hexadecimales de la suma de comprobación CRC para los paquetes de datos transmitidos y recibidos son 0x39 y 0x3E, respectivamente. Los paquetes de datos específicos transmitidos y recibidos son los siguientes:


Transmisor-paquete de datos enviado: 01 03 00 00 00 01 C4 0B
En este paquete, los primeros 6 bits (01 03 00 00 00 01) representan el formato del protocolo Modbus RTU, mientras que los dos últimos bits (C4 y 0B) constituyen la suma de comprobación CRC.
Paquete recibido en el receptor: 01 03 02 00 01 39 3E
En este paquete de datos, los primeros 6 bits 01 03 02 00 01 39 representan el valor del registro de retención recibido (dos bytes), mientras que los dos últimos bits 3E y 39 son la suma de comprobación CRC calculada.


Ejemplo de transmisión del protocolo Modbus RTU


El siguiente es un ejemplo simple de transmisión del protocolo Modbus RTU para leer datos del registro de retención de un dispositivo:


El transmisor envía: 01 03 00 00 00 02 C5 9A
El receptor recibe: 01 03 04 00 00 00 66 CB


Este ejemplo lee el registro de retención del dispositivo 01 usando el código de función 03, accediendo a los dos bytes en la dirección de registro 0x0000. Así, el paquete de datos recibido contiene los valores 0x0000 y 0x0000, es decir, 0x0000 0000, representados en hexadecimal como 0x66CB.


Conclusión


Este artículo cubre principalmente los principios, aplicaciones, diseño de circuitos, protocolos de comunicación y soluciones de resolución de problemas para interfaces RS485. Las interfaces RS485 encuentran un amplio uso en automatización industrial, hogares inteligentes, sistemas de seguridad y otros campos. Sin embargo, se deben considerar factores como la distancia de transmisión, la velocidad de comunicación, la protección contra rayos y el aislamiento para garantizar la confiabilidad y estabilidad del circuito de interfaz. Se introducen conocimientos básicos del protocolo Modbus RTU, incluido su formato de datos, códigos de función, registros de direcciones y suma de comprobación CRC. En aplicaciones prácticas, el protocolo Modbus RTU se utiliza ampliamente para la comunicación entre dispositivos dentro de sistemas de control de automatización industrial. Al leer datos, se debe prestar especial atención a la selección de la dirección del dispositivo, la dirección del registro y el código de función.

Envíeconsulta

whatsapp

Teléfono de contacto

Correo electrónico

Consulta