Ein Steuergeräte-Programm kann über Kenngrößen parametriert und quantitativ auf das jeweilige Zielfahrzeug angepaßt werden. Durch das Belegen dieser Kenngrößen mit geeigneten Werten wird das Steuergeräteprogramm an den zu bedienenden Motor in seinem Umfeld (z.B. Karosserie, Abgasgesetzgebung) angepaßt. Diesen Anpassungsvorgang nennt man Applikation bzw. Kalibrierung.
Es ist zu unterscheiden zwischen der Struktur einer Kenngröße und ihren Dateninhalten. Die Kenngrößenstrukturen werden im Datenlexikon unter <sw-params> (vgl. Parameter ) beschrieben. Die Kenngrößeninhalte stehen in <sw-param-contents>.
Abbildung 12: Parameter
Die Verwendung von Kenngrößen in Funktionen erfolgt durch Referenzierung (<sw-param-ref>). Dabei wird durch das Attribut [owns] mit dem möglichen Wert "noowns" angegeben, ob die Kenngröße dieser Funktion zuzuordnen ist bzw. in dieser Funktion definiert wird.
Über ein Attribut [calibration] kann spezifiziert werden:

calibration
Die Inhalte der Kenngröße werden in der Applikationsphase ( vgl. 1.2.8. Applikation (Kalibrierung)) auf das jeweilige Zielfahrzeug angepaßt (appliziert).
no-calibration
Die Inhalte der Kenngröße können nicht durch Applikationssyteme usw. verändert, sondern nur gelesen werden.
not-in-memory
Diese Kenngröße wird nicht im EPROM des Steuergerätes abgelegt. Ihre Inhalte werden während der Software-Entwicklung verarbeitet (z.B. zur Konfiguration über Headerfiles). Sie sind daher in der Applikationsphase weder lesbar noch veränderbar.

Es gibt verschiedene Klassen von Kenngrößen. Diese werden einerseits durch die Belegung von <sw-param-class> unterschieden, andererseits durch entsprechende Ausprägung der Strukturen gebildet.
Man unterscheidet folgende Kenngrößenklassen:
Kennwert  Ein Kennwert (<sw-param-single-value>) ist eine Kenngröße, die aus einem einzelnen Wert besteht. Hiermit kann beispielsweise eine Drehzahlgrenze abgebildet werden.

Die Struktur des Kennwertes ist in Kennwert dargestellt.
Systemkonstante  Eine Systemkonstante ist ein spezieller Kennwert (<sw-param-single-value> gekennzeichnet durch [calibration]=not-in-memory), welcher z.B. zur Anpassung von Umrechungsformeln dient. Sie wird nicht im Steuergerät abgelegt.

Kenntext  Ein Kenntext (<sw-param-text>) ist eine Kenngröße, die aus einem einzelnen Text besteht. Hiermit kann beispielsweise Meldungen für das Armaturenbrett dargestellt werden.

Kennlinie  Bei einer Kennlinie (<sw-param-array-x>) wird die Ausgangsgröße in Abhängigkeit von einer Eingangsgröße durch das Steuergeräte-Programm berechnet. Mathematisch betrachtet ist die Kennlinie eine Funktion, bei der gilt: Ausgangswert = f(Eingangswert).

Diese Funktion ist dabei als Linienzug festgelegt, indem zu einer (durch <max-count> begrenzten) Anzahl von Stützstellen (<sw-param-axis-x>) der zugehörige Funktionswert (<sw-param-axis-value>) angegeben wird. Zwischen zwei Stützstellen wird im Steuergeräte-Programm üblicherweise linear interpoliert, außerhalb konstant extrapoliert.
Die Struktur der Kennline ist in Kennlinie dargestellt.
Festkennlinie  Bei Festkennlinien können die Stützstellen nicht frei festgelegt werden, sondern werden durch shift (<shift>) und offset (<offset>) im Steuergeräte-Programm berechnet (<sw-axis-shift-offset>). Die Festkennlinie wird ebenfalls als <sw-param-array-x> dargestellt, wobei <sw-axis-shift-offset> verwendet wird.

