Home >Dinámica de la industria>Dinámica de la industria
Protocolo CANopen para principiantes: Comprender la comunicación de E/S distribuida desde cero

Introducción

En el campo de la automatización industrial y el control de movimiento, a menudo se escuchan términos como "CANopen", "E/S distribuida", "PDO" y "SDO". Para los ingenieros que están empezando, el protocolo CANopen puede parecer abrumador — no es tan intuitivo como los protocolos seriales simples, ni persigue la velocidad de EtherCAT.

Entonces, ¿qué es exactamente CANopen? ¿Qué problema central resuelve? ¿Y cómo hace que los sistemas de control distribuidos complejos sean simples y eficientes?

En resumen: CANopen es un protocolo de aplicación de alto nivel construido sobre hardware del bus CAN. A través de un mecanismo de comunicación estandarizado y un diccionario de objetos, permite que PLCs, sensores, actuadores y otros dispositivos "hablen el mismo idioma" y trabajen juntos de forma eficiente. La E/S distribuida es una de las aplicaciones más clásicas y ampliamente utilizadas de CANopen.

Este artículo utiliza el  módulo esclavo distribuido de Ebyte M31-U-CAN de la serie CANopen como caso de referencia para guiarte hacia el mundo del protocolo CANopen desde cero.

Resumen del producto: ¿Por qué necesitamos la E/S distribuida de CANopen?

Los puntos de dolor del control industrial tradicional

Imagina controlar la iluminación de todo un edificio, los sensores y válvulas en una línea de montaje de fábrica, o cientos de puntos de adquisición de datos en un gran laboratorio. El enfoque tradicional es:

  • Cableado punto a punto : Cada sensor requiere un cable separado que regrese al controlador central (PLC). Las cantidades de cables se disparan, los costes son altos, el cableado es complejo y los puntos de fallo son numerosos.

  • Difícil de modificar : Si el tipo de dispositivo cambia o es necesario añadir puntos de E/S, el programa PLC y la configuración del hardware deben ser reestructurados — un proceso muy engorroso.

La solución distribuida de E/S CANopen

CANopen divide todo el sistema en dos partes:  Maestro y  Esclavo .

  • Maestro (normalmente un PLC o controlador dedicado): Responsable de la gestión general de la red, el envío de comandos de control, la recepción de datos y la gestión de fallos.

  • Esclavo : Estos son los  módulos de E/S distribuidos situados en el sitio del dispositivo. No manejan lógica compleja directamente, sino que ejecutan fielmente tareas de adquisición y salida.

Tomando como ejemplo el  módulo esclavo distribuido de Ebyte M31-U-CAN de la serie CANopen , aborda las siguientes necesidades clave:

NecesidadSolución
Expansión flexible Soporta arquitectura modular, conectando hasta  16 módulos de expansión de E/S (incluido el host), con un máximo de  256 puntos de E/S . Los usuarios pueden combinar libremente módulos DI, DO, IA y AO como bloques de construcción.
Cableado simplificado Todos los módulos de E/S se conectan al maestro mediante un único bus CAN de alta velocidad. Un par trenzado (CAN_H y CAN_L) reemplaza cientos o miles de cables de señal, reduciendo drásticamente los costes de cableado y mejorando la fiabilidad y la inmunidad al ruido.
Plug and play El diccionario de objetos estandarizado y los archivos de descripción de dispositivos (archivos .eds) de CANopen permiten que los módulos de E/S sean reconocidos y configurados automáticamente por software PLC convencional (como CODESYS), facilitando un verdadero plug and play.

Características principales de la serie M31-U-CAN

DimensiónDescripción
Tipo de dispositivo Módulo esclavo CANopen
Capacidad de expansión Soporta hasta 16 módulos de expansión de E/S (incluyendo host)
Tipos de E/S DI (NPN/PNP), DO (Relé/PNP), AI (Corriente/voltaje diferencial, corriente/voltaje de un solo extremo), AO (Corriente/Voltaje)
Interfaz de comunicación Interfaz CAN + puerto Ethernet (para configuración de parámetros)
Calificación CAN Baud 1000K (por defecto), 500K, 250K, 125K, 50K, 20K, 10K
Soporte CODESYS Sí, el dispositivo puede cargarse mediante archivo .eds
Protección Industrial ESD, sobretensiones, protección contra polaridad inversa de potencia, certificado CE

