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
1
vote
2 answers

CANopen PDOs and a communication profile

If the data contains more than one value, how do I know what these values represent? And how do I break up the data into individual values? Am I right to say that the relationship between the PDOs and data to be transmitted are defined in the…
Frustratedone
1
vote
2 answers

PDO and Nodes in CANopen

I am currently reading about CANopen and I have difficulties understanding the difference between these terms: - Node and slave: Does a slave represent a node ? - PDO Mapping: What is PDO mapping and how it works ? - What is an index and a…
Pryda
  • 899
  • 5
  • 14
  • 37
1
vote
1 answer

CANopen SDO normal download

After initiating an SDO normal (segmented) download protocol like above, can a client receive any heartbeat message or irrelevant CAN message to our download protocol from the server at any time while the download protocol is still in progress?
haitaka
  • 1,832
  • 12
  • 21
1
vote
1 answer

CANopen PDO mapping of data

I am trying to perform a CANopen PDO mapping by only mapping the first two bytes of an unsigned32 data onto the PDO. Is it possible to do so and how? I got the error code 0604 0041 (which means PDO cannot be mapped) for doing the above mapping.
user2605241
  • 21
  • 1
  • 3
1
vote
1 answer

Fastest rate at which CANopen PDOs are received

Assuming the highest baud rate, what is the highest rate at which PDOs are received?
tr8tor
0
votes
0 answers

Is it possible to add objects to Object Dictionary dynamically (in run time) in CanOpenNode library?

In my project there is a Master node which is always present and multiple hot-plugged Slave nodes. I use LSS and NMT to control the joining process of the Slaves. After a Slave join the network the Master will scan their TPDO and RPDO objects using…
killdaclick
  • 713
  • 1
  • 10
  • 19
0
votes
0 answers

Changing the default address in CANopen Protocol in TwinCAT 3

I am currently working with a Beckhoff PLC model CX2030 and a Wago PLC model 750-838, using the El6751 module for CAN-open communication between them. In the Wago PLC, I have set up a series of I/O cards. To establish the communication, I created an…
Majid
  • 1
  • 2
0
votes
1 answer

Device with CANOpen interface on CAN Network

I have a sensor with CANOpen interface which needs to send data to a ECU. Currently, there are no other sensors, non-CANOpen, CANOpen devices on the network. Can i communicate with the CANOpen device without using any special library since it is…
shrishri
  • 1
  • 1
0
votes
0 answers

I have problem on configuring a canopen network with EL6751 as master and wago 750-838 as slave using my customized EDS file

I am working on a project with a Canopen network consisting of a Beckhoff CX2030 controller and an EL6751 Canopen master device. The network also includes a Wago 750-838 PLC followed by several input/output modules acting as slaves. To transfer the…
0
votes
0 answers

How to use CANopenLinux with USBtin?

I use the USBtin via socketcan by plugging in the device and executing can-utils on CentOS sudo slcan_attach -f -s3 -o /dev/ttyACM0 sudo slcand ttyACM0 can0 sudo ip link set up can0 Then I check ifconfig can0: flags=193 mtu 16 …
spaceKelan
  • 67
  • 7
0
votes
0 answers

CANopen bus data translation/mapping with .eds/.dcf files on Linux Terminal Window

For CAN bus, data in a terminal window e.g. coming from CANplayer (CANutils), can be mapped/translated with the command: candump vcan0 | cantools decode --single-line '/home/xyz.dbc' Is there a similar solution for CANopen bus? Having tried: (1)…
klausz
  • 33
  • 6
0
votes
0 answers

Codesys 3, Is there any way to stop CANopen_Manager sending NMT Reset node command on enable?

I've noticed that when enabling the 3S CANopen_manager device (as declared in the device tree, _3SCOS.CANOpenManager_Diag), by CANopen_Manager.Enable := TRUE; (I'm not talking about NMT start) the PLC automatically sends NMT Reset command to…
e-mal
  • 1
  • 1
0
votes
0 answers

How to solve this is launch file?

Wanting to launch this command ros2 launch br_test_canopen_config motor_controllers_ros_control.launch.py And get this error : [INFO] [launch]: All log files can be found below…
N B
  • 1
  • 1
0
votes
0 answers

Seeking Answers: FAQs on TPDO Communication in CANopenNode

I'm currently working on a project related to CAN communication using the CANOpenNode standard with an STM32 microcontroller. I've consulted various GitHub repositories and watched videos, but I'm unable to successfully transmit any TPDO packets,…
0
votes
0 answers

CANOpenNode stack heap variable resets when a new function is entered

I have integrated CANopenNodeStack with my STM32 FreeRTOs based code . Below is my code And here is the repository I am using for CANopenNode stack for STM32 https://github.com/CANopenNode/CanOpenSTM32/tree/master void canopennode_mtr(void*…
ro88
  • 59
  • 6