Free Tools for quick Set Up and Operation of CAN Networks
Since the 1980s, the CAN bus has simplified transmission paths to and from analog and digital devices. Today, CAN bus networks can be found in many industries: from automotive applications to automation technology, medical engineering and aircraft technology. In order to set up, configure and manage CAN networks in a time-saving way, esd electronics offers free software tools for all CAN components.
The CAN bus (Controller Area Network) is a classic fieldbus and is based on serial data transmission. The automotive industry played a leading role in the development of this technology with the aim of saving material – cables in the first place. In the late 1980s, CAN was internationally standardized in ISO 11898-1 (Definition Layer 2 in the ISO/OSI reference model).
Since the early days of CAN, esd electronics has successfully concentrated on the development of CAN components. The product portfolio ranges from CAN interfaces, gateways and bridges, I/O modules, plug-in card systems as well as CPU boards. To support users with an easy set up and operation of CAN networks based on these components, the company from Hanover in Germany offers free software tools.
Comprehensive Software Tools included
First and foremost, the CAN Software Development Kit (CAN SDK) for the NTCAN API deserves mentioning. It offers comprehensive support in software development and includes the CAN diagnostic tools CANreal, CANplot, CANrepro, CANscript and COBview. The system requirement for using these tools is a current Windows operating system as 32-bit or 64-bit version. In addition to the five CAN tools, the CAN SDK includes header files, libraries, sample applications and documentation. Another tool is the esdACC Error Injection GUI tool, which can be used to simulate CAN errors.
The CAN SDK allows developing, debugging and testing of applications based on CAN hardware. All tools as well as the programming API share the multi-process NTCAN architecture. It supports CAN FD and Timestamped Rx+Tx including CAN inter process communication. A virtual CAN driver for developing and testing applications completes the extensive toolbox.
The libraries and samples included in the CAN SDK are available for many programming languages and environments. These include C/C++ (Visual, Borland, MinGW), Visual Basic 6, Delphi, PureBasic and Python. In addition, the CAN SDK also includes NTCAN.NET class libraries for the Microsoft.NET Framework for easy implementation of applications in C# or VB.NET. In addition, the CAN SDK offers function blocks for API functions as well as the function blocks of the CANopen Tiny Manager for easy use of CAN and CANopen in Labview.
Third-party software can be used directly with the CAN hardware from esd through suitable libraries. For example, esd offers a DLL for the CANopen® Conformance Test (CCT) from CAN in Automation (CiA) and a corresponding version for the DeviceNet Protocol Conformance Test, a software of the Open DeviceNet™ Vendors Association (ODVA).
Monitoring and Testing with CANreal
The software tool CANreal is a monitor program for extensive monitoring and analysis and is also used as a test environment for CAN networks. Thanks to its open plugin interface, both supplied and self-written plugins can be used, such as those for CAN Databases (DBC) or J1939.
CANreal has proven effective as a CAN test and monitoring tool. With its wide range of configuration options, the program is also extremely versatile in diagnostics. For example, it is possible to set CAN ID filters for 11- and 29-bit CAN IDs, to log CAN messages and to display signals decoded with DBC files. Moreover, high-resolution time stamps can be evaluated and CAN error detection and a variety of trigger functions can be used. The messages are clearly displayed either as an online list or statically (object mode). The user can configure the columns at will. The timestamps of CAN messages can be displayed as absolute values, with or without a date accurate to the microsecond, depending on the settings. An additional column also displays the relative value with respect to the previous CAN message. For CAN hardware supporting IRIG-B, the transmitted timecode can also be set and put out as a time base.
Furthermore, CAN statistics with a calculation of bus loads and with transmit maps for user-defined CAN messages are available for diagnostics. The logging function offers the possibility to split large data sets into several files, or to overwrite them cyclically for data reduction. Files with recorded frames can be converted to csv files or reloaded into CANreal (offline list) and into esd CAN tools such as CANplot or CANrepro. The statistics function provides detailed information about the CAN network, from the number of CAN frames to error frames and much more.
The single fault diagnosis shows detailed information about faulty CAN messages. A search function with bookmarks allows searching for individual CAN frames or error frames. An advanced search can be defined individually. Since the tool is based on the esd CAN driver with multi-process NTCAN architecture, several instances of CANreal can be opened simultaneously to a CAN network. Alternatively, the CAN network used by an application can be directly observed.
Displaying CAN Data graphically with CANplot
Graphics of data not only show values at a glance but also ratios and proportions. CANplot prepares CAN data and displays it graphically on two freely scalable coordinate axes (online and offline). Thanks to the individual message recognition, criteria such as position in the data field and the data type can be selected and displayed in individual data graphs with color assignment. CAN bus data can be selected according to network number, message identifier and position in the data field. Several numeric data types are predefined for data interpretation. Data formats from Intel and Motorola (Big Endian/Small Endian) are supported. These CANplot features offer easy operation through the toolbar and the self-explanatory interface.
Further Information for Download as PDF Document
Free Tools for quick Set Up and Operation of CAN Networks Complete technical article on CAN Tools for setting up CAN networks (PDF) 1 MB
Reproducing CAN Frames with CANrepro
For analyzing CAN communication, the CAN messages previously recorded via CANreal can be repeated with CANrepro. This function allows incoming diagnoses or automated test procedures. The original time sequences remain at the reproduced data and individual CAN IDs can be selected. Using CANrepro a realistic simulation of CAN devices is possible and again the recorded CAN messages can be reproduced. CANrepro offers simple operation through an equally clear user interface.
Creating Python Programs with CANscript
If executable Python programs (Python scripts) are required, CANscript provides a corresponding GUI frontend allowing execution of PyNTCAN-based scripts for test automation, residual bus simulation, and other applications.
Setting up CANopen Nodes with COBview
COBview provides the user with a CANopen object overview and enables the modification of device parameters and of network states for testing purposes as well as for the setup of CANopen nodes. In addition, the program helps with the analysis and diagnosis of CANopen nodes and with the search and display of CANopen devices in a CANopen network. The tool offers basic CANopen network management (NMT) functionality (Start Node, Preoperational, Reset, Stop) as well as read/write access to the object library. It lists CANopen objects with all subindexes and makes an object data interpretation. The objects are read by index and displayed in a list of all subindexes. Data interpretation is generic in multiple formats without the need to load EDS files. A bus scan lists all devices on the bus.
Simulating CAN Errors with the esdACC Error Injection GUI Tool
The esdACC Error Injection GUI tool provides a free graphical user interface designed for the Error Injection unit integrated into some of esd’s CAN interfaces. Conventional CAN controllers available on the market at present, are not able to send faulty CAN frames due to their design. However, the esdACC CAN IP core, supplemented by the error injection unit, can generate or simulate numerous CAN errors. In addition to the GUI tool, Error Injection can also be configured and used directly via API calls using the NTCAN API. In this way, automated test cases can be realized in complex test scenarios.
Thanks to software support provided in the form of harmonically constructed tools on the one hand a quick and easy setup of CAN networks becomes possible. On the other hand, they offer many possibilities for analysis, diagnosis and optimization. Simulations for testing purposes and monitoring, for example in troubleshooting, should not be neglected, either. The described software tools offer added value that allows the optimal and efficient use of esd CAN components.