Re: CANOpen Object Dictionary Help
Stephen Glow <[email protected]>
| Newsgroups | gmane.comp.hardware.bus.can |
|---|---|
| Message-ID | <[email protected]> |
Hi John; One thing that you should realize is that CAN and CANopen aren't exactly the same thing. CAN is a type of low level serial bus which supports sending messages containing up to 8 bytes of data at a time. Lots of microcontrollers have CAN peripherals built in. CANopen is a higher level protocol built on top of the CAN bus. It's popular in industrial applications. You may not even need to worry about the CANopen protocol unless you're trying to interface to a device that implements it. If your small project just involves communicating between a couple devices that you will be writing the software for, then you can just send CAN messages back and forth between them. If you're trying to interface to a device that talks CANopen then you will need to implement that protocol. In CANopen, the main way that you communicate with a device is by reading / writing parameters on the device. These parameters are called 'objects' in CANopen, and the set of all the objects that the device supports is called the object dictionary. CANopen defines a couple different ways to read and write these objects by sending specially formatted CAN messages. If you're interested in implementing CANopen on your device, you should download the CiA 301 specification from here: http://www.can-cia.org/ That's the spec that defines the basic methods for reading / writing objects using CAN messages. Rgds, Steve On 06/11/2014 07:24 AM, Spam Spam wrote: > Hi all, > > I am new to CAN and am using it for a small project I'm doing. I was > wondering what the use of the object dictionary in CANOpen is. I am > very sorry if this sounds basic, but I have thoroughly searched google > and have come up with nothing that can explain to me clearly the use > of the object dictionary and if/how I can implement it on my own. I > was wondering if there are alternatives to CANOpen/if I really needed > the object dictionary as all I am doing is communication using CAN. > > Thanks you very much for your help, > John