Características y principios técnicos explicados

1. CANopen: De pie sobre los hombros de CAN

Para entender CANopen, primero necesitas conocer su base física — el  bus CAN .

  • Bus CAN : Un protocolo de comunicación multi-maestro que utiliza dos cables (CAN_H y CAN_L) con transmisión diferencial de señal. Ofrece inmunidad al ruido y es una "estrella veterana" en entornos industriales y electrónica automotriz.

  • Limitación de CAN : CAN solo define la capa física y la capa de enlace de datos, pero no especifica la capa de aplicación. Esto significa que tienes que definir tú mismo qué significa "data 0x12345678".  CANopen define completamente esto sobre CAN.

2. El atractivo central de CANopen: tres mecanismos clave

El poder de CANopen reside en tres mecanismos centrales:

(1) Diccionario de objetos

Esta es el  alma de CANopen . Cada dispositivo CANopen (como el módulo esclavo M31-U-CAN) tiene una "tabla de datos" interna: el Diccionario de Objetos. Cada fila de la tabla se identifica de forma única mediante un  índice de 16 bits y un  subíndice de 8 bits .

Esto no es un concepto abstracto; es la "enciclopedia de datos" del dispositivo. Por ejemplo, el diccionario de objetos del módulo esclavo M31-U-CAN incluye:

ÍndiceDescripción
0x1000 Tipo de dispositivo — le dice al maestro "Soy un dispositivo de E/S"
0x1001 Registro de errores — informa de errores actuales
0x6000 Entrada digital — registra el estado de todos los puntos de entrada digitales
0x6200 Salida Digital — controla el estado de todos los puntos de salida digital
0x6401 Entrada analógica — registra valores de entrada analógicos (por ejemplo, 0-10V)
0x6411 Salida analógica — controla los valores de salida analógica (por ejemplo, 4-20mA)

Por eso los dispositivos CANopen pueden lograr  plug-and-play : el maestro lee el diccionario de objetos del esclavo para saber qué tipo de dispositivo es, cuántos puntos de E/S tiene y cuáles son los parámetros de cada punto de E/S.

(2) PDO: La "autopista" para la comunicación en tiempo real

  • Significado : Objeto de datos de proceso

  • Propósito : Utilizado para transmitir en tiempo real, periódicos y pequeñas cantidades de datos de proceso, tales como:

    • Master → Slave: Válvula de control encendido/apagado (DO), señales analógicas de salida (AO)

    • Slave → Master: Lectura de temperatura del sensor (IA), lectura del estado del botón (DI)

  • Características :

    • Sin sobrecarga de protocolo : las tramas de datos PDO no contienen índices internamente; se mapean directamente a los registros del diccionario de objetos

    • Alta eficiencia y velocidad : El ciclo interno del bus del M31-U-CAN puede alcanzar hasta  1 ms , ideal para escenarios de control a alta

    • Múltiples modos de disparo : Soporta activación asíncrona de eventos, disparación cíclica síncrona y disparación remota de peticiones

(3) SDO: La "carretera local" para configuración y diagnóstico

  • Significado : Objeto de Datos de Servicio

  • Propósito : Utilizado para transmitir datos no en tiempo real, de configuración y de diagnóstico, tales como:

    • Modificación de parámetros del dispositivo esclavo (tasa de baud, dirección del nodo)

    • Configurar el mapeo PDO (decidir qué datos de proceso se transmiten a través de qué PDO)

    • Leer números de serie de dispositivos, versiones de firmware, etc.

  • Características :

    • Mecanismo de acuse de reconocimiento : Estilo de preguntas y respuestas, fiable pero más lento

    • Gran volumen de datos : Puede transmitir datos de varios bytes

Del diccionario de objetos al PDO: un ejemplo concreto

Vamos a simular el proceso de encender un LED usando el módulo esclavo M31-U-CAN:

