We have a robot project where the motor controllers use CANopen for communication. I need to communicate with these motor controllers using a master microcontroller. The pro
Unfortunately, there is no simple CANopen layer. To support CANopen, you have to implement the whole thing.
I suggest you buy a CANopen library from a third-party vendor. Usually they're not cheap, but considering the time you would need to implement this yourself it's cheaper than your salary for that time.
We've been using PORT GmbH's ANSI-C CANopen Library library, which is moderately priced and has very few bugs, compared to other libraries we tried.