100% found this document useful (1 vote)
2K views10 pages

SN IND 1 011 - InteractionLayer

This document describes how to set up the CANoe Interaction Layer (CANoeIL) when using a DBC database with Vector CANoe. It discusses checking if a message is a network management message, preparing the DBC database with required attributes, loading the CANoeIL module, and supported send types. The CANoeIL encapsulates the send model and allows focusing on simulation code without managing sending. It maps signals to frames based on the DBC.

Uploaded by

Vishnu R Nair
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
2K views10 pages

SN IND 1 011 - InteractionLayer

This document describes how to set up the CANoe Interaction Layer (CANoeIL) when using a DBC database with Vector CANoe. It discusses checking if a message is a network management message, preparing the DBC database with required attributes, loading the CANoeIL module, and supported send types. The CANoeIL encapsulates the send model and allows focusing on simulation code without managing sending. It maps signals to frames based on the DBC.

Uploaded by

Vishnu R Nair
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

CANoe Interaction Layer with DBC Database

2019-07-23
SN-IND-1-011_InteractionLayer.pdf

Author(s) Stiller, Markus; Brantsch, Marco


Restrictions

Table of contents

1 Overview .....................................................................................................................................2
2 CANoeIL and Network Management............................................................................................2
2.1 Check if marked as Network Management Message ............................................................3
2.2 Check NM Message Range .................................................................................................3
3 Network Types (OEM) .................................................................................................................4
4 Preparing the database ...............................................................................................................4
5 DBC-Database Attributes ............................................................................................................5
6 Loading the CANoeIL Node Layer Module ...................................................................................6
7 CANoeIL Vector Send Types .......................................................................................................8
8 FAQ ............................................................................................................................................9
8.1 SetSignal was called for signal […], but no transmitter is available .......................................9
8.2 My signal or message is sent cyclic only ..............................................................................9
9 Contacts.................................................................................................................................... 10

SN-IND-1-011_InteractionLayer.pdf 1
CANoe Interaction Layer with DBC Database

1 Overview
This Support Note describes how to set up a CANoe Interaction Layer when using a DBC database.

The CANoe Interaction Layer (in short CANoeIL) performs mapping of signals to their send frames
and controls the sending of these send frames as a function of the send model.

The transmission behavior of frames and signals is described based on attributes in the database. The
CANoeIL models the transmission behavior of the remaining bus simulation at runtime using the
attributes.

The CANoeIL basically encapsulates the complete send model into a DLL allowing to focus on the
essential simulation code in CAPL without the need to take care about sending mechanisms etc.

It is possible to map panel controls directly to signals or stimulate the signals from other components
like test modules or network nodes. If the signal value is changed or updated, the signal will be routed
directly to the specific CANoeIL which is responsible for sending the signal to the bus according to the
timing defined in the database.

2 CANoeIL and Network Management


The CANoeIL sends application frames only.

Network Management Messages are handled by an appropriate Network Management DLL.

If a frame is marked in the DBC as Network Management Message or the CAN ID is located within the
Range of Network Management IDs can be checked in the DBC. The CANoeIL does not accept
Network Management Messages.

SN-IND-1-011_InteractionLayer.pdf 2
CANoe Interaction Layer with DBC Database

2.1 Check if marked as Network Management Message

You can check if a frame is used for network management in the attribute section of the frame.

• Open the CANdb++ editor with your DBC file


• Double-click the frame
• Select the "Attributes"-Tab
• Check the attribute NmMessage

2.2 Check NM Message Range

To check the range:


• Open the DBC file in the CANdb++ editor
• Select View | Attribute definitions
• Find the attributes NmBaseAddress and NmMessageCount for ISO/OSEK NM
• Find the attributes NmAsrBaseAddress and NmAsrMessageCount for AUTOSAR NM

The range will calculated by BaseAddress + MessageCount.


In the example above NM Range is between 0x400 and 0x440 (400 hex + 64 dec.).

SN-IND-1-011_InteractionLayer.pdf 3
CANoe Interaction Layer with DBC Database