Fase de configuración (Comunicación SDO)

  1. El maestro PLC envía una solicitud SDO al módulo esclavo M31-U-CAN, configurando su  Receive PDO (RPDO) objeto de mapeo   a 0x6200, subíndice 01 (Canal de Salida Digital 1).

  2. El PLC le dice al M31-U-CAN: "A partir de ahora, cuando reciba datos míos a través de RPDO1, escríbelos en la 0x6200 de ubicación, sub-01."

Fase de Operación (Comunicación PDO)

  1. Cuando un usuario pulsa un botón, el PLC debe encender el LED conectado al canal DO 1 del M31-U-CAN.

  2. El PLC envía un mensaje PDO con la parte de datos siendo el valor binario  "0000 0001" (activando el primer canal de salida).

  3. Al recibir este PDO, el módulo esclavo M31-U-CAN, basado en la relación de mapeo configurada previamente mediante SDO, escribe automáticamente los datos en la ubicación del Diccionario  de Objetos 0x6200, sub-01 .

  4. El circuito interno del controlador de E/S del módulo detecta el cambio en el valor del registro y emite inmediatamente un nivel alto, encendiendo el LED.

Durante todo este proceso, el maestro no necesita conocer la  dirección 0x6200 durante la comunicación PDO — solo necesita saber "enviar 8 bytes de datos". Este es el núcleo de la alta eficiencia de los PDO.

Características especiales del M31-U-CAN (basado en la base de conocimiento)

Más allá de las funciones estándar de CANopen, el M31-U-CAN ofrece varias características prácticas:

  • Configuración de hardware : Los conmutadores DIP permiten establecer fácilmente la dirección del nodo CAN (1~127) y la tasa de baudios CAN (los primeros 3 bits para la tasa de baud, los últimos 7 bits para la dirección del nodo).

  • Integración con CODESYS : La base de conocimientos proporciona pasos detallados para cargar archivos .eds en CODESYS, añadir un gestor CANopen, añadir el dispositivo M31-U-CAN y configurar direcciones de mapeo de E/S. Una vez completado el mapeo, descarga el programa PLC para controlar la E/S.

  • Gestión inteligente de fallos : Soporta la configuración offline de salida de fallos de E/S. Cuando ocurre un fallo de comunicación, puede configurarse para mantener el estado de salida actual o ejecutar un estado de salida anormal preestablecido.

Parámetros técnicos en resumen

Parámetro centralSerie M31-U-CAN
Tipo de protocolo Esclavo CANopen
Dirección del nodo 1~127 (conmutador DIP configurable)
Tasa de Baud CAN (kbps) 1000, 500, 250, 125, 100, 50, 20, 10
Ciclo interno del autobús Hasta 1 ms
Tipos de E/S DI (NPN/PNP, 1000Hz), DO (Relé/PNP), AI (Diferencial, 16 bits), AO (Corriente/Voltaje)
Módulos de Expansión Máxima 16 (incluyendo al presentador)
Interfaz de comunicación CAN, Ethernet (para configuración)
Tensión de alimentación DC 9~36V (con protección contra polaridad inversa)
Temperatura de funcionamiento -40°C a +85°C

Escenarios de aplicación

EscenarioAplicación específicaPor qué CANopen Fits
Smart Factory Sistemas de manipulación de materiales, líneas de montajeLa E/S distribuida recoge sensores y actuadores de control cercanos, reduciendo el cableado y mejorando la flexibilidad y mantenibilidad del sistema
Robótica Soldadura, pulverización, manipulación de robotsEl subprotocolo de control de movimiento de CANopen (CiA 402) define comandos de control de eje estandarizados para un control servomotor preciso
Energía Renovable Monitorización de parques solares, energía eólicaLos módulos de E/S distribuidos recogen una gran cantidad de voltaje, corriente y temperatura de los paneles solares de forma distribuida, y los agregan a través de la red CANopen al sistema central de monitorización
Equipamiento médico Escáneres CT, sistemas de monitorización de pacientesLa alta inmunidad al ruido y el rendimiento en tiempo real garantizan la precisión y estabilidad en la transmisión de datos
Automatización de edificios Sistemas de iluminación, control de climatizaciónAhorra cableado, instalación y mantenimiento sencillos

