Company Logo Innovators in Control

Products

CANopen Stacks – ANSI-C CANopen Library

 
Overview

 The CANopen Library provides all required services for a CANopen compliant communication according to the communication profile CiA 301 V 4.1. It facilitates easy and fast development of master and slave devices and is able to serve one or multiple CAN-Controller in one device.
The CANopen Library is available in different expansion stages: 

 The functional range can be extended by additional modules (LSS, Redundancy, Flying Master, CANopen safety, …) (see CANopen-Library Extension modules).

Access to the hardware is carried out via a defined driver interface, which is available for many CPU- and CAN controller with and without operating system (see CANopen Driver Package).

Application

The CANopen Library is based on ground of the communication profile CiA 301 V4.1 of the CiA e.V. “CANopen Application Layer and Communication Profile” and EN50325-4 , respectively, and provides all services specified therein. It is completely written in ANSI-C and can be compiled with every ANSI-C compliant compiler.

Depending on the required scope of functionality the CANopen Library is available in different expansion stages. For development of small sensors and actuators with limited CAN- open services the Slave Small-Version is available. Its limitations are composed of a restricted number of service instances and no support for the CANopen services SYNC and TIME.
With the Slave-Version of the CANopen Library all services are provided for development of full-featured slave devices.
The functionality of the network management master as well as the comfortable node monitoring functionality is provided by the Master/Slave-Version, which of course contains the services of the Slave-Version.

Additional services of other communication profiles (CiA 3xx) are provided by means of extension modules.

All versions of the CANopen Library are compatible to each other and are constantly tested with the current CANopen Conformance Test for compliance with the standard.

All hardware specific parts are decoupled from the CANopen protocol stack through a defined driver interface. This provides easy adaptation to different hardware platforms. One free driver package comes with the purchase of a CANopen Stack. See Driver Package link for drivers that are available. Extra drivers may be purchased.

 CANopen Library

The CANopen Library consists of a hardware independent and a hardware dependent part that communicate with message queues. The hardware dependent part consists of controlling software for the CAN controller and timer functions. A detailed description can be found in the CANopen Driver Package.

The application communicates only with the hardware independent part of the CANopen Library. That way it is possible to exchange drivers without any influence on the functionality of the application. The initialization of CANopen services is done with function calls within the application. During the execution of the application the CANopen Library executes all necessary communication tasks autonomously and informs the application about CANopen messages with the help of callback functions.
Communication requests from other devices as well as necessary periodical tasks and time out monitoring is handled within the CANopen Library. All requests are proved for correctness (access rights, data types etc.). The application is notified after completion of the communication and occurrence of failures, respectively, through service oriented callback functions. In these callback functions appropriate actions can be carried out from the application.

The object directory is designed to contain references to the variables in the user application. Consequently it is possible to take over variables from an existing software without any changes in the object dictionary.

The high degree of scalability of the CANopen Library is of particular importance for devices with limited resources. On one hand, this is achieved by the modularity in individual service groups, like sdo.c, pdo.c, …sync.c, and on the other hand, through the use of compiler directives in the respective modules.

Thus, the code size is proportional to the utilized CANopen services.

Furthermore, variants of the CANopen Library for the support of multiple CAN lines (max.255) are available. Therefore it is possible to serve several independent CAN networks on devices without an operating system or with an operating system. The usage of an operating system requires it to provide means of resource protection mechanisms. Each line holds its own object directory and can be used as master and slave, respectively, independent of the other lines. Owing to the separation of the protocol stack and the hardware drivers, the individual lines can also be operated with different CAN controllers.

Delivery of the CANopen Library comprises different example programs that describe the usage of the various CANopen services. All examples contain a complete implementation of a CANopen device including the object directory as well as application code. These are ready to be compiled and run.

Among the detailed documented source code there is the reference manual and an a printed user manual, numbering 200 pages, as documentation of the CANopen Library available.

The CANopen Library is constantly improved and adopted to customer requirements. In order to keep up with the latest version of the CANopen Library port provides its customers an update service.

The support engineers of port are ready to answer all questions by email, phone or fax regarding the initial operation of the CANopen Library or further questions to the topic CANopen. This service is exempt from charges up to 6 months for requests by email and fax and up to 6 months for requests by phone.

For development, test and initial operation of CANopen devices port provides a comprehensive tool chain. The creation of the object directory is simplified with the CAN- open Design Tool (CANopen Design Tool Light version belongs to the scope of delivery).

Delivery scope 

 Support 

 

CANopen Design Tool Light 

 

 Licensing conditions (excerpt) 

For the CANopen Library a one-off license fee is charged in form of the purchase price. Further license fees do not arise from the deployment of the software within the same company (no runtime licenses).
It is not allowed to hand over the software and the implementation, respectively, towards a third party.

www.WarwickControl.com © 1999 - 2012 - All Rights Reserved