This package is a Python implementation of the CANopen standard, as defined in DS201, DS301 and DS1301.
It uses python-can as backend.
This package has the following capabilities and features:
- Communication to remote nodes on the can open bus
- Emulating of multiple local nodes in software
- Mixed CAN/CANopen operation
- Support for all data types defined by DS301 and DS1301
Protocol support
| CANopen Protocol | State | Comments |
|---|---|---|
| EMCY Consumer | Testing | |
| EMCY Producer | Testing | |
| LSS Slave | Analysis | |
| LSS Slave | Analysis | |
| NMT Master | Analysis | |
| NMT Slave | Testing | |
| PDO Consumer | Implementation | |
| PDO Producer | Implementation | |
| SDO Client | Testing | |
| SDO Server | Testing | |
| SRDO Consumer | Analysis | |
| SRDO Producer | Analysis | |
| SYNC Consumer | Testing | |
| SYNC Producer | Testing | |
| TIME Consumer | Testing | |
| TIME Producer | Testing | |
| USDO Client | Analysis | |
| USDO Server | Analysis |
Install from latest develop branch:
pip install https://github.com/marcel-kanter/python-canopen/archive/develop.zipCheck-out with git:
git clone https://github.com/marcel-kanter/python-canopen.git
pip install -e python-canopen