Signale

Generische Signale

Traceanalysen in ecu.test verwenden als Signale durchgängig sogenannte „generische Signale“. Diese bieten die Möglichkeit, Traceanalysen bestehend aus Episoden, Traceschritten und Signalaufnahmen zu konfigurieren und erst im letzten Schritt zu definieren, welche konkreten Signale aus welchen Quellen tatsächlich analysiert werden sollen.

Vorteile generischer Signale auf einen Blick:

  • generische Erstellung von Traceanalysen,

  • zentrale Stelle ermöglicht auf einen Blick, die Zuweisung konkreter Signale zu erfassen,

  • schneller Wechsel zwischen Testdaten mit unterschiedlichen Signalbezeichnern möglich,

  • Strukturierungsmöglichkeit durch referenzierte Traceanalysen.

Zur Verwaltung generischer Signale dient in ecu.test der Bereich Signalanbindung, der im Reiter Traceanalyse zu finden ist.

Hier können die generischen Signale verwaltet werden, indem neue erstellt und bestehende umbenannt oder gelöscht werden können. Weiterhin wird in diesem Bereich auch die Zuweisung konkreter Signale zu generischen vorgenommen. Bei der Zuweisung kann definiert werden, in welcher Form das konkrete Signal verwendet werden soll. Zur Auswahl für die Signalart stehen dabei „Rohwert“, „Interpretiert (Zahl)“ und „Interpretiert (Zeichenkette)“.

Generischen Signalen muss kein konkretes Signal zugewiesen werden. Diese können auch im Zuge der Traceanalyse von Traceschritten berechnet werden. Mehr dazu im Abschnitt Signalverarbeitung mit Traceschritten. Darüber hinaus ist es möglich ein Signal als optional zu kennzeichnen, sofern es nicht von einem vorlagenbasierten Traceschritt oder einer referenzierten Traceanalyse zwingend gefordert wird (siehe dazu auch Abschnitt Optionale Signale).

../../../_images/GenerischeSignale.png

Verwaltung und Anbindung generischer Signale

Signalanbindung

Im Bereich Signalanbindung ist in der Spalte Signal (1) zum einen zu erkennen, ob einem generischen Signal bereits ein konkretes Signal zugeordnet wurde (1a), von einem Traceschritt berechnet wird (1b) oder noch ungebunden ist (1d). Zum anderen werden die Eingangs- und Ausgangssignale aller Traceschritte und Signalaufnahmen in einer gemeinsamen Spalte im Bereich Episoden und Traceschritte dargestellt (2). Optionale Signale (1c) können unabhängig von Anbindung oder Vorhandensein in einer Traceanalyse verwendet werden, vergleiche Abschnitt Optionale Signale.

Einordnung ins ecu.test-Mapping-Konzept

ecu.test bietet mit dem Mapping-Konzept und der Möglichkeit, Signale in Signalgruppen zur Aufzeichnung zusammenzufassen, bereits vielfältige Möglichkeiten zur generischen Testfallerstellung, die auch der Vorbereitung der Traceanalyse dienen.

Der Anknüpfungspunkt für die Traceanalyse sind die in Signalgruppen zusammengefassten Signale. Die Zusammenfassung in Signalgruppen ist dabei nicht willkürlich oder vom Nutzer frei wählbar, sondern dient dazu, Signale jeweils einer Signalquelle zusammenzufassen.

Soll also in einer Traceanalyse ein Signal A (z. B. ein Motordrehzahl-Signal) zunächst aus einer Signalquelle (z. B. einer CAN-Busaufzeichnung) gelesen verwendet werden und später stattdessen ein anderes Signal B (z. B. ein Motordrehzahlsignal aus einem Applikationswerkzeug), dann erfordert dies nicht nur den Wechsel des Signals, sondern auch der Signalgruppe. Zu diesem Zweck dienen generische Signale. Im genannten Beispiel kann also in der gesamten Traceanalyse ein generisches Motordrehzahl-Signal verwendet und diesem zum Schluss wahlweise das Signal A der einen Signalgruppe oder das Signal B der anderen Signalgruppe zugewiesen werden.

Optionale Signale

