The following table provides an overview about the functionalities of the CANopen Master and Slave Library. Functionalities listed under Extra Package are licensed seperatly.
...
CANopen Service
...
Slave Library
...
Master/Slave Library
...
Extra Package
...
NMT master
...
...
✔
...
...
CANopen Library is a source code library and provides a CANopen communication layer.
The CANopen Library is available in the following variants:
CiA-401 framework
service type(s) | variable type | single-line | multi-line |
slave | global | ✔ | ✔ |
not global | ✔ | ➖ | |
master + slave | global | ✔ | ✔ |
SDO client
128
128
SDO server
128
128
SDO expedited transfer
✔
✔
SDO segmented transfer
✔
✔
SDO block transfer
✔
SDO manager
✔
SDO requesting device
✔
PDO producer
512
512
PDO consumer
512
512
PDO dynamic mapping
✔
✔
PDO bit-wise mapping
✔
✔
MPDO source mode
✔
MPDO destination mode
✔
Heartbeat producer
✔
✔
Heartbeat consumer
128
128
Node Guarding master
✔
Node Guarding slave
✔
✔
life guarding
✔
✔
EMCY producer
✔
✔
EMCY consumer
128
128
SYNC producer
✔
SYNC consumer
✔
✔
TIME producer
✔
TIME consumer
✔
✔
nonvolatile storage
✔
✔
NMT Startup manager
✔
Flying Master
✔
Configuration Manager
✔
program download
✔
✔
redundancy support
✔
LED indicators (CiA-303-3)
✔
✔
Safety communication (CiA-304)
✔
LSS services (CiA-305)
✔
✔
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