Allgemeines Vorgehen

In ecu.test stehen die nachfolgend aufgeführten Spezifikationsarten für Traceschrittvorlagen zur Verfügung. In einer Traceanalyse können Traceschritte dieser Arten kombiniert werden.

Allgemein werden Traceschrittvorlagen als Dateien in Verzeichnissen verwaltet, deren Inhalte in der Exploreransicht (links) im Reiter Traceschrittvorlagen angezeigt werden. Dort werden die Bereiche Eigene Vorlagen und Standardvorlagen angeboten. Das Verzeichnis, welches im Bereich Eigene Vorlagen angezeigt wird, kann unter Optionen ‣ Einstellungen ‣ Verzeichnisse geändert werden. In ecu.test können innerhalb dieses Verzeichnisses beliebige Unterordner angelegt werden, um die Traceschrittvorlagen zu gruppieren (siehe Abbildung Erstellen eines (Unter-)Ordners im Traceschrittvorlagen-Verzeichnis).

../../../../../_images/CreateTraceStepFolder.png

Erstellen eines (Unter-)Ordners im Traceschrittvorlagen-Verzeichnis

Neue Traceschrittvorlagen können mit der Schaltfläche Neue Traceschrittvorlage erstellt werden. Wenn hier Python ereignisbasiert oder Python strombasiert gewählt wird, gelangt man in den Dialog zum Bearbeiten von Traceschrittvorlagen.

Dieser ist in die vier Bereiche

  1. Allgemein,

  2. Signale,

  3. Parameter und

  4. Analysevorschrift

gegliedert.

Wählt man den Typ NumPy arraybasiert, dann erscheint ein sehr ähnlich aufgebauter Dialog, der allerdings als Wizard zu verstehen ist. Nach dem Ausfüllen des Dialoges kann durch Klick auf Generieren eine Python-Quellcodedatei erzeugt und editiert werden, in der die eigentliche Analysevorschrift zu implementieren ist.

Beim Erstellen eines Timing-Diagramms erscheint wiederum ein anderer Dialog, der ebenfalls verschiedene Fenster besitzt: die Andockfenster Elementeigenschaften, Parameter und Zuweisungen sowie den Hauptbereich zum Modellieren der Analysevorschrift in Form des Timing-Diagramms. Der Timing-Diagramm-Editor wird ausführlich im Handbuch für Timing-Diagramme beschrieben. Nachfolgend wird daher nicht auf dessen Eigenheiten eingegangen.

../../../../../_images/EditTraceStepTemplateExample.png

Bearbeiten einer (Python ereignisbasierten) Traceschrittvorlage

Beschreibung

Im Bereich Beschreibung kann die allgemeine Funktionsweise der Traceschrittvorlage erläutert werden.

Info

Zu beachten ist, dass nur der erste Absatz (Text bis zur ersten Leerzeile) im Report angezeigt wird, falls bei der Verwendung der Traceschrittvorlage keine spezifische Beschreibung angegeben wurde.

Signale

Im Bereich Signale definiert man die Signale, auf denen die Traceschrittvorlage arbeiten soll. Dabei können die Namen der Signale in der ersten Spalte frei gewählt werden und sollten möglichst selbsterklärend sein.

In der zweiten Spalte wird für jedes Signal festgelegt, ob es eingehend (IN) ist, d. h., ihm später ein bereits vorhandenes Signal zugewiesen werden kann und es im Traceschritt nur lesend verarbeitet wird oder ob es ausgehend (OUT) ist, d. h. durch Verwendung der Methode dataContainer.EmitSignal (in Python-basierten Traceschrittvorlagen) während des Traceschrittes erst erzeugt wird und anschließend über seinen Namen angesprochen und beispielsweise von nachfolgenden Traceschritten weiterverwendet werden kann (siehe auch Abschnitt Signalverarbeitung mit Traceschritten).

In der dritten Spalte kann ein Signal durch Setzen eines Häkchens im jeweiligen Optionsfeld als optional markiert werden. Diese Spalte hat nur für eingehende Signale eine Bedeutung. In diesem Fall muss diesem Signal bei der späteren Verwendung nicht zwingend ein generisches Signal zugewiesen werden. Dadurch kann die Traceschrittvorlage flexibler gestaltet und die unnötige Erstellung vieler gleichartiger Traceschrittvorlagen umgangen werden, wenn beispielsweise in einigen von vielen ähnlichen Anwendungsfällen einige Signale nicht zur Verfügung stehen.