3 Network Types (OEM)


CANoe offers two Interaction Layers which can be used with DBC files.
The general CANoeILNLdefault.dll is used if no Interaction Layer is configured starting CANoe
7.6
The CANoeILNLVector.DLL supports the Vector send model.

OEMs use different send models for their networks modelled in DBC files. Therefore, a special
CANoeIL for DBC files is provided for each OEM. The OEM CANoeIL is part of a so called OEM
package. You can find an overview of available Interaction Layers and Packages in the CANoe help
file Contents | CANoe | Libraries & packages (Standard & OEM) | Overview – Modeling
Libraries / Packages.

OEM-specific packages are not part of the CANoe installation.

To get the package please contact your OEM project responsible or your Vector key account manager
to get the appropriate packages.

If you don’t know your Vector key account manager, please send an email to [email protected] with
your CANoe version and the OEM-specific package name of your needs.

4 Preparing the database


In this article the Vector CANoeIL (CANoeILNLVector.dll) is used.
For J1939 see Support Note SN-IND-1-007 Simulation J1939 Nodes.

For different OEM network types see documentation of the Modeling Package for the attribute
definitions. The documentation is located in the subfolder Doc of the CANoe installation directory.

Most OEM packages install a sample configuration. Use the sample DBC file to import the attributes
into your DBC file.

Before you start make sure your database contains the following mappings:
- Signal is mapped to a frame
- frame is mapped to a network node as tx frame

SN-IND-1-011_InteractionLayer.pdf 4
CANoe Interaction Layer with DBC Database

5 DBC-Database Attributes

You need to add the marked attributes to use the CANoeIL with your database

It’s recommended to import the database attributes from an existing database.

SN-IND-1-011_InteractionLayer.pdf 5
CANoe Interaction Layer with DBC Database

In CANdb++ Editor select File | Import Attribute Definitions …

For the CANoeIL Vector you could find a database in.

6 Loading the CANoeIL Node Layer Module

FlexRay:

To create transmitters for frames or PDUs - a simulation node for each ECU is required. Select View |
Simulation Setup and switch to the simulation node. Select Configuration with right click on the node
from the context menu. Associate the Node in Common tab with the Database Node which should be
simulated.

Some OEMs use specific FlexRay protocol timings. There are FlexRay OEM packages available.

If you have a project for an OEM please get in touch with OEM or Vector to get the OEM FlexRay
package You need to assign this DLL file in the components tab of the node or whole network.

SN-IND-1-011_InteractionLayer.pdf 6
CANoe Interaction Layer with DBC Database

CAN:

Associate the Node in Common tab with the Database Node which should be simulated.
Add a specified node layer module to each simulation node. For CANoeIL Vector the
CANoeINLNVector.dll is required. For OEMs the CANoeILNLOEM.dll is required.

If you use a DBC-Database go to View | Attribute definitions, edit the attribute NodeLayerModules
and add the CANoeILNLVector.dll as default setting.

If you use an AUTOSAR ARXML or you don’t want to modify the dbc file you’ll need to add the
CANoeILNLVector.dll to each node by opening the context menu of the simulation node in the
Simulation Setup of CANoe.

The DLL file is located in the Program Files\Vector CANoe\exec32 folder.

If you want to assign the DLL to the whole network, you can use the context menu at the bus name:

SN-IND-1-011_InteractionLayer.pdf 7
CANoe Interaction Layer with DBC Database

7 CANoeIL Vector Send Types


The transmission behavior of frames and signals sent with the Vector Interaction Layer are described
based on attributes in the database. The CANoe Interaction Layer models the transmission behavior
of the rest bus simulation at runtime using the attributes. The database attributes must fulfill certain
requirements to reproduce the transmission behavior.

The Vector Interaction Layer supports the following basic send types:

• Cyclic
GenSigSendType == Cyclic
The frame is sent at a fixed cycle time independent of signal values (attribute:
GenMsgCycleTime).

• OnChange
GenSigSendType == OnChange || GenSigSendType ==
OnChangeWithRepetition
The frame is sent when a changed signal value is written to the frame.

