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 '19 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 '19 at 0:06
  • $\begingroup$ that makes sense $\endgroup$ – jsotola Aug 31 '19 at 1:08

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, privacy policy and cookie policy

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