Info

Entscheidet sich der Anwender später dafür, ein optionales Signal einer Traceschrittvorlage zu verwenden, so muss das von ihm angegebene Signal auch vollständig funktionieren. ecu.test wird einen Fehler (ERROR-Eintrag im Report) melden, falls mit dem gewählten Signal ein Problem besteht. Probleme können dabei Fehler im Mapping oder eine vergessene Zuweisung eines generischen Signals im Bereich Signalanbindung einer Traceanalyse sein.

Der Anwender hat seinerseits jedoch die Möglichkeit bei der Anbindung von generischen Signalen an optionale Signale der Traceschrittvorlage diese Anbindung als optional vorhanden zu markieren. Dadurch weist er ecu.test explizit darauf hin, dass (abhängig von der Konfiguration bzw. der Aufzeichnung) Probleme beim Auflösen des Mappings bzw. beim Suchen des Signals im Trace auftreten können; z.B. wenn das Signal für einen bestimmten Prüfstand nicht aufgezeichnet wird. Die Traceanalyse wird bei gesetzter Option auch im Fehlerfall starten und das fehlerhafte Signal so betrachten, als ob es keine Samples besitzt.

Die vierte Spalte ist einer optionalen Beschreibung des jeweiligen Signals vorbehalten. Ein Klick auf die Auslassungspunkte öffnet einen Dialog, in dem die textuelle Beschreibung eingegeben werden kann.

Info

An dieser Stelle muss (und kann auch) noch nicht festgelegt werden, um welches konkrete Signal es sich handelt. Die Bindung an generische Signale findet erst später bei der eigentlichen Verwendung der Traceschrittvorlage statt.

Parameter

Der Bereich Parameter dient dazu, die Traceschrittvorlage möglichst gut wiederverwendbar zu gestalten. Hier können Parameter definiert werden, denen in der späteren Verwendung der Traceschrittvorlage konkrete Werte zugewiesen werden. Der Parameterbereich ist ebenfalls in fünf Spalten gegliedert.

In der ersten Spalte können die Namen der Parameter frei gewählt werden.

In der zweiten Spalte wird für jeden Parameter festgelegt, ob er eingehend (IN) ist, also ob ihm später ein Wert oder eine vorhandene Variable zugewiesen werden kann oder ob er ausgehend (OUT) ist, d.h., dass ihm beim Ausführen der Traceschrittvorlage ein Wert zugewiesen wird, der dann in eine Variable gespeichert werden kann.

Die Parameterwerte können jeglichen gültigen Python-Ausdruck enthalten. Es lassen sich insbesondere auch Namen von Variablen (aus dem Reiter Variablen) verwenden.

Da man beim späteren Parametrieren der Traceschrittvorlage bei der Wertzuweisung also beliebige gültige Python-Ausdrücke verwenden kann, dient der Typ eines Parameters, den man in der dritten Spalte als „INTEGER“, „FLOAT“, „STRING“, „BOOLEAN“ oder „PYOBJECT“ angeben kann, lediglich zur Formulierung einer Erwartungshaltung des Vorlagenerstellers.

In der vierten Spalte Standardwert kann optional ein Standardwert für eingehende Parameter konfiguriert werden. Die Eingabekontrolle dieser Spalte hängt vom ausgewählten Parametertyp ab. Ein leerer Wert bedeutet, dass kein Standardwert gesetzt ist.

Bei der späteren Verwendung der Vorlage wird dieser Standardwert nur dann angewendet, wenn die Parameterzuweisung leer („None“) ist.

In der letzten Spalte kann (analog zu Signalen) ein Parameter mit einer Beschreibung versehen werden.

Analysevorschrift

Ziel der Definition von Signalen und Parametern ist es, innerhalb der Analysevorschrift der Traceschrittvorlagen (im Bereich Analysevorschrift) mit den so definierten Namen arbeiten zu können. Wie dies für die verschiedenen Vorlagentypen funktioniert, wird in den folgenden Abschnitten beschrieben.