Optionale Signale ermöglichen es, die Wiederverwendbarkeit von Traceanalysen und Traceschrittvorlagen weiter zu steigern. Dadurch führen gewisse Fehler im Zusammenhang mit der Signalanbindung optionaler Signale nicht zwingend zu einem Abbruch und einer ERROR-Bewertung der Traceanalyse, so dass man im Analyseablauf auf diese Fehler reagieren kann.

Je nach Traceschritt existieren sich ergänzende Konzepte, um derartige Anforderungen erfüllen zu können. Die folgende Tabelle gibt einen Überblick:

Signalverarbeitender Traceschritt

Unterstützte Signalkonzepte

Bemerkungen

Timing-Diagramm

nicht unterstützt

Python (ereignis- oder strombasiert)

optional/optional vorhanden

Triggerblock

optional (generisches Signal)

Berechnungsschritt

optional (generisches Signal)

Plot

optional vorhanden

Alle angebundenen Signale sind stets optional vorhanden

Signalaufnahme

optional vorhanden

Alle angebundenen Signale sind stets optional vorhanden

Referenz auf eine Traceanalyse

optional (generisches Signal)

In der referenzierten Analyse sind auch die anderen Konzepte nutzbar

optional: Ein (internes) Signal eines unterstützenden vorlagebasierten Traceschritts ist optional, wenn es in der zugeordneten Vorlage als solches markiert wurde. Hierzu muss in der Spalte Optional der Signalanbindung der Vorlage die Checkbox angehakt werden, siehe Allgemeines Vorgehen. Bei Verwendung dieser Vorlage als Traceschritt in einer Traceanalyse können optionale von nicht-optionalen Signalen dadurch unterschieden werden, dass bei letzteren der Signalname stets fett gedruckt dargestellt wird. Optionalen (internen) Signalen eines unterstützenden vorlagebasierten Traceschritts muss kein generisches Signal zugewiesen werden. Fehler, die bei der Anbindung eines generischen Signals entstehen, führen hingegen (wie bei nicht-optionalen Signalen) zum Analyseabbruch.

optional vorhanden: Wünscht man eine Fortsetzung der Analyse, muss man zusätzliche Einstellungen vornehmen. Ein Python-basierter Traceschritt kann so konfiguriert werden, dass die Analyse bei gewissen Fehlern im Zusammenhang mit der Anbindung an ein generisches Signal nicht abgebrochen wird. Hierzu ist im Bearbeitungsdialog des Traceschritts in der Spalte Optional die Checkbox anzuhaken. ecu.test wird hierdurch signalisiert, dass das angebundene Signal optional vorhanden ist. Diese Checkbox wird nur angezeigt, falls das zugehörige interne Signal optional ist, siehe Traceschrittvorlagen verwenden. Die Traceanalyse wird bei gesetzter Option auch im Fehlerfall starten und das fehlerhafte Signal so betrachten, als ob es keine Samples besäße.

optional (generisches Signal): Da Triggerblöcke und Berechnungsschritte komfortabel ohne explizite Signalanbindung konfiguriert werden, können für diese die Auswahl „optional vorhanden“ auf Ebene der generischen Signale deklariert werden. Diese Einstellung gilt dann für alle Triggerblöcke und Berechnungsschritte in der zugehörigen Traceanalyse. Hierzu muss in der Signalanbindungstabelle der ausgewählten Traceanalyse die Checkbox in der Spalte Optional angehakt werden, siehe Generische Signale. Dies ist nur möglich, falls alle verwendeten vorlagebasierten Traceschritte dieses Signal optional vorhanden behandeln und referenzierte Traceanalysen dieses generische Signal an ein ebenfalls optionales generisches Signal binden. Ein optionales generisches Signal, das an ein nicht vorhandenes Aufnahmesignal gebunden ist, generiert keine Signalevents und sein Wert in Ausdrücken mit anderen Signalen ist stets „None“.

Ist in der Signalanbindungstabelle des Parametriertungsdialogs referenzierter Traceanalysen der Signalname eines generischen Signals fett gedruckt dargestellt, so muss dieses Signal zwingend angebunden werden. Umgekehrt müssen Signalen deren Namen nicht fett gedruckt sind, nicht zwingend generische Signale zugeordnet werden. Es ist zu beachten, dass auch fett gedruckte generische Signale in der referenzierten Traceanalyse (ausschließlich) optional vorhanden verwendet werden können. In der Spalte Optional wird dargestellt, ob das zugeordnete generische Signal der referenzierten Traceanalyse optional ist.

