CANopen es la capa de aplicación y el conjunto de perfiles de dispositivo que la asociación CAN in Automation define sobre el bus CAN, normalizados como EN 50325-4. Cada nodo publica su funcionalidad en un diccionario de objetos direccionado por índice y subíndice, e intercambia datos de proceso en tramas PDO de hasta ocho bytes.
Dónde aparece CANopen en planta
CANopen rara vez es la red que recorre una nave: es el bus interno de un equipo. Aparece en accionamientos y servos que siguen el perfil de dispositivo CiA 402, en ejes eléctricos, en maquinaria móvil (agrícola, de obra pública, carretillas y vehículos industriales), en equipamiento médico y en subsistemas de máquinas compradas completas. En una planta española lo normal es descubrirlo al abrir el armario de una máquina y encontrar un bus de dos hilos con resistencias de terminación en los extremos que une el control con sus variadores. Su atractivo sigue siendo el mismo desde los años noventa: cableado barato, robustez eléctrica alta y perfiles que hacen que dos variadores de fabricantes distintos se parametricen de forma equivalente.
CANopen frente a CAN
La confusión más frecuente no es con otro bus, sino con su propia base. CAN, normalizado en ISO 11898, define solo el nivel físico y el de enlace: la señalización diferencial, el formato de trama y el arbitraje bit a bit no destructivo por el que la trama con identificador de menor valor gana el acceso al medio sin colisiones ni retransmisiones. CAN no dice absolutamente nada sobre el significado de esos bytes. CANopen es la capa que aporta ese significado: asigna identificadores a funciones y nodos, define el diccionario de objetos donde vive cada parámetro, y especifica los servicios de gestión de red, sincronización, emergencia y latido con los que un maestro supervisa el estado del bus. Dicho de otro modo, sobre CAN se pueden construir protocolos incompatibles entre sí; CANopen es uno de ellos, y el habitual en automatización industrial europea.
Cómo se extraen los datos de un bus CANopen
CANopen tiene una propiedad que ninguno de los buses maestro-esclavo comparte: CAN es un medio de difusión multimaestro donde todos los nodos reciben todas las tramas. Un interfaz configurado en modo escucha no transmite un solo bit, ni siquiera la confirmación de recepción, por lo que puede conectarse a un bus en producción sin alterar la carga ni la temporización. Para una capa de datos, es la vía de captura menos invasiva del conjunto de protocolos de campo.
El trabajo está en la interpretación. Lo que se recibe son tramas de hasta ocho bytes cuyo identificador codifica la función y el número de nodo; el contenido es un bloque plano cuya composición la define el mapeo de PDO de cada dispositivo. Ese mapeo se obtiene de dos formas: del fichero de descripción del dispositivo y de la configuración del proyecto, o leyéndolo en caliente del propio diccionario de objetos, ya que tanto los parámetros de comunicación como el mapeo de cada PDO son entradas normalizadas y consultables. La segunda vía es más fiable cuando la documentación del integrador original no está disponible, que es lo habitual en máquinas con años de servicio.
Leer parámetros individuales exige el otro canal, el servicio SDO, que sí es cliente-servidor y sí transmite. Para usarlo hay que ocupar una dirección de nodo libre y se añade carga al bus, de modo que conviene limitarlo a lecturas de configuración y diagnóstico, no a muestreo continuo. La frecuencia con la que llegan los datos de proceso no la decide quien escucha: la fija el dispositivo según esté configurado por evento, por temporizador o sincronizado por la trama SYNC.
Quedan dos restricciones físicas que deciden si la intervención requiere parada. El bus necesita terminación de 120 ohmios en ambos extremos y derivaciones cortas: una conexión mal hecha degrada la señal de todo el segmento. Y la velocidad debe configurarse correctamente en el equipo que se conecta, porque un nodo en modo normal con velocidad equivocada genera tramas de error continuas y puede dejar el bus inservible. Con un interfaz en modo escucha ese riesgo desaparece, ya que no puede emitir. La velocidad, además, condiciona la longitud: alrededor de 25 metros a 1 Mbit/s frente a unos 500 metros a 125 kbit/s.
Relación con otros términos
El diccionario de objetos de CANopen se reutiliza como protocolo de buzón dentro de EtherCAT, y su papel de bus por debajo del control es comparable al de PROFIBUS DP en periferia o al de IO-Link en el último tramo hacia el sensor. Los datos capturados suelen normalizarse en un nodo de edge computing antes de publicarse. En Captia Connect es un caso de interoperabilidad de sistemas heterogéneos: leer el bus interno de una máquina sin intervenir en su control.