Electrónica5 min de lectura
CAN bus y Modbus: dos estándares que mueven la industria
Modbus nació en 1979 para comunicar autómatas; CAN, a mediados de los ochenta, para reducir el cableado de los coches. Hoy uno está en casi cualquier variador o contador de energía y el otro en vehículos, maquinaria y satélites. Resuelven problemas distintos y conviene saber cuál es cuál.

Modbus: del autómata al estándar universal
Modbus lo publicó Modicon en 1979 para comunicar sus autómatas programables. Modicon pasó después a Schneider Electric, que en 2004 cedió el protocolo a la Modbus Organization, una asociación sin ánimo de lucro que mantiene hoy las especificaciones abiertas. Existen tres variantes:
- Modbus RTU: binario sobre línea serie, la más extendida.
- Modbus ASCII: los mismos mensajes escritos como caracteres hexadecimales, más lenta y casi en desuso.
- Modbus TCP: desde 1999, los mensajes viajan sobre Ethernet por el puerto 502.
Cómo habla Modbus
El modelo es maestro–esclavo, hoy llamado cliente–servidor: solo el maestro pregunta y cada esclavo, con una dirección del 1 al 247, responde cuando se le interroga. Los datos se organizan en cuatro tablas: coils (bits de lectura y escritura), entradas discretas (bits de solo lectura), registros de entrada y registros de mantenimiento (holding registers), ambos de 16 bits. Las funciones más usadas son la 03 (leer registros), la 06 (escribir uno) y la 16 (escribir varios).
Una trama RTU lleva dirección, función, datos y un CRC de 16 bits, con un máximo de 256 bytes; las tramas se separan por un silencio de al menos 3,5 caracteres. Modbus TCP no lleva CRC porque de la integridad ya se encarga TCP. Lo que el protocolo no fija es el significado de los registros: cada fabricante publica su mapa, y un valor de 32 bits ocupa dos registros cuyo orden varía de un equipo a otro.
La capa física de Modbus: RS-485
Modbus RTU suele viajar sobre RS-485: un par trenzado diferencial al que se cuelgan los equipos en cadena, con resistencias de terminación en los dos extremos. Sin repetidores, un segmento admite 32 cargas unitarias, maestro incluido, y unos 1.000 m de cable a 19,2 kbit/s. La especificación exige soportar 9.600 y 19.200 bit/s y fija esta última por defecto; muchos equipos llegan a 115,2 kbit/s.
Sigue en todas partes porque es abierto, gratuito y sencillo: se implementa en cualquier microcontrolador y casi todos los variadores de frecuencia, autómatas, analizadores de red y sensores industriales lo hablan. Su contrapartida es que carece de seguridad: la variante Modbus/TCP Security añade cifrado TLS.
CAN: la red que nació en el coche
Bosch empezó a desarrollar CAN (Controller Area Network) en 1983 y lo presentó en febrero de 1986 en el congreso de la SAE en Detroit. Los primeros controladores llegaron en 1987 y el primer turismo de serie con una red CAN fue el Mercedes-Benz Clase S W140, de 1991. La ISO lo normalizó en 1993 como ISO 11898.
El bus es un par trenzado con dos líneas, CAN_H y CAN_L, terminado en cada extremo con una resistencia de 120 Ω. En reposo ambas están a unos 2,5 V (bit recesivo, un 1 lógico); para transmitir un 0 dominante, CAN_H sube hacia 3,5 V y CAN_L baja hacia 1,5 V. Medir unos 60 Ω entre ambas con el equipo apagado confirma que están las dos terminaciones.
Arbitraje, prioridad y errores
En CAN no hay maestro: cualquier nodo transmite cuando el bus está libre. Los mensajes no llevan dirección de destino, sino un identificador de 11 bits (formato estándar) o 29 bits (extendido) que indica qué contienen. Si dos nodos empiezan a la vez, cada uno escucha el bus mientras transmite: el dominante se impone al recesivo y quien envió un recesivo y lee un dominante deja de transmitir. Es un arbitraje bit a bit no destructivo: el mensaje con el identificador más bajo gana sin perder tiempo, así que la prioridad está escrita en el propio identificador.
Cada trama transporta hasta 8 bytes y se protege con un CRC de 15 bits, relleno de bits y comprobación de formato y de acuse. Cada nodo lleva contadores de errores: si acumula demasiados pasa a error pasivo y, si sigue fallando, se desconecta solo (bus-off). Así un nodo averiado no bloquea la red.
Velocidad, CAN FD y protocolos superiores
CAN llega a 1 Mbit/s, pero la longitud manda, porque cada bit debe recorrer el bus durante el arbitraje. Como orientación: unos 25–40 m a 1 Mbit/s, 100 m a 500 kbit/s, 250 m a 250 kbit/s, 500 m a 125 kbit/s y en torno a 1 km a 50 kbit/s.
CAN FD, presentado por Bosch en 2012 e incluido en ISO 11898-1:2015, amplía los datos a 64 bytes por trama y acelera la fase de datos, habitualmente hasta 2–5 Mbit/s. Encima de CAN funcionan protocolos superiores: CANopen en automatización, encoders y accionamientos; SAE J1939 en camiones y maquinaria agrícola y de obra; ARINC 825 en aviación; y la norma europea ECSS-E-ST-50-15C, de 2015, para satélites. Además, CAN es el bus habitual de los sistemas de gestión de baterías de litio.
Comparativa y cuándo usar cada uno
| Modbus RTU / TCP | CAN / CAN FD | |
|---|---|---|
| Origen | Modicon, 1979 | Bosch, 1986 |
| Acceso al medio | Maestro pregunta, esclavo responde | Multimaestro con arbitraje por prioridad |
| Capa física | RS-485 o Ethernet | Par diferencial CAN_H/CAN_L con 120 Ω |
| Velocidad | 9,6–115,2 kbit/s en serie; 10/100 Mbit/s en TCP | Hasta 1 Mbit/s; CAN FD, varios Mbit/s en datos |
| Distancia | Unos 1.000 m por segmento RS-485 | De 25–40 m a 1 Mbit/s hasta 1 km a 50 kbit/s |
| Datos por mensaje | Hasta 125 registros por lectura | 8 bytes; 64 en CAN FD |
| Errores | CRC y reintentos del maestro | CRC, retransmisión automática y aislamiento del nodo |
| Uso típico | Variadores, contadores, autómatas, edificios | Vehículos, maquinaria, baterías, aeroespacial |
- Modbus cuando hay que leer y ajustar equipos de terceros con un ciclo de decenas o cientos de milisegundos y la prioridad la marca quien pregunta.
- CAN cuando varios nodos deben intercambiar eventos con latencias de milisegundos y prioridades claras, en entornos con ruido y vibraciones.
- Para sensores dispersos sin cable, ninguno de los dos: mejor una radio como Zigbee o LoRa.