I have a question about using the CAN bus to control motor controllers. Do I have to use the CAN protocol that the motor controller uses, e.g. CANopen CiA DS 301 CiA profile 402, in order to communicate with it? Or I can just use any CAN API library, let’s say SocketCan, to communicate with the motor controller?

  • $\begingroup$ why would you want to create tags? ... why don't you use existing tags that are appropriate ... can and control and library would be good ... motor and motion not so much ... your question is not really about a motor $\endgroup$
    – jsotola
    Aug 24, 2019 at 0:37
  • $\begingroup$ Its about motor controllers... but since there is not a tag called motor-controller I put motor instead... $\endgroup$
    – Moctezuma
    Aug 31, 2019 at 0:06
  • $\begingroup$ that makes sense $\endgroup$
    – jsotola
    Aug 31, 2019 at 1:08

1 Answer 1


CANopen is a application level protocol and socketcan is at the transport level.

You can send Canopen messages using socketcan without any problems.

You can compose canopen messages by hand but it will be a lot easier if you use a library


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.