SN-HND-1-047 CANoe Test Feature Set Tutorial
SN-HND-1-047 CANoe Test Feature Set Tutorial
2020-10-12
Support Note SN-HND-1-047
Table of Contents
1 About this tutorial.................................................................................................................................... 2
2 The setup ............................................................................................................................................... 3
2.1 CAN database ..................................................................................................................... 3
2.1.1 Create new file ........................................................................................................... 3
2.1.2 Create ECU nodes ..................................................................................................... 3
2.1.3 Create messages ....................................................................................................... 3
2.1.4 Create signals ............................................................................................................ 4
2.1.5 Associate the database .............................................................................................. 5
2.2 Setting up CANoe ................................................................................................................ 5
2.2.1 Add nodes to the network ........................................................................................... 5
2.2.2 Create simulated doors ECU ...................................................................................... 5
2.2.3 Create system variables ............................................................................................. 7
2.2.4 Add remaing bus simulation ....................................................................................... 7
2.3 User test panel ..................................................................................................................... 9
2.3.1 Create new panel ....................................................................................................... 9
2.3.2 Add controls ............................................................................................................... 9
2.4 Verify the configuration....................................................................................................... 10
2.4.1 Check the simulation ................................................................................................ 10
2.4.2 Check the functionality ............................................................................................. 11
3 Testing with CANoe’s Test Feature Set ................................................................................................ 12
3.1 Test Units and Test Modules .............................................................................................. 12
3.2 Testing in CANoe ............................................................................................................... 12
3.2.1 Configuration............................................................................................................ 12
3.2.2 Creating the Test Module ......................................................................................... 12
3.2.3 Executing the tests ................................................................................................... 17
3.3 Testing in vTESTstudio ...................................................................................................... 17
3.3.1 Configuration............................................................................................................ 17
3.3.2 Using CAPL ............................................................................................................. 18
3.3.3 Using C# .................................................................................................................. 18
3.3.4 Using Test Table ...................................................................................................... 19
3.3.5 Using Test Sequence Diagram ................................................................................. 21
3.3.6 Executing the tests ................................................................................................... 23
4 Appendix .............................................................................................................................................. 25
4.1 Network setup .................................................................................................................... 25
4.2 Doors ECU design ............................................................................................................. 25
4.2.1 Features................................................................................................................... 25
4.2.2 Functionality ............................................................................................................. 25
4.2.3 CAN requirements.................................................................................................... 25
4.3 Test design ........................................................................................................................ 26
5 Contacts............................................................................................................................................... 27
CANoe Test Feature Set Tutorial
In practice, creating a simulated ECU is not required as the testing will be performed on a real ECU.
We will begin by developing a CAN database to represent the data on a CAN network. This database will
contain three ECUs: Engine, Console and Doors ECUs. The Doors ECU will be the System Under Test (SUT)
and so, we will be simulating this ECU. The messages from the Engine and Console ECUs will be simulated
as a part of the remaining bus simulation. A panel will also be created to manually check the functionality of
the Doors ECU.
Once the simulated network is implemented, we will then use CANoe/vTESTstudio to define a few test cases
in CAPL, C#, Test Table and Test Sequence Diagram to test the functionality of the Doors ECU.
2 The setup
Before opening CANoe, create a new directory called “testTFS” to contain all the files pertaining to this
tutorial. This folder will have additional folders for better understanding and organized access of the files
created by CANoe. Create the following sub-folders:
1) CANoe Config
2) DBC
3) ECU Simulation
4) Panels
5) Test Files
6) Test Reports
7) TestUnit Build Output
8) vTESTstudio Project
Open CANoe application, go to File | New and select “CAN 500kBaud 1ch”. Go to File | Save As. Name the
file “testTFS.cfg” and select the sub-folder “CANoe Config”. Then, click [Save].
A network database is not required, but it is always helpful to have one. In most test applications, a network
database will save a lot of time and effort in implementing the test cases. If one is not available, creating a
database is a good first step.
1) In CANoe, click the “Tools” ribbon and select CANdb++ Editor to launch the integrated CAN
database editor.
2) In the CANdb++ Editor, go to File | Create Database. A prompt appears to select a
template. Select the template named "EmptyTemplate.dbc".
3) Name the empty DBC file "testTFS.dbc" and save it into the “DBC” sub-folder.
We will now create three network nodes, “Engine”, “Console” and “Doors”.
1) Select “Network Nodes” from the tree view on the left pane of the Overall View window, right-click on
it, and select New. Enter "Doors" in the Name textbox and then click [OK].
2) Repeat step 1 twice, to create two nodes and name them "Engine" and “Console”.
We will now create five messages for our simple test application.
1) Select "Messages" in the tree view on the left pane of the Overview window, right-click on it, and
select New.
2) Setup the messages as follows:
o Name = EngineStatus
• Set the DLC (Data LengthCode) to “2”, for 2 bytes of data.
• Select the Transmitters tab and click [Add]. Select “Engine” and click [OK].
o Name = LockingRq
• Set the DLC to “1”.
• Set “Console” to be the transmitter of the message.
o Name = LockingState
• Set the DLC to “1”.
• Set “Doors” to be the transmitter of the message.
o Name = WindowRq
• Set the DLC to “1”.
• Set “Console” to be the transmitter of the message.
o Name = WindowState
• Set the DLC to “1”.
We will now create six signals to represent data within the messages we have just created as follows:
1) Select “Signals” in the tree view on the left pane of the Overview window, right-click on it and select
New.
2) Setup the signal as follows:
o Name = IgnitionStatus
• Enter “1” for Length [Bit].
• Select “Unsigned” for the Value Type.
• Set Minimum to “0” and Maximum to “1”.
• Switch to the Messages tab. Add the message, “EngineStatus” and click [OK].
o Name = LockRequest
• Enter “1” for Length [Bit].
• Select “Unsigned” for the Value Type.
• Set Minimum to “0” and Maximum to “1”.
• Switch to the Messages tab. Add the message, “LockingRq” and click [OK].
o Name = LockState
• Enter “1” for Length [Bit].
• Select “Unsigned” for the Value Type.
• Set Minimum to “0” and Maximum to “1”.
• Switch to the Messages tab. Add the message, “LockingState” and click [OK].
o Name = Velocity
• Enter “8” for Length [Bit].
• Select “Unsigned” for the Value Type.
• Set Minimum to “0” and Maximum to “200”.
• Switch to the Messages tab. Add the message, “EngineStatus” and click [OK].
o Name = WindowPosition
• Enter “4” for Length [Bit].
• Select “Unsigned” for the Value Type.
• Set Minimum to “0” and Maximum to “15”.
• Switch to the Messages tab. Add the message, “WindowState” and click [OK].
o Name = WindowRequest
• Enter “2” for Length [Bit].
• Select “Unsigned” for the Value Type.
• Set Minimum to “0” and Maximum to “2”.
• Switch to the Messages tab. Add the message, “WindowRq” and click [OK].
Value tables can be made for each signal to represent symbolically, the different value states. We will create a
value table for five of our signals.
1) Select View | Value Tables.
2) Right-click anywhere on the empty page and select New to create a value table.
3) Setup the value tables as follows:
o Name = VtSig_IgnitStatus
• In the Value Descriptions tab, click the [Add] button twice.
• Replace the description for “0x0” to “Engine Off”
• Replace the description for “0x1” to “Engine On”
o Name = VtSig_LockRequest
• In the Value Descriptions tab, click the [Add] button twice.
• Replace the description for “0x0” to “Request to Lock”
• Replace the description for “0x1” to “Request to Unlock”
o Name = VtSig_LockState
• In the Value Descriptions tab, click the [Add] button twice.
1) In CANoe select the “Simulation” ribbon and click on Simulation Setup to make sure the Simulation
Setup is displayed.
2) Expand the tree list on the right pane and select Databases. Right-click on it and select Add.
3) Navigate to the DBC sub-folder and select the “testTFS.dbc” database file.
The CANoe environment needs to be setup so that all the components can interact with each other. The
simulated ECU and the remaining bus simulation must be created using CAPL. The system variables are like
global variables. In this tutorial, we will use the System Variables to control the Engine and Console ECU
simulation from other components like the Panel and Test Units.
Next, we will use the CAPL programming language of CANoe to define the behavior of our simulated Doors
ECU. A CAPL program is usually developed using the CAPL Browser. The CAPL Browser can be accessed
from the “Tools” ribbon.
We will now begin programming the Doors ECU’s functionality based on the features specified in the
Appendix.
1) In the Simulation Setup of CANoe click on the pencil icon located in the lower-left corner of the
“Doors” network node.
2) An Open dialog will appear asking for the CAPL program to be given a name. Type in “doors.can”
and navigate to the “ECU Simulation” subfolder. Then, click on Open.
3) In the variables section, enter the following code:
variables
{
byte WindowState = 0;
byte IgnitionState;
1) In CANoe, select the Environment ribbon and click on the “System Variables”. The System Variables
Configuration window will open.
2) In the empty left pane, right-click and select New.
3) Enter the following details for creating a System Variable
o Variable 1
• Namespace : “testNS”
• Name : “IgnitionStart”
• Initial Value : 0
• Minimum : 0
• Maximum : 1
• Value Table : Select “Custom”. Expand the Value Table tree, click the Value Table Items
row to reveal the “Edit Value Table” icon and click it. Now enter the following:
❖ 0 : Ign_OFF
❖ 1 : Ign_ON
4) We will now create 4 more System Variables by right-clicking on the “testNS” row and selecting New.
o Variable 2
• Name : “LockRq”
• Initial Value : 0
• Minimum : 0
• Maximum : 1
• Value Table Items
❖ 0 : RqToLock
❖ 1 : RqToUnlock
o Variable 3
• Name : “Velocity”
• Initial Value : 0
• Minimum : 0
• Maximum : 200
• Unit : kmph
• Value Table : Not required
o Variable 4
• Name : “WindowRequest”
• Initial Value : 0
• Minimum : 0
• Maximum : 2
• Value Table Items
❖ 0 : No_Request
❖ 1 : Roll_Up
❖ 2 : Roll_Down
o Variable 5
• Name : “WindowState”
• Initial Value : 0
• Minimum : 0
• Maximum : 15
• Value Table : Not required
5) Click on [OK].
Next, we will again use the CAPL programming language to define the behavior of the remaining bus. The
following program is written based on the expectations of the Doors as specified in the Appendix.
1) In the Simulation Setup of CANoe click on the pencil icon located in the lower-left corner of the
“Engine” network node.
2) An Open dialog will appear asking for the CAPL program to be given a name. Type in “engine.can”
and navigate to the “ECU Simulation” subfolder. Then, click on Open.
Copyright © 2020 – Vector Informatik GmbH 7
Contact Information: www.vector.com or +49-711-80 670-0
CANoe Test Feature Set Tutorial
on message WindowState
{
@sysvar::testNS::WindowState = this.WindowPosition;
}
13) New click “Compile” or type F9. If there are any errors, rectify them and click Compile again. If the
source code has no errors, the message “Compilation succeeded…“ will be displayed.
A Graphic panel can be created using the “Panel Designer”. This tool can be opened from the “Tools” ribbon
from CANoe. It is recommended to open the tool from CANoe so that the associated database and system
variables are referenced.
1) In CANoe, go to the “Home” ribbon and click on “Panel | New Panel“. The Panel Designer tool will be
opened.
2) Select File | Save. Give the name of the file as “testPanel.xvp” and the location as the “Panels”
subfolder. Click [Save].
In this tutorial we will use 2 switches, 2 push buttons and 1 trackbar for controlling the variables. We will also
use 2 indicators and 1 LCD control for display of outputs.
The following steps show how to add switches:
1) On the right side of the Panel Designer, there should be a Toolbox window. If its not visible, go to the
Home ribbon, and select Views Tool Box.
2) Scroll down the list of Vector Standard Controls and click on “Switch/Indicator” and drag it onto the
platform in the center of Panel Designer. A box with a dashed border and a black color switch should
then appear.
3) Open the “Properties” window using the Views option in the Home ribbon.
4) Under the Symbol section, set the symbol filter to Variable. Next, click on Symbol, and then click on
the button to the right of the white box.
5) A window should appear with the list of Symbols, expand the System variable list, and select
“IgnitionStart”. Afterwards, click [OK]. (Alternatively, the system variable can be assigned by dragging
it from the Symbol Explorer on the left pane to the switch box.)
6) Under the Toolbox section, scroll down the list, drag and drop “Static Text” next to the switch on the
gray platform. A box with the words “Description” should appear.
7) In the Properties box, replace the text box property “Text”, from “Description” to “Ignition Start”.
8) Repeat steps 2-5 for the following system variables:
o “LockRq”
o “WindowState” with state count of 17.
9) Repeat steps 2-5 again for the CAN signal “LockState”. For this, set the symbol fiter to Signal and
select the signal “LockState” from the Symbol Selection window. Also, set the Display Only property
to True.
10) (Optional) Switch images may be replaced with user created graphics.
o For “LockState” and “WindowState”, the lock and window images from CANoe’s Central
Locking State Demo were used. (Images used: “LockUnlock.bmp” and “WindowsLeft.bmp”.
Located in the file directory: “C:\ Users\Public\Documents\Vector\CANoe\<Sample
Configurations>\CAN\TestFeatureSet\CentralLockingSystem\CANoe_Configuration\Panels\Bi
tmaps\”).
o If the image is not displayed properly, right click on the control and select Fit Image Size.
The following steps show how to add Push Buttons for window control:
1) From the Toolbox, drag and drop the “Button” control.
2) In the Properties window, change the Text from “Button” to “Window Up”.
3) Under the Symbol section, set the Symbol Filter to Variable. Now select the “WindowRequest”
system variable in the Symbol option.
Copyright © 2020 – Vector Informatik GmbH 9
Contact Information: www.vector.com or +49-711-80 670-0
CANoe Test Feature Set Tutorial
4) Under Switch Values option, select Roll_Up for Pressed and No_Request for Released.
5) From the Toolbox, drag and drop another “Button” control.
6) In the Properties window, change the Text from “Button” to “Window Down”.
7) Under the Symbol section, set the symbol filter to Variable. Now select the “WindowRequest” system
variable in the Symbol option.
8) Under Switch Values option, select Roll_Down for Pressed and No_Request for Released.
The following steps show how to add controls for changing velocity:
1) From the Toolbox, drag and drop the “Trackbar” control.
2) Under the Symbol section, set the Symbol Filter to Variable. Now select the “Velocity” system
variable in the Symbol option.
3) From the Toolbox, drag and drop the “LCD Control” control.
4) Under the Symbol section, set the Symbol Filter to Variable. Now select the “Velocity” system
variable in the Symbol option.
Save the panel using the option File | Save. You may add additional tools like Group Box to make the panel
visually better. Figure 1 shows the Panel after all the controls are added.
Figure 1
Figure 2
Figure 3
There are two types of Test Setups in CANoe. The Test Units Test Setup is used for executing the test
cases created using vTESTstudio and the Test Modules Test Setup is used for executing the test cases
created in CANoe environment.
CANoe has a built-in testing feature where test cases may be implemented in CAPL language. With CAPL,
test cases will be executed in the order in which they are written in the “MainTest()” test control. Also, it is
important to note that the functionality of a test module CAPL program is not quite the same as that of a
regular CAPL program written to simulate a network node.
3.2.1 Configuration
Let’s begin by setting up the test environment in CANoe.
1) Open the Test Setup by going to the Test ribbon and selecting Test Setup in the Test Modules
group.
2) Right-click in the blank area and select New Test Environment. Enter the name as
“te_FunctionalTests”. Right-click on this environment and click Save. Navigate to the sub-folder “Test
Files” and click [Save].
3) Right-click on this new folder and select Insert CAPL Test Module.
4) Right-click on this new test module and click on Configuration. Enter the name as
“tm_FunctionalTests”. Click on File, navigate to the “Test Files” sub-folder and enter the name as
“CANoeTests.can”. Click [Open] and click [OK].
5) Again right-click on the test module and click Configuration. Under the Test Report tab, add the path
of the sub-folder “Test Reports” in the Test reports path. Click [OK].
6) Again right-click on the test module and click Edit. This will open the CAPL browser.
Note: The CAPL Browser is a tool that comes with the CANoe installation. Typically, this browser is used to
implement a CAPL program to simulate a network node, but it is possible to use it to implement test cases for
a test module.
1) Variables – The variables section will be present by default when a new CAPL file is created. Enter
the following code in that section.
variables
{
const dword kWAIT_TIMEOUT = 500; // 500msecs
int WaitResult;
}
2) Main Control – Right-click on “Test Control” in the left pane and select New “MainTest”. Type the
following code for MainTest().
void MainTest()
{
cf_testPreparation();
ctc_WindowDownUp();
ctc_RequestLock();
ctc_AutoLock();
}
3) Test Preparation – We will create a function which will set the description of the test module and
engineer information. Right-click on Functions in the left pane and select New Function. Replace the
highlighted part with “cf_testPreparation”. Type the following code in that function.
void cf_testPreparation()
{
/* Add Description of Test Module */
TestModuleDescription("Sample test cases written in CAPL.");
testfunction PreConditions()
{
testStep("Pre-cond","Start");
testStep("","Set Ignition to ON");
// Set Ignition to ON
@sysvar::Main::IgnitionStart =
@sysvar::Main::IgnitionStart::Ign_ON;
testWaitForTimeout(500);
testStep("Pre-cond","End");
}
testfunction PostConditions()
{
testStep("Post-cond","Start");
testStep("","Set Ignition to OFF");
// Set Ignition to OFF
@sysvar::Main::IgnitionStart =
@sysvar::Main::IgnitionStart::Ign_OFF;
testWaitForTimeout(500);
testStep("Post-cond","End");
}
1) ctc_WindowDownUp – Type the following code after creating the test case.
testcase ctc_WindowDownUp()
{
int LoopVar;
message WindowState WinStat;
PreConditions();
PostConditions();
}
2) ctc_RequestLock – Type the following code after creating the test case.
testcase ctc_RequestLock()
{
message LockingState LockingStatus;
PreConditions();
// Wait for the reply message from Doors ECU for 500ms
WaitResult = TestWaitForMessage(LockingState, kWAIT_TIMEOUT);
PostConditions();
}
3) ctc_AutoLock – Type Type the following code after creating the test case.
testcase ctc_AutoLock()
{
message EngineStatus EngState;
message LockingState LockSysState;
byte ind1,ind2;
PreConditions();
ind1 = testJoinMessageEvent(EngineStatus);
ind2 = testJoinMessageEvent(LockingState);
testWaitForAllJoinedEvents(200);
testGetWaitEventMsgData(ind1, EngState);
testGetWaitEventMsgData(ind2, LockSysState);
if(EngState.Velocity == 15)
{
testWaitForTimeout(50);
if(LockSysState.LockState == VtSig_LockState::Unlocked)
testStepPass("Door is in Unlocked state before reaching the
speed threshold");
else
testStepFail("Door is not in Unlocked state before reaching the
speed threshold");
}
ind1 = testJoinMessageEvent(EngineStatus);
ind2 = testJoinMessageEvent(LockingState);
testWaitForAllJoinedEvents(200);
testGetWaitEventMsgData(ind1, EngState);
testGetWaitEventMsgData(ind2, LockSysState);
if(EngState.Velocity == 16)
{
testWaitForMessage(LockingState,200);
if(LockSysState.LockState == VtSig_LockState::Locked)
testStepPass("Door is in Locked state after reaching the speed
threshold");
else
testStepFail("Door is not in Locked state after reaching the
speed threshold");
}
testStep("","Reset speed back to 0 kmph");
@sysvar::Main::Velocity = 0;
PostConditions();
}
To start a new project, open vTESTstudio and select the option File | New Project. Enter the name
“testVTS.vtsoproj” and navigate to the “vTESTstudio Files” subfolder. Click on [Save]. By default, certain
windows will be open after creating a new project. But any window can be open at a later stage by clicking the
“Layout” ribbon and selecting the required window.
There are five different test design editors for implementing test cases in vTESTstudio. The test cases and
functions can either be implemented within one test design editor or be shared over different test design
editors according to the respective capabalities of the respective editor. For example a predefined CAPL test
function can be called from within a test table or a test sequence diagram.
3.3.1 Configuration
In vTESTstudio
We will first set up the environment required for developing test cases. In the Project View, right-click on the
project name “testVTS” and select Project Configuration. In the System Environment tab, click on [Import].
While importing, the CANoe configuration testTFS.cfg should be loaded. This action will import the databases,
system variables and other related files into the vTESTstudio environment.
Select the “Build” tab and enter the path of the subfolder “TestUnit Build Output” in the Output directory text
box. Accept these setting via Apply in the upper left corner of the Project Configuration and save the project
via File | Save Project File.
In CANoe
Open the Test Setup by going to the Test ribbon and selecting Test Setup in the Test Units group. Right-
click on the blank area and select Add Test Configuration. Name the configuration as “Functional Tests”. A
new window for this test configuration will be opened.
In the Test Setup, right-click on the “Functional Tests” and select Configuration. Under the Test Report
heading, Test report path, select the sub-folder “Test Reports”. This will ensure that all the reports are
contained in one folder for easier access.
Figure x
9) Save this file. Click on Build Test Unit in the Home ribbon to check if there are any errors.
3.3.3 Using C#
1) In the Project View, right-click on the project name “testVTS” and select New Test Unit. Change the
name of this test unit to “tu_CSharp”.
2) Right-click on the test unit and select Add | C# File. Name the file as NET_FuncTests.
3) Copy the contents from the file “…\ref_testTFS\vTESTstudio
Project\ref_tu_CSharp\ref_NET_FuncTests.can” to this new C# file.
4) This file contains 3 test cases. ntc_WindowDownUp, ntc_RequestLock and ntc_AutoLock. The
complete test case along with preconditions and postconditions are written inside of these three test
cases.
5) It also contains functions for preconditions, postconditions and test preparation.
6) Again right-click on the test unit and select Add | Test Table. Name the file as tt_NET_FuncTests.
This test table works as the starting point from which the test cases are called. The Test Table Editor
will be opened in the middle pane.
7) In the middle pane of the editor, click on the drop-down box under Test Tree and select Test Fixture.
Under the Test Fixture, select Fixture Preparation from the drop-down list. Under the Preparation,
select the function nf_TestPreparation.
8) Right click on the new line and select Move Level Up. Select ntc_WindowDownUp in the drop down
list. Then select the remainng two test cases in the new lines. The test table should look like as shown
in Figure .
Figure x
9) Save this file. Click on Build Test Unit in the Home ribbon to check if there are any errors.
2. tf_Preconditions
i. Move one level up. Add Function Definition. Enter “tf_Preconditions”.
ii. Add Set command. In the “Set” box, select the system variable “IgnitionStart”. System
variables are denoted by a blue/red sine wave. In the value box after the “=” symbol,
select Ign_ON.
g. Add a Transition element from the element in d. to element in f. Add a Set command and
select the system variable “LockRq” in the Set field and “RqToLock” in its value field. Enter
“Request to Lock” in the Caption field.
h. Drag and drop the Diagram Link element. In the bottom pane, select “Postconditions” from
the drop down list in the Diagram field. Enter “Postconditions” in the Caption field.
i. Add a Transition element starting from the element in f. and ending at Diagram Link element.
j. Drag and drop the Finalize element.
k. Add a Transition element starting from the Diagram Link element and ending at the Finalize
element.
10) Double click on the “dtc_AutoLock” file to open it. The following steps shows how to create the test
sequence for this test case.
a. Drag and drop the Start element.
b. Drag and drop the Diagram Link element. In the bottom pane, select “Preconditions” from the
drop down list in the Diagram field. Enter “Preconditions” in the Caption field.
c. Add a Transition element starting from the Start element and ending at Diagram Link
element.
d. Add a Check element. Add Await Value Match command and select the CAN signal
“Velocity” in the Check field with value 15. Enter 200 in the Timeout field. Add another Await
Value Match command and select the CAN signal “LockState” in the Check field with value
“Unlocked”. Enter 100 in the Timeout field Enter “Check Unlocked” in the Caption field.
e. Add a Transition element from the Diagram Link element to Check element. Add a Set
command and select the system variable “LockRq” in the Set field and “RqToUnlock” in its
value field. Add another Set command and select the system variable “Velocity” in the Set
field with value 15. Enter “Set Velocity at 15 kmph” in the Caption field.
f. Add a Check element. Add Await Value Match command and select the CAN signal
“Velocity” in the Check field with value 16. Enter 200 in the Timeout field. Add another Await
Value Match command and select the CAN signal “LockState” in the Check field with value
“Locked”. Enter 100 in the Timeout field Enter “Check Locked” in the Caption field.
g. Add a Transition element from the element in d. to element in f. Add a Set command and
select the system variable “Velocity” in the Set field with value 16. Enter “Set Velocity at 16
kmph” in the Caption field.
h. Drag and drop the Diagram Link element. In the bottom pane, select “Postconditions” from
the drop down list in the Diagram field. Enter “Postconditions” in the Caption field.
i. Add a Transition element starting from the element in f. and ending at Diagram Link element.
Add a Set command and select the system variable “Velocity” in the Set field with value 0.
Enter “Set Velocity at 0 kmph” in the Caption field.
j. Drag and drop the Finalize element.
k. Add a Transition element starting from the Diagram Link element and ending at the Finalize
element.
4) In the Test Configuration “Functional Tests”, click the orange play icon. This will start running the tests
sequentially. Before starting this, you maybe select the test cases to be run by using the check boxes
before each test.
5) As each test case is being executed, you should see a “clock” icon in the Verdict column. When a test
case finishes running, its verdict is displayed in the verdict column with either a “green check” or a
“red cross”.
4 Appendix
4.1 Network setup
4.2.1 Features
1. Lock or Unlock
2. Window Up or Window Down (16 levels)
4.2.2 Functionality
1. Lock/Unlock based on request from Console ECU.
2. Lock based on car velocity (ignition is ON, velocity > 15 km/h and unlocked state).
3. Raise or lower Window by one level based on a state transition from No_Request to Roll_Up or
Roll_Down (only when ignition is ON).
5 Contacts
For support related questions please address to the support contact for your country
https://www.vector.com/int/en/company/contacts/support-contact/.