¿Qué es RS485?
RS485 es una norma de transmisión eléctrica, no un protocolo. Los datos viajan como diferencia de tensión entre dos hilos, normalmente llamados A y B, a veces D+ y D−. Como el receptor solo evalúa la diferencia, las interferencias que afectan por igual a ambos hilos se anulan en gran medida. Por eso RS485 funciona también en cuadros con variadores de frecuencia y a grandes distancias.
Clásicamente, un segmento admite 32 participantes (unit loads); los transceptores modernos cargan el bus solo con una fracción de ello. La línea puede medir unos 1200 m, menos a velocidades altas.
Sobre RS485 funcionan distintos protocolos, además de Modbus RTU por ejemplo BACnet MS/TP. En un contador de energía RS485, por tanto, solo junto con el protocolo queda claro cómo se lee.
¿Cómo se cablea correctamente un bus RS485?
- Tender en línea: de equipo a equipo, sin estrella y sin derivaciones largas.
- Colocar una resistencia de terminación de 120 Ω en cada uno de los dos extremos de la línea, no en cada equipo.
- Usar cable de datos trenzado y apantallado, idealmente con una impedancia característica de unos 120 Ω.
- Llevar la masa de referencia (GND) si los equipos están alejados o se alimentan de forma distinta.
- Ajustar en todos los equipos la misma velocidad, paridad y bits de parada.
Los escollos más frecuentes al montar el bus se describen en el artículo Modbus RTU sobre RS-485: los cinco escollos más frecuentes.
¿Qué es Modbus RTU?
Modbus es un protocolo abierto que Modicon desarrolló en 1979 para controladores. RTU significa Remote Terminal Unit y designa la variante binaria para líneas serie. Un maestro, por ejemplo un PLC, un registrador de datos o un sistema de gestión energética, envía una petición a una dirección de esclavo, y solo ese equipo responde. Un esclavo nunca transmite por iniciativa propia.
Un telegrama consta de dirección, código de función, datos y una suma de comprobación CRC16. Entre dos telegramas hay una pausa de al menos 3,5 caracteres, por la que los equipos reconocen el principio y el final.
| Código de función | Significado | Uso típico |
|---|---|---|
| 03 | Leer holding registers | Valores medidos y ajustes |
| 04 | Leer input registers | Valores medidos |
| 06 | Escribir un registro | Cambiar un ajuste |
| 16 | Escribir varios registros | Escribir varios valores en un bloque |
¿Cómo se leen correctamente los registros Modbus?
Modbus solo conoce registros de 16 bits. Una lectura de 32 o 64 bits se reparte en dos o cuatro registros consecutivos. Si la palabra de mayor peso va primero lo decide cada fabricante. Si un sistema entrega valores absurdos, lo habitual es que el orden de bytes o de palabras esté invertido.
La numeración de las direcciones también varía: algunos manuales cuentan desde 0 y otros desde 1. Si un valor está desplazado exactamente un registro, casi siempre se debe a eso.
¿Cuándo encaja Modbus RTU sobre RS485?
Modbus RTU encaja cuando un controlador o un registrador consulta directamente contadores en el mismo cuadro o edificio y no hay red hasta los contadores. Con muchos contadores en varios edificios o varios sistemas de destino, compensa una pasarela. La comparación con la variante de red está en el artículo ¿Modbus TCP o Modbus RTU? y en la página ¿Qué es Modbus TCP?.
RS485 y Modbus RTU con equipos de EMU
El contador de energía RS485 EMU Professional II habla Modbus RTU, como EMU Professional II 3/100 para conexión directa hasta 100 A o como 3/5 para conexión con transformadores.
El EMU M-Center tiene dos puertos RS485, lee hasta 64 equipos Modbus RTU y transmite los valores por BACnet IP o MQTT.