Altair EEvision™

KBL-to-EDB Converter

This document describes EEvision's 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:
Old Beetle Extract XA

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.
Old Beetle Filter By Module Old Beetle Filtered Extract XA

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:
Old Beetle Filter By Boolean Expression

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.