Is an Arduino Uno capable of Communicating with a CANopen Device?

Hello,

I have an Arduino Uno R3 and an MCP2515 CAN transiever and I am trying to connect and control to a motor controller that communicates using CANopen.

I was wondering with just an Uno and the MCP2515 transiever can I implement a system that communicates through CANopen?

Currently I am using a normal CAN library that allows me to communicate successfully between two Arduino's using CAN, and I have created a various number of commands that are formatted as CANopen SDO messages. But when I send the SDO formatted CANopen messages I am having no luck in trying to get the motor controller to do anything.

I also came across the following documentation and it states that "At the heart of CANopen is the Object Dictionary (OD), which all nodes must contain". And I found this confusing, so I was wondering if I would have to have object instances or something for all items on the object library in order to be able to communicate to the motor controller... or do I just have to create SDO read and write messages in order to change and get data from the motor controller?

The motor controller I am using is an ASI BAC8000

If anyone could help I'd greatly appreciate it!

Best,
Arya