Port BUSACCESS - GENERIC¶
Generischer Bus-Zugriff
Stimulation¶
Die Stimulation von Bus-Signalen erfolgt über den Modellzugriff und ist nur möglich, wenn dieser ebenfalls die Stimulation unterstützt. Dabei gelten die Einschränkungen/Anmerkungen des Modellzugriffs auch für den generischen Bus-Zugriff.
Einschränkungen:
Stimulus-Eingangssignale werden nicht unterstützt.
Die in einer STI-Datei im DataFileSegment referenzierten Tracedateien werden von ecu.test nicht konvertiert.
Es obliegt dem Benutzer zu prüfen, ob das verwendete Trace-Format vom Tool unterstützt wird.
Besonderheiten¶
Über diesen Porttyp können im Modell abgebildete Busgrößen (Frames und Signale) gelesen und manipuliert werden. Die Abbildungsvorschriften für Bussignal zu Modelldaten sind in der Testbenchkonfiguration hinterlegt. Deren Syntax wird im nachfolgenden Abschnitt beschrieben.
Porttyp BUSACCESS GENERIC
Bus-Port für den Zugriff auf die Restbussimulation des Umgebungsmodells. Die Abbildung von Signal-/Botschaftsnamen auf Modell-Pfade ist mit Pfad-Mustern weitgehend konfigurierbar. Die Abbildung von CRC- und ALIVE-Signalen wird gesondert konfiguriert. CRC- und ALIVE-Signale werden am Präfix „CRC“ bzw. „ALIV“ des jeweiligen Signalnamens erkannt.
Die Pfade in den Eigenschaften können verschiedene Platzhalter enthalten, die beim Zugriff auf ein
Signal automatisch ersetzt werden.
Ein Platzhalter wird mit einem %-Zeichen angeführt und in Runde Klammern gesetzt: %(<platzhalter>).
Nach der schließenden Klammer muss ein Formatierungs-Code stehen.
Info
Ein valider Ausdruck wäre also
bspw.: %(signal)s, wobei „signal“ ein Platzhalter und „s“ ein Formatierungscode darstellen.
Verfügbare Platzhalter
busName des Busses
nodeName des Steuergerätes
frameName der Botschaft / des Frames
frameIdDie ID der Botschaft / des Frames.
CAN: CAN-ID FlexRay: Slot-ID
pduName des/der PDU/Subframes
signalName des Signals
cycleRepetitionNur FlexRay: Anzahl Zyklen bis ein Frame erneut gesendet wird
baseCycleNur FlexRay: Erster Kommunikationszyklus, in dem ein Frame gesendet wird.
segmentTypeNur FlexRay: „Dynamic“, wenn die aktuelle Slot-ID über der maximalen Anzahl an statischen Slots liegt, sonst „Static“
signalGroupName der Signalgruppe
multiplexerMultiplexer-Switch-Code (z. B.
_DP_m4), falls es sich um ein Signal einer Multiplex-PDU handelt
Formatierungscodes
Die Platzhalter können mit den folgenden Formatierungsregeln manipuliert werden:
sPlatzhalter wird nur ersetzt, Groß-/Kleinschreibung des ersetzenden Wertes bleiben erhalten.
usersetzter Wert wird komplett in Großbuchstaben konvertiert.
lsersetzter Wert wird komplett in Kleinbuchstaben konvertiert.
dersetzter Wert wird als Dezimalzahl dargestellt.
xersetzter Wert wird als Hexadezimalzahl mit Kleinbuchstaben dargestellt.
Xersetzter Wert wird als Hexadezimalzahl mit Großbuchstaben dargestellt.
4xersetzter Wert wird mit führenden Nullen auf 4 Stellen aufgefüllt (die Stellenanzahl kann geändert werden, und auch in Kombination mit d bzw. X statt x verwendet werden)
Pfad-Bestandteil als optional markieren
Es ist möglich bestimmte Teile eines Pfades als optional zu markieren. Ein Pfad-Bestandteil ist dann optional, wenn er:
in eckigen Klammern steht, also zwischen „[“ und „]“ und
wenigstens ein Platzhalter enthalten ist
Ein optionaler Bestandteil ist nur dann im Zielpfad enthalten, wenn alle darin befindlichen Platzhalter mit einem Wert ersetzt werden können.
Ein Beispiel:
Als TX-Pfad ist folgendes konfiguriert: /can/[%(signalGroup)s/]%(signal)s/Value.
Befindet sich das entsprechende Bussignal „A“ in einer Signalgruppe (z.B. „sign_group“), resultiert
das in einen TX-Pfad: /can/sign_group/A/Value. Der optionale Bestandteil ist also im Zielpfad
enthalten. Ist das Signal hingegen nicht Bestandteil einer Signalgruppe, ergibt das den
Pfad: /can/A/value.
Tx-Switch-Pfad
Der Tx-Switch-Pfad wird benutzt, um die Manipulation von Signalen zu de-/aktiviern. Das Signal auf dem Switch-Pfad wird dazu auf folgende Werte gesetzt, um die Manipulation des Zielsignals zu steuern:
0: wenn das Zielsignal nicht manipuliert wird
1: wenn das Zielsignal mit Repräsentation Physikalische Umrechnung geschrieben wird
2: wenn das Zielsignal mit Repräsentation Rohwert geschrieben wird
Wenn die Option Fehlenden *-Tx-Switch-Pfad ignorieren gesetzt ist, muss der Tx-Switch-Pfad nicht existieren. Das Zielsignal wird trotzdem mit dem gewünschten Wert überschrieben.
Eigenschaften 🛈¶
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
Bus-Bezeichner |
string |
Logischer Name des Bussystems |
|||
Modell-Port |
string |
Port-ID (bspw. „MDL01“) des Modellports, über den der Modellzugriff durchgeführt werden soll. Diese Eigenschaft kann leer bleiben, wenn es genau einen Modellport gibt. Bei mehr als einem Modellport muss diese Eigenschaft gesetzt sein. |
|||
Bus-DB |
string |
Bus-Datenbank (Diese Bus-Datenbank wird üblicherweise aus der Testkonfiguration übernommen. Bitte beachten, dass die Bus-Datenbank nicht automatisch an das Tool übertragen wird, sondern manuell dort hinterlegt werden muss.) |
|||
ALIVE Namensschema |
‚ALIV*‘ |
string |
Muster zur Erkennung von ALIVE-Signalen. ? dient als Platzhalter für ein Zeichen, * für beliebig viele Zeichen. |
||
CRC Namensschema |
‚CRC*‘ |
string |
Muster zur Erkennung von CRC-Signalen. ? dient als Platzhalter für ein Zeichen, * für beliebig viele Zeichen. |
||
Raw-Phys-Umrechnungsverhalten |
‚error‘ |
[‚error‘, ‚identical‘, ‚first‘, ‚firstOrIdentical‘] Anzeigewerte:
|
string |
Konvertierungsregel für Rohwerte in einem Wertebereich ohne spezifizierte Umrechnungsmethode. Diese Einstellung sollte abhängig davon gesetzt werden, wie Signalwerte ohne physikalische Repräsentation im Modell dargestellt werden. Standardmäßig sind diese Werte nicht erlaubt. Die Option „identisch“ behandelt Rohwerte direkt als physikalische Werte. Die „erste Konvertierungsfunktion“ wendet die erste definierte Umrechnungsmethode auf den Rohwert auch dann an, wenn sie für diesen Wert nicht definiert ist. Die Option „erste Konvertierungsfunktion oder identisch“ nutzt vorrangig die erste Umrechnungsmethode. Falls diese nicht existiert, wird stattdessen der Rohwert verwendet. |
|
Rx-Pfad |
‚%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s/Out1‘ |
string |
Muster des Modellpfads zum Lesen eines Signals |
||
Tx-Pfad |
‚%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s/const_const/Value‘ |
string |
Muster des Modellpfads zum Manipulieren eines Signals |
||
Tx-Switch-Pfad |
‚%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s/const_switch/Value‘ |
string |
Muster des Modellpfads zum Schalter für das Manipulieren eines Signals |
||
CRC-Tx-Pfad |
‚%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_const/Value‘ |
string |
Muster des Modellpfads zum Manipulieren eines CRC-Signals |
||
CRC-Tx-Switch-Pfad |
‚%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_switch/Value‘ |
string |
Muster des Modellpfads zum Schalter für das Manipulieren eines CRC-Signals |
||
ALIVE-Tx-Pfad |
‚%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_const/Value‘ |
string |
Muster des Modellpfads zum Manipulieren eines ALIVE-Signals |
||
ALIVE-Tx-Switch-Pfad |
‚%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_switch/Value‘ |
string |
Muster des Modellpfads zum Schalter für das Manipulieren eines ALIVE-Signals |
||
Tx-Frame-Enable-Pfad |
‚%(node)s/kommunikation/%(bus)s/%(frame)s/enable/const_const/Value‘ |
string |
Muster des Modellpfads zum Schalter für das Aktivieren und Deaktivieren eines Frames |
||
Fehlenden *-Tx-Switch-Pfad ignorieren |
☐ |
bool |
Wenn der *-Tx-Switch-Pfad im Modell fehlt, keinen Fehler erzeugen und zum Zurücksetzen den Wert des *-Tx-Pfads wiederherstellen. |
||
Verhalten beim Zurücksetzen |
‚DEFAULT‘ |
[‚DEFAULT‘, ‚SWITCH_MODEL‘] |
string |
Ist diese Eigenschaft auf DEFAULT gesetzt, werden beim Zurücksetzen eines Bussignals sowohl Switch- als auch Const-Wert auf ihren initialen Wert gesetzt. Die Einstellung SWITCH_MODEL bewirkt hingegen, dass der Switch immer auf Modellwert zurückgesetzt wird. Der Const-Wert wird hierbei nicht manipuliert. |