CANopen Protocol Stack Library

CANopen® Master/Slave for your Application


  • Easily extend your application with CANopen capabilities

  • CANopen Manager library

  • CANopen Slave library

Easily extend your Application with CANopen Capabilities

The esd CANopen protocol libraries are intended to easily extend an application with CANopen manager/slave capabilities or to develop stand-alone manager/slave devices. The libraries offer an API to the applications and are written in pure ANSI-C optimized for performance. All CANopen specific communication tasks are handled as autonomously as possible and the application is only notified if necessary. Both libraries offer support for several physical CAN networks and may be integrated in the application at the same time. All hardware and operating system specific interfaces are located in separate libraries.

CANopen Slave Library

The slave library complies with CiA® 301 V. 4 and supports additional extensions defined in CiA 302 V. 3. An application can use the library to create one or more software CANopen slave nodes with individual object dictionary layout, PDO configuration, NMT error control mechanisms, etc..

CANopen Manager Library

The manager library complies to the CiA 301 V. 4 and CiA 302 V. 3. An application can use the library to perform the system boot-up as defined in CiA DSP 302 and to control the remote nodes with NMT error control mechanisms. The integrated configuration manager is based on DCF files as defined in CiA 306. The manager library supports remote slave nodes that comply with CiA 301 revision 3.x and 4.x. Implementations for many operating systems, which are supported by esd-VME interfaces and esd-PC CAN interfaces, are available (see table). Porting the libraries to customer specific hardware and/or operating systems is supported by esd.

 CANopen Master/Slave support overview table