Kennfeld  Bei einem Kennfeld (<sw-param-array-xy>) wird die Ausgangsgröße in Abhängigkeit von zwei Eingangsgrößen durch das Steuergeräte-Programm berechnet. Ansonsten ist der Aufbau wie bei einer Kennlinie.

Festkennfeld  Wie bei einer Festkennlinie können auch hier die Stützstellen nicht frei gewählt werden. Das Festkennfeld wird ebenfalls als <sw-param-array-xy> dargestellt, wobei für beide Achsen <sw-axis-shift-offset> verwendet wird.

Gruppenkennlinie  Gruppenkennlinien haben keine eigenen Stützstellen, sondern benutzen gemeinsam mit anderen Gruppenkennlinien oder -feldern die gleichen Stützstellen (<sw-param-group-axis> referenziert in <sw-axis-grouped>). Das Gruppenkennline wird ebenfalls als <sw-param-array-x> dargestellt, wobei für die Achse <sw-axis-grouped> verwendet wird.

Gruppenkennfeld  Gruppenkennfelder haben keine eigenen Stützstellen, sondern benutzen gemeinsam mit anderen Gruppenkennlinien oder -feldern die gleichen Stützstellen (Gruppenstützstellen). Das Gruppenkennfeld wird ebenfalls als <sw-param-array-xy> dargestellt, wobei für beide Achsen <sw-axis-grouped> verwendet wird (vgl. Beispiel für ein Gruppenkennfeld).

Kennwerteblock  Ein Kennwerteblock <sw-param-value-block> faßt mehrere (<count>) identisch aufgebaute Kennwerte zu einem Block zusammen. So könnte z.B. ein Kennwert, der für jeden Zylinder des Motors einzeln anzulegen ist, als Kennwerteblock mit 4 Elementen dargestellt werden.

Alle Kennwerte im Block besitzen die gleichen Eigenschaften. Jeder Kennwert erhält jedoch eine eigene Bezeichnung (<label>), in der die Verwendung des Wertes beschrieben werden kann. Der Kennwerteblock wird immer geschlossen behandelt. Daher können die Komponenten des Kennwerteblockes nicht einzeln referenziert werden.
Kennwertestruktur  Eine Kennwertestruktur (<sw-params> in <sw-param>) faßt mehrere verschieden aufgebaute Kenngrößen zusammen. Damit können z.B. die Parameter einer Reglerstruktur dargestellt werden (bgl. Beispiel für eine Kennwertestruktur:).

Gruppenstützstellen  Gruppenstützstellen (<sw-param-group-axis>) legen die Stützstellen fest, die von mehreren Gruppenkennlinien oder Gruppenkennfeldern gemeinsam benutzt werden (<sw-param-ref> in <sw-axis-grouped>).

Durch <sw-param-class>wird festgelegt, um welche Kenngrößenart es sich handelt (z.B. Kennlinie). Hierfür sollen die normierten Bezeichnungen von ASAP verwendet werden. Dies sind:

Belegung von <sw-param-class>
Wert
Bedeutung
Anmerkung
SYSTEM_CONSTANT
Systemkonstante
Entspricht strukturell einem Festwert mit [calibration]=not-in-memory
VALUE
Kennwert
 
CURVE_INDIVIDUAL
Kennlinie
 
MAP_INDIVIDUAL
Kennfeld
 
CURVE_FIXED
Festkennlinie
 
MAP_FIXED
Festkennfeld
 
CURVE_GROUPED
Gruppenkennlinie
 
MAP_GROUPED
Gruppenkennfeld
 
ASCII
Kenntext
 
STRUCTURE
Kenngrößenstruktur
 
VALUE_BLOCK
Kennwerteblock
 
AXIS_VALUES
Gruppenstützstellen
 