Ventajas principales de EBYTE

  • Línea completa de productos : Ebyte ofrece una gama completa, desde módulos esclavos de E/S distribuidos CANopen (M31-U-CAN) hasta placas núcleo de procesador y ordenadores de placa única para control industrial. Tanto si necesitas E/S como computación y control de alto nivel, existen soluciones adecuadas disponibles.

  • Amplia experiencia en diseño industrial : La serie M31-U-CAN cuenta con un diseño de hardware de grado industrial con múltiples mecanismos de protección, incluyendo ESD, sobretensiones, ráfagas transitorias rápidas y polaridad inversa de potencia, asegurando un funcionamiento estable a largo plazo en entornos industriales hostiles.

  • Documentación completa : Ebyte proporciona manuales detallados del producto (Manual de usuario V1.0) que cubren no solo especificaciones del producto, sino también una guía detallada sobre cómo usar CODESYS para cargar dispositivos, diccionarios de objetos configurables e instrucciones de funciones de E/S — muy valiosas para los ingenieros durante el desarrollo y la depuración.

  • Herramientas de configuración fáciles de usar : Parámetros como el filtrado de E/S, los estados de salida de fallo y los rangos de salida analógica pueden configurarse cómodamente mediante software de PC, reduciendo la barrera de uso.

Preguntas frecuentes (FAQ)

P1: ¿Cuál es la diferencia fundamental entre CANopen y Modbus?

R: El modbus suele funcionar en modo maestro/esclavo, donde el maestro consulta a los esclavos uno a uno, lo que resulta en menor eficiencia. CANopen, basado en el multi-maestro del bus CAN, permite a los dispositivos enviar datos activamente (activación de eventos PDO), ofreciendo un mayor rendimiento y eficiencia en tiempo real. Además, el diccionario de objetos y los mecanismos PDO/SDO de CANopen hacen que la configuración y la red sean mucho más flexibles que Modbus.

P2: ¿Cómo configuro la dirección del nodo y la velocidad de baudios del M31-U-CAN?

R: La configuración se realiza mediante el  DIP switch de 10 bits del dispositivo. Los primeros 3 bits establecen la tasa de bauds CAN, y los últimos 7 bits fijan la dirección del nodo (rango válido 0~127). Por ejemplo, todos los switches configurados en 0 indican la tasa predeterminada de 1000k baudios y la dirección del nodo 1.

P3: ¿Cuál es el número máximo de puntos de E/S que puede soportar el M31-U-CAN?

R: Soporta expansión modular, con un máximo de  16 módulos de expansión de E/S (incluido el propio anfitrión) y hasta  256 puntos de E/S . Estos módulos de expansión incluyen tipos DI, DO, AI y AO.

P4: ¿Qué protocolo de comunicación utiliza este dispositivo? ¿Qué PLCs convencionales soporta?

R: El dispositivo utiliza el  protocolo estándar CANopen . Dado que CANopen es un protocolo estandarizado, siempre que tu PLC o controlador soporte CANopen (por ejemplo, mediante CODESYS u otras tarjetas maestras CANopen), puede comunicarse con la serie M31-U-CAN.

P5: ¿Cómo añado el dispositivo M31-U-CAN en CODESYS?

R: La base de conocimientos proporciona pasos detallados:

  1. Instala el archivo .eds en CODESYS a través  de "Tools" → "Device Repository". .

  2. Añade  CANbus y  CANopen_Manager secuencialmente en el proyecto.

  3. Haz clic derecho  en CANopen_Manager,  selecciona Añadir dispositivo , busca  "ebyte", busca y añade  M31-xxxxxxxx-U-CAN. .


El protocolo CANopen, a través de sus tres pilares — el  Diccionario de Objetos,  PDO y  SDO — transforma sistemas de control distribuidos complejos en algo  estandarizado, eficiente y fácil de usar . La serie M31-U-CAN de Ebyte es un excelente ejemplo de cómo esta técnica se ha implementado con éxito en productos industriales.

Tanto si eres principiante como si eres un ingeniero experimentado, dominar los principios de CANopen abrirá una nueva puerta en tu camino en la automatización industrial.