In der folgenden Tabelle sind die Ergebnisse einer Analyseausführung bei verschiedenen Ereignissen im Zusammenhang mit der Signalanbindung übersichtlich aufgeführt:

Ereignis

Pflichtsignal (Standard)

Optionales Signal

Optional vorhandenes Signal

Optionales generisches Signal

Signal ohne Sample im Trace

Analyseausführung

Analyseausführung

Analyseausführung

Analyseausführung

Internes Signal im Traceschritt nicht angebunden

ERROR

Analyseausführung

Analyseausführung

Analyseausführung

Signal fehlt in der Aufnahme oder Probleme beim Auflösen des Mappings oder eingehendes generisches Signal nicht angebunden

…aber in vorlagenbasiertem Traceschritt verwendet

ERROR

ERROR

Analyseausführung

Analyseausführung

…aber in Berechnungsschritt oder Triggerblock verwendet

ERROR

ERROR

ERROR

Analyseausführung

Signal verweist auf ein Mapping aus der Signalgrupppe „Automatisch zuordnen“, was nicht zugeordnet werden konnte

…und zwar auf ein generisches Mapping

ERROR

ERROR

Analyseausführung / ERROR

Analyseausführung

…und zwar auf ein Mapping mit konkretem Ziel

ERROR

ERROR

ERROR

ERROR

Info

Wird ein konkretes Signal in verschiedenen Traceschritten optional und zwingend verlangt, so kann man das Signal zweimal anbinden und eines dieser generischen Signale als optional kennzeichnen.

Example

Eine Analyse wird generisch für verschiedene Prüfstände implementiert. Ein gewisses Signal wird an einem bestimmten Prüfstand nicht aufgezeichnet. Wird das zugehörige generische Signal im Rahmen eines Berechnungsschritts analysiert, so muss es zwingend als optional markiert werden. Wird das Signal hingegen in einem Pythonbasierten Traceschritt analysiert, so reicht es, das Signal als optional vorhanden zu kennzeichnen.

Einheiten von Signalen

In der letzten Spalte der Signalanbindungstabelle kann eine Standardeinheit für ein generisches Signal angegeben werden. Der Defaulteintrag don’t care bezeichnet die Übernahme der Quelleinheit aus der Aufnahmedatei. Ist in der Aufnahmedatei für das entsprechende Signal keine Einheit vorhanden, wird stattdessen die in der Datenbasis (Modellbeschreibungsdatei, Busdatenbank, …) hinterlegte Einheit als Quelleinheit angenommen.

Signalwerte werden dabei automatisch von der Quelleinheit in die in der Signalanbindung angegebene Standardeinheit konvertiert und können dann beispielsweise in Triggerblöcken und Berechnungsschritten verarbeitet werden. Falls weder in der Aufnahmedatei, noch in der Datenbasis eine Einheit ermittelt werden kann, so wird die in der Signalanbindung angegebene Einheit sowohl als Standard- als auch als Quelleinheit angenommen, ohne zu konvertieren. Sollte die Quelleinheit nicht in die Standardeinheit umrechenbar sein, beispielsweise eine Umrechnung von Kilometer zu Kelvin, kommt es automatisch zum Fehler mit einem entsprechenden Hinweis im Report.

Darüber hinaus wird auch in Traceschritten, die auf einer Traceschrittvorlage beruhen, die Standardeinheit übernommen, sofern die Einheit des Signals im Bearbeitungsdialog des Traceschritts mit don’t care angegeben wurde. Andernfalls wird die Einheiteneinstellung des Traceschritts verwendet und die abweichende Standardeinheit ignoriert.

Beispielsweise wurde in obiger Abbildung dem generischen Signal Drehzahl die Standardeinheit rpm zugeordnet. Wird dieses Signal in einem Traceschritt verwendet, der keine Einheit hierfür spezifiziert hat (don’t care), so wird es mit rpm verarbeitet. Fordert der Traceschritt hingegen rps für dieses Signal, so gilt diese Einheit.