All Questions
84 questions
0
votes
1
answer
131
views
CanOpenNode with stm32
I'm working on CanOpen. I found and used the CanOpenNode open source software. However, the code seems to be running in slave mode. I couldn't switch it to master mode. When it works in this way, I ...
0
votes
1
answer
116
views
Send a simple CANopen TPDO
I have some experience with CAN, but completely new to CANopen.
I have instructions to send a TPDO to a specific COB-ID (0x0050). I have the index (0x4602) and sub-index (13) to send the data (16 bits)...
0
votes
1
answer
166
views
Canopen SdoCommunicationError when trying to read RPDO config
I have a peak CAN adapter connected to a device communicating on the CAN with Canopen.
I use canopen library 2.1.0 with python 3.10.0 to create a network, add a node with an eds file and connect.
I'm ...
0
votes
0
answers
156
views
How to add dynamic PDO mapping in EL6751?
I have CANOpen slave device, which requires dynamic PDO mapping. Currently device has an EDS file, but loading it in TwinCAT produces CANOpen errors since PDO's are not configured properly in EDS and ...
0
votes
1
answer
309
views
CANBUS Consumer and Producer Hearbeat
I'm new to CANBUS and have some doubts about how the heartbeat works. My setup involves a PLC communicating with two devices, and I need to be able to determine when I have communication with them. ...
0
votes
1
answer
600
views
Differences CAN-frame and CANopen-frame
I am learning about the CANopen implementation of CAN, but there is something I can't seem to understand. I was trying to see the differences between a standard CAN-frame and a CANopen SDO-frame. When ...
0
votes
1
answer
622
views
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 ...
0
votes
0
answers
125
views
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/...
0
votes
1
answer
182
views
CANopen SYNC Message Detection with STM32L476
With an STM32L476 as CANopen node I have to detect (consume) the CANopen SYNC message on the CAN bus as fast as possible, probably in the ISR context. All other CANopen messages (beside the CANopen ...
1
vote
1
answer
179
views
How much time does a node have to reply?
Is there a time limit for a node to respond to a message?
Is there a difference between PDO and SDO messages in terms of response time?
Or does this only depend on how the Master gets implemented?
Is ...
1
vote
0
answers
91
views
Should a CAN Bus-Off condition immediately reset the connection flags despite of Nodeguarding?
I am wondering whether a detected CAN Bus-Off condition should have a direct impact on the connection status flags in my CANopen Master. It is connected to CAN Nodes that handle analog and digital I/O....
0
votes
1
answer
434
views
Python canopen send a domain
I'm using the canopen python library, see https://canopen.readthedocs.io/en/latest/index.html.
I'm trying to send a domain to my CANopen node:
# nodeHeadPort.sdo['Config Data2'].phys = b'\x11\x22\x33\...
0
votes
2
answers
971
views
Transfer binary file with CANopen
I would like to transfer a binary file to a CANopen node.
The binary file should finaly written in an Eeprom of the CANopen node.
I'm not sure how I must setup my Object Dictionary for that?
My idea ...
0
votes
0
answers
388
views
How to use CANOpen PDO?
I am trying to send data from TMS320F28335 to EPOS2 24/5 driver of Maxon Motor using CANOpen.
Previously, I used only SDO Protocol on velocity mode. But now I try to use PDO Protocol.
I refer to Fig. ...
2
votes
2
answers
2k
views
What is the difference between RPDO and TPDO?
deviceA: nodeID: 1
deviceB: nodeID: 2
Device A sends an TPDO 181, so B gets an RPDO 181.
Device B sends an TPDO 182, so A gets an RPDO 182.
There is an address range for RPDOs, for example 200 + ID. ...
1
vote
1
answer
205
views
What is an application object in CANopen?
I can't see the difference between an object dictionary object and an application object.
mapping of application objects into a PDO is determined by a
corresponding default PDO mapping structure ...
0
votes
1
answer
201
views
Where is CanOpen in the OSI modell?
Its clear that the physical and data link is covered by CAN. But does all of the upper layers covered by CANopen? Should it cover all?
What confuses me more that there are sewveral CiA documents (such ...
0
votes
0
answers
47
views
Axis id and Feedback id in CANopen
The error message in the CANopen protocol is as follows:
Based on the error code and error register, we can understand the problem message in the network, but I had two questions:
1- What are the two ...
0
votes
0
answers
368
views
Find Object Dictionary in CANopen Device
I was reading in the CANopen device number EL6751-0010, of course, using the SDO reading command, which I did as follows:
603 | 40 7A 60 00 00 00 00 00
and gave me the following error:
583 | 80 7A ...
0
votes
1
answer
80
views
Prioritize bus for RX-PDO
To send PDO messages, a prioritization is done, which message is of high importance, how should we understand this?
In the photo below, the point is that the priority is 181 and then for the rest, ...
0
votes
0
answers
119
views
Rx-PDO Application
RX configuration
To configure an RX-PDO, three object categories in the object dictionary must be taken into account:
1-The objects that describe the functionality of the mapping.
2-The objects that ...
-1
votes
1
answer
267
views
Synchronous Counter Overflow ""CANopen""
I faced a new parameter for synchronization in CANopen: Synchronous Counter Overflow.
Synchronous Counter Overflow
The synchronous counter overflow object is an object dictionary entry that defines ...
0
votes
2
answers
660
views
Time to send SDO
I am working on CANopen architecture and had three questions:
1- When the 'synchronous window' is closed until the next SYNC message, should we send the SDO message? Can we not send a message during ...
0
votes
0
answers
266
views
PDO timing in CANopen
According to CANopen, it does this to synchronize the two structures. One is to synchronize the overall NMT process, and the other is to determine when to send the PDO.
How can the processing time of ...
0
votes
1
answer
83
views
Apart from the Master, Which part can be used as a SYNC message sender in CANopen?
I encountered a problem, the message that goes from the NMT to the nodes for synchronization is usually done through the Master in CANopen.
Can another department do this?
0
votes
1
answer
116
views
Why does the candump prevent missing heart beat fault?
I have a simple CANopen application receiving and transmitting some PDOs and receiving heart beats from 2 nodes.
It works for an hour then it stops receiving heart beats. To see if I got any error ...
0
votes
2
answers
592
views
CANopenNode: Master node sends continually a message
I am trying to use CANopenNode into a STM32L476 device by using libohiboard as HAL library. In the network, I have: (i) my board that operates as a master and (ii) a commercial node. At startup, the ...
1
vote
2
answers
1k
views
CANopen TPDO comands read/write
Good day, I'm new to CANopen and have several issues related to a PDO input/output.
I get following messages from the sensor:
As far as I understand these are PDO messages. How can I decode the ...
0
votes
1
answer
499
views
Best approach to program a PLC using dbc file? (CAN communication)
This is probably not the right forum to ask this, but I need to program a Phoenix Contact PLC in Structured Text. The PLC should communicate with a motor that uses CANOpen protocol. The only resource ...
0
votes
0
answers
465
views
How do I write a program that can send and receive Canbus/Canopen messages?
I am completely new to the embedded systems part of electronics as I am mostly working with automation. But for my thesis a part of this is to make it possible to send and receive Canbus/Canopen ...
0
votes
1
answer
466
views
Python CAN receiving data (pdo mapping)
I am currently working on making a CAN tracer with Python. The connection as well as the received data from CAN work. My question now is: how can I change the PDO mapping and stop and start the ...
0
votes
1
answer
415
views
CanOpen: Is there a communication profile for "emergency object" "manufacturer-specific error field"?
I need to read data in byte 3-7 of the Emergency object.
Picture below, byte 2 is the standardized CanOpen error register available in communication profile 0x1001h (I am able to read this). I need ...
1
vote
1
answer
993
views
Canopen auto addressing with LSS, how to architect the system
I am new to Canopen and need to architect a system with the following characteristics:
1 canopen Master (also a gateway)
multiple canopen slave nodes, composed by multiple instances of the same ...
0
votes
1
answer
740
views
Install CANopen package in yocto
I have tried installing CANopen in yocto using below command. But the CANOpen is not getting installed.
bitbake canopensocket_git
In local.conf file I had added
CORE_IMAGE_EXTRA_INSTALL += " ...
0
votes
0
answers
1k
views
Connecting a CANopen device to ubuntu
I am trying to connect a CANopen motor driver to Ubuntu to control the driver. I used the CANopenNode package and then I connected the two drivers and connected a two 120 ohms resistors at both ends ...
1
vote
3
answers
2k
views
Must all CANopen Indexes have at least one subindex?
I'm fairly new to CANopen protocol and creating a slave device for analog readings.
My question related to access some of the indexes on SDO layer.
In the official documents CIA 301 and CIA 404, in ...
1
vote
1
answer
1k
views
no sdo response recieved
I'm working on creating a virtual canopen slave with python to communicate with an existing master.
when running my script I keep getting this error "no sdo response recieved".
As far as I ...
0
votes
1
answer
2k
views
CANopen protocol communication between two nodes using python canopen package
I have two USB to CAN devices (can0 and can1), they both are connected to a Linux machine which has socketcan installed in it. I have read the basics of CANopen protocol, i have not seen any example ...
1
vote
2
answers
852
views
CANOPEN SYNC timeout after enable Operation
I am a newbie in CANOPEN. I wrote a program that read actual position via PDO1 (default is statusword + actual position).
void canopen_init() {
// code1 setup PDO mapping
nmtPreOperation();
disablePDO(...
0
votes
1
answer
308
views
What is the idea behind the CANopen Transparent Mode?
There is quite a lot of literature available for understanding the concept of CANopen Master/Client, however I couldn't find any sources that describe the principle idea of the CANopen Transparent ...
0
votes
1
answer
2k
views
What is the maximum size that can be used in SDO block transfer and how?
I am trying to build an embedded system based on CANOpen principles. I constructed most of the object dictionary. I am mainly communicating with SDO (mostly expedited transfer). I have used CANOpen ...
0
votes
2
answers
103
views
Is there a formal way to zeroize in CANopen
I have a system with multiple subsystems communicating with CANOpen. There is a main unit with a screen (for men-machine interface and stuff) and sub-units for minor operations(like sample button ...
0
votes
2
answers
1k
views
RPI/Raspbian SocketCAN configuration issues
Python and RPi n00b here. Trying to get CANopen working on my RPI, and think I'm 8/10s of the way to communicating.
Target device is an RPi 3+ with fairly pedestrian install of Raspbian Buster and 5....
0
votes
1
answer
1k
views
Sending events (async data) in CANopen with more than 8 bytes of data
We are developing a typical CANbus networked system with what you could call a controller organizing a number of devices.
The devices needs configuration, which the controller writes (and might also ...
1
vote
1
answer
199
views
Are unused bytes set to zero in response to SDO reads?
I send and SDO request to read a 1 byte value like this:
|11 bit COD-ID | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 |
| 0x0601 | 0x40 | index | ...
0
votes
1
answer
272
views
RuntimeError: Not connected to CAN bus how to solve this one
I am running this code on python to do the machine control through CANopen and CANbus but I am getting this error, please help me to solve this one.
Traceback (most recent call last):
File "...
0
votes
1
answer
666
views
CANOpen protocol overhead
Can someone help me understand how much overhead CANOpen protocol adds on a CAN bus. In other words, if a node is generating a CANOpen PDO message of 8 bytes of application data, how much header/...
0
votes
1
answer
931
views
How does a CANopen frame look like, 2. What is the meaning of Transmit PDO and Receive PDO? , 3. How is a PDO mapping done programatically?
I am unable to understand the CANopen Protocol. I am aware of the working of CAN and how a CAN frame looks like. A CAN data or remote frame contains the Start of Frame , Message Identifier Field, DLC, ...
1
vote
1
answer
2k
views
CAN BUS protocol stack
Can someone explain to me what is CAN BUS protocol stack? Is it CAN BUS+ higher layers, like CANopen with 7 layers or something else, and can someone explain how can I use CAN stack, how I connect it ...
0
votes
0
answers
491
views
Automatic Node ID assignment for LSS Slaves without LSS Master
I am currently doing a system design with CANopen communication and I am curious about the following question.
In the system a device is programmed to have no Node-Id assigned (255) on startup. ...