esd electronics CANopen protocol stack library

Save as PDF

The esd electronics 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 the 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 V4 and CiA 302 V3. An application can use the library to perform the system boot up as defined in CiA 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 V3.x and V4.x.

Implementations for many operating systems, which are supported by esd-VME interfaces and esd-PC CAN interfaces, are available. Porting the libraries to customer specific hardware and/or operating systems is supported by esd.

CAN/ CANopen Software Tools

For the comprehensive range of CAN interfaces there are layer-2 drivers available for most kinds of operating systems. Perfect portability is provided by means of esd's universal NTCAN-API, which is identical for all operating systems. The usability of higher layer CAN protocols at these operating systems is also ensured, because they are based on this API. The NTCAN-API is included in the scope of delivery of the CAN modules.
The corresponding SDK (software development kit) and the CAN Tools for Windows and Linux are also included free of charge. Updates can be downloaded from the website.


CAN-I/O Controlled From Within .NET Framework

  • NTCAN.NET class library
  • Allows every compiled (C#, VB.NET, etc.) or interpreted language supporting the .NET framework to do CAN I/O from within the managed environment
  • Class library which allows developers who target the Microsoft®.NET platform to use esd CAN boards
  • Single assembly which supports the complete functionality of the (unmanaged) NTCAN-API in the managed .NET environment
  • No simple wrapper but a tight integration into the .NET framework
  • Supports Microsoft .NET 2.0 framework and higher versions
  • Fully CLS (Common Language Specification) compliant, so all compiled and interpreted .NET languages can use the assembly
  • Comes with class documentation and sample code in C# and VB.NET


Graphic Display of CAN Bus Data

Lightweight plotting CAN Data:

  • Display of online/offline CAN data in form of graphs
  • Selection of individual message identifiers, position in data field and data type
  • Individual selection of data graphs and color coding of data

Efficient Analysis by Graphical Observance:

  • Supports efficient analysis and monitoring of CAN data in applications and networks

Free of Charge:

  • Part of the esd software development kit (SDK)
  • Operational with all esd CAN hardware interfaces


Monitoring Tool for CAN Diagnostics

Display and record of CAN Messages:

  • Highly configurable CAN monitor
  • Adjustable CAN-ID filter
  • CAN message logging
  • DBC signal display
  • High resolution time stamp
  • CAN error recognition
  • Various trigger functions
  • Sophisticated CAN statistics with busload calculation
  • Ambitious sending list of user defined CAN message

Efficient and Expandable:

  • Expandable by open plugin interface
  • Multiple instances on same or different CAN networks
  • Supports efficient setup, analysis and diagnostics of CAN applications and networks

Free of Charge:

  • Part of the esd software development kit (SDK)
  • Operational with all esd CAN hardware interfaces


Python Scripting Tool

Python scripting CAN:

  • Execution and management of Python scripts
  • Quick and easy creation of user-defined powerful CAN applications
  • Supports directly esd NTCAN-API

Usefull Status Messages:

  • Helpful runtime status messages
  • Output of Python messages in a status window

Free of charge:

  • Part of the esd software development kit (SDK)
  • Operational with all esd CAN hardware interfaces

Extract of further CAN/ CANopen Software and Protocol Stack Library:

Protocol Stack: CANopen libraries, J1939 source code, ARINC 825 libraries


Driver: Virtual CAN Driver

Tool: esdACC Error Injection Tool GUI, CANplot, CANreal, CANrepro, CANscript, COBview, CAN SDK, J1939 DSM

For more information about esd electronics products please visit the website.