CANoe_ProductInformation_EN
CANoe_ProductInformation_EN
Product Information
CANoe
Table of Contents
2 Functions.................................................................................................................................................................................... 8
2.1 Special Functions ...................................................................................................................................................................... 9
2.2 Database Support................................................................................................................................................................... 10
3 Analysis .................................................................................................................................................................................... 10
3.1 Measurement Setup................................................................................................................................................................ 11
3.2 Trace Window .......................................................................................................................................................................... 12
3.3 Graphics Window .................................................................................................................................................................... 13
3.4 Scope Window ......................................................................................................................................................................... 14
3.5 Data Window........................................................................................................................................................................... 15
3.6 Statistics Window .................................................................................................................................................................. 15
3.7 State Tracker ........................................................................................................................................................................... 16
3.8 Write Window ......................................................................................................................................................................... 17
3.9 Video Window.......................................................................................................................................................................... 18
3.10 Map Window ............................................................................................................................................................................ 19
3.11 Scene Window ......................................................................................................................................................................... 19
3.12 Triggers and Filters ................................................................................................................................................................. 20
3.13 Logging/Replay ....................................................................................................................................................................... 20
4 Stimulation/Simulation .......................................................................................................................................................... 21
4.1 Variables and Generators ...................................................................................................................................................... 21
4.1.1 Interactive Generator ............................................................................................................................................................. 21
4.1.2 Signal Generator ..................................................................................................................................................................... 22
4.2 Set Start Values ...................................................................................................................................................................... 23
4.3 Symbol Mapping ...................................................................................................................................................................... 24
4.4 Interaction Layer, Network Management, Transport Protocols ........................................................................................ 24
4.4.1 OEM-Specific Extensions ....................................................................................................................................................... 24
4.4.2 Configuration of the Interaction Layer ................................................................................................................................. 25
4.5 MATLAB/Simulink ................................................................................................................................................................... 25
4.5.1 Further Functions of the CANoe MATLAB/Simulink Integration ....................................................................................... 26
4.5.2 Further Information ................................................................................................................................................................ 27
5 Test ........................................................................................................................................................................................... 27
5.1 Testing ECUs and Networks .................................................................................................................................................. 27
5.2 CAN/CAN FD Disturbances ................................................................................................................................................... 31
5.3 Further Information ................................................................................................................................................................ 32
6 Diagnostics .............................................................................................................................................................................. 32
2
CANoe
8 Connectivity............................................................................................................................................................................. 38
8.1 Connection to Broker or Backend .......................................................................................................................................... 38
8.2 VH4110 Hardware – “IoT Enabler” ........................................................................................................................................ 38
9 ADAS ........................................................................................................................................................................................ 38
10 Programming ........................................................................................................................................................................... 39
10.1 CAPL Interface ........................................................................................................................................................................ 39
10.1.1 C-Like Syntax .......................................................................................................................................................................... 39
10.1.2 Event-oriented Control........................................................................................................................................................... 39
10.1.3 Symbolic Access ...................................................................................................................................................................... 40
10.1.4 Application-Specific Language Extensions .......................................................................................................................... 40
10.2 CAPL Browser ......................................................................................................................................................................... 42
10.3 .NET Programming .................................................................................................................................................................. 43
10.4 Debugging ................................................................................................................................................................................ 44
10.4.1 Further Information ................................................................................................................................................................ 45
10.5 Visual Sequencer ..................................................................................................................................................................... 45
11 Panels ....................................................................................................................................................................................... 45
3
CANoe
20 Training .................................................................................................................................................................................... 60
V6.4 10/2021
This document presents the CANoe use areas of analysis, stimulation/simulation, testing, diagnostics and their individual
functions. The document also contains a brief overview of programming in CANoe, supplemental options and programs as
well as hardware and software interfaces.
Product information and technical data on CANoe options are provided in separate documents.
4
CANoe
1 Introduction to CANoe
CANoe is a versatile tool for the development, testing and analysis of entire ECU networks as well as individual ECUs. It
supports network designers, development and test engineers at OEMs and suppliers over the entire development process –
from planning to the start-up of entire distributed systems or individual ECUs.
At the beginning of the development process, CANoe is used to create simulation models which simulate the behavior of the
ECUs. Over the further course of ECU development, these models serve as the basis for analysis, testing and the integration
of bus systems and ECUs. This makes it possible to detect problems early and correct them. Graphic and text based analysis
windows are provided for evaluating the results.
CANoe contains the Test Feature Set for easy and automated test execution. It is used to model and execute sequential test
sequences and automatically generate a test report. The Diagnostic Feature Set is also available within CANoe for diagnostic
communications with the ECU.
5
CANoe
In CANoe, various options are available for the different bus systems and CAN-based protocols, and any combination of these
options may be used.
CANoe supports the following bus systems: CAN, CAN FD, LIN, MOST, FlexRay, J1708, Ethernet, K-Line, A429, WLAN and
AFDX® 1
You will find detailed information on the options in separate product information documents.
CANoe is available in the following variants for special purposes at OEMs and suppliers:
> As a Runtime (run) variant with unmodifiable simulations, full range of analysis functions and easy
activation/deactivation of individual network nodes. This variant is intended for users who wish to quickly and simply
test their ECU in interaction with a prescribed remaining bus simulation.
> As a Project Execution (pex) variant with just a graphic user interface. The test cases and results are very easy to control
without requiring special evaluation of the underlying messages.
The CANoe/CANalyzer compatibility mode lets you use both programs, e.g. within a project or an organization, by exchanging
uniform configurations. Then the appropriate program can be used in the optimal variant for each use case. During ECU
development, the full variant of CANoe is used, while system integrators and test drivers can use the same configuration in
CANalyzer to test the bus communications.
The product contents depend on the selected product variant. The full version contains the following components in addition
to CANoe itself:
> Numerous sample configurations of the overall system, on all installed bus system options and on special use cases such
as testing and diagnostics
> Editors and display programs for various database formats, for panels and for CAPL programming
> Transport protocol (TP) per ISO/DIS 15765-2 and the interaction layer (IL) according to Vector specification
Other modules, such as OEM-specific TP or IL, are not included with the standard product, but they can be obtained from
Support at no extra charge.
6
CANoe
CANoe benefits from higher clock rates rather than higher number of cores.
Memory (RAM) ≥ 32 GB 4 GB
≥ 20 GB SSD/NVMe 8 GB HD/SSD
Hard Disk Space
Depending on options used and required operating system components.
Screen resolution Full HD 1280×1024 Pixels
Operating system* * Not virtualized. Running in a virtual machine is possible but not tested. Operation
with Vector hardware may be affected by virtualization (e.g. higher latencies may
occur).
In addition to Section 2.1 of the "End User License Agreement for Vector Standard Software Products", the following usage
scenarios are permitted for CANoe; "CANoe automation or remote access to CANoe is allowed with a device license if CANoe
is operated in order to access a real system with Vector hardware (VN, VT, VX) (for example at a test station or in a server
environment)".
In Addition to Section 2.1 and 2.2 of the “Enterprise Licensing Terms and Conditions for Vector Standard Software Products”
the following usage scenarios are permitted for CANoe; "Automation of CANoe or remote access to CANoe is allowed with a
device license and/or named user license if CANoe is operated to access a real system with Vector hardware (VN, VT, VX) (for
example at a test station or in a server environment).“
7
CANoe
2 Functions
Basic CANoe functions include:
> Use of databases that describe the specific network (e.g. DBC, FIBEX, LDF, NCF, AUTOSAR System Description, MOST
Function Catalog)
> Diagnostic communication per KWP2000 and UDS and use as a fully functional diagnostic tester
> User programmability using the CAPL programming language to support simulation, analysis and testing
> Creating customized user interfaces to control the simulation and tests or to display analysis data
> Integration of additional I/O hardware and/or special test hardware (VT System)
> Intuitive user interface with flexible docking concept and user-friendly menu structures
8
CANoe
> For critical, real-time relevant simulations and tests, CANoe operates in a distributed mode on two PCs
> Numerous add-ons make it easy to adapt to OEM-specific services and protocols (transport protocols, network
management, Interaction Layer, etc.)
> Parameterization of diagnostics by diagnostic descriptions as ODX 2.0.1/2.2.0, MDX 2.0/3.0 or CDD
> Definition of simple diagnostic services with the Basic Diagnostic Editor
> Quick and simple On-Board Diagnostics with built-in OBD-II tester
> Diagnostic observer for UDS and KWP2000 based on parameterizable diagnostic descriptions
> Support of DoIP (Diagnostics over IP) and HSFZ (High-Speed Fahrzeugzugang)
> Special diagnostic CAPL functions for simulating and testing ECUs
> The Vector VT System enables comprehensive ECU tests in which I/O lines are used in addition to bus access
> Test cases may be linked to requirements using commonly used requirements tools such as Telelogic DOORS
> CANoe can be used as a runtime environment for the ECU code of AUTOSAR or OSEK-OS applications
> Access to internal ECU signals over XCP/CCP including protocol disassembly and analysis for CAN, CAN FD, FlexRay and
Ethernet
> Control of digital and analog I/O modules as well as measurement hardware permits processing of real signal values in
simulations and test environments
> Open software interfaces, such as Microsoft COM, FDX, FMI or ASAM XIL API, enable integration in existing system
environments.
> Access to connected systems with IoT protocols and back end with the Connectivity Feature Set (CFS)
9
CANoe
CANoe supports system descriptions based on the following formats: DBC (CAN), LDF (LIN), XML (MOST), FIBEX (FlexRay)
and AUTOSAR descriptions (CAN/FlexRay/Ethernet).
CANoe can process the following diagnostic descriptions: CDD (CANdelaStudio), ODX 2.0.1/2.2.0 as PDX files and MDX
2.0/3.0.
3 Analysis
The basis for analysis in CANoe is the data flow from the data source to its display or logging. The data may also be processed.
For example, filters can be integrated that define which data should be considered in an analysis and which data should not.
Highlights
> Easy to configure the analysis window by drag and drop. For example, this method can be used to copy or move
messages or signals from one analysis window to another.
> For a multifunctional analysis, one type of window (e.g. Graphics Window) can be integrated multiple times in the data
flow, which enables parallel analysis.
> Easy start and stop logging directly from the status bar.
CANoe supplies the user with windows and blocks such as those described below.
10
CANoe
The data flow is graphically represented and configured in the Measurement Setup.
Figure 3: Measurement Setup with online data source, CAPL program block and different filters
11
CANoe
Bus activities − such as the sending of messages or Error Frames − are listed in the Trace Window. Individual signal values may
be displayed for each message. Functions such as those listed below are available for analyzing the data:
Figure 4: Trace Window with active Stop filter and set marker
12
CANoe
The Graphics Window is used to graphically display the values of signals, environment data and diagnostic parameters as
curves. Listed below are some of the functions available for measurement and evaluation of these curves:
13
CANoe
The Scope Window graphically depicts bus level measurements and is used for the analysis of protocol errors (see also option
Scope, Chapter 13 ).
14
CANoe
The Data Window is used to display the values of signals, system variables and diagnostic parameters in different types of
representation.
Figure 7: Data Window with various representation types for incoming values
The Statistics Window shows statistical information about bus activities (CAN, LIN, FlexRay) during a measurement. This
includes such information as bus load on node and frame level, burst counter/duration, counters/rates for frames and errors,
and controller states.
15
CANoe
Figure 8: CAN Statistics Window with statistical data for one channel (CAN 2)
Certain CAN/LIN/FlexRay statistics can be evaluated in analysis windows such as the Graphics Window, or in program nodes
via automatically defined statistical system variables. These system variables are available for each configured network
channel and are updated independently of the Statistics Window.
The State Tracker can be used to analyze states, state transitions, CAN/CAN FD frames, signals and diagnostic parameters
to visualize time dependencies. The State Tracker is especially well-suited to displaying digital inputs and outputs as well as
status information such as terminals status or network management states.
16
CANoe
The Write Window displays system messages and user-specific outputs from CAPL programs.
Figure 10: Write Window with system messages and CAPL outputs
17
CANoe
The Video Window can be used to record and play back video files.
The most commonly used video formats are supported in the Video Window depending on the current system configuration
and the DirectShow components already installed on the system. Thus, for example, uncompressed AVI, compressed AVI (with
corresponding installed Codec, e.g., DivX), MPG, MPEG, WMV, and MP4.
18
CANoe
The Map Window can be used to integrate GNSS information and maps in CANoe. The Map Window is part of the basic feature
set of CANoe. With the option Car2x additional Car2x information can be displayed.
After measurement start, ADAS objects (sensors, detected objects and environment objects) are automatically drawn into the
Scene Window according to their position and size.
19
CANoe
Triggers and filters can react to specific bus events, and they serve to reduce the amount of displayed or logged data. Examples
of trigger conditions are error states, messages, signals and signal changes (edges). Complex system states can be triggered
by forming groups and linking them with logical operators.
3.13 Logging/Replay
> Replay
The Replay Block can be used to replay measurement sequences that have been logged in a logging file. The messages
contained in the logging file are introduced into the data flow.
> Logging
The Logging Block can log the bus traffic in the BLF and ASCII formats. The logged data can then be replayed in offline
mode or with a Replay Block.
20
CANoe
4 Stimulation/Simulation
In developing distributed communications systems with CANoe, the remaining bus simulation is automatically created based
on database information, including the graphic user interface for control and display. The communications behavior of these
systems may be fully simulated and analyzed. Over the further course of the development process, individual nodes can be
replaced by real ECUs within the simulation. This remaining bus and environment simulation gives the supplier a development
and test environment for both the overall system and for individual ECUs and modules.
Figure 14: Development process with CANoe from network simulation to real overall system
Highlight
> Simple starting and stopping of simulation and stimulation features via status bar
System variables are available for all simulation and analysis blocks, panels and for the integrated I/O hardware. They are used
system-wide to exchange configuration parameters, measurement values or to link external programs via the COM interface.
To stimulate the remaining bus simulation or connected I/O hardware, signals, environment or system variables can be directly
introduced by Signal Generators. This makes it easy to inject signal curves such as ramps or sinusoidal waveforms into the
system. It is also possible to extract logged signal waveforms from logging files and use them as the generator type.
The Interactive Generator (IG) can be used to send messages as well as to set the corresponding signal values. This is an easy
way to create a remaining bus simulation.
21
CANoe
Figure 15: Interactive Generator with configured messages and their signals
The Signal Generator can be used to define a waveform for signals and variables (sine, ramp, pulse, value list, etc.).
22
CANoe
In the Start Values Window, values that are set on measurement start can be preassigned for symbols (system variables and
signals).
The list of start values can be exported to a file and loaded from a file. Thus, for example, simulation parameters can be
conveniently assigned using various sets of start values.
23
CANoe
Using the mapping dialog, symbols (system variables, signals, communication objects and distributed objects) can be mapped.
When the value of a source symbol changes during measurement, the value of the destination symbol is automatically set.
Optionally, you can apply a linear conversion formula.
CANoe offers an extensive set of protocol libraries for creating the remaining bus simulations. They implement such functions
as network management based on a specific OEM or AUTOSAR standard. The use of standardized transport protocols
simplifies the process of setting up simulation or test applications, because these services are already fully integrated. Other
options may also be used to reproducibly inject error cases to check the related ECU stack. The interaction layers which are
also available are used to abstract the sending behavior of the simulation nodes to a signal layer. This makes it easy to set
signals in all applications, and CANoe then ensures that they are sent on the bus according to the OEM-specific sending logic.
> Transport protocols (TP): ISO/DIS 15765-2, CMDT (J1939), BAM (J1939) and TPs for MOST, LIN and FlexRay
Currently, CANoe also supports specific TP, NM and IL extensions for 20 OEMs that include BMW, Daimler, VAG, Audi, Ford,
Toyota, Fiat, Porsche, Renault.
These extensions make it easy to generate an entire remaining bus simulation, including NM and TP. This also eliminates manual
writing of code – e.g. for the send model. Serving as the basis here is a correctly parameterized network description file, in
which the entire sending behavior is configured, and it also defines such information as which nodes participate in NM. The
Model Generation Wizard can now generate an entire remaining bus simulation for CANoe from such a description file.
24
CANoe
Configuration of the Interaction The configuration dialog of the Interaction Layer (IL) offers a straightforward way to display
and edit transmission types.
The dialog evaluates the transmission type description of an interaction layer (Vector Interaction Layer, OEM Interaction
Layer) from the database and displays it. The OEM-specific variants are taken into consideration here.
4.5 MATLAB/Simulink
Development engineers use the CANoe MATLAB/Simulink integration for functional and application prototyping, integrating
complex MATLAB models in CANoe tests and simulations and for developing control algorithms in real-time applications.
CANoe and the Simulink models communicate directly via signals and system variables.
> In the HIL or online mode, code is generated from the Simulink model that is added as a DLL at a simulated node in
CANoe. The model is calculated in real time with CANoe. Automatically generated system variables can be used to make
post-run changes to model parameters without recompiling.
> In offline mode, the two programs are coupled. Simulink provides the time base, and CANoe is in Slave mode. The entire
system operates in simulated mode. It is not possible to access real hardware here.
> The synchronous mode is similar to offline mode in its operation. However, in synchronous mode CANoe provides the
time base that is derived from the connected hardware. This enables access to real hardware in this mode. One
limitation is that the Simulink model must be computed faster than in real time, because in this mode the Simulink
simulation is slowed down to adapt the overall simulation to the CANoe simulation time.
25
CANoe
> The Model Viewer depicts the integrated Simulink models and Stateflow diagrams, which gives precise insight into the
model structure without MATLAB. It lets users navigate through the model structure.
> To modify model parameters, the model can be calibrated over XCP on CAN or XCP on Ethernet while the model is
running autonomously in standalone mode. This involves generating an A2L file in code generation.
26
CANoe
> Use of Simulink models in CANoe’s analysis branch. Special options for Simulink data analysis can be used here.
The application note AN-IND-1-007_Using_MATLAB_with_CANoe describes the use of MATLAB/Simulink together with
CANoe. It presents the fundamentals of the CANoe/MATLAB Integration (Package) and provides an overview of different use
cases.
5 Test
One of the primary use cases of CANoe is to test ECUs and networks. Such tests are used to verify individual development
steps, test prototypes or perform regression and conformance tests. CANoe services the System Under Test at all interfaces
here. This assures the fullest possible test coverage.
27
CANoe
To assure that your testing tasks can be implemented simply and flexibly, the Test Feature Set consists of the following
components:
> In CANoe, sequential test flows are implemented as test units or test modules, which are subclassified into test groups
and test cases. The individual units/modules can be executed at any time during a measurement.
> Test units comprise a collection of data which contain the implementation of the tests (e.g. CAPL/C# files, test tables,
test diagrams or parameter files). A test unit may contain for example the test implementation for a specific ECU
function.
Test units are managed within test configurations. A test configuration may contain 1…n test units which are
sequentially executed in a consecutive manner. A CANoe system configuration on the other hand may contain any
number of different test configurations which may be executed in parallel. Executable test units are developed with
vTESTstudio. vTESTstudio is a separate product which provides the following concepts for efficient test design and
organization:
> Different design methods for test implementation: tabular-based, programmatic (e.g. CAPL, C#) and graphical (e.g.
Test Sequence Diagram, State Diagram)
> Traceability and change tracking of external requirements and test case specifications
> Add-on tools for connection to external test data management tools (e.g. IBM Rational Quality Manager, PTC
Integrity, Siemens Polarion) including upload of the test results
> For the sequential test flows, additional background checks can be defined to continuously check various system states
during test execution. These constraints are automatically added to the test evaluation.
> The Test Service Library contains a collection of prepared test functions that can be used in the test units / test
modules; they are parameterized via the database. For example, it is possible to monitor the cycle times of messages,
an ECU’s reaction time from the time a message is received until it sends the response message or the validity of
signal values and diagnostic parameters. To evaluate the quality of the tested ECUs, different statistical values of the
tests are output, such as the number of reported deviations over the test time period.
28
CANoe
> When a test module or test unit is executed, an extensive test report is generated. Along with the names of the executed
test cases and the individual test results, user-defined information or automatic screenshots of various analysis windows
can also be recorded, for example. The following output formats are available for the test report:
> XML/HTML
CANoe alternatively still supports the output of test results in XML and HTML, which can be viewed in any browser.
> Direct control of I/O hardware in CANoe makes it possible to use analog and digital ECU interfaces in addition to bus
communications. Along with standard I/O components, the Vector VT System represents a modular hardware system
for comprehensively testing ECUs in the automotive field.
Figure 23: Graphical test design for a central locking system in vTESTstudio
29
CANoe
Figure 25: Test results with annotations in CANoe Test Report Viewer
30
CANoe
With the hardware interface VH6501 the CAN / CAN FD bus can be disturbed. The hardware combines the functionality of a
faulty hardware and a network interface in one device.
For triggering the disturbance, the interface provides various triggering possibilities for CAN and CAN FD, e.g.
> I / O trigger
> Combined Frame Triggers for disturbing e.g. different IDs (up to 32 parallel conditions including wildcards)
Any interfering sequences can be generated fine granular, e.g. to put the controller in the BUS-OFF state or to perform a
sample point test.
Figure 26: Disturbance of the ACK slot at a CAN frame recorded with option Scope
The VH6501 can be configured in CANoe with a built-in CAPL API. Different triggers and sequences can be configured with
this API. The trigger position for a disturbance sequence may be set arbitrarily for a frame trigger.
Figure 27: CAPL code definition and activation of the ACK slot fault
The CAPL API offers the possibility to use the VH6501 very well in an automated test.
31
CANoe
Fundamental concepts of CANoe’s Test Feature Set are described in application note AN-IND-1-002_Testing_with_CANoe.
6 Diagnostics
CANoe is used in diagnostics development in ECUs. In this area, CANoe supports both the implementation and testing of
diagnostics functionality by providing access to the diagnostic interfaces of ECUs. The following concepts and functions are
available, for example:
> Support of all important diagnostic description formats for KWP2000 and UDS (ISO 14229):
> Option of modifying key diagnostic communication parameters of the diagnostic description (transport and diagnostic
layer) in the Diagnostic/ISO-TP configuration dialog
> Basic Diagnostic Editor for quickly defining simple diagnostic services, if no diagnostic description is available (for CAN,
LIN, FlexRay, Ethernet and K-Line)
> Interactive diagnostic tester with Diagnostic Console, Fault Memory Window and Diagnostic Session Control with
configurable security-DLL
> Interactive Variant Coding Window to read, write and compare variant coding data considering security mechanisms
configured by a security source
> Interactive Diagnostic Parameters Window for cyclic or manual query and display of diagnostic parameters from
diagnostic responses
> Preconfigured OBD-II tester with related Diagnostic Console and Fault Memory Window
> Support of several addressing schemes (e.g. normal, extended, normal fixed and mixed) and addressing types
(functional/physical)
> Analysis of diagnostic communications on the service and parameter levels (i.e. symbolic representation based on the
diagnostic description) in the Trace, Data and Graphics Windows as well as in the State Tracker
> Optional use of panels to display diagnostic parameters and stimulation of ECUs via diagnostic requests
> Specification/integration/regression tests based on the Test Feature Set (Test Units, CAPL and XML test modules) or
with CANoe .DiVa
> Options for accessing all diagnostic communication layers (CAN frames, transport protocol and diagnostic services) for
good and bad case tests
> Support of all important network types in the automotive industry (CAN, LIN, FlexRay, Ethernet and K-Line)
> Gateways to other networks (e.g. MOST) can be implemented by CAPL simulation nodes or CAPL DLLs
> Support of DoIP (Diagnostics over IP, also encrypted via TLS), HSFZ (High-Speed Fahrzeugzugang) and DoSoAd
(Diagnostics over AUTOSAR Socket Adaptor)
32
CANoe
33
CANoe
34
CANoe
35
CANoe
The application note AN-IND-1-004_Diagnostics_via_gateway_in_CANoe describes the concept for a diagnostic gateway
between CAN and every other bus system or transport protocol, to make CANoe’s Diagnostic Feature Set available if direct
access is not possible.
The classic signal-based communication is increasingly supplemented by service-oriented communication patterns. The
AUTOSAR Adaptive platform, for example consistently uses service-oriented approach. Service-oriented communication is
often based on the TCP/IP protocol stack and uses communication middleware, for example SOME/IP. The transmitted
network message, i.e. the Ethernet frame, and the actual application view drift here much more apart than in case of signal-
based communication via CAN. In addition, the service interfaces and the associated data structures are defined in a way
which is detached from a specific network transmission or network topology as application layer objects.
CANoe supports this new design paradigm. For this purpose, database descriptions, such as AUTOSAR Adaptive ARXML
descriptions, are imported into the CANoe communication model. You can define your own application layer objects and edit
existing ones using a built-in Model Editor or vCDL (Vector Communication Design Language).
36
CANoe
CANoe enables the use of the service interfaces directly as modeling artifact. The service interfaces support methods and
events. Complex data types, used for example in the area of object detection, are supported directly. Endpoints which provide
or use a service interface (providers and consumers) can be directly simulated in CANoe.
Figure 36: Access of service interfaces and representation in the Trace Window.
37
CANoe
8 Connectivity
In order to fully test a system with CANoe, it is necessary to provide a system environment that considers all interfaces of the
System Under Test. The Connectivity Features complete this approach by also considering those interfaces that establish a
connection to a back end or use local wireless standards, especially in IoT systems.
The Connectivity Feature Set (CFS) can also be used to test and simulate IoT systems that communicate via a back end. CFS
provides a broker via a Vector Cloud. Certificates take care about authentication and access. They provide user separation as
well as the allocation of the System Under Test and the actual CANoe instance. Also local brokers or CANoe-hosted brokers
can be utilized to connect and test your System Under Test.
The VH4110, also called IoT Enabler, enables the connection of CANoe to wireless end devices and sensors. Typical radio
interfaces from the IoT environment are supported. The IoT Enabler has direct radio interfaces for WLAN and Bluetooth Low
Energy. Other radio interfaces, such as ZigBee or Z-Wave, can be connected to the device in the form of commercially available
USB sticks.
The IoT Enabler has an open and extensible firmware interface that you can extend with your own functions. These functions
can then in turn be called from the CANoe simulation.
9 ADAS
ADAS for supports the basic concepts of CANoe and extends them. For the stimulation of ADAS algorithms, different ADAS
objects are simulated between simulation environments, sensors or development environments based on the communication
concept. ADAS specific windows are available for analysis. The use of test windows enables the complete test of the ADAS
algorithm.
> Analysis
The ADAS Feature Set supports the basic analysis of CANoe and extends it.
The existing analysis windows are extended so that ADAS objects can be interpreted and analyzed. The contained
information, such as the distance to the object, the dimensions, and the speed can be displayed in detail in a Scene
Window.
With the ADAS Feature Set, ADAS scenarios can be simulated and ADAS algorithms to be tested can be stimulated.
The CANoe Scenario Editor can be used to create the first simple scenarios. With these scenarios, an ADAS algorithm
can be subjected to basic tests.
Various interfaces enable the connection of complete simulation environments. The complex, dynamic Closed-Loop
scenarios created with this can fully test an ADAS algorithm.
> Test
If an ADAS algorithm created in a development environment (e.g. Microsoft Visual Studio) is to be tested, data must be
transferred from CANoe to the development environment. This is made possible by the Vector plug-in SAB. If the ADAS
objects are exchanged with SAB between CANoe and the development environment, it is possible to test the ADAS
algorithm with test modules or test units. Specific ADAS Test Feature Set functions help to create the tests.
38
CANoe
10 Programming
The CAPL (Communication Access Programming Language) programming language extends the functional scope of CANoe
tremendously. Special characteristics of CAPL include:
> Supports symbolic access to all database information such as messages and signals. Signal values can be used directly in
their physical form.
> The language has been extended with special functions for quick implementation of problem solutions in various use
scenarios (simulation, testing, diagnostics and analysis of various bus systems)
The usual scalar data types and arrays are provided (1, 2, 4 and 8 byte long whole number types as well as an 8 byte long
floating point type). Assignments, arithmetic operators and loop flow control conform to C-syntax.
myFunction {
int counter;
doSomethingWithCounter ( counter );
CAPL is an event-controlled programming language. In contrast to C, special predefined event handlers (event procedures) are
available in CAPL, which are always executed whenever a specific event occurs – or, if time controlled, then triggered by the
hardware or internal to CANoe.
39
CANoe
Signal values are generally accessed as physical values, regardless of the scaling of message transmission. This is set in the
database and is taken from there.
$EnergyMgmt::BatteryVoltage = 14.1;
// Most significant bytes Motorola, of 12 bits only the lower 4 bits are used
msg.byte(0) = (msg.byte(0) & 0xF0) | (byte)((14.1 - 8) / (18 - 8) * 4096 / 256) & 0xF;
output(msg);
For all use cases of CANoe there are numerous functions that are specially tailored to everyday problems related to these
topics.
> Simulation
A complete remaining bus simulation can be created with the help of CAPL. This relieves the developer of routine work
tasks. Signals, messages and the timing behavior of the buses are defined in the database (e.g. in DBC, LDF or FIBEX
files); these files are often managed, maintained and updated centrally. Using the supplied extensions (modeling
libraries), the database information can be used without having to write a single line of code. Sending, for example, -
periodic sending or just on specific events – is handled entirely by CANoe according to database requirements, and the
developer only needs to be concerned with the actual functionality, i.e. the contents of signals.
> Testing
CAPL also offers convenient control options for programming automated tests that support both test execution and
evaluation. Just a few lines of code is all it takes to create a basic structure that utilizes the test flow and automated
reporting. So, with just a small program, a CAPL test node is able to provide a well-organized summary of the test flow
with the standard report.
testcase MyTestCase()
TestWaitForTimeout(200);
If ( MyTestExecution () > 0 )
TestStepPass("myTC successful");
else
TestStepFail("myTC failed");
40
CANoe
long MyTestExecution ()
/* Own code */
return 1;
MyTest() {
MyTestCase();
TestSetVerdictModule(TestGetVerdictLastTestCase());
Figure 37: Test node with Test Execution dialog and test report
41
CANoe
> Diagnostics
CAPL can be used to simply and efficiently create a program for use cases in the diagnostics area. Here is a simplified
implementation of a response to a diagnostic request:
on diagRequest SerialNumber_Read
DiagSendResponse( resp);
> Analysis
CAPL can also be used in the analysis of measurement results - online and offline. One simple task might be to count the
occurrences of a specific event or perform computations with the contents of certain signals.
On message Brake {
long TempCounter = 0;
$BRECounter++;
TempCounter = $BRECounter;
TempCounter = 1000;
output ( this );
The functionality of the CAPL Browser goes beyond that of an editor for CAPL programs. It offers functions of an advanced
development environment, such as:
> Folding function blocks and functional references in a tree view for quicker navigation
> Calling of the compiler with preselected source text lines in case of error
> Hierarchical function list with search function for direct copying into the source text
42
CANoe
Objects of the CANoe database are available in the CAPL Browser as well, and they are also displayed in a tree view. The
following database contents can be accessed in what is known as the Symbol Explorer:
> Environment data, i.e. database-specific environment variables and system variables that are used CANoe-wide
> All diagnostic symbols such as requests, responses and fault memory
Figure 38: CAPL Browser with opened CAPL program, contained event procedures and network symbols from the database
> for programming test modules, test cases and test libraries
CANoe offers a special API for.NET programming, which specifically extends the languages (i.e. it creats Embedded Domain
Specific Languages). Programming languages that are directly supported are C# (programming language recommended by
Vector), Visual Basic .NET and J#:
43
CANoe
If no database is used, the general class CANFrame can be used directly, or individual classes can be derived from this
class. Signals are defined with the attribute [Signal].
The library Vector.Diagnostics is supported by several other Vector applications, i.e. it is very easy to reuse diagnostic
sequences in CANoe as well as in CANape, CANdito or Indigo.
10.4 Debugging
The Vector debugger is available for debugging CAPL and .NET programs. It can be used to insert breakpoints in the source
text of the programs and to check the values of variables.
It is possible to debug all CAPL and .NET programs in the simulated mode, because the simulation is stopped for this purpose.
When real hardware is used, it is only possible to debug in the programs of test modules, because the events sent by the
hardware still need to be evaluated.
44
CANoe
The .NET-API concept and its use in CANoe are described in the application note AN-IND-1-011_Using_CANoe_NET_API. It is
assumed that the reader is familiar with the .NET framework and the application note AN-IND-1-002_Testing_with_CANoe.
This is a quick way to graphically configure flow sequences without requiring programming. Variables and signals may be set
within such sequences. Frames and diagnostic commands can also be sent. In addition, it is possible to wait for certain events,
check values or define repetitions with control structures (repeat…until). These sequences are therefore ideal for simple tests
of heterogeneous systems or for stimulating ECUs.
Figure 40: Visual Sequencer for creating test and stimulation sequences. Makes it easy to select commands and database objects with auto-complete support and to display
detailed database information.
11 Panels
Panels are graphical elements that can be used to modify symbol values and display them with controls such as sliders or
pointer instruments. Different types of panels are available in CANoe.
45
CANoe
12 Hardware Interfaces
CANoe supports all hardware interfaces available from Vector. Optimal bus access is possible for every use case thanks to a
large selection of different computer interfaces (USB 2.0, PCI, PCI-Express, PXI) and bus transceivers.
46
CANoe
The integrated COM Server (Component Object Model) enables control of the measurement sequence by external applications
and convenient data exchange with standard software, e.g. for measurement data analysis or in-depth evaluation of the
observed bus traffic. Frequently used programming/script languages here are Visual Basic or Visual Basic for Applications.
C++/C# are also frequently used. The functionality that CANoe offers over the COM interface covers such aspects as:
> Loading existing configurations, generating new configurations, adding databases and blocks to the Simulation Setup
> Control of automated tests, start test execution, add test modules
> Access to signals and system variables, access to CAPL functions, compiling of CAPL nodes
measurement.start
app.open "D:\PathToMyConfig\myconfig.cfg"
A general introduction to COM Server functionality of CANoe/CANalyzer is described in application note AN-AND-1-
117_CANalyzer_CANoe_as_a_COM_server. Fundamental technical considerations and options are presented, and they are
illustrated as Microsoft Visual Basic examples.
13.2 FDX
CANoe FDX (Fast Data eXchange) is a protocol, with which data can be exchanged between CANoe and other systems −
simply, quickly and with minimal delay − over an Ethernet connection. The protocol gives other systems read and write access
to system variables, environment variables and bus signals of CANoe. It is also possible to send control commands to CANoe
via FDX (e.g. for starting and stopping the measurement) or receive status information.
The other system might be an HIL system in a test bench, for example, or a computer that should display data from CANoe.
The protocol is based on the widely used standard protocol UDP (based on IPv4).
ASAM XIL is an API standard for the communication between test automation tools and test benches. All types of test benches
are supported, e.g. SIL, MIL and HIL.
Data between CANoe and the test benches is exchanged by utilizing prepared .NET assemblies with a C# API.
13.4 FMI
FMI (Functional Mock-up Interface) is a tool independent standard to exchange models as well as to establish tool couplings.
CANoe supports the import of such models (FMUs) for co-simulation as well as the export of FMUs. Both FMI 1.0 and 2.0 is
supported.
47
CANoe
13.5 CarMaker
CarMaker is a simulation environment for virtual test driving. CANoe provides an interface which allows to connect CarMaker
variables to system variables. Furthermore, a CAPL extensions provides functions for controlling the simulation or test run
respectively.
In the standard case, the components for analysis and real-time are executed on the same computer. To improve real-time
performance, the RT kernel is run on a separate network interface. Suitable network interfaces belong to the Vector device
families VN8900, VT6000 and the RT Rack. These device families together form the VTP Devices (Vector Tool Platform). The
VTP Devices are equipped with a Windows operating system and the Vector Tool Platform (see section 12.2) is installed on
them.
The following operating modes are distinguished for the VTP Devices in this context:
> In interface mode, the RT kernel is executed together with CANoe on the
user computer. In this mode, you use a VN8900 like a standard network
interface (e.g. VN1600). In this respect, the interface mode corresponds to
the standard operation of CANoe on a computer. However, in the context
of the VTP Device, the interface mode is rather the exceptional case for
certain scenarios, since the possibility to improve the real-time behavior is
not used compared to the two modes mentioned below.
Figure 43: Simulation and analysis on computer
> In distributed mode, the CANoe application is started on the user computer
and connects via TCP/IP or USB to the RT kernel running on the VTP
Device. This is now shielded from the influences of the user computer.
> The user computer is used for configuration and to evaluate and display
the data stream generated by the simulation or read by the network
hardware in the graphical user interface and to log data.
> Execution of tests, CAPL simulation programs and models (e.g., Figure 44: Analysis on computer, simulation will be
Interaction Layer, MATLAB) and access to network channels is done on transfered and executed on VTP Device
the VTP Device.
> With a TCP/IP connection, the user computer and the VTP Device can be
physically separated.
48
CANoe
> In standalone mode, you have the option of running the RT kernel on the
VTP Device as in distributed mode, but without a permanent connection to
the user computer.
> You can directly download the configuration data which is relevant for
the real time area to the VTP Device in CANoe. Or you can export it to a
file which can be downloaded to the VTP Device later or at a different
location (e. g. a test bench) without CANoe via USB or TCP/IP.
Figure 45: No analysis, simulation will be transfered and
> After activation of standalone mode, the VTP Device can operate executed on VTP Device
headless without a user computer. The device can be configured such
that measurement starts automatically on reboot. Alternatively, you can
start and stop measurement, e. g., via Vector Platform Manager or using
an FDX command (see section 11.2).
> Analysis functions as known from the graphical user interface in CANoe
are not available in standalone mode. However, you can create logging
files and test reports on the device which can be accessed using different
ways and tools (also in an automation context).
The Vector Tool Platform (VTP) is a software environment installed on VTP Devices. This enables the execution of additional
functions. The central component is the Control Server, which coordinates the additional functionalities. Starting with the RT
kernel for running the CANoe simulation, through Extended Real Time (ERT) to the Automation Interface, all components are
managed here.
With Extended Real Time, the latency and determinism of CANoe are
further improved compared to operation in distributed or standalone
mode. For this purpose, the VTP Device is logically divided into two
areas. In the area where ERT is running, predefined functions can be
executed under hard real-time conditions. Extended Real Time is
supported by newer devices of the VN8900 and VT6000 hardware
families.
49
CANoe
15 Option Scope
The option Scope is an integrated oscilloscope solution for CANoe based on a very powerful USB oscilloscope hardware. This
CANoe option appears as a further analysis window with views for configuration, bus level and protocol decoding. The
supported hardware has up to 4 input channels for example 2 CAN / CAN FD / FlexRay or LIN 4 / IO channels can be measured.
The scope is triggered by the Sync line of Vector interface hardware (e.g. VN1630/40, VN8900, VT System). The option Scope
is available for all variants except CANoe pex, and together with the CANoe Test Feature Set can be used to fully automate
physical layer tests.
The powerful combination of the USB oscilloscope and CANoe offers many ways to analyze protocol errors and to automate
physical layer tests. The analysis of the bus system’s physical layer is often indispensable, especially when performing
conformance tests. With bus-specific trigger conditions and CANoe time synchronization, the causes of protocol errors can be
found significantly faster than with any traditional oscilloscope.
Figure 47: Detailed analysis of a CAN FD frame on physical and logical level with the Scope Window
50
CANoe
> Extremely compact and portable oscilloscope solution based on an USB oscilloscope hardware
> Synchronous recording of bus and I/O signals with the CANoe time base
> CAPL interface for automated scope tests including report creation
> 4 analog input channels for bus signals (2 x CAN/CAN FD/FlexRay or 4 x LIN/IO)
> 4 analog input channels for bus signals (2 x CAN/CAN FD/FlexRay or 4 x LIN/IO)
> 2 x 8 input channels for digital signal measurements (2 x MSO-Pod TA369 is required)
> 8 analog input channels for bus signals (4 x CAN/CAN FD/FlexRay or 8 x LIN/IO)
> Bus connection via Vector Scope Bus Probe with D-SUB connector
> Vector Scope Y-Trigger Cable for internal and external triggering via the sync line of a Vector interface
Option Scope appears as a new analysis window in CANoe with views for configuration/measurements, bus levels and protocol
decoding.
51
CANoe
> Connection of several bus signals to input channels of oscilloscope. For each bus system a default configuration for
scope hardware is created.
> Easy configuration of sampling rate (independent of bus baud rate) in min. sampling points per bit
> Automatic adjustment of acquisition time depending on the bus baud rate
> Triggering on external signals with edge or pulse triggers (IO trigger)
> Detailed decoding of the bus levels on the bit level, even in case of protocol errors
> Display of the time stamp and the voltage value per sampling value
> Bidirectional synchronization of Trace view (logical values of the data link layer) and the diagram (physical values). The
diagram shows the signal encoding of the Trace view.
> Time-Synchronization with other CANoe windows, e.g. Trace Window, Graphics Window and State Tracker
> CAPL:
> Serial bit mask analysis. Definition of bit masks for each bit in analysis range (CAN, CAN FD and FlexRay)
> Measurement functions for bus signal voltage and time difference (e.g. bit time)
> Test Feature Set (TFS) to establish automated and reproducible test scenarios with support of test reports
Offline functions of the Scope Window are available to users even without a license for option Scope, e.g. to view and analyze
measurements made by colleagues.
> Eye diagram analysis with single bit mask accessible via user interface
> Export and import of the entire scope measurement with logical and physical data (binary format *.csfx)
52
CANoe
> Export of scope measurement data in ASCII (*.csv) or MATLAB formats (*.mat)
> Comparison mode for scope signals and for entire scope measurements
> Easy screenshot creation and bitmap export for test reports
16 Option Sensor
The option Sensor allows you to analyze the sensor communication. It is possible to observe sensor signals on the sensor bus
as well as the distribution of the sensor signal in the vehicle network. Even complex communication scenarios can be generated
and analyzed quickly, as proven CANoe analysis concepts and an intuitive configuration are used. With the ability to simulate
both the ECU and the sensor, option Sensor also supports developers in building simple to demanding test environments. Full
control over all relevant log data consists in the simulation. In addition, sophisticated error detection mechanisms facilitate the
debugging of the system.
The physical connection to the sensor networks is done using the hardware module VT2710. It is fully adapted to the
functionality of option Sensor and part of Vector's modular test environment VT System. The flexible structure of the VT2710
is beneficial: as required, up to four PSI5 or SENT channels are configurable with piggybacks. With this module, users have a
precise analysis tool, which allows accurate bit rate settings and precise message time stamps and fits in seamlessly into the
existing VT environment with the tool concept as well as the programming interface. The module is prepared for additional
sensor logs.
For SENT there is also the possibility to use a VN1640(A) network interface or an interface of the VN1500 family with a
SENSOR piggy SENT for the physical connection.
> Powertrain
Pressure sensor, air flow sensor, oxygen sensor, ...
> Safety
Acceleration sensor, rotation sensor, tilt sensor, ...
> Comfort
Rain sensor, temperature sensor, air quality sensor ...
53
CANoe
The supported serial protocols are supplied with the CANoe Core functionality. There is no additional option required. The
configuration and the concept correspond to the Option Sensor.
> SPI
> UART
> I2C
16.4 Highlights
> Intuitive user interface for quick configuration of the sensor channels
> Sensor configurations can be comfortably exported for other CANoe configurations
> Serial hardware module VT2710 supporting four PSI5 or four SENT channels
54
CANoe
Figure 49: Sensor module VT2710 and configuration dialog of the option Sensor
17 Option SmartCharging
In order to test the complete charging communication, the option SmartCharging may be used. CANoe simulates either the
vehicle (EV) or the charge point (EVSE). Just like with the other options a protocol analysis is easily possible, i.e. SCC specific
events are displayed symbolically in the Trace Window. Furthermore there are a CAPL API as well as specific system variables
available. The protocols ISO15118, DIN70121 and GB/T27930 are supported. The option SmartCharging requires additionally
the option Ethernet (for CCS standard) or J1939 (for GB/T standard). The specific VT System modules VT7970 (Qualcomm
PLC chipset) and VT7971 (Vertexcom PLC chipset) provide access to the hardware including fault injection for the protocols
of the CCS standard. For the pure analysis respectively passive listening of the communication of the CCS standard, a special
hardware is also available with the VH5110 also called “CCS Listener”.
55
CANoe
18 Option AMD/XCP
Option AMD/XCP extends CANoe by adding the ability to access ECU memory. This access is done via the ASAM-standardized
XCP or CCP protocol and is convenient to configure with files in A2L format.
Effective with release 10 the Vector MICROSAR AUTOSAR stack offers the generation of A2L files for the BSW modules (Basic
Software Components) and the SWC (Software Components) and thereby provides the symbolic information.
You can read internal states and data flow out of an ECU and analyze it together with bus data. Option AMD/XCP uses the
established XCP and CCP protocols to read the data from the ECU.
56
CANoe
> XCP (X Calibration Protocol) on CAN, CAN FD, FlexRay 2, Ethernet 3 and LIN
Via the XCP gateway module you can access the measurement data of high-precision measurement modules of the CSM
company. For example, the measurement module ADMM 4 HS800 provides four analog measurement values with 800 kHz.
You can evaluate and log these measurement data via the option AMD/XCP.
Hardware debuggers from the iSYSTEM company enable access to ECU memory without additional software or an XCP driver.
No additional resources are utilized, and real-time behavior is unaffected.
> Interface via XCP on Ethernet Slave in winIDEA software version 9.12.78 or newer
57
CANoe
> Time synchronous analysis of internal ECU values, bus signals and I/O signals
> XCP/CCP protocol interpretation in the Trace Window (online and offline)
18.4 Functions
> Online access to internal ECU values in RAM over XCP on CAN, XCP on Ethernet (TCP and UDP), XCP on FlexRay, XCP
on LIN and CCP (for CCP/XCP on CAN, XCP on FlexRay and XCP on LIN the respective bus options are required.)
> Measurement methods: DAQ, Polling, on connect, Single Shot Upload over CAPL
> Writes scalar, multi-dimensional, and complex variables to the ECU's RAM via Download
> Support of scalar CCP/XCP data types (UBYTE, SBYTE, UWORD, SWORD, ULONG, SLONG, UINT64, SINT64,
FLOAT32_IEEE, FLOAT64_IEEE)
> Complex CCP/XCP data types: 1-dimensional arrays, CURVE, MAP (supported axis types: COM_AXIS, SHARED_AXIS,
FIX_AXIS)
> Secure access via Seed & Key (DLL and SKB format)
> Address Update for ECU symbols from Linker Map file
> Address Update for ECU symbols from the ECU at runtime (generic measurement)
> XCP/CCP values are available as system variables in all CANoe functions
> Can also be run in distributed or standalone mode for improved real-time behavior
58
CANoe
CANoe assumes the role of the XCP/CCP master, which is to configure via one A2L file. The XCP signals are available as system
variables; they enable access via the Test Feature Set, CAPL, .NET, DiVa, MATLAB/Simulink and CANoe analysis windows. The
XCP signals are always located under the namespace <XCP>::<ECU name>. Here, “ECU name” stands for the name of the ECU
to be measured, which is given in the XCP configuration. Based on this CANoe .AMD/XCP can address multiple ECUs over XCP
in parallel.
18.6 Configuration
Option AMD/XCP is configured by the A2L file format standardized by the ASAM working group. The A2L file contains
information about communication (transport layer) with the ECU and descriptions of the variables that can be measured and
stimulated. It also contains information about the interpretation of values (symbolic value tables) and conversion rules, so that
symbolically interpreted values can be displayed directly in CANoe’s analysis windows.
59
CANoe
Option DiVa extends CANoe into a tool for automatically generating and executing test cases for implementing and
integrating the diagnostic protocol. The test cases are generated based on ODX or CANdela diagnostic descriptions, and they
assure broad and detailed test coverage for the diagnostic implementation of an ECU.
20 Training
As part of our training program, we offer various classes and workshops on CANoe in our classrooms at Vector and on-site at
our customers.
You will find more information on individual training courses and a schedule online.
60
Get More Information
www.vector.com