CANdb Manual EN
CANdb Manual EN
Manual
Version 3.1
English
Imprint
Vector Informatik GmbH
Ingersheimer Straße 24
D-70499 Stuttgart
Vector reserves the right to modify any information and/or data in this user documentation without notice. This documentation nor any of its
parts may be reproduced in any form or by any means without the prior written consent of Vector. To the maximum extent permitted under
law, all technical data, texts, graphics, images and their design are protected by copyright law, various international treaties and other
applicable law. Any unauthorized use may violate copyright and other applicable laws or regulations.
© Copyright 2019, Vector Informatik GmbH. Printed in Germany.
All rights reserved.
CANdb++ Manual Table of Contents
Table of Contents
1 Introduction 4
1.1 Concept 4
1.2 About This User Manual 5
1.2.1 Conventions 5
1.2.2 Certification 6
1.2.3 Warranty 6
1.2.4 Support 6
1.2.5 Trademarks 7
2 Basics 8
2.1 Overview of CANdb++ 8
2.2 Datamodel of CANdb++ 9
2.3 Installation 9
2.4 Main Window 10
3 Tutorial 11
3.1 Tutorial Overview 11
3.2 Start the Program 11
3.3 Creating a New CAN Database 12
3.3.1 Copying Existing Objects 14
3.3.2 Creating New Objects 15
3.3.3 Modifying Existing Objects 16
3.4 Linking Objects 18
3.5 Display Communication Matrix 20
3.6 Value Tables 21
3.7 Assign Value Tables 22
3.8 Create User-Defined Attributes 23
3.9 Modify Values of User-Defined Attributes 24
3.10 Perform Consistency Check 26
4 API 27
4.1 INI Files 27
4.1.1 CANdb.ini 27
5 Glossary 29
6 Index 31
1 Introduction
1.1 Concept
All communication-relevant data that are processed in a networked CAN bus system as well as their
interrelationships are usually administered in a central communications database.
CANdb++ is a data administration program with which these communication data-bases can be created and
modified in the form of CAN databases.
1.2.1 Conventions
In the two tables below you will find the notation and icon conventions used throughout the manual.
Style Utilization
bold Fields/blocks, user/surface interface elements, window- and dialog names of the
software, special emphasis of terms
[OK] Buttons in brackets
File|Save Notation for menus and menu commands
Microsoft Legally protected proper names
Source Code File and directory names, source code, class and object names, object attributes and
values
Hyperlink Hyperlinks and references
<CTRL>+<S> Notation for key combinations
Symbol Utilization
Dangers that could lead to damage
Examples
Step-by-step instructions
Text areas where changes of the currently described file are allowed or necessary
Symbol Utilization
Files you must not change
1.2.2 Certification
Vector Informatik GmbH has ISO 9001:2008 certification. The ISO standard is a globally recognized standard.
1.2.3 Warranty
We reserve the right to modify the contents of the documentation or the software without notice. Vector disclaims
all liabilities for the completeness or correctness of the contents and for damages which may result from the use
of this documentation.
1.2.4 Support
1.2.5 Trademarks
All brand names in this documentation are either registered or non registered trademarks of their respective
owners.
2 Basics
2.1 Overview of CANdb++
Program Versions
Functional Features
CANdb++ is a central tool in the Vector CAN tools toolbox, and it can be started directly from Vector CAN tools
such as CANalyzer, CANoe, CANape and CANscope. This provides the Vector CAN tools with direct access to
communication-relevant data via CANdb++.
Communication-relevant data are defined, modified and managed entirely within CANdb++; the Vector CAN
tools only read-access these data. The communication-relevant data must exist in the form of CANdb network
files (*.dbc) so that the Vector CAN tools can access them.
To also permit the use of data from CANdb++ databases (*.mdc) CANdb++ provides a data export option.
CANdb++ databases can be exported to one or more CANdb network files (*.dbc). In this way the user can either
export the data of an entire CANdb++ database or only those relevant to a Vehicle, Network or ECU.
2.2 Datamodel of CANdb++
Object Types
Various object types are available in the Overview Window for modeling the communications structure of a
vehicle's CAN bus system.
Adding a link establishes a connection (Relation) between two objects of different object types. By linking a
signal with a message, for example, the user can define the message in which this signal should be transmitted.
2.3 Installation
To install and run CANdb++ your hardware must satisfy the following requirements:
Processor: at least Pentium
Working memory (RAM): According to the minimum requirements of the respective operating system
Operating system: Windows 7 and Windows 10
Note
You must have administrator rights to install the software! You can switch the language of the
menus and dialogs at any time after installation (see 4.1 INI Files).
Installation
1. Insert the installation CD in your CD drive.
2. Call the installation program SETUP.exe.
3. Follow the instructions of the installation program.
2.4 Main Window
Working
area with
various
windows
Status bar
3 Tutorial
3.1 Tutorial Overview
The purpose of this tutorial is to familiarize you with the CANdb++ user interface concept and the most important
of the CANdb++ functions.
At the beginning of each chapter are problems that you can solve with the help of the explanations that follow.
When creating a new CAN database the following steps are performed in the sequence shown below:
Task
Start CANdb++.
Program Start
CANdb++ can be started as follows:
1. Double click the program icon in the CANdb++ program group.
2. Double click CANDB.exe (e.g. in Microsoft® Explorer).
3. Click the program name CANdb++ in the appropriate sub-folder of the Microsoft® Windows®
Start menu.
After starting CANdb++ the CANdb++ program window appears. The working area is still empty,
i.e. it does not contain any windows.
Task
Create a new CANdb++ database with the name Tutorial.mdc or Tutorial.dbc in the Data
directory of your CANdb++ installation.
2. Here you can chose either a template for a CANdb network (.dbc) or for a CANdb++ database
(.mdc).
3. Next you can select one of the available templates by a double click or by a single click and
choosing [OK].
4. After you have selected a template, the New Database File dialog is opened, in which the
memory location, file name and file type can be defined for the CAN database to be created.
5. Select the directory in which you wish to save the new CAN database (Data directory of your
CANdb++ installation or CANdb network).
Select the desired file type (e.g. CANdb++ database) and enter the desired file name (e.g.
Tutorial).
It is not necessary to input a file name extension – it will be assigned automatically by
CANdb++ according to the selected file type.
6. Click [Save].
The new CAN database (e.g. Tutorial.mdc or Tutorial.dbc) is set up and is shown in the
Overview Window.
7. Shown on the left side of the Overview Window is a hierarchical overview of the available object
types.
Example
Create a copy of the signal RunMode in the CAN database Tutorial.mdc or Tutorial.dbc and give it
the name OperateMode.
Note
After creating a copy of an object this copy is completely independent of the original object!
Changes to the original object are not mirrored in the copy, and if the changes are desired in the
copy they must be made manually afterwards.
Task
Create the following objects in the CAN database Tutorial.mdc or Tutorial.dbc:
Vehicles (Coupe) (CANdb++ Admin only)
Networks (Body, PowerTrain) (CANdb++ Admin only)
Control units (Combi, DriverControl, ECU_Motor (CANdb++ Admin only)
Network nodes (Body_Gateway, Display, Motor, Motor_Gateway, SteeringLock)
Messages (DriverInfo, EngineControl, KeyData, TransmissionData)
Signals (DisplayTemp, GearSelect, RunMode, Information)
3. Change the values of system parameters in the object dialog and click [OK].
Task
Modify the network nodes in the CAN database Tutorial.mdc or Tutorial.dbc such that each node
has a different address.
Solution 2: Modifying an Object's Parameters in the Table in the Overview or List Window
Proceed as follows to modify an object's parameters directly in the table in the Overview Window or
List Window:
1. Click the table cell containing the parameter of the object to be modified.
The corresponding table line gets a color background (Default: Blue).
The activated cell is shaded with a different color (Default: Light gray).
2. Activate the editing mode for the activated cell by pressing the <F2> key or by clicking the cell
again.
The cell gets a frame and a color background (Default: Blue), and if applicable a list of possible
parameters is shown.
3. Change the parameter by entering a different value or selecting a different option from the list
that is shown.
4. Press the <Esc> key if you wish to abort the procedure, i.e. you wish to leave the parameter
value unchanged.
5. Press the <Enter> key if you wish to accept the changed value.
Note
You can switch the selection of the active cell within the table using the arrow cursor keys <Left
Arrow>, <Right Arrow>, <Up Arrow> und <Down Arrow>.
3.4 Linking Objects
Task
Link the following objects in the CAN database Tutorial.mdc or Tutorial.dbc:
Signals with messages
(GearSelect-TransmissionData, DisplayTemp-DriverInfo, Information-DriverInfo,
OperateMode-EngineControl, RunMode-KeyData)
Messages with network nodes
(TransmissionData-Display, EngineControl-Motor_Gateway, KeyData-SteeringLock,
DriverInfo-Body_Gateway)
Message signals with network nodes
(DisplayTemp-Display, GearSelect-Body_Gateway, OperateMode-Motor, RunMode-Body_
Gateway)
Network nodes with node groups
(Motor-PowerTrain_Base, Motor_Gateway-PowerTrain_Base)
(CANdb++ Admin only)
Network nodes with control units
(Body_Gateway-Combi, Display-Combi, Motor-ECU_Motor, Motor_Gateway-Combi,
SteeringLock-DriverControl)
(CANdb++ Admin only)
Network nodes with networks
(Body_Gateway-Body, SteeringLock-Body, Display-Body, Motor-PowerTrain, Motor_Gateway-
PowerTrain)
(CANdb++ Admin only)
Node groups with networks
(PowerTrain_Base-PowerTrain)
(CANdb++ Admin only)
Control units with vehicles
(Combi-Coupe, DriverControl-Coupe, ECU_Motor-Coupe)
(CANdb++ Admin only)
Networks with vehicles
(Body-Coupe, PowerTrain-Coupe)
(CANdb++ Admin only)
By linking two objects of different object types you can establish a connection (Relation) between these two
objects.
For example, by linking a signal with a message you can define the message in which this signal should be
transmitted.
2. Open a List Window for the object type of the object you wish to link.
To do this, choose the View|List… command for the relevant object type.
For example, if you wish to link a signal to a message choose the List-Signals command to
open a List Window with signals.
If necessary change the size of the Overview Window and the List Window so that the relevant
areas are visible in both windows.
3. In the List Window select the object that you wish to link.
4. Link the two objects.
To do this, drag the selected object from the List Window to the Overview Window while holding
down the mouse button. Do not release the mouse button until the mouse pointer is located
above the object in the Overview Window with which the link is to be made.
The shape of the mouse pointer indicates whether the objects can be linked or not.
The link is automatically added after releasing the mouse button.
The linked object appears in the Overview Window below the object with which it was linked.
The object symbol of the linked object changes to display the link.
For example, the object symbol of a linked signal, i.e. a message signal would appear as .
As an alternative to this you could link objects by menu commands as described below:
A communications matrix shows the communications relationships between signals, messages and network
nodes in table format.
Task
Open the Communications Matrix Window that contains the communications matrix of the CAN
database Tutorial.mdc or Tutorial.dbc.
In the Communications Matrix Window the signals are arranged by lines and the network nodes by
columns. The table boxes with the signal names have gray shading. The messages shown in the
remaining table boxes are the messages in which the signal is transmitted or received by the
particular network node.
Transmitted messages are identified as follows:
Message name in blue font
"<Tx>" to the left of the message name
Note
When the Communications Matrix Window remains open it is automatically updated with each
modification to the CAN database.
3.6 Value Tables
Task
In the CAN database Tutorial.mdc or Tutorial.dbc create the value table Colors which assigns the
concrete values 0, 1 and 2 to the symbolic identifiers 'red', 'yellow' and 'green'.
5. Click [Add].
A new line is added to the table.
Appearing in the Value column is a suggested concrete value for the signal to which a symbolic
identifier should be assigned.
Appearing in the Description column is a suggested text for this symbolic identifier.
6. Click the cell whose text you wish to change.
The cell is selected by a frame and can now be edited.
7. Change the values and symbolic identifiers.
8. Press the <Esc> key if you wish to abort the procedure, i.e. you wish to leave the value or
symbolic identifier unchanged.
Press the <Enter> key if you wish to accept the changed value or changed identifier.
9. Click [OK].
The newly created value table appears in the Value Tables Window.
Task
In the CAN database Tutorial.mdc or Tutorial.dbc assign the Colors value table to the Information
signal.
Task
In the CAN database Tutorial.mdc or Tutorial.dbc create the user-defined attribute Release for
Vehicles.
Concrete values available for the Release attribute should be: 'pending', 'confirmed' and 'denied'.
Like system parameters, the values of user-defined attributes also appear in the columns on the right side of the
Overview Window or in the corresponding List Windows.
Note
User-defined attributes of objects which still have their default values are identified by a * after the
attribute value on the right side of the Overview Window.
Task
In the CAN database Tutorial.mdc or Tutorial.dbc set the user-defined attribute Release for the
Vehicle object Coupe to the value denied.
4. Activate the user-defined attribute whose value you wish to change by clicking the appropriate
table cell.
The corresponding table line is highlighted in color (Default: Blue).
5. Click the value of the attribute.
6. A frame appears around the cell and if applicable the available attribute values are shown.
7. Enter the desired value or select it from the list.
8. Press the <Esc> key if you wish to abort the procedure, i.e. you wish to leave the value
unchanged.
Press the <Enter> key if you wish to accept the changed value.
9. Click [OK].
The changed value of the object's user-defined attribute appears in the table on the right side of
the Overview Window.
Solution 2: Modifying the Values in the Table in the Overview or List Window
1. Click the table cell containing the object's user-defined attribute to be modified.
The corresponding line in the table is highlighted in color (Default: Blue).
The activated cell is shaded with a different color (Default: Light gray).
2. Activate the editing mode for the activated cell by pressing the <F2> key or clicking the cell
again.
A frame appears around the cell and it is shaded in color (Default: Blue); if applicable a list of
possible values is shown.
3. Change the attribute value by entering a different value or selecting a different option from the
list shown.
4. Press the <Esc> key if you wish to abort the procedure, i.e. you wish to leave the parameter
value unchanged.
Press the <Enter> key if you wish to accept the changed value.
Task
Execute an automatic consistency check for the CAN database Tutorial.mdc or Tutorial.dbc with
CANdb++ and correct any inconsistencies that are found.
Note
When the Consistency Check Window is open it is updated automatically with each modification of
the CAN database.
4 API
4.1 INI Files
The CANdb++ installation directory contains the file vcustom.ini. In this file you can make the following settings
for CANdb++ 3.1:
Section [UserSelection], item [SettingsFolder]:
The storage location for the configuration file CANdb.ini is defined there.
Default value: C:\ProgramData\Vector\CANdb++ 3.1\
Section [UserSelection], item [UserFolder]:
The storage location for the example databases (subdirectory Data) and for the database templates
(subdirectory Templates) is defined there.
Default value: C:\Users\Public\Documents\Vector\CANdb++ 3.1\
To make changes to options it is possible to edit the INI files with any ASCII editor.
Note
You should exit CANdb++ before editing the INI files.
The changed options in the INI files do not take effect until CANdb++ is restarted.
4.1.1 CANdb.ini
2. If you want to set the root directory for generated CAN drivers, enter the desired root directory in
the line RootDir= of the section [CAN_Driver].
When generating CAN drivers, sub-directories are created automatically in the root directory.
The generated CAN drivers are stored in these sub-directories.
3. Store the file CANdb.ini and close the editor.
If CANdb++ was opened during editing, you have to exit CANdb++ and open it again to work
with the new settings.
5 Glossary
BusType
Contains the bus type or the network protocol. In the CANdb++ default setting("PropsFromUserAttrs=1" and
"AttrBusType=BusType" in CANdb.ini), this value is mapped to the system attribute 'protocol' of a network.
CHM
Help file (Microsoft Compiled HTML Help)
CSV
Text file with Comma/Character Separated Values
DBC
CANdb network file (Data Base for CAN)
DLL
Run-time library (Dynamic Link Library)
EXE
Executable program
GenMsgCycleTime
Contains the cycle time of the message or the relation node-Tx message. With the default settings in CANdb++
("PropsFromUserAttrs=1" and "AttrMsgCycleTime=GenMsgCycleTime" in CANdb.ini) this value is mapped to
the system attribute cycle time. In the default setting, therefore, the system attribute cycle time of a message
(e.g. on the "Message - Definition" page) cannot be processed directly; instead, it is determined via the user-
defined attribute.
GenMsgSendType
Describes the transmitter type of the message or the relation node-Tx message. The available values are user or
OEM-specific. With the default settings in CANdb++ ("PropsFromUserAttrs=1" and "AttrMs-
gSendType=GenMsgSendType" in CANdb.ini) this value is mapped to the system attribute transmitter type (Tx
method). In the default setting, therefore, the system attribute transmitter type of a message (e.g. on the "Mes-
sage - Definition" page) cannot be processed directly; instead, it is determined via the user-defined attribute.
GenSigInactiveValue
Describes the value of a signal for which the signal is in the inactive state. Signals that are sent with the trans-
mitter type (GenSigSendType) 'IfActive' are sent as soon as the signal assumes a value not equal to the inactive
value. Signals that are sent with the transmitter type 'IfActiveWithRepetion' are normally sent cyclically.
However, if the signal value assumes the inactive state, the signal must not be sent.
GenSigSendType
The GenSigSendType attribute specifies the send type of a signal.
GenSigStartValue
Describes the start value or initial value of a signal.
INI
File with configuration settings.
MDC
CANdb++ CAN database
NmStationAddress
A node that uses the OSEK NM (network management) must have a NM-ID that is unambiguous on the network
(within a vehicle, the NM-ID does not have to be unambiguous). This NM-ID is managed in the attribute NMSta-
tionAdress. In the CANdb++ default setting("PropsFromUserAttrs=1" and "AttrBusType=NMStationAddress" in
CANdb.ini), this value is mapped to the system attribute 'address' of a node.
TXT
Text file
6 Index P
Program Start 11
A Support 6
C Trademarks 7
Certification 6
W
Communication Matrix 20
Concept 4 Warranty 6
Consistency Check 26
Conventions 5
Copy Existing Objects 14
Create New Objects 15
Create User Defined Attributes 23
Create Value Table 21
Datamodel 9
INI files 27
Installation 9
Main Window 10
Map Objects 18
Modify Existing Objects 16
Modify Values of User-Defined Attributes 24
Overview 8
News
Products
Demo Software
Support
Training Classes
Addresses
www.vector.com