===== CANopen ===== CANopen is the internationally standardized (EN 50325-4) CAN-based higher-layer protocol for embedded control systems. The set of CANopen specification comprises the application layer and communication profile as well as application, device, and interface profiles. CANopen provides very flexible configuration capabilities. These specifications are developed and maintained by [[http://www.can-cia.org/|CiA]] members. Interestingly, CANopen as an application layer and the CANopen device profile specifications are used also on Ethernet based networks like [[http://www.ethernet-powerlink.org|Ethernet POWERLINK]], [[http://www.ethercat.org/| EtherCAT]] and others. One of the success factors of CANopen is it's versatility regarding many different application fields. A lot of work was done at [[http://www.can-cia.org|CiA]] to define so called **profiles**, simple and complex device profiles, but also application profiles. Today more than 50 CANopen profiles are standardized. A [[http://www.can-cia.org/standardization/specifications/|profile overview]] is available. For possible [[:canopen:profiles| profile discussions]] use this wiki page. A CiA special interest group is currently working on a new version of the communication standard making provisions to use the features of the [[:can_fd|CAN FD]] extensions. First of all: the [[:can_higher_layer_protocols:canopen_faq|CANopen FAQ]] ==== CANopen links ==== * [[http://www.can-cia.ru/CANopen.pdf|http://www.can-cia.ru/CANopen.pdf]] - The CiA CANopen presentation - 122 pages of valuable information. \\ The original CiA document CANopen.pdf is not longer available at this site. You might find other locations. But please be aware that this document is outdated. It describes the old version 3.0 * The CiA CANopen web site is: [[http://www.can-cia.org/index.php?id=47|http://www.can-cia.org/index.php?id=47]] * [[http://atlas.web.cern.ch/Atlas/GROUPS/DAQTRIG/DCS/CANINFO/canproto.html | CANopen Software description]] written by B.Hallgren ATLAS DCS * [[http://www.microcontrol.net/download/appnotes/td-03011e.pdf|Identifier Usage in CANopen Networks]] (pdf) article written by MicroControl * [[http://www.microcontrol.net/download/appnotes/an1203.pdf | Automatic start of CANopen slave devices]] (pdf) article written by MicroControl * [[http://www.microcontrol.net/download/appnotes/an1204.pdf | Setup of node-ID and bitrate via Layer Setting Services (LSS)]] (pdf) article written by MicroControl * [[http://www.nikhef.nl/pub/departments/ct/po/doc/CANopen30.pdf | CANopen - high-level protocol for CAN-bus]] NIKHEF Amsterdam, March 2000 * [[http://www.ixxat.com/canopen_introduction_en.html| Short CANopen introduction]] and other CANopen related articles * [[wpde>CANopen]] CANopen article of the German Wikipedia. The English one is far from being as good [[wp>CANopen]] * [[http://www.canopensolutions.com/ | CANopen introduction]] IXXAT Automation GmbH * [[https://www.kvaser.com/about-can/higher-layer-protocols/canopen/ | Kvaser AB]] Intro to the CANopen Specification * The Electronic Data Sheet is a basis for working with CANopen networks with configuration, set-up analysis, service … \\ It exists in 2 formats: * The EDS as INI style format according to [[:can_higher_layer_protocols:cia306|CiA306]] is wide-spread. * The XDD as an XML format according to [[:can_higher_layer_protocols:cia311|CiA311]] allows much more flexibility. A free software for editing and checking EDS and XDD is available at [[https://canopen-forum.com/|https://canopen-forum.com/]] There is also an open forum for discussing usage of the tool and questions around the formats itself. * some thoughts about [[:can_higher_layer_protocols:canopensync|CANopen SYNC]] ==== Controversial issues ==== * Discussion about using 29bit CAN-IDs is in [[:can_higher_layer_protocols:canopenextendedidusage|CANopen extended Id usage]] * Discussion about RTR usage is in [[:can_higher_layer_protocols:what_is_wrong_with_rtr|What is wrong with RTR]] ==== CANopen source code vendors ==== * [[http://www.canopenstore.com/canopen/code | Embedded Systems Academy]] * [[http://www.emtas.de | emtas GmbH]] - CANopen CiA-301 compliant stack with master and slave functionality (**MISRA** compliant) and Services. [[wp>EnergyBus | EnergyBus]] compatible. * [[http://www.ixxat.com/index_en.html | IXXAT]]: [[http://www.ixxat.com/canopen_stack_en.html | CANopen protocol stack]] for the fast and easy development of CANopen slave and master/slave devices * [[http://www.microcontrol.net/en/products/protocol-stacks/canopen/ | MicroControl]] - CANopen Master, Slave and Bootloader * Open-source (GPLv2 and LGPLv2 licensed) CANOpen master and slave C source code from CANFestival Project [[http://canfestival.sf.net/ | http://canfestival.sf.net]] * [[http://www.port.de | port GmbH]] * [[http://www.simmasoftware.com/canopen-protocol-stack.html| Simma Software]]; High-performance CANopen protocol stack for development of CANopen. * [[http://www.systec-electronic.com | SYS TEC]] * [[http://www.tke.fi | TK Engineering]] Maintains the [[http://www.tke.fi/protocol-stacks/kvaser-canopen-stack|Kvaser CANopen stack]], a high performance and portable, CiA-301 compliant stack with master and slave functionality. In addition to source code TKE also offers a [[http://www.tke.fi/drivers/canopen-dll-windows|CANopen DLL for Windows]]. * [[http://www.canopen-solutions.com/ | Vector]] provides a complete network development tool chain ==== CANopen tool vendors ==== * [[http://www.canopenmagic.com| Embedded Systems Academy]] offers the [[http://www.canopenstore.com| CANopen store]] Softwaretools for CANopen - works with PEAK or compatible (OEM) Hardware * [[http://www.emtas.de| emtas GmbH]] * [[http://emtas.de/produkte/canopen-device-explorer | CANopen DeviceExplorer]], Process Data Linker plug-in available * [[http://emtas.de/produkte/canopen-device-designer | CANopen Device Designer]] * [[http://emtas.de/produkte/energybus-devicewizard | EnergyBus Device Wizard]] * [[http://emtas.de/produkte/canopen-update-manage | CANopen UpdateManager]] * [[http://emtas.de/produkte/canopen-networkdesigner | CANopen NetworkDesigner]] * [[http://emtas.de/produkte/can-interpreter | CANinterpreter]] with CANopen and Energybus interpretation * [[http://www.ixxat.com/index_en.html | IXXAT]] offfers a wide spectrum of [[http://www.ixxat.com/canopen_overview_en.html | CANopen protocol software, Tools and services ]] e.g. * [[http://www.ixxat.com/canopen_configurationstudio_en.html | CANopen Configuration Studio]]: Project Management and Configuration Tool for CANopen Devices and Systems * [[http://www.ixxat.com/canopen_device_manager_en.html | CANopen Device Manager]]Powerful CANopen service and diagnostics tool for service staff and developers * [[http://www.port.de | port GmbH]] * [[http://www.systec-electronic.com | SYS TEC]] * [[http://www.tke.fi| TK Engineering]] - CANopen configuration and monitoring tools, CANopen stack, CANopen fault-finding, system design and firmware development services. * Vector [[http://www.canopen-solutions.com/|http://www.canopen-solutions.com/]] provides a complete network development tool chain * Warwick Control [[http://www.warwickcontrol.com|http://www.warwickcontrol.com]]