PLC Simulator
communications
modbus
canbus
canopen
fundamentals

Modbus vs CAN Bus (CANopen): Industrial Protocol vs Embedded Network

By PLC Simulation Software9 min read

Modbus vs CAN Bus (CANopen): Industrial Protocol vs Embedded Network

TL;DR: Modbus RTU and Modbus TCP are open, register-based polling protocols widely used to connect PLCs to process instruments, drives, and sensors over RS-485 serial or Ethernet. CAN bus is a broadcast, message-based network originally designed for automotive systems; CANopen is the automation profile built on top of it, used primarily in motion control, robotics, and embedded machine networks. Modbus is pulled by a master. CANopen is event-driven and peer-capable. They rarely compete — they serve different machine layers.

Modbus vs CAN Bus — industrial register protocol vs embedded machine network

A controls engineer encounters Modbus when connecting a PLC to a VFD, energy meter, or flow computer. They encounter CANopen when commissioning a servo drive system, a multi-axis robot joint, or a mobile machine hydraulic controller. The two protocols are rarely on the same decision list — but understanding how they differ helps when integrating systems that use both.

Modbus — The Industrial Register Protocol

Modbus was created by Modicon in 1979 for PLC-to-instrument communication. It remains the most widely deployed industrial protocol because it is simple, open, and royalty-free.

Architecture

Modbus is a master/slave (client/server in Modbus TCP) protocol. One master polls one slave at a time. Slaves respond only when addressed. The master controls all communication timing.

Data model

Modbus organises device memory into four tables:

  • Holding registers (40001–49999): 16-bit read/write — motor speed setpoints, PID setpoints, mode commands.
  • Input registers (30001–39999): 16-bit read-only — measured process values, fault codes.
  • Coils (00001–09999): single-bit read/write — start/stop commands.
  • Discrete inputs (10001–19999): single-bit read-only — limit switches, alarm bits.

Variants

  • Modbus RTU: binary framing over RS-485 serial bus, up to 247 slaves, 9600–115200 baud.
  • Modbus TCP: same register model over Ethernet TCP/IP on port 502. Concurrent connections, no baud-rate limit.
  • Modbus ASCII: printable hex encoding over serial — rarely used in new installations.

CAN Bus and CANopen

CAN (Controller Area Network) was developed by Bosch in the 1980s for automotive wiring harnesses — replacing point-to-point wiring between ECUs. It was later adopted by industrial automation as the physical and data link layer for embedded machine networks.

CAN bus frame

CAN is a broadcast bus. Any node can transmit when the bus is idle. Messages carry an identifier (11-bit standard, 29-bit extended) that defines both the content type and the arbitration priority — lower numeric IDs win bus access over higher IDs without collision.

| Identifier | RTR | DLC | Data (0–8 bytes) | CRC | ACK |
  • Identifier: message priority and content type — not a device address.
  • DLC: data length code — number of data bytes in this frame (0–8).
  • CRC: 15-bit CRC for error detection.
  • ACK: all receivers acknowledge every valid frame simultaneously — the transmitter knows at least one node received it.

CAN supports multi-master — any node can initiate a message. Arbitration is non-destructive: the node with the lowest-priority ID backs off and retries.

CANopen — the automation profile

CAN defines only the frame format; it says nothing about what the data means. CANopen (CiA 301) is the application-layer profile that maps automation concepts onto CAN frames.

CANopen defines:

  • PDOs (Process Data Objects): real-time, cyclic or event-driven exchange of I/O data — position, velocity, torque, digital I/O. No handshake, low overhead. Equivalent to Modbus register reads but pushed rather than polled.
  • SDOs (Service Data Objects): confirmed parameter access — read or write any object dictionary entry. Used for configuration and commissioning (setting acceleration ramps, encoder resolution, current limits). Equivalent to Modbus write register, but with acknowledgement.
  • NMT (Network Management): start, stop, and reset nodes. A master NMT node controls node state transitions.
  • Heartbeat / node guarding: node health monitoring — a node broadcasts a heartbeat periodically; if the master misses it, the node is declared failed.
  • Object Dictionary: every CANopen device has an object dictionary (OD) — a table of parameters (index 0x0000–0xFFFF), each with a data type and access rights. The EDS (Electronic Data Sheet) file describes the OD so a configuration tool can set up the device without knowing it in advance.

CANopen device profiles

CiA publishes device profiles for common equipment:

  • CiA 402: drives and motion control — servo drives, stepper drives, frequency inverters.
  • CiA 401: generic I/O modules.
  • CiA 404: measurement devices.
  • CiA 417: lift systems.

A servo drive conforming to CiA 402 exposes standardised objects for target position, actual position, control word, and status word — so the PLC motion program works regardless of which brand of drive is installed.

Side-by-Side Comparison

Modbus vs CANopen — frame model, addressing, and application compared

