KBL-to-EDB Converter
kbl2edb
converter program
(or kbl2edb.exe
on Windows). It is a command-line program
that reads one or more .kbl files and creates an .edb file as a
result, suitable for the Altair EEvision™ tool.
Unfortunately, the
KBL standard
(by Prostep) leaves space for interpretation and so there are different
“dialects” to comply with different customer conventions. The
kbl2edb
tool does not support all available dialects, but
it has switches for: -dsa
, -zuken
, -bmw
,
-ego
, -rivian
, and -vw
. These dialect switches
mostly define, what naming rules apply to distinguish different component
types like ECUs, Inliner, Splices, Eyelets, etc. They also define, how to
group connectors to components. And they also define which built-in
component images are displayed on the different component boxes (usually
derived from component's first character).
The tool kbl2edb
is expected to fail if run on KBL dialects that
are new to us (in that case, kbl2edb has undefined behavior and is
expected to create unpredictable edb contents).
Example KBLs from Prostep
There are a few public available .kbl example files from Prostep. From the Volkswagen Old Beetle example, you can, e.g., try the Main harness and convert it to beetle_m.edb, or try all harnesses and convert them to one beetle.edb like here:
-
kbl2edb -vw -o beetle_m.edb kblxml_2.4sr-1_tab016120_modulare_ltgs._160718.kbl
kbl2edb -vw -o beetle.edb *.kbl
The .kbl files as well as the resulting .edb file stores a so-called 150%
data model, that means it includes multiple variants of a vehicle in one
data model. As a consequence just loading the resulting beetle.edb (or
beetle_m.edb) into EEvision will display multiple variants in parallel.
This usually results in parallel wires, like in the schematic diagram
below – showing an extraction from XA.W1 based on beetle.edb:
Displaying 100% diagrams – filtering by modules in EEvision
The EEvision's
start-up page supports the
“Filter EDB” function. There you can check some configuration
modules to choose a 100% subset of the data model. Based on
beetle.edb you can, e.g., select the modules aaa108a12241C and
aaa108a1aaa and start EEvision again. An extraction form XA.W1 will now
display the screen shot
below, without any parallel wires.
Displaying 100% diagrams – filtering by expressions in EEvision
EEvision supports an alternative way to do the 100% filtering. If the .edb
file stores Boolean expressions (which is not part of an KBL files), then
a more convenient selection of the wanted configuration can be done by
specifying Boolean variables. But before, the Boolean expressions must be
added to the .edb file, e.g. with the -exprf
command line option:
kbl2edb -vw -o beetle.edb -exprf expressions.txt *.kbl
The expressions.txt
is a simple line-oriented text file with each
line storing the module name, followed by a colon and followed by a
Boolean expression. Afterwards, those modules will be selected, whose
Boolean expressions evaluate to true. Normally, this expressions.txt
should assign an Boolean expression to each configure module, but here we
use a simplified mock-up: if the expressions.txt looks like below, then
specifying the Boolean variable C would select the modules aaa108a12241C
and aaa108a1aaa, resulting in the same 100% schematic diagram as shown in
the screen shot above.
aaa108a1224: No aaa108a12241B: B aaa108a12241C: C aaa108a1aaa: No | C
The EEvision's start-up page still supports the “Filter EDB”
function, but if the given beetle.edb includes Boolean expressions,
then the configuration by Boolean variables is available as shown below:
Displaying 100% diagrams – filtering directly in kbl2edb
Less common is the option to have kbl2edb actually perform this
100%-filtering before creating an .edb file. In this case, the resulting
.edb file stores a 100% data model (not the usual 150% data model –
so EEvision does not need to filter again). This can be done in kbl2edb
with the -filterby
option; this option must appear after the .kbl
files. The argument(s) after the -filterby
option are URL
parameters, as they are passed to EEvision
at start-up. Here, we specify the fv
parameter to set the Boolean variable "C":
-
kbl2edb -vw -o beetle_f.edb -exprf expressions.txt *.kbl -filterby fv=C
The so created beetle_f.edb will be displayed by EEvision (without extra filtering) as the same 100% schematic diagram as shown in the screen shot above.