Control Desk MCD 3 Automation
Control Desk MCD 3 Automation
MCD-3 Automation
For ControlDesk 2024‑A
To access the Web version of this document, click the following link or scan the QR code:
https://www.dspace.com/dspace-help/s2Qpt
To access the Web version, you must have a mydSPACE account. For more information on the
mydSPACE registration process, refer to https://www.dspace.com/faq?097.
How to Contact dSPACE
Mail: dSPACE GmbH
Rathenaustraße 26
33102 Paderborn
Germany
Tel.: +49 5251 1638-0
E-mail: [email protected]
Web: https://www.dspace.com
If possible, always provide the serial number of the hardware, the relevant dSPACE License
ID, or the serial number of the CmContainer in your support request.
Important Notice
This publication contains proprietary information that is protected by copyright. All rights
are reserved. The publication may be printed for personal or internal use provided all the
proprietary markings are retained on all printed copies. In all other cases, the publication
must not be copied, photocopied, reproduced, translated, or reduced to any electronic
medium or machine-readable form, in whole or in part, without the prior written consent
of dSPACE GmbH.
This publication and the contents hereof are subject to change without notice.
Contents
3
May 2024 ControlDesk MCD-3 Automation
Contents
Using M............................................................................................................. 68
Basic Operations in M....................................................................... ............ 69
Code Example in M....................................................................................... 70
Using Python..................................................................................................... 71
Basic Operations in Python............................................................................ 71
Code Example in Python................................................................... ............ 72
Reference Information 85
MC3 Page..................................................................................................... 85
Limitations 87
General Limitation......................................................................................... 88
Limitations for ECU Access via ControlDesk's MCD3 Interface....................... 88
Limitations for Calibration via ControlDesk's MCD3 Interface........................ 88
Limitations for Measurement and Recording via ControlDesk's
MCD3 Interface................................................................................ ............ 89
Limitations for ECU Diagnostics via ControlDesk's MCD3 Interface................ 90
Limitations for Error Message Handling in Connection with
ControlDesk's MCD3 Interface...................................................................... 91
Limitations for Using M-Files in Connection with ControlDesk's
MCD3 Interface................................................................................ ............ 91
4
ControlDesk MCD-3 Automation May 2024
Contents
Glossary 93
Index 131
5
May 2024 ControlDesk MCD-3 Automation
Contents
6
ControlDesk MCD-3 Automation May 2024
About This Document
Contents This document shows you how to automate your calibration, measurement, and
diagnostic tasks using ControlDesk’s ASAM MCD‑3‑compatible interface.
Required knowledge You should be familiar with performing the tasks described above in ControlDesk
without MCD‑3 automation.
Knowledge in handling the host PC and the Microsoft Windows operating
system is also assumed.
Symbol Description
Indicates a hazardous situation that, if not avoided,
V DANGER
will result in death or serious injury.
Indicates a hazardous situation that, if not avoided,
V WARNING could result in death or serious injury.
Indicates a hazardous situation that, if not avoided,
V CAUTION could result in minor or moderate injury.
Indicates a hazard that, if not avoided, could result in
NOTICE
property damage.
Indicates important information that you should take
Note
into account to avoid malfunctions.
Indicates tips that can make your work easier.
Tip
Indicates a link that refers to a definition in the
glossary, which you can find at the end of the
document unless stated otherwise.
Follows the document title in a link that refers to
another document.
Naming conventions dSPACE user documentation uses the following naming conventions:
7
May 2024 ControlDesk MCD-3 Automation
About This Document
Special Windows folders Windows‑based software products use the following special folders:
Tip
Tip
Tip
Accessing dSPACE Help and After you install and decrypt Windows‑based dSPACE software, the
PDF files documentation for the installed products is available in dSPACE Help and as PDF
files.
8
ControlDesk MCD-3 Automation May 2024
About This Document
dSPACE Help (local) You can open your local installation of dSPACE Help:
§ On its home page via Windows Start Menu
§ On specific content using context-sensitive help via F1
PDF files You can access PDF files via the icon in dSPACE Help. The PDF
opens on the first page.
9
May 2024 ControlDesk MCD-3 Automation
About This Document
10
ControlDesk MCD-3 Automation May 2024
Basics and Instructions
11
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
MC3 Demos............................................................................................ 21
Demonstrate how to remote-control ControlDesk's measurement and
calibration features using ControlDesk’s ASAM MCD-3 MC‑compatible
interface without platform /device hardware connected to the host
PC.
D3 Demo................................................................................................. 23
Demonstrates how to remote-control ControlDesk's ECU
diagnostics features using ControlDesk’s ASAM MCD-3 D‑compatible
interface without platform/device hardware connected to the host PC.
The demo uses the configuration of an ECU Diagnostics device in a
ControlDesk experiment .
The ASAM MCD standard defines interfaces and data exchange formats of
MCD systems. MCD systems provide access to electronic control units (ECUs) or
12
ControlDesk MCD-3 Automation May 2024
Introduction to Automating ControlDesk via MCD-3
measurement devices and are used for measurement, calibration, and diagnostic
(MCD) tasks.
MCD systems Measurement (M), Calibration (C) and Diagnostic (D) are the function blocks of
an MCD system. A real system does not have to support all function blocks.
Automation systems
AuSy AuSy AuSy
MCD 3 interfaces
MC D
Database Database
MCD-3 object model The ASAM MCD-3 object model serves as a template for concrete object models
that are created to remote-control MCD systems according to the MCD-3
standard. It defines the interfaces and functionality that compatible object
models must provide.
The MCD-3 object model contains database objects and run-time objects.
Database objects Database objects are invariable. They provide access to the
basis data of an experiment, for example the properties of variables, ECU Image
13
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
file data, or information on a device interface. All database classes have a "Db"
in their names. The database objects are the basis for creating run-time objects
to work with.
Run-time objects The run-time classes have the same names as the database
classes, but without "Db". For example, "DbCharacteristic" is the name for a
parameter class on the database side. The run-time "Characteristic" object gets
its information from the related "DbCharacteristic", for example, its upper and
lower limits.
COM/DCOM object model The generic MCD-3 object model has been implemented as a (Distributed)
Component Object Model (COM/DCOM). DCOM is an extension to COM
to support communication between objects on different computers via
network connections. Using COM/DCOM makes objects available for different
programming and scripting languages and provides mechanisms for remote-
control.
Introduction ControlDesk provides an MCD3 interface that is compatible with ASAM MCD-3
MC 1.0.1. You can use the ControlDesk MCD3 interface to automate calibration
and measurement tasks in test benches. This enables you to perform various
calibration and measurement tasks without changing parameter values and
other experiment settings manually.
14
ControlDesk MCD-3 Automation May 2024
Introduction to Automating ControlDesk via MCD-3
Measurement
Calibration tasks data
Measurement tasks
Calibration
data
ECU Engine
Measurement
data
Project A
Experiment 2 DbProject 6
Client One or more automation systems (application side) can be clients. Each
client application connecting to the server creates its own MCSystem object with
its own subobjects, but all client applications share the same data. For example,
all clients can access only the same project.
V WARNING
15
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Project The DbProjectDescriptions collection lets you select a DbProject to create a run-
time Project.
Note
Characteristics and In ASAM MCD-3 terms, parameters are called Characteristics. You select one
measurements DbCharacteristic from the DbCharacteristics collection to create a run-time
Characteristic for calibration.
Note
LogicalLinks and Modules LogicalLinks and Modules are objects that represent the connection to a device.
Together they provide access to parameters and measurement variables and
contain the specific program version.
Collector To measure variables you must create one or more Collector objects.
Measurements are configured and run via a Collector.
Database In contrast to using ASAP3 classic, you do not have to open ControlDesk or
rely on notes to get basic information on an experiment. Instead, you can
read the database side of the object model for information, for example, to
list parameters or measurement variables.
Logging of API commands You can specify whether the logging of API commands is enabled for automation
via ControlDesk's ASAM MCD-3 interface. Refer to MC3 Page on page 85.
16
ControlDesk MCD-3 Automation May 2024
Introduction to Automating ControlDesk via MCD-3
Introduction ControlDesk provides an MCD3 interface that is compatible with ASAM MCD-3
D 2.0.2. You can use the ControlDesk MCD3 interface to automate the
execution of diagnostic tasks.
Automation
MCD 3D interface
system
Diagnostic tasks
Requests
ECU Engine
Responses
DSystem To start an automation session and communicate with the ECU via a diagnostic
interface, a run-time system object has to be created first. In an automation
session, the D system (ControlDesk side) acts as the server and one automation
system (application side) is the client. The client application creates a DSystem
object when it connects to the server.
17
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Project A
Client 1
Experiment 1
D3System202
object
ECU Diagnostics device
Vehicle Information
Logical link 1
Logical link 2
Experiment 2
Experiment 3
Project B
Experiment 1
Experiment 2
Project The DbProjectDescriptions collection lets you select a DbProject to create a run-
time Project.
Note
Database ECU diagnostics with ControlDesk is based on ODX (Open Diagnostic Data
Exchange), the ASAM MCD-2 D diagnostics standard. All the information on
18
ControlDesk MCD-3 Automation May 2024
Introduction to Automating ControlDesk via MCD-3
executable objects or the diagnostic interface can be read from the diagnostic
database (ODX database).
Vehicle information A vehicle information table contains a list of vehicle configurations. Each vehicle
configuration contains LogicalLink objects necessary for connection to the ECUs
of a vehicle. The client creates run-time logical links by choosing a vehicle
configuration and then selecting logical links from it.
Note
You can access only the vehicle configuration that you selected when you
configured the corresponding ECU Diagnostics device in the ControlDesk
experiment.
Note
You can access only the logical links that you selected when you configured
the corresponding ECU Diagnostics device in the ControlDesk experiment.
Diagnostic communication The ODX database describes different diagnostic communication objects to
objects communicate with an ECU.
Diagnostic jobs Diagnostic jobs (often called Java jobs) are programmed
sequences, that are usually built of a sequence of diagnostic services. Diagnostic
jobs are either single-ECU jobs or multiple-ECU jobs, depending on whether they
communicate with one ECU or multiple ECUs.
19
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Introduction You can supply version information when accessing the ControlDesk MCD3
interface.
Accessing ControlDesk's To access ControlDesk's MCD3 interface, you can use the Dispatch command
MCD3 interface in your script as shown in the listing below.
# Import required modules.
from win32com.client import Dispatch
Automating a specific version You can automate a specific version of ControlDesk's MCD3 interface by
of ControlDesk's MCD3 supplying the related version number. via the Dispatch command, as shown
interface in the example listings below.
The following Python listing shows how you can automate a specific version of
ControlDesk's D3 interface.
# Access ControlDesk's D3 interface
self.DSystem = Dispatch("ControlDeskNG.D3System202.7.0")
20
ControlDesk MCD-3 Automation May 2024
Introduction to Automating ControlDesk via MCD-3
Automating the MCD3 Active ControlDesk version If you have several ControlDesk versions on
interface of the active your PC, one is the active version. The latest installed version of ControlDesk is
ControlDesk version the active version by default regardless of its version number.
§ When you remove the currently active version of ControlDesk, there is no
active version because ControlDesk does not activate a version automatically.
See below for information on activating another ControlDesk version.
§ When you remove a currently inactive version of ControlDesk, the currently
active version of ControlDesk remains the same.
The MCD3 interface of the active ControlDesk version is the version that you
access via ControlDeskNG.MC3System.
MC3 Demos
Introduction Several Python demo scripts show how to use the commands of the asammc3
Python library to remote-control ControlDesk.
Remote-controlling the The demos are configured to automate measurement and calibration tasks
CalDemo project with the XCP on CAN experiment of the CalDemo project . To automate
measurement tasks, you have to start the CalDemo ECU (refer to Starting the
CalDemo ECU (ControlDesk Introduction and Overview )).
Precondition Before you can use the D3 and MC3 demo scripts, you have to
copy the ControlDesk demo projects to the Documents folder .
21
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Tip
Demo scripts for calibration The table below lists the calibration and measurement demo scripts, and the
and measurement actions the scripts automate:
Demo scripts accessing the The table below lists the demos accessing the database side of the ASAM
database side of the ASAM MCD-3 interface, and the actions the scripts automate:
MCD-3 interface
22
ControlDesk MCD-3 Automation May 2024
Introduction to Automating ControlDesk via MCD-3
Location of the demos All the Python demo scripts are located in the .\Demos\MC3\Python folder of
your ControlDesk installation.
References
D3 Demo
The demo script accesses ControlDesk's ASAM MCD-3 D interface via the
D3System202 interface. Using the D3System202 interface, you can access the
configuration of an ECU Diagnostics device in a ControlDesk experiment .
The ControlDesk experiment represents the D3 project.
Remote-controlling the The demo script is configured to automate the DiagDemo project in the ECU
DiagDemo project Diagnostics Demo. The script uses the ECU Diagnostics device configuration in
the ECU Diagnostics (MCD-3D v2.0.2) experiment of the DiagDemo project.
Precondition Before you can use the D3 and MC3 demo scripts, you have to
copy the ControlDesk demo projects to the Documents folder .
23
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Tip
Location of the demo The demo script is located in the .\Demos\D3\Python\DiagDemo folder of your
ControlDesk installation.
HowTos
References
24
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
ControlDesk’s project In ControlDesk, you use projects and experiments to structure calibration tasks.
management The main tasks of ControlDesk’s project management are to define projects and
experiments, and to open and activate them.
25
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Defining projects and Projects and experiments must be defined in ControlDesk. These steps in
experiments ControlDesk’s project management are currently not intended to be automated.
MCD 3 Project In ASAM MCD-3, a Project is defined as "logical grouping of defined test
installations selected by the user". This corresponds to a single experiment in
ControlDesk.
Terminology table The terminology in the ASAM MCD-3 object model is different from that in
ControlDesk. The following tables list similar objects and terms. Bear in mind
that there is not always a one-to-one relationship between the terms. If you
need more information on a term, refer to the MCD-3 Automation Glossary on
page 75.
HowTos
26
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
Objective A ControlDesk project usually contains several experiments. You have to activate
the one you want to work with.
MCD 3 project In the ASAM MCD-3 object model, an experiment belonging to an MCSystem
is called an MCProject. An active experiment is an MCProject that was selected
from the MCDbProjectDescriptions collection.
Restrictions § In a multiclient system, the experiment activated first has to be used by every
client. You cannot activate another experiment (MCProject) until the active
experiment has been closed by all clients connected to this experiment.
§ The DbProjectDescriptions collection contains all experiments known to
ControlDesk. The name of the experiment you want to activate therefore must
be unique over all ControlDesk experiments, independently of ControlDesk
projects.
Script examples In the .\Demos\MC3\ folder of your ControlDesk installation, you can find
various demo scripts that show how to use the commands of the asammc3
Python library to remote-control ControlDesk. Refer to MC3 Demos on page 21.
27
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Next steps You can select a platform/device and a corresponding ECU Image file. Refer to
How to Select a Platform/Device on page 30.
ControlDesk’s platform In ControlDesk, platforms/devices are used for carrying out calibration and/or
management measurement tasks. They represent hardware components such as ECUs.
DbLogicalLink and DbBinary To connect to a platform/device and go online via ControlDesk’s ASAM MCD-3
MC interface, you have to use the ASAM MCD-3 interfaces DbLogicalLink and
DbBinary.
28
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
LogicalLink In the ASAM MCD-3 object model, a LogicalLink object handles "the logical and
physical connection to an ECU (...) as well as the protocol specific tasks (...) to
measure with Collectors and to adjust Characteristics."
Since no default LogicalLink is created, you always have to select one explicitly.
Terminology table The terminology in the ASAM MCD-3 object model is different from that in
ControlDesk. The following tables list similar objects and terms. Bear in mind
that there is not always a one-to-one relationship between the terms. If you
need more information on a term, refer to the MCD-3 Automation Glossary on
page 75.
HowTos
29
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Logical Link and Binary According to the ASAM MCD-3 MC object model, you use a Logical Link object
to connect to a platform/device and a Binary to get data for variable values.
For more information, refer to Basics of Automating ControlDesk’s Platform
Management on page 28.
Result The platform/device is active and can be used for calibration tasks.
Examples Selection by name The following example shows how a Logical Link and a
Binary are selected via their names. The example refers to the CalDemo "XCP on
CAN" experiment.
UsedDbLogicalLink = Project.DbProject.DbVehicleInformations[0].DbLogicalLinks.GetItemByName("XCP")
UsedDbBinary = UsedDbLogicalLink.DbLocation.GetItemByName("CalDemo")
SelectedLogicalLink = Project.LogicalLinks.AddByNames(UsedDbLogicalLink.ShortName,UsedDbBinary.ShortName)
Script examples In the .\Demos\MC3\ folder of your ControlDesk installation, you can find
various demo scripts that show how to use the commands of the asammc3
Python library to remote-control ControlDesk. Refer to MC3 Demos on page 21.
30
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
Next steps You can start online calibration to change parameter values or start measuring.
§ For information on starting online calibration, refer to How to Start Online
Calibration on page 31.
§ For information on calibrating parameters, refer to Automating ControlDesk’s
Calibration Features on page 35.
§ For information on measuring, refer to Automating ControlDesk’s
Measurement and Recording Features on page 41.
Online calibration In ASAM MCD-3 terms, starting online calibration means "connecting to the
Module". Stopping online calibration means disconnecting from it.
Starting and stopping online calibration is done via the LogicalLink object.
Resolving inconsistencies The data loaded to the MC system via the Binary object might not be consistent
with the data on the platform/device memory. When you start online calibration,
you can resolve data inconsistencies in two ways.
Preconditions To start online calibration, a platform/device must be selected. You must have
performed all the steps to create a run-time LogicalLink. Refer to How to Select a
Platform/Device on page 30.
31
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Result ControlDesk is online and can be used for online calibration and measurement
tasks.
SelectedLogicalLink.ConnectToModule(asammc3.constants.eLT_DOWNLOAD)
Script examples In the .\Demos\MC3\ folder of your ControlDesk installation, you can find
various demo scripts that show how to use the commands of the asammc3
Python library to remote-control ControlDesk. Refer to MC3 Demos on page 21.
32
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
ControlDesk's variable In ControlDesk, all variables are listed in the Variables pane. You can sort and
handling filter them and open a dialog to show their properties.
Database project The information on parameters and measurement variables is included in the
database part of the ASAM MCD‑3 object model.
To get information on the variables, you do not have to create run-time objects.
You can load a database project (DbProject) and browse the contents of the
variable description file.
Location The ASAM MCD-3 object model defines the DbLocation object as "the entry
point for available (...) Measurements, Characteristics, CompuMethods and so
on. (...) To each Logical Link belongs exactly one Location (...) and one Interface
(MC) according to the entry in the Logical Link Table."
For the measurement and calibration part, the DbLocation mainly represents the
information contained in the variable description file (A2L).
Module There are a number of Location classes for the diagnostics part and one for the
measurement and calibration part, which is called a Module.
Accessing variables To access parameters, measurement variables, axis points and other variable-
specific objects, you must specify a DbLocation object. You can access variables
in two ways.
Terminology table The terminology in the ASAM MCD-3 object model is different from that in
ControlDesk. The following tables list similar objects and terms. Bear in mind
that there is not always a one-to-one relationship between the terms. If you
need more information on a term, refer to the MCD-3 Automation Glossary on
page 75.
33
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
HowTos
34
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
Objective If you need information on variables in the active variable description, for
example, their upper and lower limits, you can list variables and show their
properties.
Database You can query various database objects via the DbLocation object. For more
information, refer to Basics of Automating the Handling of Variables on page 33.
Script examples In the .\Demos\MC3\ folder of your ControlDesk installation, you can find
various demo scripts that show how to use the commands of the asammc3
Python library to remote-control ControlDesk. Refer to MC3 Demos on page 21.
35
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
ControlDesk’s calibration In ControlDesk, you calibrate parameters by changing their values in instruments
features on a layout. ControlDesk offers specialized instruments for editing variable types,
for example, the Variable Array for scalar parameters and the Table Editor for
nonscalar parameters.
Run-time Characteristic In the ASAM MCD-3 MC object model, Characteristic is the generic term for
parameters.
Variable types You can calibrate different elements depending on the variable type of the
parameter.
36
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
Changing values The general steps for automating parameter calibration are the same for each
variable type until it actually comes to changing the value.
You can change the value of a parameter with the Write method of the
Characteristic object. The current value of a parameter can be read with the
Read method.
Note
In contrast to the specifications for the ASAM MCD-3 object model, the
Read method of CurveCharacteristics and MapCharacteristics does not
return MCDValue objects.
ScalarCharacteristics provide two Read methods:
§ Read: To return an MCDValue object.
§ ReadVariant: To return a variant value.
The methods Write and WriteVariant work accordingly.
The writing action is specified by the value type that is one input parameter of
the Write method.
Representation type You can specify the conversion mode for each value
you read or write by selecting a representation type.
Input parameters The following table shows the input parameters of the
Write method for the various parameter types.
37
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
CurveCharacteristic Value To add a constant value (0.5) to the axis points at the index positions 3 to 8:
StartIndex Characteristic.Axis.Write(0.5,3,9,
StopIndex asammc3.constants.eVT_CONST)
ValueType To write 3 values (4,5,6) to the function values at the index positions 2 to 4:
RepType Characteristic.Value.Write([4,5,6],2,5,
asammc3.constants.eVT_VAL)
Example
DbCompuMethod = Characteristic.DbObject.RefDbCompuMethod
if DbCompuMethod:
# Checking if a verbal conversion table is used
if asammc3.constants.eCT_TAB_VERB == DbCompuMethod.\
ConversionType:
print("Value of %-10s is : %s" % (Characteristic.DbObject.\
ShortName, Characteristic.ReadVariant()))
Characteristic.Write("low", asammc3.constants.eVT_VAL)
print("New Value of %-10s is : %s" % (Characteristic.\
DbObject.ShortName, Characteristic.ReadVariant()))
Terminology table The terminology in the ASAM MCD-3 object model is different from that in
ControlDesk. The following tables list similar objects and terms. Bear in mind
that there is not always a one-to-one relationship between the terms. If you
need more information on a term, refer to the MCD-3 Automation Glossary on
page 75.
38
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
Variable Types That can be Calibrated (ControlDesk Calibration and Data Set
Management )
HowTos
Objective The general steps you have to perform to calibrate a parameter are the same for
each parameter type.
Differences for parameter You can change a parameter value with the Write method of the Characteristic
types object. The input parameters of the Write method are different for the various
parameter types. Refer to Input parameters on page 37.
39
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
No common axis warning If you change the axis points of a common axis,
you get no warning that referring variables are affected.
Note
40
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
Script examples In the .\Demos\MC3\ folder of your ControlDesk installation, you can find
various demo scripts that show how to use the commands of the asammc3
Python library to remote-control ControlDesk. Refer to MC3 Demos on page 21.
Next steps You can measure the results of your calibrations. Refer to How to Measure
Variables on page 48.
ControlDesk’s measurement In ControlDesk, you select the variables to be measured and recorded by
and recording features adding them to the measurement signal list . The selected variables are
41
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Collector To configure and run measurements or recordings via the ASAM MCD‑3
interface, you must create Collector objects.
CollectedObjects list In ControlDesk, you first have to select the variables to be measured or recorded
by adding them to the measurement signal list. According to the ASAM MCD-3
object model, you have to add these variables to the CollectedObjects list of a
Collector. Measurements (including measurement arrays) and scalar parameters
can occur only once per CollectedObjects list.
Note
Platform-/device- and raster- In ControlDesk you have only one measurement signal list for all
specific Collectors platforms/devices and measurement rasters. In the ASAM MCD-3 object model,
you have to create a new Collector with its own CollectedObjects list for each
platform/device and each raster that you want to include in measurement and
recording.
One Collector for each raster All the variables in a CollectedObjects list
must have the same raster setting. You must create a new Collector for each
new measurement raster.
You can therefore have multiple Collectors for a single LogicalLink.
For example, if you want to use two different interfaces to the ECU and in
one case want to measure with two different rasters, you must create three
Collectors as shown in the following table:
42
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
States of a Collector Each Collector runs through the following states during a measurement or
recording task.
State Description
e_CREATED When a new Collector is created, its CollectedObjects list is empty. You can add simple measurement variables,
measurement arrays and parameters (ControlDesk: scalar parameters only) to the CollectedObjects list. All
configuration steps have to be done in this state.
e_CONFIGURED The Collector configuration has been checked for valid settings, for example, that a valid rate has been set and
the CollectedObjects list is not empty.
e_ACTIVATED The platform/device the Collector belongs to is set online.
The CollectedObjects prepare to receive data from ControlDesk.
e_STARTED The platform/device is measuring and transferring data to the Collector.
State transition events All state transitions are reported to the automation system (AuSy) by events, if
the client application has subscribed to receive these events. In the Collector
states e_ACTIVATED and e_STARTED, the platform/device (LogicalLink) must be
online. Any attempt to switch offline while a Collector is running is ignored.
File storing Usually the data of automated measurements is transferred back from the MC
system to the AuSy, where it can be evaluated and stored. You can omit this
retransfer by using ControlDesk's recording function.
43
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Measurement Recording
Store or
Define variables Define variables Evaluate data
to measure
evaluate data to record
Define file name and file
Automation system format (MF4, CSV, …)
Access
(AuSy)
Start Stop Start Stop
data
Measurement
Collect data from ECU data file
ControlDesk
(MCD system)
ECU
Note
If you store a recording via the MC system, some of the recording settings
in your automation script may be ignored. For example, ControlDesk
ignores downsampling and representation type settings, because it does
not perform DAQ downsampling and it defines the representation type
according to the measurement data file type. If the file type supports the
storing of conversion formulas (for example, MF4 files), source values are
stored. If the file type does not support the storing of conversion formulas
(for example, MAT and CSV files), physical values are stored.
44
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
DownSampling If you want to reduce the amount of measurement To store each data sample:
data, you can specify a downsampling factor.
Collector.Buffer.DownSampling = 1
A downsampling factor of 2 means that only
To store every third data sample:
every second data sample according to the data
acquisition rate is saved to the measurement buffer. Collector.Buffer.DownSampling = 3
All data samples in between are ignored (no
interpolation).
In an automated recording via ControlDesk the
downsampling factor is ignored. Refer to File storing
on page 43.
Buffer size Specifies the number of Result lines to be stored To set the buffer size to 60 Result objects:
in the measurement buffer of the Collector. As the
Collector.Buffer.Size = 60
buffer is a ring buffer, earlier values are overwritten
by later values when the buffer capacity is exceeded.
Default setting: 1 sample line.
Collector methods The following table shows various methods provided by the Collector.
45
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Collector events The Collector object provides various events. After registering an EventHandler,
you can use events for various purposes:
§ To get status information on a Collector
§ To be notified of the existence of a new set of data to fetch
§ To be notified of a buffer turnaround and possible loss of data
Event Description
OnCollectorResultReady One or more new results are available for the client. You can specify the number of the results
needed to generate this event via the ’FormatIdOrNoOfSamples’ parameter of the Collector method
ConfigureStorage.
OnGlobalObjStarted The Collector has changed its state from eActivated to eSTARTED.
OnGlobalObjActivated The Collector has changed its state from eConfigured to eACTIVATED.
OnGlobalObjConfigured The Collector has changed its state from eCreated to eCONFIGURED.
OnGlobalObjStopped The Collector has changed its state from eSTARTED to eACTIVATED.
OnGlobalObjDeactivated The Collector has changed its state from eStARTED or eACTIVATED to eCREATED.
OnGlobalObjChanged The Collector has changed its state from eCONFIGURED to eCREATED.
OnCollectorError The Collector reports a possible loss of data for a connected client. This means that the buffer is about
to overwrite values for the client, because it has reached the position in the buffer that the client's last
call to FetchResults ended with. If the client is now fast enough to call FetchResults, no data will be lost.
Another scenario for an OnCollectorError event is this: A client connects to the Collector after another
client has started it. If the buffer already turned around, the newly connected client receives the
OnCollectorError event to notify it that it has missed an entire buffer cycle.
Result objects A Result object is a single line of a Collector’s buffer. As Collectors are
platform-/device‑specific, the contents of a line consist of the values of all
the CollectedObjects measured on the platform/device that the Collector is
46
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
associated with at one time. As this is also the definition of a Response, in this
case a Result object contains exactly one Response.
Response parameters
Level 1 0 1
TimeStamp ObjectStruct
Response parameters
Level 2 0 1 2 ... n
For a measurement array variable, a "Value" contains an array of data. This array
is transported as a COM safearray and is either one-dimensional or contains
sub-arrays (if the MATRIX_DIM keyword is assigned in the variable description).
Adding time information If you need information on the absolute time a value has been measured at, for
example to synchronize the measured data with data from other sources such as
video cameras, you can capture the PC time of the MC system at the start of a
measurement.
Terminology table The terminology in the ASAM MCD-3 object model is different from that in
ControlDesk. The following tables list similar objects and terms. Bear in mind
that there is not always a one-to-one relationship between the terms. If you
need more information on a term, refer to the MCD-3 Automation Glossary on
page 75.
47
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
HowTos
Objective You can automate the measurement of measurement variables and scalar
parameters.
Collector The ASAM MCD-3 object model provides the Collector object to configure and
perform measurements and recordings.
48
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
Polling vs. event handling You can specify the method to fetch measured data in two ways:
Polling The client controls the frequency of result access. You have to
evaluate the optimal polling frequency.
§ If the Collector is polled too often, an empty results structure is delivered.
§ If the client polls too rarely, loss of data is inevitable.
You can control this circumstance to some extent by additionally using the
GetFillingLevel method to verify if results are currently available.
Start sequence for multiple If you use more than one Collector, you must first check and activate all
Collectors the Collectors, before you can start them. See the following example for two
Collectors.
1. Collector1.Check
Collector1.Activate
2. Collector2.Check
Collector2.Activate
3. Collector1.Start
Collector2.Start
Note
If you have two separate client applications with one Collector each, you
cannot apply this rule for technical reasons.
If both Collectors are connected to the same platform/device, but they do
not measure the same variables, the second Collector that starts will receive
data only if the following two conditions are met:
§ The variables of the second Collector have been added to ControlDesk’s
measurement signal list.
§ The raster setting of the Collector and the raster settings of its variables in
the measurement signal list must be equal.
Otherwise the second Collector will receive no data at all.
49
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Script examples In the .\Demos\MC3\ folder of your ControlDesk installation, you can find
various demo scripts that show how to use the commands of the asammc3
Python library to remote-control ControlDesk. Refer to MC3 Demos on page 21.
Objective You can automate the recording of measurement variables and scalar
parameters.
50
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
Collector The ASAM MCD-3 object model provides the Collector object for configuring
and performing measurements and recordings.
File storing Automated ControlDesk recordings are stored via the MC system (ControlDesk
side), not via the AuSy (application side). However, you can store the recording
on a network drive. This can be a hard disk of the AuSy, if it is accessible from
the MC system with write permission.
It is not possible to use a single collector for recording and data transfer to the
client (polling or event handling) simultaneously. A recording is always stored in a
single measurement file, even if you use multiple Collectors for it.
Start sequence for multiple If you use more than one Collector, you must first check and activate all
Collectors the Collectors, before you can start them. See the following example for two
Collectors.
1. Collector1.Check
Collector1.Activate
2. Collector2.Check
Collector2.Activate
3. Collector1.Start
Collector2.Start
Note
If you have two separate client applications with one Collector each, you
cannot apply this rule for technical reasons.
If both Collectors are connected to the same platform/device, but they do
not measure the same variables, the second Collector that starts will receive
data only if the following two conditions are met:
§ The variables of the second Collector have been added to ControlDesk’s
measurement signal list.
§ The raster setting of the Collector and the raster settings of its variables in
the measurement signal list must be equal.
Otherwise the second Collector will receive no data at all.
51
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Result The recorded data is saved to a measurement data file on the MC system.
Script examples In the .\Demos\MC3\ folder of your ControlDesk installation, you can find
various demo scripts that show how to use the commands of the asammc3
Python library to remote-control ControlDesk. Refer to MC3 Demos on page 21.
52
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
Absolute time information If you need information on the absolute time a value has been measured, for
example to synchronize the measured data with data from other sources not
processed by ControlDesk, you can capture the PC time of the MC system at
the start of a measurement. The absolute time information is transferred to the
automation system (and for a recording, stored in the measurement data file).
This allows you to compute the absolute time for each measured value on the
automation system. Time differences between the MC system, the automation
system and other PCs in your network can be eliminated by synchronizing their
PC times (this is usually already implemented by your network administrator).
All parts of changed code begin and end with one or more lines of code that
is not changed. You can search for these lines in the script to get the exact
positions you have to edit.
#-------------------------------------------------------------------------------
# 1 - Import modules
#-------------------------------------------------------------------------------
import asammc3
import win32api
import MC3DemoUtilities
import time
from win32com.client import Dispatch
import time
import pythoncom
#-------------------------------------------------------------------------------
# Global function declarations
#-------------------------------------------------------------------------------
...
return time.time()
#--------------------------------------------------------------------------------
# 11 (b) Fetch measurement results to display them
#--------------------------------------------------------------------------------
...
if EnableTimings:
Start = GetPreciseTickCount()
if Collector.GetFillingLevel(ClientID) > 0:
# Get all available lines (indicated by parameter NumReq = 0, use -1 to get
# the latest line only)
Results = Collector.FetchResults(0, ClientID)
if EnableTimings:
AfterFetch = GetPreciseTickCount()
53
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
AbsMeasStartTime = Dispatch(Collector._oleobj_).AbsoluteMeasurementStartTime
CurTime = time.time()
print("Current time: %s, AbsoluteMeasurementStartTime: %s" %(time.ctime(CurTime), \
time.ctime(AbsMeasStartTime)))
# Iterate over all results that are available
for Result in Results:
...
if Collector.Buffer.TimeStamping:
if EnableTimings:
if EnableOutput:
CurTimestamp = Response.ResponseParameters.GetItemByIndex(0).ValueVariant
Line += "%f [ms]" % (CurTimestamp)
Index += 1
...
for ResponseParameterValue in ResponseParameter.ResponseParameters:
if EnableOutput:
LatestValue = ResponseParameterValue.ValueVariant
Name = ResponseParameterValue.ShortName
try:
Line += "%s: %f, " % (Name, LatestValue)
except:
...
54
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
ControlDesk’s diagnostics In ControlDesk, you add an ECU Diagnostics device to an experiment to access
features an ECU via a Diagnostic interface . Then you place diagnostics instruments on a
layout:
§ Fault Memory Instrument
§ Diagnostics Instrument
DSystem To perform diagnostic tasks via the ASAM MCD-3 D interface using a
ControlDesk experiment, you must create a DSystem and select a ControlDesk
experiment that contains the configuration of the ODX database. You can then
execute diagnostic communication objects via a logical link selected from the
vehicle configuration.
DProject In the ASAM MCD-3 D object model, an ODX database loaded by the DSystem is
called a DProject.
Note
55
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
The vehicle collection contains only the selected vehicle. If no vehicle was
selected in the configuration of the ODX database, the vehicle collection is
empty.
§ Only those logical links are available in the DBLogicalLinks collection, that have
been configured and selected in the ControlDesk experiment. If no logical link
was configured in the experiment, the collection is empty.
§ The selection of the physical interfaces for the logical links is also adopted
from the ControlDesk experiment.
§ You cannot automate adding and configuring an ECU Diagnostics device using
ControlDesk’s ASAM MCD-3 D compatible interface.
Requirements to the The information on the executable communication objects (diagnostic services,
diagnostic database diagnostic jobs, and control primitives) is read from a diagnostic database. This
database must be compliant with Open Diagnostic Data Exchange (ODX), the
ASAM MCD-2 D standard.
Object names Objects in the ODX database (for example, a logical link or a diagnostic service)
can have a short and a long name.
Option Description
Short name Short identifier. Unique for items within one object collection.
Long name Long, more detailed identifier. Not necessarily unique within one
object collection.
Terminology table The terminology in the ASAM MCD-3 object model is different from that in
ControlDesk. The following tables list similar objects and terms. Bear in mind
that there is not always a one-to-one relationship between the terms. If you
need more information on a term, refer to the MCD-3 Automation Glossary on
page 75.
56
ControlDesk MCD-3 Automation May 2024
Programming ControlDesk MCD-3 Automation
Demo script In the .\Demos\D3\ folder of your ControlDesk installation, you can find a demo
script that shows how to use the commands of the asamd3 Python library to
remote-control ControlDesk. Refer to D3 Demo on page 23.
Restrictions ControlDesk’s ASAM MCD-3 D automation interface (diagnostics part) has the
following limitations:
§ Only one client (automation system) can access the ASAM MCD-3 D
automation interface at the same time. The automation interface cannot
handle multiple clients.
§ Only one run-time system object (DSystem) can be created by the client.
57
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Result You have read the ODX database content and performed diagnostic tasks by
executing diagnostic communication objects.
58
ControlDesk MCD-3 Automation May 2024
Running ControlDesk and the Automation System on Different PCs
Introduction To run ControlDesk and the automation system on different PCs, the following
preconditions must be met:
§ The PC on which the automation system is installed (client PC) and the PC
on which ControlDesk is installed (server PC) must be connected either peer-
to-peer or via LAN or WAN connection.
Note
§ The DCOM settings must be configured on the server PC. Refer to How to
Configure DCOM Settings on the Server PC on page 60.
§ Both PCs must be started and the same user must be logged on. If the user
is not defined via a domain, create an account with the same name and
password on both PCs. The password must not be empty.
Required software (server PC) On the server PC, the ControlDesk product set must be installed. The related
license(s) must be available.
Required software (client PC) On the client PC, the ControlDesk product set must be installed.
59
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Objective To run ControlDesk and the system for automating ControlDesk via ASAM
MCD-3 on different PCs, you have to configure the DCOM settings on the
server PC.
Precondition You need administrator rights on the server PC. To check whether you have the
required rights, refer to Required User Rights (Installing dSPACE Software ).
60
ControlDesk MCD-3 Automation May 2024
Running ControlDesk and the Automation System on Different PCs
Note
61
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
62
ControlDesk MCD-3 Automation May 2024
Running ControlDesk and the Automation System on Different PCs
16 From the context menu of the Distributed COM Users group, select
Properties.
This opens the Distributed COM Users Properties dialog.
17 In the Distributed COM Users Properties dialog, add all the users who
should get access permissions, then click OK to close the Distributed COM
Users Properties dialog.
18 On the COM Security page of the My Computer Properties dialog, click
Edit Default below Access Permissions.
This opens the Access Permission dialog.
19 In the Access Permission dialog, add all the users who should get access
permissions. Allow local access and remote access permissions for each user
as shown in the illustration below:
63
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Result You have configured the DCOM settings on the server PC.
Next steps § On the client PC(s), the ControlDesk product set must be installed.
§ You should test whether the DCOM configuration on the server PC was
successful. Refer to Testing the DCOM Configuration on page 65.
64
ControlDesk MCD-3 Automation May 2024
Running ControlDesk and the Automation System on Different PCs
Introduction There are two ways to test whether the DCOM configuration on the server PC
was successful.
Testing via AutomationDesk To test the DCOM configuration via AutomationDesk, specify the IP address of
the server PC via the System object of AutomationDesk's Remote Calibration
(COM) library. Then try to connect to the server PC.
If the following error message does NOT occur, the remote access works
correctly:
Testing via MC3 demos You can test the DCOM configuration via the MC3 Demos on page 21. To test
whether the client PC can receive measurement data from the server PC, use one
of the measurement demos.
To use the demos, replace the default IP address "127.0.0.1" (local host) by the
IP address of the server PC.
65
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Using C#................................................................................................. 66
Using M.................................................................................................. 68
Using Python........................................................................................... 71
Using C#
Where to go from here Information in this section
Basic Operations in C#
66
ControlDesk MCD-3 Automation May 2024
Using Different Programming Languages
Deletion
Marshal.ReleaseComObject(server);
this.server = null;
Code Example in C#
Example The following example shows how to create an object, access properties and
methods, and select items from a collection.
Note
67
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
using Company.Program.Interfaces;
...
Type serverType = Type.GetTypeFromProgID("Server.Object.1");
IServerInterface server = Activator.CreateInstance(
serverType) as IServerInterface;
string stringValue = server.StringProperty;
Console.WriteLine(stringValue);
IItemInterface item = server.Collection[0];
ICollectionInterface collection = server.Collection;
foreach (item in collection)
{
if ( item.EnumProperty == EnumClass.ENUM_VALUE
&& item.StringProperty.Equals("String"))
{
item.CallMethod();
item.IntegerProperty = 42;
}
}
object[] arrayValue = (object[])server.ArrayProperty;
for (object arrayItem in arrayValue)
{
Console.Write(String.Format("{0:d} ", (int)arrayItem));
}
...
Tip
You can find more demo scripts written in C# in the following folders:
§ Toolautomation
§ MC3
The folders are located in the .\Demos\ folder of your ControlDesk
installation.
Using M
Where to go from here Information in this section
68
ControlDesk MCD-3 Automation May 2024
Using Different Programming Languages
Basic Operations in M
Deletion
clear Server;
69
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Code Example in M
Example The following example shows how to create an object, access properties and
methods, and select items from a collection.
Note
ENUM_VALUE = 1;
Server = actxserver('Server.Object.1');
StringValue = Server.StringProperty;
disp(sprintf('%s', StringValue));
Item = Server.Collection.Item(int32(0));
Collection = Server.Collection;
for Index = 0:(Collection.Count - 1)
Item = Collection.Item(int32(Index));
if Item.EnumProperty == ENUM_VALUE
if strcmp(Item.StringProperty, 'String')
Item.CallMethod();
Item.IntegerProperty = 42;
End;
end;
end;
ArrayValue = Server.ArrayProperty;
CellArray = cell2mat(ArrayValue);
for Index = 1:(length(CellArray))
disp(sprintf('%d', CellArray(Index)));
end;
clear StringValue;
clear CellArray;
clear ArrayValue;
clear Item;
clear Collection;
Server.Quit();
clear Server;
Tip
You can find more demo scripts written in M‑code in the following folders:
§ Toolautomation
§ MC3
The folders are located in the .\Demos\ folder of your ControlDesk
installation.
70
ControlDesk MCD-3 Automation May 2024
Using Different Programming Languages
Using Python
Where to go from here Information in this section
Deletion
del Server
71
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Example The following example shows how to create an object, access properties and
methods, and select items from a collection.
Note
Tip
You can find more demo scripts written in Python in the following folders:
§ Toolautomation
§ MC3
§ D3
The folders are located in the .\Demos\ folder of your ControlDesk
installation.
72
ControlDesk MCD-3 Automation May 2024
Using Different Programming Languages
Accessing constants Access via type information, add reference library to your VB project:
ServerLib.ENUM_VALUE
Deletion
Set Server = Nothing
73
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Example The following example shows how to create an object, access properties and
methods, and select items from a collection.
Note
...
Dim ArrayValue As Variant
Set Server = CreateObject("Server.Object.1")
StringValue = Server.StringProperty
Debug.Print StringValue
Set Item = Server.Collection(0)
Set Collection = Server.Collection
For Each Item In Collection:
If Item.EnumProperty = ServerLib.ENUM_VALUE Then
If Item.StringProperty = "String" Then
Item.CallMethod
Item.IntegerProperty = 42
End If
End If
Next
ArrayValue = Server.ArrayProperty
For Each ArrayItem In ArrayValue
Debug.Print ArrayItem
Next
Set StringValue = Nothing
Set ArrayValue = Nothing
Set Item = Nothing
Set Collection = Nothing
Server.Quit
Set Server = Nothing
...
74
ControlDesk MCD-3 Automation May 2024
MCD-3 Automation Terminology
Terminology Mapping.............................................................................. 81
The terminology in the ASAM MCD-3 object model is different from that
in ControlDesk.
A Axis Multidimensional parameters such as maps and curves let you control an
output value by changing axis points and function values. In ControlDesk, you
use the Table Editor to change axis points and function values.
The ASAM MCD-3 object model provides appropriate Axis objects for
multidimensional parameters.
B Binary In the ASAM MCD-3 object model, a Binary is a data version that is
assigned to a LogicalLink. It represents a specific program version (data) of an
ECU, originally coming from the ECU Image file.
A Binary can be changed only by instancing a new LogicalLink.
75
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
76
ControlDesk MCD-3 Automation May 2024
MCD-3 Automation Terminology
D DbLocation The ASAM MCD-3 object model defines the DbLocation object
as "the entry point for available Services, DiagComPrimitives, Measurements,
Characteristics, CompuMethods and so on. (...) To each Logical Link belongs
exactly one Location (...) and one Interface (MC) according to the entry in the
Logical Link Table."
For the measurement and calibration part, the DbLocation mainly represents the
information contained in the variable description file (A2L), for the diagnostics
part the information contained in the ODX database.
There are a number of Location classes for the diagnostics part (Protocol, ECU
Variant, ...) and one for the measurement and calibration part, which is called
Module.
E ECU Image file A binary file that is part of the ECU application. It usually
contains the code of an ECU application and the data of the parameters within
the application. It can be stored as an Intel Hex (HEX) or Motorola S‑Record
(MOT or S19) file.
In ASAM MCD-3 terms, the ECU Image file is called a Binary.
77
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
As a map has 2 input values (x and y), it has an x-axis and an y-axis, and uses
the first row and the first column of the table for them. In this case the function
values (z-values) are on the intersection points.
The actual output value corresponds to the function value if the measured input
values are exactly on the axis points.
In ControlDesk, you can use the Table Editor to change axis points and function
values.
The ASAM MCD-3 object model provides appropriate Axis and Value objects for
multidimensional parameters.
78
ControlDesk MCD-3 Automation May 2024
MCD-3 Automation Terminology
L Location DbLocation
Logical Link In the ASAM MCD-3 object model, a LogicalLink object handles
"the logical and physical connection to an ECU (...) as well as the protocol-
specific tasks (...) to measure with Collectors and to adjust Characteristics."
A Collector is the object that handles the configuration and execution of
measurements and recordings. A Characteristic is the ASAM MCD-3 term for
a parameter.
In ControlDesk terms, activating a Logical Link means activating a
platform/device.
Measurement buffer ControlDesk term for the buffer that collects measured
values temporarily.
P Parameter In ControlDesk, parameter is the generic term for all ECU variable
types that can be calibrated. The term parameter is independent of the variable
type's dimension. The following variable types are parameters:
values, value blocks, axis points, curves, and maps.
In the ASAM MCD-3 object model parameters are called parameters.
79
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
Representation type ASAM MCD-3 term for conversion mode. Can be set
to eRT_ECU (source mode) and eRT_PHYSICAL (converted mode).
Response Result
T Time stamp A time stamp means that a time information is given at the
beginning of each new sample of acquisition data.
80
ControlDesk MCD-3 Automation May 2024
MCD-3 Automation Terminology
Terminology Mapping............................................................................................................... 81
Terminology Mapping
Introduction The terminology in the ASAM MCD-3 object model is different from that in
ControlDesk. The following tables list similar objects and terms. Bear in mind
that there is not always a one-to-one relationship between the terms. If you
need more information on a term, refer to the MCD-3 Automation Glossary on
page 75.
ControlDesk → MCD-3 Correspondences between ControlDesk terms and ASAM MCD-3 terms:
81
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
MCD-3 → ControlDesk Correspondences between ASAM MCD-3 terms and ControlDesk terms:
82
ControlDesk MCD-3 Automation May 2024
MCD-3 Automation Terminology
83
May 2024 ControlDesk MCD-3 Automation
Basics and Instructions
84
ControlDesk MCD-3 Automation May 2024
Reference Information
Reference Information
MC3 Page
The dialog can be opened via the Options Command (ControlDesk User
Interface Handling ).
Dialog settings Enable API logging Lets you specify whether the logging of API commands
is enabled for automation via ControlDesk's ASAM-MCD3 MC interface. If
activated, the API commands are logged to the DSMC3Server.log file in the
Local Program Data folder .
85
May 2024 ControlDesk MCD-3 Automation
Reference Information
86
ControlDesk MCD-3 Automation May 2024
Limitations
Limitations
General Limitation................................................................................... 88
Gives an overview of the limitations of ControlDesk's MCD‑3 interface.
87
May 2024 ControlDesk MCD-3 Automation
Limitations
General Limitation
32‑bit automation client Only use 64‑bit client applications. 32‑bit automation client applications are not
applications not supported supported.
Limitation for accessing ECUs An ECU without memory segments cannot be accessed via CCP or XCP by using
without memory segments via ControlDesk’s ASAM MCD-3 MC automation interface.
CCP and XCP
No monotony violation If you change axis points in ControlDesk’s Table Editor and the new values violate
the monotony of axis points, the Monotony Violation dialog opens. The dialog
lets you confirm monotony violation and write the values. However, such an
intentional violation of axis monotony is not possible in an automated calibration
task.
Interpolation of function If you change axis points in ControlDesk’s Table Editor, you have to choose
values between interpolation and no interpolation of the function values. However,
in an automated calibration task, the function values remain the same. The
interpolation of function values according to the changed axis points cannot be
automated.
No common axis warning If you change axis points of a common axis, you get no warning that referring
variables are affected.
88
ControlDesk MCD-3 Automation May 2024
Limitations for Measurement and Recording via ControlDesk's MCD3 Interface
Start sequence for multiple If you use more than one Collector, you must first check and activate all
Collectors the Collectors, before you can start them. See the following example for two
Collectors.
1. Collector1.Check
Collector1.Activate
2. Collector2.Check
Collector2.Activate
3. Collector1.Start
Collector2.Start
Note
If you have two separate client applications with one Collector each, you
cannot apply this rule for technical reasons.
If both Collectors are connected to the same platform/device, but they do
not measure the same variables, the second Collector that starts will receive
data only if the following two conditions are met:
§ The variables of the second Collector have been added to ControlDesk’s
measurement signal list.
§ The raster setting of the Collector and the raster settings of its variables in
the measurement signal list must be equal.
Otherwise the second Collector will receive no data at all.
Removing signals manually If you record with several Collectors at the same time and if you stop and release
when using multiple one of the Collectors via the client application while another Collector still is
Collectors active, the signals of the stopped Collector remain in the measurement signal
list. Even when you stop measurement, these signals are not removed from the
measurement signal list. You have to remove them manually.
Collector settings for If you store a recording via the MC system, some of the recording settings
automated recordings in your automation script may be ignored. For example, ControlDesk ignores
downsampling and representation type settings, because it does not perform
DAQ downsampling and it defines the representation type according to the
measurement data file type. If the file type supports the storing of conversion
formulas (for example, MF4 files), source values are stored. If the file type does
not support the storing of conversion formulas (for example, MAT and CSV files),
physical values are stored.
ValueBlocks of SDF files ControlDesk's automation interface supports Vs. 1.0.1 of the ASAM MCD‑3
standard. This version of the ASAM‑MCD‑3 standard does not support the
89
May 2024 ControlDesk MCD-3 Automation
Limitations
Automation interface: No ControlDesk’s ASAM MCD-3D automation interface for diagnostics has the
multi‑client support following limitations:
§ Only one client (automation system) can access the ASAM MCD‑3D
automation interface for diagnostics at the same time. The automation
interface cannot handle multiple clients.
§ Only one run-time system object (D3System202) can be created by the client.
§ An ECU Diagnostics device cannot be reconfigured via ControlDesk’s ASAM
MCD-3 D compatible interface. As a consequence, only the vehicles and
logical links configured in the ControlDesk experiment are accessible to the
interface.
There is one exception: All the ECU variants that belong to a base variant using
ControlDesk’s ASAM MCD‑3 D compatible interface are available, regardless of
the configuration of the related ECU Diagnostics device. However, you cannot
use these ECU variants via ASAM MCD‑3 D.
General limitations For general limitations using the ControlDesk ECU Diagnostics interface, refer to
Limitations for ECU Diagnostics (ControlDesk ECU Diagnostics ).
Conventions in connection When performing ECU diagnostics with ControlDesk, you have to observe some
with ODX databases conventions in connection with the ODX database you use. Refer to Conventions
in Connection with ODX Databases (ControlDesk ECU Diagnostics ).
90
ControlDesk MCD-3 Automation May 2024
Limitations for Error Message Handling in Connection with ControlDesk's MCD3 Interface
Error message stops ControlDesk’s error messages are not transported to the automation system. The
automation task automation sequence is paused until the error message is confirmed by the user.
You therefore have to read and confirm the error message on the ControlDesk
PC to continue the automation sequence.
Tip
M-files § If you want to automate ControlDesk via M-files, MATLAB R13 SP1 (or later) is
required.
§ With M-files you cannot use event handling in automated measurements. You
must poll a Collector for results.
91
May 2024 ControlDesk MCD-3 Automation
Limitations
92
ControlDesk MCD-3 Automation May 2024
Glossary
Glossary
Introduction Briefly explains the most important expressions and naming conventions used in
the ControlDesk documentation.
Numerics................................................................................................. 94
A............................................................................................................. 94
B............................................................................................................. 95
C............................................................................................................. 96
D........................................................................................................... 100
E........................................................................................................... 104
F............................................................................................................ 106
G........................................................................................................... 107
H........................................................................................................... 108
I............................................................................................................ 108
K........................................................................................................... 110
L............................................................................................................ 110
M.......................................................................................................... 111
N........................................................................................................... 115
O........................................................................................................... 115
P........................................................................................................... 116
Q........................................................................................................... 118
R........................................................................................................... 119
S........................................................................................................... 120
93
May 2024 ControlDesk MCD-3 Automation
Glossary
T........................................................................................................... 123
U........................................................................................................... 124
V........................................................................................................... 125
W.......................................................................................................... 127
X........................................................................................................... 128
Numerics
A2L file A file that contains all the relevant information on measurement
and calibration variables in an ECU application and the ECU's communication
interface(s). This includes information on the variables' memory addresses and
conversion methods, the memory layout and data structures in the ECU as well
as interface description data (IF_DATA) .
Application image An image file that contains all the files that are created
when the user builds a real-time application. It particularly includes the variable
description (SDF) file. To extend a real-time application, ControlDesk lets the user
create an updated application image from a data set. The updated application
94
ControlDesk MCD-3 Automation May 2024
B
Bar An instrument (or a value cell type of the Variable Array ) for displaying
a numerical value as a bar deflection on a horizontal or vertical scale.
Bitfield A value cell type of the Variable Array for displaying and editing
the source value of a parameter as a bit string.
Browser An instrument for displaying Web pages and different file types,
e.g., PDF, HTML and TXT files.
95
May 2024 ControlDesk MCD-3 Automation
Glossary
Bus Navigator
§ Bus Navigator in ControlDesk
A ControlDesk component for handling bus messages, such as CAN messages,
LIN frames, and Ethernet packets.
§ Bus Navigator (stand-alone)
A dSPACE software product for handling bus messages, such as CAN
messages, LIN frames, and Ethernet packets.
There are some restrictions when you use the Bus Navigator (stand-alone). For
example, going online and measuring is only supported for bus monitoring
devices.
Using the Bus Navigator (stand-alone) does not require a license for the
ControlDesk main version.
Bus Navigator pane A pane for handling bus messages, such as CAN
messages, LIN frames, and Ethernet packets.
Bus statistics A feature of the Bus Navigator that lets you display
and log statistical information on the bus load during monitoring (of bus
communication) .
96
ControlDesk MCD-3 Automation May 2024
C
conditions, but without having to have a real ECU connected to the PC.
Communication between the CalDemo ECU and ControlDesk can be established
via XCP on CAN or XCP on Ethernet, and UDS on CAN.
Tip
The memory of the CalDemo ECU consists of two areas called memory page .
Each page contains a complete set of parameters, but only one page is accessible
by the CalDemo ECU at a time. You can easily switch the memory pages of the
CalDemo ECU to change from one parameter to another in a single step.
Two ECU tasks run on the CalDemo ECU:
§ ECU task #1 runs at a fixed sample time of 5 ms. In ControlDesk's
Measurement Configuration, ECU task #1 is related to the time-based 5 ms,
10 ms, 50 ms and 100 ms measurement rasters of the CalDemo ECU.
§ ECU task #2 has a variable sample time. Whenever the CalDemo ECU program
is started, the initial sample time is 5 ms. This can then be increased or
decreased by using the dSPACE CalDemo dialog.
ECU task #2 is related to the extEvent measurement raster of the
CalDemo ECU.
The CalDemo ECU can also be used to execute diagnostic services and jobs,
handle DTCs and perform measurement and calibration via ECU diagnostics.
The CalDemo ECU program is run by invoking CalDemo.exe. The file is located
in the .\Demos\CalDemo folder of the ControlDesk installation.
CAN Bus Monitoring device A device that monitors the data stream on a
CAN bus connected to the ControlDesk PC.
The CAN Bus Monitoring device works, for example, with PC-based CAN
interfaces such as the DCI-CAN2 or the DCI-CAN/LIN1 .
The device supports the following variable description file types:
§ DBC
§ FIBEX
§ AUTOSAR system description (ARXML)
97
May 2024 ControlDesk MCD-3 Automation
Glossary
The CANGenerator allows you to use the CAN Bus Monitoring device under
realistic conditions, but without having to have any device hardware connected
to the PC.
The CAN (Controller Area Network) protocol is used for communication between
the CANGenerator and ControlDesk. However, since the CANGenerator runs
on the same PC as ControlDesk, ControlDesk does not communicate with the
device via a real CAN channel, but via a virtual CAN channel implemented on
the host PC.
You can start the CAN generator program by running CANGenerator.exe.
The file is located in the .\Demos\CANGenerator folder of the ControlDesk
installation.
CCP device A device that provides access to an ECU with CCP connected
to the ControlDesk PC via CAN, for example, for measurement and calibration
purposes via CCP (CAN Calibration Protocol) .
Check Button An instrument (or a cell type of the Variable Array ) for
displaying whether the value of a connected variable matches predefined values
or for writing a predefined value to a connected variable.
98
ControlDesk MCD-3 Automation May 2024
C
%PROGRAMDATA%\dSPACE\<ProductName>\<VersionNumber>
Tip
Connection mode dSPACE real‑time systems can be installed within the host
PC or connected to the host via a bus interface and/or via Ethernet. When the
Ethernet is being used, different network clients might exist. The connection
type being used and, in the case of Ethernet, the network client being used,
determine the dSPACE systems that can be accessed.
99
May 2024 ControlDesk MCD-3 Automation
Glossary
Data cursor One or two cursors that are used to display the values of
selected chart positions in a Time Plotter or an Index Plotter .
Data logger signal list A list that contains the variables to be included in
subsequent data loggings on real-time hardware.
100
ControlDesk MCD-3 Automation May 2024
D
101
May 2024 ControlDesk MCD-3 Automation
Glossary
Each device usually has a variable description that specifies the device’s
variables to be calibrated and measured.
Diagnostic job (often called Java job) Programmed sequence that is usually
built from a sequence of the diagnostic service . A diagnostic job is either a
single-ECU job or a multiple-ECU job, depending on whether it communicates
with one ECU or multiple ECUs.
102
ControlDesk MCD-3 Automation May 2024
D
Display An instrument (or a value cell type of the Variable Array ) for
displaying the value of a scalar variable or the text content of an ASCII variable.
Tip
103
May 2024 ControlDesk MCD-3 Automation
Glossary
104
ControlDesk MCD-3 Automation May 2024
E
ECU Image file A binary file that is part of the ECU application . It usually
contains the code of an ECU application and the data of the parameters within
the application. It can be stored as an Intel Hex (HEX) or Motorola S‑Record
(MOT or S19) file.
Error category The error category defines how a signal is disturbed. Which
errors you can create for a signal depends on the connected fault simulation
hardware.
Error type The error type specifies the way an error category – i.e., an
interruption or short circuit of signals – is provided. The error type defines the
disturbance itself.
105
May 2024 ControlDesk MCD-3 Automation
Glossary
Ethernet Bus Monitoring device A device that monitors the data stream on
an Ethernet network connected to the ControlDesk PC.
The device supports the following variable description file type:
§ AUTOSAR system description (ARXML)
Ethernet decoding A feature of the Bus Navigator that lets you view
protocol data and raw data of an Ethernet frame.
Event context The scope of validity of event sources and events . There is
one event handler code area for each event context.
Event handler Code that is executed when the related event occurs.
Extension script A Python script (PY or PYC file) that is executed each time
ControlDesk starts up. An extension script can be executed for all users or
user-specifically.
Fault memory Part of the ECU memory that stores diagnostic trouble code
(DTC) entries with status and environment information.
106
ControlDesk MCD-3 Automation May 2024
G
Firmware update An update for the firmware installed in the board’s flash
memory. Firmware should be updated if it is older than required by the real-time
application to be downloaded.
Fixed axis An axis with data points that are not deposited in the ECU
memory. Unlike a common axis , a fixed axis is specified within a curve or
map . The parameters of a fixed axis cannot be calibrated.
Flash job A specific diagnostic job for flashing the ECU memory. A flash
job implements the process control for flashing the ECU memory, such as
initialization, security access, writing data blocks, etc.
GNSS device A device that provides positioning data from a GNSS receiver
(e.g., a serial GPS mouse) in ControlDesk.
The device that supports various global navigation satellite systems.
107
May 2024 ControlDesk MCD-3 Automation
Glossary
GPX file An XML file that contains geodata, such as waypoints, routes, or
tracks. In ControlDesk, you can import GPX files to visualize GNSS positioning
data in a Map instrument.
Index Plotter A plotter instrument for displaying signals that are measured
in an event-based raster (index plots).
108
ControlDesk MCD-3 Automation May 2024
I
§ Display
§ Fault Memory Instrument
§ Frame
§ Gauge
§ Heading Indicator
§ Hierarchy Array
§ Index Plotter
§ Invisible Switch
§ Knob
§ Multistate Display
§ Multiswitch
§ Numeric Input
§ On/Off Button
§ Push Button
§ Radio Button
§ Selection Box
§ Slider
§ Sound Controller
§ Static Text
§ Steering Controller
§ Table Editor
§ Time Plotter
§ Variable Array
§ XY Plotter
109
May 2024 ControlDesk MCD-3 Automation
Glossary
error messages and standard output during the execution or import of Python
scripts.
Knob An instrument for displaying and setting the value of the connected
variable by means of a knob on a circular scale.
Label list A list of user-defined variables that can be used for saving
connected variables, etc.
LIN Bus Monitoring device A device that monitors the data stream on a LIN
bus connected to the ControlDesk PC.
The LIN Bus Monitoring device works, for example, with PC-based LIN interfaces.
The device supports the following variable description file types:
§ LDF
§ FIBEX
§ AUTOSAR system description (ARXML)
Load type The load type specifies the option to disturb a signal with or
without load rejection.
110
ControlDesk MCD-3 Automation May 2024
M
Tip
Logging (of bus communication) A feature of the Bus Navigator that lets
you log raw bus communication data. You can add logger nodes on different
hierarchy levels of the Bus Navigator tree for this purpose. You can specify
filters to log filtered bus communication. The logged bus communication can be
replayed .
Look-up table A look-up table maps one or more input values to one output
value. You have to differentiate between the following look-up table types:
§ A 1-D look-up table maps one input value to one output value.
§ A 2-D look-up table maps two input values to one output value.
§ An n-D look-up table maps multidimensional table data with 3 or more input
values to one output value.
Look-up table is a generic term for curves and maps .
111
May 2024 ControlDesk MCD-3 Automation
Glossary
§ A 1‑dimensional array containing the axis points for the y‑axis. This array can
also be specified by a reference to a common axis .
§ A 2–dimensional array containing data points. The map assigns one data point
of the array to each pair of x‑axis and y‑axis points.
Maps are represented by the symbol.
Map file A file that contains symbols (symbolic names) and their physical
addresses. It is generated during the build process of an ECU application .
112
ControlDesk MCD-3 Automation May 2024
M
Measurement variable Any variable type that can be measured but not
calibrated.
113
May 2024 ControlDesk MCD-3 Automation
Glossary
Multistate LED A value cell type of the Variable Array and Hierarchy
Array for displaying the value of a variable as an LED state.
114
ControlDesk MCD-3 Automation May 2024
N
Numeric Input An instrument (or a value cell type of the Variable Array )
for displaying and setting the value of the connected variable numerically.
Observing variables Reading variable values cyclically from the dSPACE real-
time hardware and displaying their current values in ControlDesk, even if no
measurement is running. Variable observation is performed without using a
measurement buffer, and no value history is kept.
For platforms that support variable observation, variable observation is available
for parameters and measurement variables that are visualized in single-shot
instruments (all instruments except for a plotter ). If you visualize a variable
in a single‑shot instrument, the variable is not added to the measurement signal
list . Visualizing a parameter or measurement variable in a plotter automatically
adds the variable to the measurement signal list .
ControlDesk starts observing variables if one of the following conditions is true:
§ Online Calibration is started for the platform.
All the parameters and measurement variables that are visualized in single‑shot
instruments are observed.
§ Measurement is started for the platform.
All the visualized parameters and measurement variables that are not
activated for measurement in the measurement signal list are observed. Data
of the activated parameters and measurement variables is acquired using
measurement rasters.
115
May 2024 ControlDesk MCD-3 Automation
Glossary
On/Off Button An instrument (or a value cell type of the Variable Array )
for setting the value of the connected parameter to a predefined value when the
button is pressed (On value) and released (Off value).
Pane A separate area of the ControlDesk user interface that provides access
to a specific component, such as the Bus Navigator.
116
ControlDesk MCD-3 Automation May 2024
P
§ Weak limits
Weak limits designate the value range of a parameter that you should not
cross during calibration. When you cross the value range defined by the weak
limits, ControlDesk warns you.
In ControlDesk, you can edit the weak limits of a parameter within the value
range given by the parameter’s hard limits.
117
May 2024 ControlDesk MCD-3 Automation
Glossary
Push Button An instrument (or a value cell type of the Variable Array ) for
setting the value of the connected parameter by push buttons.
118
ControlDesk MCD-3 Automation May 2024
R
Radio Button An instrument for displaying and setting the value of the
connected parameter by radio buttons.
Record layout A record layout is used to specify a data type and define the
order of the data in the memory of the target system (ECU, for example). For
scalar data types, a record layout allows you to add an address mode (direct or
indirect). For structured (aggregated) data types, the record layout specifies all
the structure elements and the order they appear in.
The RECORD_LAYOUT keyword in an A2L file is used to specify the various record
layouts of the data types in the memory. The structural setup of the various data
types must be described in such a way that a standard application system will be
able to process all data types (reading, writing, operating point display etc.).
Reduction data Additional content in an MF4 file that allows for visualizing
the MF4 file data depending on the visualization resolution. Reduction data
therefore improves the performance of the visualization and postprocessing of
measurement data.
Reference data set A read-only data set assigned to the reference page of a
device that has two memory pages . There can be only one reference data set
for each device. The reference data set is read‑only.
119
May 2024 ControlDesk MCD-3 Automation
Glossary
Note
Replay (of bus communication) A feature of the Bus Navigator that lets
you replay logged bus communication data from a log file. You can add replay
nodes to the Bus Navigator tree for this purpose. You can specify filters to replay
selected parts of the logged bus communication .
SDF file A file that describes a dSPACE simulation application , including the
contained parameters and measurement variables. SDF files are created during
the build process.
120
ControlDesk MCD-3 Automation May 2024
S
Selection Box An instrument for selecting a text-value entry and setting the
respective numerical value for the connected variable.
Signal
§ Representation of a variable measured in a specific measurement raster .
§ Generic term for segment signals and operation signals .
A signal is part of a signal description set which can be displayed and edited
in the working area.
Signal file A file that contains the wiring information of a simulator and that
is part of the standard dSPACE documentation of dSPACE Simulator Full-Size.
Normally, dSPACE generates this file when designing the simulator. Before using
a fault simulation system, users can adapt the signal file to their needs.
Signal Selector A pane of the Signal Editor . The Signal Selector provides
signals and segments for arranging and configuring signal description
sets in the working area .
121
May 2024 ControlDesk MCD-3 Automation
Glossary
Slider An instrument (or a value cell type of the Variable Array ) for
displaying and setting the value of the connected variable by means of a slide.
Standard axis An axis with data points that are deposited in the ECU
memory. Unlike a common axis , a standard axis is specified within a
curve or map . The parameters of a standard axis can be calibrated, which
affects only the related curve or map.
122
ControlDesk MCD-3 Automation May 2024
T
Struct A variable with the struct data type. A struct contains a structured list
of variables that can have various data types. In ControlDesk, a struct variable
can contain either parameters and value blocks or measurement variables and
measurement arrays. ControlDesk supports nested structs, i.e., structs that
contain further structs and struct arrays as elements.
Structs are represented by the symbol.
STZ file A ZIP file containing signal descriptions in the STI format. The STZ file
can also contain additional MAT files to describe numerical signal data.
Sub data set A data set that does not contain the complete set of the
parameters of a platform/device.
Time cursor A cursor which is visible at the same time position in the
following instruments:
§ In all Time Plotters
§ In all XY Plotters
§ In all bus monitoring lists
123
May 2024 ControlDesk MCD-3 Automation
Glossary
You can use the time cursor to view signal values at a specific point in time. If
you move the time cursor, all measured signals and the respective parameters
are updated. Instruments and bus monitoring lists display the values that are
available at the selected time position.
Time Plotter A plotter instrument for displaying signals that are measured
in a time-based raster (time plots).
TRC file A variable description file with information on the variables available
in an environment model running on a dSPACE platform .
Unassigned data set A data set that is assigned neither to the working
page nor to the reference page of a platform/device. An unassigned data set
can be defined as the new working or reference data set. It then replaces the
“old“ working or reference data set and is written to the corresponding memory
page, if one is available on the platform/device.
124
ControlDesk MCD-3 Automation May 2024
V
Tip
A device for which the connection between ControlDesk and the device
hardware currently is interrupted is also set to the 'unplugged' state when
you start online calibration if both the following conditions are fulfilled:
§ The device's Start unplugged property is enabled.
§ The Start online calibration behavior property is set to 'Ignore
differences'.
This is possible for CCP and XCP devices. For details on the two properties
listed above, refer to General Settings Properties (ControlDesk Platform
Management ).
125
May 2024 ControlDesk MCD-3 Automation
Glossary
Variable alias An alias name that lets the user control the property of a
segment by a model parameter of a real-time application.
Vehicle information The ODX database can contain information for one
or more vehicles. Vehicle information data is used for vehicle identification
purposes and for access to vehicles. It references the access paths (logical links)
to the ECUs.
VEOS A simulator which is part of the PC and allows the user to run an
offline simulation application (OSA) without relation to real time.
126
ControlDesk MCD-3 Automation May 2024
W
VEOS platform A platform that configures and controls the offline simulation
application (OSA) running in VEOS and that also provides access to the
application's environment VPU .
Working area An area of the user interface of ControlDesk where you can
edit documents, such as layouts , Python scripts, or signal description sets .
Each document is displayed on a separate page .
Working data set The data set currently residing in the memory of a
platform/device hardware. There can be only one working data set for each
calibration platform/device. The working data set is read/write.
127
May 2024 ControlDesk MCD-3 Automation
Glossary
XCP on CAN device A device that provides access to an ECU with XCP
connected to the ControlDesk PC via CAN. Using the XCP on CAN device, you
can access the ECU for measurement and calibration purposes via XCP (Universal
Measurement and Calibration Protocol).
XCP on Ethernet device A device that provides access to an ECU or
V‑ECU with XCP connected to the ControlDesk PC via Ethernet. The XCP
on Ethernet device provides access to the ECU/V-ECU via XCP (Universal
Measurement and Calibration Protocol) for measurement and calibration
purposes.
128
ControlDesk MCD-3 Automation May 2024
X
XIL mapping file An XML file according to the ASAM XIL standard
that contains, for example, all the information required for variable
mapping (identifier mapping):
§ Framework labels
§ Testbench labels
§ Label mappings
XIL mapping files can be created by different tools in the dSPACE XIL mapping
tool chain, for example, by ConfigurationDesk. In ControlDesk, framework labels
from these files can be used for variable mapping.
129
May 2024 ControlDesk MCD-3 Automation
Glossary
130
ControlDesk MCD-3 Automation May 2024
Index
I
Index
A Instrument Selector 109
automating ControlDesk’s calibration
features 35 L
automating ControlDesk’s platform
Local Program Data folder 8, 111
management 28
Location 33
automating ControlDesk’s project
LogicalLink 29
management 25
automating ECU diagnostics 54
automating measurement features 41 M
automating the handling of variables 32 managing ECU diagnostic tasks
automation Automating ControlDesk’s diagnostics
automating different versions 20 features 54
automation module 12 measurement acquisition list 42
measurement and recording
B automating measurement features 41
Measurement Data Pool 112
Binary 29
Messages pane 113
Module 33
C
calibrating parameters P
automating ControlDesk’s calibration
platform/device management
features 35
automating ControlDesk’s platform
Characteristic 36
management 28
Collector 42
Platforms/Devices pane 117
Collector events 46
project and experiment management
Common Program Data folder 8, 98
automating ControlDesk’s project and
ControlDesk
experiment management 25
automation 12
Project pane 118
ControlDesk MCD-3 automation
Properties pane 118
automating ControlDesk’s calibration
features 35
automating ControlDesk’s platform T
management 28 time information 53
automating ControlDesk’s project and
experiment management 25
V
automating ECU diagnostics 54
automating measurement features 41 Variable management
automating the handling of variables 32 automating the handling of variables 32
Binary 29
calibrating a parameter 39
Characteristic 36
CollecteObjects list 42
Collector 42
Collector events 46
listing properties of variables 35
Location 33
LogicalLink 29
measuring variables 48
Module 33
recording variables 50
selecting a platform/device 30
switching to online mode 31
terminology 81
time information 53
ControlDesk Options dialog
MC3 page 85
D
diagnostics module 12
Documents folder 8, 103
131
May 2024 ControlDesk MCD-3 Automation
Index
132
ControlDesk MCD-3 Automation May 2024