| | Modbus RTU/TCP | CANopen (CAN bus) | |---|---|---| | Origin | Process automation (1979) | Automotive, then industrial (1993) | | Architecture | Master/slave polling | Multi-master broadcast, event-driven | | Addressing | Slave address (1–247) or IP + Unit ID | Node ID (1–127) + object dictionary index | | Data unit | 16-bit registers, 1-bit coils | PDO: up to 8 bytes per frame; SDO: confirmed | | Frame size | Variable (function code dependent) | 8 bytes max payload per frame | | Speed | 9600–115200 baud (RTU); 100 Mbit (TCP) | 10 kbit/s–1 Mbit/s (standard CAN) | | Max cable length | 1200 m at 9600 baud | 40 m at 1 Mbit/s; 1 km at 50 kbit/s | | Max nodes | 247 (RTU), unlimited (TCP) | 127 nodes per segment | | Error handling | CRC; slave returns exception code | 15-bit CRC + ACK; hardware error counters | | Device profiles | None (register maps are device-specific) | Standardised CiA profiles (402, 401, etc.) | | Typical use | VFDs, meters, sensors, PLCs | Servo drives, multi-axis motion, mobile machines |

Decision Guide

Modbus vs CANopen — which fieldbus fits your application

Use Modbus RTU or TCP when:

  • Connecting a PLC to process instruments — flow meters, pressure transmitters, energy meters, temperature controllers.
  • The device's register map is documented and you can poll it.
  • Cable runs are long (Modbus RTU handles 1200 m).
  • You need to integrate equipment from many different vendors without a shared device profile.
  • Your SCADA or PLC natively supports Modbus and does not have a CANopen master module.

Use CANopen when:

  • Building a machine with multiple motion axes — multi-axis servo, rotary index table, robotic arm.
  • Your servo drive specifies CiA 402 as its primary interface.
  • You need synchronised cyclic real-time I/O across multiple nodes (PDO SYNC messaging).
  • The machine is self-contained and does not need integration into a plant-wide Ethernet network.
  • You are designing an embedded machine controller (mobile machinery, agricultural equipment, medical devices).

When you need both:

Many industrial machines have both: a CANopen network synchronising servo axes inside the machine enclosure, and a Modbus TCP interface exposing status registers to the plant SCADA. The machine PLC acts as a CANopen master internally and a Modbus TCP server externally.

Frequently Asked Questions

Q: Is CAN bus the same as CANopen?

A: No. CAN bus is the physical and data link layer — the electrical standard and frame format. CANopen is an application-layer protocol built on top of CAN, defining object dictionaries, PDOs, SDOs, NMT, and device profiles. CAN bus also carries other protocols — DeviceNet, J1939, CANaerospace — each with their own application layer.

Q: Can a PLC read a CANopen servo drive?

A: Yes, if the PLC has a CANopen master module or a CANopen fieldbus card. Many PLCs do not include CAN as a standard port — it must be added as an expansion module. Alternatively, some drive manufacturers provide a Modbus TCP or EtherNet/IP gateway above their CANopen internal bus, letting the PLC use standard Ethernet protocols while the drive uses CANopen internally.

Q: What is the speed difference between Modbus and CANopen?

A: At comparable baud rates, CANopen PDOs are faster because they are event-driven — data is pushed when it changes without a request/response cycle. Modbus RTU at 115200 baud can do roughly 200–500 register reads per second; CANopen at 1 Mbit/s with 127 nodes can exchange process data in under 1 ms per cycle for small PDOs. For motion control synchronisation, CANopen is significantly faster.

Q: Is CAN bus still used in industrial automation?

A: Yes, especially in machine building, mobile machinery, medical devices, and robotics. CANopen remains the dominant fieldbus for servo and stepper drives in compact machines. EtherCAT is its successor in high-performance multi-axis motion (microsecond synchronisation), but CANopen at 1 Mbit/s handles most motion applications at lower cost and simpler wiring.

Q: What is DeviceNet and how does it compare to CANopen?

A: DeviceNet is an Allen-Bradley/ODVA protocol that also runs on CAN bus, widely used in North American factory automation. CANopen is the European/international equivalent. Both use CAN as the physical layer but define different object models, device profiles, and network management. DeviceNet is common with Rockwell PLCs; CANopen is common with Siemens, Schneider, and European servo drive manufacturers.


Practise Modbus register reads — the most common way a PLC communicates with a VFD or drive status register — with the Modbus register read scenario. For drive commissioning concepts, the VFD conveyor speed scenario covers frequency reference, run commands, and speed feedback.

Try the Modbus scenario →

Share:X / TwitterLinkedIn

Practice this yourself in the simulator

Start with guided PLC practice in your browser. No install and no credit card required.

Start practising free

Related articles

ladder logic
data study

The Most Common Ladder Logic Mistakes — What 10,000 Graded Attempts Taught Us

We analyzed 10,272 graded ladder logic attempts on our browser PLC simulator. 58% of failures were an output that never turned on, 83% failed within two seconds of clicking Run, and the seal-in circuit was the single hardest concept. Full data study.

July 10, 2026 · 12 min read
communications
modbus

Modbus TCP vs Modbus RTU: Same Protocol, Different Cables

Modbus TCP vs Modbus RTU compared: both use the same register model and function codes, but RTU runs on serial RS-485 and TCP runs on Ethernet. This post explains the differences, the MBAP header, how to choose, and how to troubleshoot each variant.

June 13, 2026 · 9 min read
communications
modbus

Modbus vs DNP3: Process Protocol vs Utility Outstation Protocol

Modbus and DNP3 are both fieldbus protocols used to read RTUs and outstations, but DNP3 was purpose-built for utility SCADA — substations, water treatment, and pipelines — with built-in event reporting, data integrity, and time stamping that Modbus lacks. This post explains the differences and when each protocol is the correct choice.

June 13, 2026 · 9 min read