Questions tagged [canopen]

CANopen is a communication protocol and device profile specification for embedded systems communication over CAN.

The basic CANopen communication and device profiles are given in the CiA 301 specification released by CAN in Automation (CiA), a non-profit organisation that "owns" and maintains the CANopen standard. As the name hints, it is an open standard and available for free if you register. You can register and download the standards from CiA here.

Profiles for more specialized devices are built on top of the basic CiA 301 profile, and are specified in numerous other standards, such as CiA 401 for I/O-modules and CiA 402 for motion control. They can be found at the above link as well.

Often these standards are still referred to as "DS301" etc because they were draft standards (DS) for a very long time, pretty much from the first version in 1995 up to the 4.2 version was released in 2011.

Tag usage
Please always use this tag together with the tag. CANopen being the network and application layers, CAN being the physical and data link layers.

In case of embedded systems programming, microcontroller programming etc make sure to also include as well as the relevant tag for the microcontroller and/or CAN controller you are using. Also include information about which protocol stack or CAN adapters you are using, if applicable. Some may have tags of their own, such as Vector .

Please note that Stack Overflow is a programming site: you may ask questions about CANopen programming, configuration and protocols here. Questions about hardware or the borderline between hardware/software should be asked at https://electronics.stackexchange.com instead, where CANopen questions are also on-topic.

More info at:

Open source CANopen protocol stack:

140 questions
0
votes
0 answers

CAN RX interrupt freezing on STM32

I have a problem that my RX interrupt callback doesn't trigger after some time of running state (sometimes 30 seconds, sometimes 10 minutes...), and I don't know any more where to look for the failure. I am using a CANopen stack from Emtas, but this…
Michal D
  • 109
  • 15
0
votes
1 answer

How does CANopen client communicate with Modbus slave through CANopen/Modbus gateway ?

I am now studying and developing a CANopen client with a python stack and i'm struggling to find out how to communicate with a slave Modbus through a gateway. Since the gateway address is the one present in the Object Dictionary of the CANopen, and…
B.Abd
  • 13
  • 4
0
votes
5 answers

Difference between a CANopen device and a CANopen node

Is there a difference between a CANopen device and a CANopen node?
bambino307
  • 493
  • 2
  • 4
  • 13
0
votes
1 answer

Is it possible to poll CANOpen variables through SDO, and if so, how?

I have set up a CANOpen network consisting of 3 engines, each having their own CANOpen slave. I have a Hilscher CifX board acting as CANOpen master. I have achieved proper engine command by reading and writing RPDO and TPDO directly into the process…
Laurent LA RIZZA
  • 2,905
  • 1
  • 23
  • 41
0
votes
0 answers

How to configure first TPDO in DS402

I want to configure a TPDO to get the statusword. Does anybody know how to do this? If i want to configure TPDO 1 the COBID has to be 1800h right? What else must be specified? Thanks in advance.
MrToast
  • 1,159
  • 13
  • 41
0
votes
1 answer

How i can calculate stuffbits in standard CAN 2.0A data frame

I have one CAN standard 2.0A frame which contain 8 Bytes of DATA. e.g CAN Frame Data "00 CA 22 FF 55 66 AA DF" (8 Bytes) Now I want to check how many stuff bits would be add in this CAN frame(bit stuffing). standers formula to calculate the Worst…
Dingo
  • 1
  • 1
0
votes
2 answers

broadcast file transfer via CAN bus (CANopen?)

I'm building a system consisting of many (> 100) equal nodes all connected via CAN bus. The idea is that all nodes must have the same information, any node may generate an event and will broadcast it via CAN. For those events, the 8 byte payload…
user1273684
  • 1,559
  • 15
  • 24
0
votes
1 answer

What do the CANopen STORE and RESTORE objects do?

The CiA 301 CANopen protocol specification defines two objects that a device may implement to save and restore parameters: Object 1010h - Store Parameters When a device implements this object, the CANopen master writes the value "save" to one of the…
Evil Dog Pie
  • 2,300
  • 2
  • 23
  • 46
0
votes
2 answers

CANopen profile for multiple interfaces card

I want to build a microcontroller-based CAN node card that has interfaces like UART, SPI and I²C, to which connect different peripherals and interfaces, like say a EIA-485 counter or a SPI digital I/O expander. I'd like to define a profile for the…
DIS
  • 1
  • 1
0
votes
1 answer

CANopen PDO sample code for LPC11Cxx

I tested and understood SDO rx and tx with the LPC11Cxx demo. But this demo stack has only SDO functions and a driver API. I want to implement PDO for the same. What would be some sample code or implementation steps or functions? I want to send 68…
sadiq.me
  • 1
  • 3
0
votes
1 answer

Can I configure the (default) PDO layout automatically?

If I call ecrt_slave_config_reg_pdo_entry to create a domain offset, I get the message: Failed to register PDO entry: No such file or directory I believe that I have to call ecrt_slave_config_pdos, which I am not at the moment. However, I do not…
Marian
  • 351
  • 2
  • 12
0
votes
1 answer

Missing master heartbeat does not cause node to react in a CANopen system

I have a strange finding about the heartbeat-protocol in CANopen. Maybe somebody else has seen something like this and maybe it is supposed to work like this... Anyway, here's what it's about: In CANopen there are two timeout-based life-guarding…
Henning
  • 21
  • 3
0
votes
1 answer

PDO mapping and cyclic data transfer over CANopen with Anybus Compactcom

I recently switched my device from ModbusRTU to CANopen by changing out the Anybus Compactcom and making some minor firmware updates. The device now seems to be properly functioning as a CANopen node, but I am having a bit of trouble mapping the…
0
votes
1 answer

CANopen API COBID

I'm trying to communicate with a USB-to-CAN device. I'm using the Canopen.net API, and I did not fully understand all of the classes that are under it, but from what I read, I understood that cCob is the class that I need to use. I managed to…
0
votes
1 answer

CAN communication questions

I started down this path, because I've got a CAN driver in uCLinux that I'm reviewing. I'm new to CAN in general, so I was doing a little research about it, and I've stumbled upon a question that I haven't found an answer to. If CAN is a serial…
Mike
  • 47,263
  • 29
  • 113
  • 177
1 2 3
9
10