• OnWrite
GenSigSendType == OnWrite || GenSigSendType == OnWriteWithRepetition
The frame is sent when the value of a signal is rewritten to the frame.

• IfActive
GenSigSendType == IfActive || GenSigSendType ==
IfActiveWithRepetition
The frame is sent at a fast cycle time (attribute: GenMsgCycleTimeFast) if a signal of the
frame is set to an active value (attribute: GenSigInactiveValue). As soon as all values are
inactive, the frame is no longer sent.

Combined Send Types:

All send types can be combined freely within a single frame. This is not recommended, however, due
to the high level of complexity and the increased difficulty in testing. For this reason only the following
combined send types will be considered:

• Cyclic & OnChange


GenSigSendType == Cyclic && (GenSigSendType == OnChange ||
GenSigSendType == OnChangeWithRepetition)

The frame is sent cyclically (attribute: GenMsgCycleTime). If a modified signal value is


written to the frame, it is sent additionally, outside of the cycle time. The defined cycle time is
not changed by this action.

• Cyclic & OnWrite


GenSigSendType == Cyclic && (GenSigSendType == OnWrite ||
GenSigSendType == OnWriteWithRepetition)

The frame is sent cyclically (attribute: GenMsgCycleTime). If the value of a signal value
rewritten to the frame, it is sent additionally, outside of the cycle time. The defined cycle time
is not changed by this action.

• Cyclic & IfActive


GenSigSendType == Cyclic && (GenSigSendType == IfActive ||
GenSigSendType == IfActiveWithRepetition)

The frame is sent cyclically (attribute: GenMsgCycleTime). If the value of a signal is set to
an active value (attribute: GenSigInactiveValue) the frame is sent at a faster cycle time
(attribute: GenMsgCycleTimeFast) until it returns to an inactive value.

SN-IND-1-011_InteractionLayer.pdf 8
CANoe Interaction Layer with DBC Database

Sending with repetitions

In order to send a frame cyclically (attribute: GenMsgCycleTime) even if all the signals have the
send type set to OnWrite, OnChange or IfActive, you can assign the frame send type as Cyclic
(attribute: GenMsgSendType == Cyclic).

For the following send types it is possible to define send repetitions (attribute:
GenMsgNrOfRepetition):

• OnChange/OnWrite
GenSigSendType == OnChangeWithRepetition || GenSigSendType ==
OnWriteWithRepetition

Transmission of the frame is repeated n times after the first transmission (i.e. it is sent a total
of n+1 times). The repetitions are carried out at a fast cycle time (attribute:
GenMsgCycleTimeFast).

• IfActive
GenSigSendType == IfActiveWithRepetition

If all signal values are set to their inactive value (attribute: GenSigInactiveValue), the
frame is sent n times with the inactive signal values after the last signal is set.
The transmissions are carried out at a fast cycle time (attribute: GenMsgCycleTimeFast).

8 FAQ
8.1 SetSignal was called for signal […], but no transmitter is available

In Write Window, an error message occurs, like (example error message from
CentralLockingSystemDemo.cfg):

SetSignal was called for signal 'Signal:CAN1/comfort/WindowControl/KeyDown’,


but no transmitter is available.

Please check if the CANoeIL for the signal is configured correctly. Please read related chapters 4 - 7.

The signal name is shown as


<busname><database><message><signal>

here:

<busname> = CAN1
<database> = comfort
<message> = WindowControl
<signal> = KeyDown

8.2 My signal or frame is sent cyclic only

Starting CANoe 8.0 a CANoeILNLDefault.dll will be loaded which can send frames with the right
send model. Open the Simulation Setup, click with the rights mouse button on the ECU and select
Configuration from the context menu.

Please check if you have the correct send types defined. Check the attributes GenSigSendType for
signals and GenMsgSendType for frames.

SN-IND-1-011_InteractionLayer.pdf 9
CANoe Interaction Layer with DBC Database

9 Contacts
For support related questions please address to [email protected].

SN-IND-1-011_InteractionLayer.pdf 10

You might also like