Jump to content

How to know when a CAN bus command is really sent??

Recommended Posts



is there a way to know when a CAN bus command is sent?


I'm using the instruction "CANopen SDO download STR", the predefined functionblock to send a command.


Cause i want to send multiple commands as fast as possible i need to know when a previous sent command has finished in the servocontroller i am working with.


Now I start a timer after each command for  which I know the command is certainly processed before sending a next command (in my case in need to set it 40ms, what is to slow)


Someone has ideas how to handle this?



Link to comment
Share on other sites

  • 2 weeks later...



In general, CANopen has a success bit for NMT, Emergency, TPDO and RPDO commands.

However, SDO commands does not have this acknowledgment indication. 

If you cant use PDO commands in your application, you can try the following:

Use SB242 (CANopen SDO in Progress) and SB243 (CANopen SDO transfer failed) to create logic that will resend a command in case it failed to send.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...