Features and Benefits
- Comprehensive range of functions based on the CANopen® specification CiA® 301
- Enables quick and easy development of CANopen devices (slave and master)
- Modular software structure with comprehensive configuration and scaling possibilities
- Integration in the operating system of the target system with universal interface
- Easy portability to alternative micro controllers and CAN controllers
- Multi-channel support
Functional overview and software architecture
The CANopenRT software contains all functions necessary for implementing slave or simple master devices according to the CANopen specification CiA 301.
In the CANopenRT software package, a central CANopen task is responsible for processing all protocol related functions and services. This task is triggered as soon as there are pending tasks, and, processes only these tasks.
Programming interface and object dictionary
The CANopen Real-Time Interface (CRT) is the programming interface between the application tasks and the CANopen protocol stack. The CRT implementation is based on mailboxes, allowing for a non-blocking internal communication. An application may consist of several tasks which can use the CRT independently of each other. Data is exchanged between application and CANopen software via the object dictionary. Each object dictionary entry can be directly allocated a variable reference with application data. In a similar fashion, each application object can also be allocated a user-specific call-back function. This allows for fast, event-controlled reaction of the application when these objects are accessed. Simultaneous access to the data of the object dictionary by the application and CANopen software is controlled by semaphores.
Process- (PDO) and service-data-objects (SDO)
The CANopenRT software supports the PDO transfer types asynchronous, synchronous and on request. PDO-mapping can be realized either statically or dynamically. In addition multiplex-PDO, dummy mapping and variable inhibit time are available. Objects may be mapped into several PDOs simultaneously. For SDOs, the transfer types expedited, non-expedited (segmented) and block transfer are supported.
Master functionality and network management
The CANopenRT software supports the boot-up message introduced with version 4 of the CANopen specification. It provides supports for all network services including node guarding with or without life guarding (master monitoring), and heartbeat with producer monitoring as defined in CiA 301. Functionality, such as control of the system boot-up, automatic download of configuration data and specific reaction to node failures is not included but can be implemented by the user based on the available NMT services.
Operating system support
All operating system services are encapsulated in virtual OS calls, which are contained in a central module (Generic Operating Environment, GOE). The CANopenRT software can be easily adapted to alternative operating systems. Only the support for semaphores and mailboxes, or message queues, is required.
Implementation work
The CANopenRT protocol software is delivered as a hardware-independent, standard C-source code. The documentation and example programs supplied with the software allow for a quick start with the CANopen software. If the operating system used has its own CAN driver, a wrapper for this driver is required to adapt the native driver interface of the operating system to the driver interface expected by the CANopenRT software package.
Available versions
The CANopenRT Protocol Software is available in slave master/slave versions. The master/slave package covers the complete range of functions and may be used for the development of both pure slave devices and simple master devices. The CANopen functionality available with the CANopenRT software fully corresponds to that available with the CANopen Protocol Software.
Supported operating systems
Ixxat directly supports the CANopenRT software package on a number of different operating systems. In addition optimized versions for other operating systems are available directly from the manufacturer of those systems. Please consult the Ixxat home page for an up-to-date list of supported target operating systems.
Contents of delivery |
- Source code in C |
- Example code in C |
- Software user license |
- Programming manual |
- Technical support (time limited) |