Tab Buszugriff

../../_images/Buszugriff.png

Auf dem Tab Buszugriff werden alle Bussysteme dargestellt, auf die ecu.test zugreifen kann. Die verschiedenen Busse sind mit dem Bussymbol (img_BusSymbol) versehen.

Jedes Bussystem ist in Frames (img_FrameSymbol) unterteilt, die auf dem jeweiligen Bus existieren. Die Frames wiederum sind in PDUs (img_PduSymbol) und Signale (img_SignalSymbol) unterteilt. Welche Frames, PDUs und Signale jeweils vorhanden sind, ist in der Buszugriffsdatei (dbc, xml, arxml) hinterlegt. Unterstützte PDU-Typen sind I-Signal-I-PDU, Multiplexed-I-PDU (img_MultiplexedPduSymbol), Container-I-PDU und Secured-PDU (img_SecuredPduSymbol). Die Secured-PDU ergänzt die in ihr enthaltene, als Authentic-I-PDU bezeichnete PDU um die beiden Informationen „Authenticator“ und „Freshness Value“, die in ecu.test als die Signale _authInfo und _freshness dargestellt werden.

Diese Auflistung von Frames, PDUs und Signalen lässt sich mit Hilfe der drei Buttons in der Kopfzeile filtern. Filtermöglichkeiten sind:

  • Knoten img_NodeSymbol

  • Frames img_FrameSymbol

  • PDUs img_PduSymbol

Beim Klick auf einen dieser Buttons, werden die entsprechenden Elemente im Baum ausgeblendet. Dies hat zur Folge, dass beim Erstellen eines neuen Mappings die ausgeblendete Ebene nicht mehr Bestandteil des Mappingpfades ist.

Info

Das Ausblenden der Knoten hat keine Auswirkung auf die Pfade bereits bestehender Mappings.

Nachfolgend werden die Aktionsmöglichkeiten für Frames, PDUs und Signale dargestellt.

Info

Mithilfe der Tastenkombination CTRL+F besteht die Möglichkeit, bestimmte Frames, PDUs oder Signale zu suchen und sichtbar zu machen.

Info

Im Preprocess eines jeden Packages wird dem betreffenden Bus-Tool mitgeteilt, welche Frames/PDUs/Signale aufgenommen werden sollen. Erst danach kann diese mit dem Empfang beginnen, so dass direkt zum Testbeginn möglicherweise einzelne Frames noch nicht empfangen wurden. Ggf. ist hier ein Wait-Schritt einzufügen.

Frames

Per Rechtsklick auf einen Frame erscheint folgendes Kontextmenü:

../../_images/Bus_Kontextmenue.png

Überwache …

Die Botschaftsüberwachung funktioniert nur für hardwarenahe Tools (einschließlich Vector: SIL-Kit) und stellt verschiedene Möglichkeiten bereit, formale Eigenschaften von Frames zu überprüfen. Die Aktion wird parallel zur ecu.test-Ausführung gestartet und überprüft jedes empfangene Frame darauf, dass die spezifizierten Kriterien eingehalten werden.

Zu diesen Kriterien zählen Botschafts-Timing und DLC-Länge, die unterschiedliche Parameter zur Überwachung anbieten.

Botschafts-Timing:
  • Anzahl der Frames

  • Minimaler und maximaler Zeitunterschied zwischen den überwachten Frames

  • Anzahl der Zyklusunter- und Zyklusüberschreitungen

  • Zeitstempel der ersten und letzten Zyklusunter- und Zyklusüberschreitung

  • Anzahl der Entprellzeitunterschreitungen

  • Zeitstempel der ersten und letzten Entprellzeitunterschreitung

  • Zeitstempel des ersten und letzten Frames

DLC:
  • Anzahl Frames

  • Minimaler und maximaler DLC

  • Zeitstempel des minimalen und maximalen DLC

  • Fehlertext des ersten und letzten Auftretens

Diese Aktionsdialoge gliedern sich in zwei Optionen: Zum einen Start und zum anderen Auswerten. In eine Testsequenz muss dieser Schritt zuerst mit der Option Start eingefügt werden. Ab hier startet dann die gewählte Überwachung der ausgewählten Frames. Wenn man diese Daten später auswerten möchte, fügt man den Schritt mit der Option Auswerten ein. Hier kann man wählen, ob man die Auswertung direkt im Schritt vornehmen möchte (Relation, Erwartungswert) oder ob man sich die gewonnenen Daten für die spätere Verwendung in einer Variablen abspeichern möchte (Speichern in).

Globales Mapping erstellen

Bei der Wahl dieser Option im Kontextmenü wird der Variablenpfad des Simulationsmodells der globalen Mappingliste hinzugefügt. Ein Hinzufügen der Variablennamen ist auch per „Drag & Drop“ aus der Liste der Modellvariablen möglich. Die Bedeutung und Nutzung der Mappingnamen wird im Abschnitt Globales Mapping erklärt.

PDUs

Per Rechtsklick auf eine PDU erscheint folgendes Kontextmenü:

../../_images/Bus_KontextmenuePDU.png

Signalgruppe lesen/schreiben/zyklisch schreiben

