CANopen Maritime Software
CANopen Maritime - Software for the development of CANopen devices for maritime applications and areas of application which require redundant communication mechanisms according to CiA 302.
Highlights- Comprehensive range of functions based on the CiA 307 CANopen framework for maritime electronics, CiA 301 CANopen application layer and communication profile, and CiA 302 CANopen additional application layer functions
- Enables quick development of CANopen Maritime slave or master devices
- Modular software structure with comprehensive configuration and scaling capabilities
- Clearly structured, simple programming interface for integration in application programs
- Easy portability to alternative micro controllers and CAN controllers
Overview of functions
Building on many years of experience with CANopen based communication systems, IXXAT has developed a specification for CANopen applications in the maritime sector and the CANopen Maritime Software in cooperation with leading manufacturers of maritime automation systems.
The software package implements the CANopen framework for maritime electronics, CiA 307, and is specially designed for the increased safety requirements in maritime automation. The requirements of maritime classification organizations demand a single point of failure tolerance of the communication system. This is supported via the redundant communication on two independent CAN lines and by the flying master concept.
Redundant communication
The redundancy necessary for single point of failure tolerance requires that CANopen devices for maritime applications are connected to physically independent bus lines via two CAN controllers. In fault-free operation, transmission occurs on both CAN lines. The IXXAT CANopen Maritime Software provides complete support of the redundancy mechanism according to CiA 307, including transmit-side delay time monitoring.
Process data is always transmitted on both transmission lines. In the event of a failure of one line, the system continues working without interruption and data loss. Due to interferences or conjunction on the CAN bus, transmissions may occur at different times on both lines despite simultaneous transmit requests. The integrated delay time monitoring prevents a more recent message from being overwritten by an older message.
Network management and functionality
The CANopen Maritime Software implements independent NMT state machines for both CAN lines according to CiA 307. Flying master and startup-capable-device functionality according to CiA 302 as well as the heartbeat mechanism are supported by default.
Programming interface and object dictionary
Based on the implementation of the CANopen Protocol Software, the CANopen Maritime Software supports all object dictionary entries available with the CANopen Protocol Software. It also supports object dictionary entries for the extended heartbeat mechanisms, the redundancy configuration parameters, and the flying master timing parameters according to CiA 302 and CiA 307.
Scalability and hardware specific adaptation
Since the CANopen Maritime Software package already provides all services and mechanisms defined in the CANopen framework for maritime electronics, the developer can concentrate fully on the creation of the actual application. To insure a high degree of scalability and adaptability, the software package is configured centrally. The protocol stack can be adapted to the given application in central configuration files, thus allowing for efficient use of available resources.
Time required for implementation
The CANopen Maritime Software is supplied as a hardware-independent C source code. The supplied documentation and sample programs allow for a start with the CANopen Maritime Software. Project files are supplied with the example programs. Adaptation to the target hardware can typically be carried out within a few days. Implementation of the user application is facilitated with the example programs.
Available versions
The CANopen Maritime Software is available as slave or master/slave version. The master/slave package contains the complete scope of functions and can be used for both the development of pure slave devices and for simple master devices.
| Function | Slave | Master |
| Max. number of server SDOs | 127 | 127 |
| Max. number of client SDOs | - | 127 |
| Max. number of PDOs (Tx/Rx) | 255 | 255 |
| Dynamic PDO mapping | ||
| Maritime multiplexed PDOs | ||
| SYNC object | C | P/C |
| EMERGENCY object | P | P/C |
| TIME STAMP object | C | P/C |
| NMT functions | S | M/S |
| Heartbeat | P/C | P/C |
| NMT Start-up-Object according to (Object 1F80h) CiA 302 |
||
| Slave assignment list (Objekt 1F81h) according to CiA 302 |
- | |
| Redundant communication, active CAN line mechanism according to CiA 307 |
||
| Independent NMT state machines according to CiA 307 |
||
| NMT master monitoring | ||
| Startup-Capable-Device (S) and Flying-Master (M/S) according to CiA 302 and CiA 307 |
C=Consumer; P=Producer; S=Slave; M=Master
