CanOpen vs DeviceNet

D

Thread Starter

Daniel Berenguer

I'm looking for a good multi-master CAN-based technology with lots of devices in the market and suitable for building automation applications. I'm planning to develop a specific IP/CAN gateway for building automation applications. For the IP side, I'm pretty sure about the communication technology to implement. However, for the CAN side, I can't make up my mind whether to go with CanOpen or DeviceNet.

I've worked with J1939-based protocols in the past and I must say that I like very much how 29-bit identifiers are managed. There is no need to declare producers nor consumers, any device can generate new information and this information can then be understood by any other node following a data dictionary. Simple and robust. However, J1939 is not really used in building/industrial applications so I must go with other more widely extended solutions, like CanOpen or DeviceNet.

I understand that both technologies follow a producer-consumer model (master-slave) in the sense of how data is consumed and produced, not in the sense of how messages are sent/requested. Both use communication profiles in order to guarantee interoperability between nodes and vendors. I've read that DeviceNet is more interoperable than Canopen as Canopen needs to declare some kind of files in order to let consumers know about how their slaves work. This doesn't scare me if Canopen finally offers more flexibility for integrators and developers. Anyway, DeviceNet would be more "plug & play" than Canopen. DeviceNet accepts up to 64 nodes whilst Canopen accepts up to 127 nodes.

I'm also interested in how easy the technology will be implemented into the final product. Thus, the availability of an open source stack is a plus (my product will be open source). Canfestival seems a good candidate for Canopen but I don't know about a GPL stack for DeviceNet. Another important point for me is whether DeviceNet or Canopen are really multi-master. I like the idea of distributing the intelligence so working with CAN in a pure master-slave mode has not much sense for me.

In summary, I don't want to start a controversy but simply know your points of view, mainly if you have worked with both technologies at any level (installation, integration, development, ...). I'm mainly interested about these points for both technologies:

- Amount of vendors in the market
- Amount of available products
- Multi-master or master-slave
- Application in the building automation area
- Availability of open stacks
- Ease of development for new products
- Availability of free tools (analyzers, editors, ...)
- Cost per node or per endpoint
- Ease of installation, programming and use
- Simplicity of architecture and communication mechanisms
- Perspectives...

Thanks in advance for sharing your experiences with me.

Daniel.

 
Devicenet is not an open standard. It's controlled by the ODVA, which is a closed club led by AB (Rockwell). I looked into this about a year ago because I was interested in their Ethernet protocol (Ethernet/IP).

The essentials are, you have to be a paid up club member to license their protocols. They decide whether they want you in their club. You have to sign a very one-sided contract (giving up a lot of your legal rights) to even evaluate the protocols. They get to approve what products you can sell, distribute, or make available. Conformance testing is mandatory (this isn't cheap). If you cease to be a member in good standing, you lose all rights to even use whatever products you developed. If any of that is a problem for you, then Devicenet isn't what you want.

As for what is actually being used in the building automation market, I think it's mainly BACNet (open) and Lontalk (sort of open), plus various proprietary protocols. I'm not sure what you are trying to accomplish with CAN in this market, but you might want to consider it from the perspective of how your CAN protocol could inter-operate with existing BACNet networks.
 
D

Daniel Berenguer

Thank you very much for your response.

Lonworks is too expensive to work with for an open source project like mine. On the other hand, I'm planning to do some work on KNX in the future but, for the moment, I wanted to try out CAN in these environments. I've read a lot of articles describing Building Automation projects accomplished with Canopen but the explanations are always quite generic.

I want to thank you too for your explanation about the DeviceNet issues. Indeed, I don't want to spend money in closed protocols or useless certifications at this moment. Thus, I'm going for Canopen I guess.

As for Bacnet, I see this technology rather as a backbone solution where other field buses can be connected to. In fact, most Bacnet products that I know are gateways to other systems... I could be wrong though...

Daniel.
 
Thread starter Similar threads Forum Replies Date
M General Communications Chat 1
E General Communications Chat 6
H General Automation Chat 0
B Open Control 6
O Motion Control 0
Top