Port BUSACCESS - GENERIC¶
Generic bus access
Stimulation¶
Stimulation of bus signals is performed via the model access and is only possible if this also supports stimulation. The restrictions/comments of the model access also apply to the generic bus access.
Restrictions:
Stimulus input signals are not supported.
Trace files being referenced by a DataFileSegment in an STI file are not converted automatically by ecu.test.
It is up to the user to check whether the trace format being used is supported by the tool.
Specifics¶
With this port type you can read and manipulate bus quantities (frames and signals) that are represented in the model. The mapping for bus signals to model data is described in the test bench configuration. The corresponding syntax is described in the following section.
Port type BUSACCESS GENERIC
Bus port for access to the rest bus simulation of the environment model. The representation of signal/message names on model paths can be largely configured by means of path patterns. The representation of CRC and ALIVE signals is configured separately. CRC and ALIVE signals can be recognized by the prefixes “CRC” or “ALIV” in the signal names.
Path like properties might contain certain placeholders. Those will be automatically replaced when
accessing bus signals.
A placeholder always begins with the character “%” and is enclosed by parenthesis, like so: %(<placeholder>).
The closing parenthesis has to be followed by a formatter.
Info
A valid expression could be e.g %(signal)s, where “signal” is a placeholder and “s” is a formatter.
Available placeholders
busName of the bus
nodeName of the control unit
frameName of the message / frame
frameIdNumeric ID of the message / frame
CAN: CAN ID FlexRay: Slot ID
pduName of the PDU / subframe
signalName of the signal
cycleRepetitionFlexRay only: The number of cycles after which a frame is sent again
baseCycleFlexRay only: The first communication cycle in which a frame is sent
segmentTypeFlexRay only: “Dynamic” if the current slot id is greater than the number of static slots, else “Static”
signalGroupName of the signalgroup
multiplexerMultiplexer switch code (for example
_DP_m4), if the signal belongs to a multiplexed PDU
Formatters
The placeholders can be formatted using the following formatting rules:
splaceholder is just replaced, case sensitive spelling of value to be replaced remains unchanged
usreplaced value is completely converted into upper-case letters
lsreplaced value is completely converted into lower-case letters
dreplaced value is represented in decimal format
xreplaced value is represented in hex format with lower-case letters
Xreplaced value is represented in hex format with upper-case letters
4xreplaced value is expanded to 4 digits with leading zeros (number of digits can be changed, and combination with X or d instead of x is also possible)
Marking parts of a path as optional
It is possible to mark certain parts of a path as optional. A part is optional if it:
is placed between squared brackets and
it contains at least one place holder
An optional part will be left out if any of the contained placeholders is evaluated to an empty string.
For example:
A TX path has been configured as /can/[%(signalGroup)s/]%(signal)s/Value. Assuming a signal “A”
belonging to signal group “sign_group”, manipulating it will result in the following model path:
/can/sign_group/A/Value. The optional part is kept in the final path. But if the signal is not
in a signal group, the path will result in /can/A/value.
Tx-Switch Path
The Tx-Switch path is used to de/-activate the manipulation of signals. The Switch path signal is set to the following values, to control the manipulation of the target signal:
0: if the target signal is not manipulated
1: if the target signal is written in Representation Physical conversion
2: if the target signal is written in Representation Raw value
If Ignore missing *-Tx switch path is set, the Tx-Switch path may be non-existent. The target signal will still be written with the desired value.
Properties 🛈¶
Name |
Available if |
Default value |
Valid values |
Type |
Description |
|---|---|---|---|---|---|
Bus identifier |
string |
Logical name of the bus system |
|||
Model port |
string |
Port ID (e.g. “MDL01”) of the model port via which the model access is to be performed. This property can remain empty if there is exactly one model port. If there is more than one model port, this property must be set. |
|||
Bus-DB |
string |
Bus-database (This bus-database is usually taken from the test configuration. Please note that the bus-database is not automatically transferred to the tool, but must be stored there manually.) |
|||
Bus path |
‘masterappl/Model Root/userinterface_master/disp/io/sg_info’ |
string |
Base path of the model variables for the bus signals and messages. The Rx and Tx path specifications refer to this base path. |
||
ALIVE naming pattern |
‘ALIV*’ |
string |
Pattern for the recognition of ALIVE signals. ? stands for a single character, * for one or more characters. |
||
CRC naming pattern |
‘CRC*’ |
string |
Pattern for the recognition of CRC signals. ? stands for a single character, * for one or more characters. |
||
Raw to phys conversion behavior |
‘error’ |
[‘error’, ‘identical’, ‘first’, ‘firstOrIdentical’] Display values:
|
string |
Behavior for conversions of raw values in domains without a specified conversion rule. This option should be set according to how the model represents signal values that have no physical representation. By default, such values are not allowed. The option “identical” treats raw values directly as phys values. The “first conversion function” applies the first defined conversion function on the raw value even if it is not defined for that value. The “first conversion function or identical” option uses a first conversion function, if available, or the raw value if no conversion function is defined. |
|
Rx path |
‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s/Out1’ |
string |
Pattern of model path for signal reading |
||
Tx path |
‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s/const_const/Value’ |
string |
Pattern of model path for signal manipulation |
||
Tx-Switch path |
‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s/const_switch/Value’ |
string |
Pattern of model path to the switch for signal manipulation |
||
CRC-Tx path |
‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_const/Value’ |
string |
Pattern of model path for manipulation of a CRC signal |
||
CRC-Tx-switch path |
‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_switch/Value’ |
string |
Pattern of model path for enabling and disabling manipulation of a CRC signal |
||
ALIVE-Tx path |
‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_const/Value’ |
string |
Pattern of model path for manipulation of an ALIVE signal |
||
ALIVE-Tx-switch path |
‘%(node)s/kommunikation/%(bus)s/%(frame)s/%(signal)s_valid/const_switch/Value’ |
string |
Pattern of model path for enabling and disabling manipulation of an ALIVE signal |
||
Tx frame enable path |
‘%(node)s/kommunikation/%(bus)s/%(frame)s/enable/const_const/Value’ |
string |
Pattern of model path for enabling and disabling a frame |
||
Ignore missing *-Tx switch path |
☐ |
bool |
If the *-Tx switch path is missing in the model, do not generate an error and restore the value of the *-Tx path to reset. |
||
Restore behaviour |
‘DEFAULT’ |
[‘DEFAULT’, ‘SWITCH_MODEL’] |
string |
If this property is set to DEFAULT, upon restoring a bus signal, both switch and const value are reset to their initial values. The setting SWITCH_MODEL however causes the switch to always be reset to “use the calculated value”. The const value is not changed. |