Die Struktur eines Kennwertes ist in Kennwert dargestellt.
Abbildung 13: Kennwert
Folgendes Beispiel illustriert die Anwendung:
<sw-param> <long-name></long-name> <short-name>KUP_FEN</short-name> <sw-param-class>value</sw-param-class> <desc></desc> <sw-param-single-value> <sw-param-axis-values> <sw-compu-method-ref>TEMPQ</sw-compu-method-ref> </sw-param-axis-values> </sw-param-single-value> <sw-addressing-method-ref>offset</sw-addressing-method-ref> <sw-param-record-layout-ref>DAMOS_KW0</sw-param-record-layout-ref> <sw-code-syntax-ref>cSyKwByte</sw-code-syntax-ref> </sw-param>
Die Struktur der Kennlinie ist in Kennlinie dargestellt.
Abbildung 14: Kennlinie
Nachfolgendes Beispiel illustriert die Anwendung:
<sw-param> <long-name></long-name> <short-name>etalam</short-name> <sw-param-class>curve_individual</sw-param-class> <desc></desc> <sw-param-array-x> <sw-param-axis-x> <sw-axis-individual> <sw-variable-ref>lambas</sw-variable-ref> <max-count>10</max-count> </sw-axis-individual> </sw-param-axis-x> <sw-param-axis-values> <sw-compu-method-ref>rel_ub-b127b5</sw-compu-method-ref> </sw-param-axis-values> <sw-addressing-method-ref>NearRomByte</sw-addressing-method-ref> <sw-param-record-layout-ref>KlAUbSstUbWUb</sw-param-record-layout-ref> <sw-code-syntax-ref>KlNearAUbSstUbUb</sw-code-syntax-ref> </sw-param>
<sw-param> <long-name></long-name> <short-name>KFAVG</short-name> <sw-param-class>map_grouped</sw-param-class> <desc></desc> <sw-param-array-xy> <sw-param-axis-x> <sw-axis-grouped> <sw-param-ref>STADGN</sw-param-ref> </sw-axis-grouped> </sw-param-axis-x> <sw-param-axis-y> <sw-axis-grouped> <sw-param-ref>STADGTL</sw-param-ref> </sw-axis-grouped> </sw-param-axis-y> <sw-param-axis-values> <sw-compu-method-ref>FKT256</sw-compu-method-ref> </sw-param-axis-values> </sw-param-array-xy> <sw-addressing-method-ref>Vek</sw-addressing-method-ref> <sw-param-record-layout-ref>DAMOS_GKF0</sw-param-record-layout-ref> <sw-code-syntax-ref>cSyGKf</sw-code-syntax-ref> </sw-param>
<sw-params> <sw-param> <long-name></long-name> <short-name>mrw</short-name> <sw-param-class>structure</sw-param-class> <sw-addressing-method-ref>dir</sw-addressing-method-ref> <sw-code-syntax-ref>cSyKggByte</sw-code-syntax-ref> <sw-params> <sw-param> <long-name></long-name> <short-name>KUP_FEN</short-name> <sw-param-class>value</sw-param-class> <desc></desc> <sw-param-single-value><sw-param-axis-values><sw-compu-method-ref>TEMPQ</sw-compu-method-ref> </sw-param-axis-values> </sw-param-single-value> <sw-addressing-method-ref>offset</sw-addressing-method-ref> <sw-param-record-layout-ref>DAMOS_KW0</sw-param-record-layout-ref> <sw-code-syntax-ref>cSyKwByte</sw-code-syntax-ref> </sw-param> </sw-params> </sw-param> </sw-params> . . . <sw-param-contents> <sw-param-content> <sw-param-ref>KUP_FEN</sw-param-ref> <sw-param-class>value</sw-param-class> <sw-param-content-v> <sw-param-values-phys> <v>1</v> </sw-param-values-phys> </sw-param-content-v> </sw-param-content> </sw-param-contents>