Öffnet einen Dialog, in dem im oberen Teil der Mappingname angezeigt wird. Nach dem Bestätigen mit OK wird ein Funktionsblock in das Package eingefügt, der im IN-Block (PDU schreiben) bzw. im OUT-Block (PDU lesen) alle Signale der gewählten PDU enthält. Die Signale können nun einzeln bearbeitet und mit Erwartungswerten verglichen bzw. die zu schreibenden Werte festgelegt werden. Wird das zyklische Schreiben ausgewählt, werden in den IN-Block außerdem die Busparameter CycleTime und CycleCount hinzugefügt. Diese bestimmen die Periodendauer in Millisekunden und die Anzahl der zu sendenden PDUs.

PDU-Timing ändern

Diese Option erstellt einen Testschritt mit dem das Senden von PDUs aktiviert und deaktiviert werden kann. Notwendig hierfür ist, dass es sich bei dem verwendeten Port um einen Manipulationsport handelt. Bei der Aktivierung einer PDU kann zusätzlich angegeben werden, in welcher Zykluszeit diese gesendet werden soll.

Zudem ist es möglich, den Wert der zu sendenden Signale dynamisch über eine Frameberechnungsklasse zu belegen.

Die Zykluszeit und Frameberechnungsklasse einer aktivierten PDU lassen sich außerdem ohne Zyklusneustart verändern. Dafür darf der Aktivierungsstatus der PDU nicht verändert werden.

Bei LIN-PDUs wirkt sich die Zykluszeit auf den Master-Request aus. Zum Deaktivieren des Master-Request muss die Zykluszeit auf 0 gesetzt werden. Der Aktivierungsstatus wirkt sich nur darauf aus, ob als Slave geantwortet wird.

PDU-Timing zurücksetzen

Diese Option setzt das Timing einer gewählten PDU zurück. Notwendig hierfür ist, dass es sich bei dem verwendeten Port um einen generischen Busport handelt.

Erzeuge Berechnungsklassen

Erzeugt automatisch ein Grundgerüst für diese Klasse indem man im Kontextmenü Erzeuge Berechnungsklassen auswählt. Wie die Implementierung zu erfolgen hat, kann der generierten Vorlage entnommen werden. Weitere Informationen dazu können der Dokumentation zur Mini-Restbussimulation entnommen werden.

Puffer für Frame und Signale leeren

Diese Option erstellt einen Testschritt mit dem die Empfangspuffer für das Frame (-> Signalgruppe lesen) und die einzelnen Signale (-> Signal lesen) geleert werden können. Dadurch ist der Wert der Signale so lange ~NotPresent~ bis wieder ein Frame empfangen wurde, in dem das jeweilige Signal enthalten ist. Das Leeren der Empfangspuffer wird ausschließlich von den hardwarenahen Bus-Anbindungen (deren Namen mit -HW enden) unterstützt.

Globales Mapping erstellen

Bei der Wahl dieser Option im Kontextmenü wird der Variablenpfad des Simulationsmodells der globalen Mappingliste hinzugefügt. Ein Hinzufügen der Variablennamen ist auch per „Drag & Drop“ aus der Liste der Modellvariablen möglich. Die Bedeutung und Nutzung der Mappingnamen wird im Abschnitt Globales Mapping erklärt.

Signale

Per Rechtsklick auf ein Signal erscheint folgendes Kontextmenü:

../../_images/Bus_Kontextmenue_1.png

Lesen

Wird die Option Lesen ausgewählt, erscheint der Lesen-/ Schreiben-/ Ausführen-/ Stimulus-Dialog. Die im Bereich Messgröße, Typ und Beschreibung angezeigten Werte dienen nur der Information und können nicht geändert werden. Beim Lesen von Signalen wird zwischen der Rückgabe des physikalischen Wertes und des Rohwertes unterschieden. Voreingestellt ist die Rückgabe des physikalischen Wertes. Als Alternative kann im Mapping des Signals (Lokales Mapping) die Checkbox Rohwert verwenden ausgewählt werden. Für diesen Wert wird die korrekte Byteorder sowie Typisierung des Signals angewendet. Im Unterschied dazu wird beim physikalischem Wert zusätzlich die Umrechnungsfunktion des Signals und die angegebene Einheit angewendet. Mit Hilfe der Checkbox Speichern in ist es möglich, den gelesenen Wert für die Weiterverwendung im aktuellen Package abzuspeichern.

Im unteren Bereich des Tabs besteht die Möglichkeit, eine Erwartungshaltung für den zu messenden Wert zu definieren. Der genaue Ablauf ist im Kapitel Lesen-/ Schreiben-/ Ausführen-/ Stimulus-Dialog beschrieben.

Schreiben

Wird die Option Schreiben gewählt, erscheint ein Dialog, der vom Aufbau her ähnlich dem Dialog Lesen ist. In diesem Dialog ist es möglich, den Wert anzugeben, der geschrieben werden soll.

Zurücksetzen

Setzt die Manipulation, die mittels des Schrittes Schreiben durchgeführt wurde, zurück.

Initialwert prüfen

Gibt den ersten empfangenen Wert des Signals zurück.

Initialwert zurücksetzen

Setzt den ersten empfangenen Wert des Signals zurück. Somit kann auch überprüft werden, ob ein bestimmtes Signal aktuell überhaupt empfangen wird.

Globales Mapping erstellen

Bei der Wahl dieser Option im Kontextmenü wird der Variablenpfad des Simulationsmodells der globalen Mappingliste hinzugefügt. Ein Hinzufügen der Variablennamen ist auch per „Drag & Drop“ aus der Liste der Modellvariablen möglich. Die Bedeutung und Nutzung der Mappingnamen wird im Abschnitt Globales Mapping erklärt.