The CANopen Library is a source code library and provides a CANopen communication layer.
The CANopen Library is available in the following variants:
service type(s) | variable type | single-line | multi-line |
slave | global | ✔ | ✔ |
not global | ✔ | ➖ | |
master + slave | global | ✔ | ✔ |
not global | ✔ | ➖ |
The standard scope of delivery of the CANopen Library includes the following CANopen services:
CANopen service | CANopen Library slave | CANopen Library master + slave |
NMT master | ➖ | ✔ |
NMT slave | ✔ | ✔ |
SDO client | 128 | 128* |
SDO server | 128 | 128 |
SDO expedited transfer | ✔ | ✔ |
SDO normal transfer | ✔ | ✔ |
PDO producer | 512 | 512 |
PDO consumer | 512 | 512 |
PDO dynamic mapping | ✔ | ✔ |
PDO bit-wise mapping | ✔ | ✔ |
Heartbeat producer | ✔ | ✔ |
Heartbeat consumer | 127 | 127 |
Node Guarding master | ➖ | ✔ |
Node Guarding slave | ✔ | ✔ |
Emergency producer | ✔ | ✔ |
Emergency consumer | 127 | 127 |
Synchronization producer | ➖ | ✔ |
Synchronization consumer | ✔ | ✔ |
Time producer | ➖ | ✔ |
Time consumer | ✔ | ✔ |
Store / Restore nonvolatile | ✔ | ✔ |
Program download | ✔ | ✔ |
NMT Startup Manager | ➖ | ✔ |
Configuration Manager | ➖ | ✔ |
CANopen LEDs | ✔ | ✔ |
Layer Setting Services | ✔ | ✔ |
(*… 127 for 16 bit CPUs or big-endiness machines)
Further special CANopen services are provided by extra packages to the CANopen Library. Extra packages are licensed separatly. The following extra packages are available:
CANopen service | CANopen Library slave | CANopen Library master + slave |
SDO block transfer | ✔ | ✔ |
SDO Manager | in revision | in revision |
MPDO | ✔ | ✔ |
Flying Master | ➖ | ✔ |
Redundancy support | ✔ * | ✔ * |
Safety | ✔ | ✔ |
I/O framework | ✔ | ✔ |
(*… only available for single-line with global variables)
The CANopen Library is independent of the target hardware. A CANopen Library Driver is necessary to connect the CANopen Library with the target hardware. CANopen Library Drivers are available for many systems:
embedded systems without operating system
embedded systems with various RTOS
Linux / socketCAN
Windows on CPC, IXXAT, Kvaser, Peak and Vector
running on many platforms from: (in alphabetical order)
Atmel
Fujitsu
Infineon
Microchip
Microsemi
NEC
NXP (Phillips, Freescale)
Renesas
ST Microelectronics
Texas Instruments
Xilinx
Please contact us whether the target hardware you want is supported by the CANopen Library. We like to expand the range of the CANopen Library Drivers on request.
The CANopen Library is highly configuarble. The https://portgmbh.atlassian.net/wiki/spaces/ICCX/overview allows the tool-based configuration. Additionally the Industrial Communication Creator tool allows the design of the object dictionary of CANopen devices and generates:
C code for the CANopen Library configuration and initialization/deinitialization and the object dictionary
EDS / XDD
object descriptions (adaptable for user’s requirements)
The CANopen Library can be combined with the https://portgmbh.atlassian.net/wiki/spaces/CB/overview to update firmware or to download files.
The CANopen Device Monitor of port represents a CANopen master and allows an easy start of CANopen communication with CANopen slave devices.
port provides CANopen integration support and trainings for:
CANopen
CANopen Library and CANopen Library Drivers