FEP¶
Legacy/internal identifier: FEP
Warning
This tool is deprecated and will be removed in an upcoming version!
Vendor information
Vendor |
Web page |
Product name |
Version |
|---|---|---|---|
Functional Engineering Platform |
2.2.0 - 2.7.4 |
Categories
MDL 🛈 |
APL 🛈 |
BAN 🛈 |
BMA 🛈 |
SVC 🛈 |
DGN 🛈 |
FIU 🛈 |
EES 🛈 |
FCT 🛈 |
DBG 🛈 |
IMG 🛈 |
AUDIO 🛈 |
ENVSIM 🛈 |
ENVCOM 🛈 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
✓ |
Platform
Operating system |
Support |
|---|---|
Windows |
✓ |
Linux |
✓ |
Ports¶
Specifics¶
This tool connection allows to display, read and write all properties of all participants in a FEP network, to read and write signals on the data bus at runtime and to record any signal with a subsequent trace analysis. The participants of the network can be launched and terminated on distributed systems running on Windows and Linux. Furthermore, ecu.test can be used to control the life cycle of the simulation network via tool jobs and to monitor the state of the participants.
Info
To use this tool connection, a correctly created metamodel, an existing FEP SDK as well as a Timing Master in the FEP network is required. In Addition, the FEP system must be controlled via the tool connection. A simultaneous control of the FEP system via an external tool or another connection is not supported.
ecu.test requires the FEP2 SDK parts FEP SDK Participant in version 2.7.3 and FEP SDK System in version 2.7.4. The FEP system to which ecu.test connects can use a different FEP SDK version. Supported are all FEP2 versions from 2.2.0 on.
The paths to the FEP SDK parts FEP SDK Participant and FEP SDK System must be set in the TBC.
All participants configured in the meta model, their properties and all registered signals are shown in tab Model access once the test configuration is activated. However, there is one exception. Signals without type specification, so-called raw signals, cannot be accessed within ecu.test. Therefore they are not shown.
Recordings can be made explicitly by using Start trace and Start trace, or automatically via auto start/stop in the Signal recording tab.
Info
When writing signals in FEP, the following should be considered:
All signals listed in the model tree of ecu.test in the first level under the node Signals are FEP signals. If one of these signals can be expanded further, it is a complex signal with one or more sub-signals, also called elements. If one of these elements is written in ecu.test, the complete, complex signal is sent with all other elements retaining their current value. This is either the default value if the signal has never been sent on the FEP bus before, or the value of the last signal sent.
If several elements are changed by sequential write steps, a complete, complex signal is sent for each write step.
If several elements are to be changed at the same time, and the complex signal is therefore to be sent only once, the port job SendSignalSample must be used.
Currently no cyclic transmission and no muting of FEP signals is supported. If there is a participant in the FEP system that sends the same signal cyclically, the signal sent by ecu.test is overwritten.
Automatic splitting/demultiplexing of signals of the types “tFEP_VU_ObjectState” bzw. “tFEP_VU_VehicleAppearance” defined by the FEP VU interface can be enabled using the TBC option “Enables signal demultiplexing for FEP-VU signals”. While activated, every signal of the stated signal types is replaced by virtual signals with indexed suffices. Each of the demultiplexed signals contain samples of the original signal with “ui32Id” or “ui32ObjectId” being equal to the respective index only. The number of created virtual signals per signal to multiplex can be configured with the TBC option “Number of demultiplexing signals”.
To monitor the states of the participants, the tool jobs GetParticipantState and GetAggregatedState can be used. With GetParticipantState, one can get the individual state of the participants specified in the meta model. Using GetAggregatedState an aggregated overall state of the states of all participants specified in the meta model can be queried. Analogous to the tool jobs mentioned above, a virtual FEP signal ParticipantStates is available which shows the current status of the FEP participants and the aggregated overall state (“_Aggregated”).
Info
When using the ParticipantStates signal, please note the following:
The ParticipantStates signal is sent periodically every second. This signal contains the cached states of the participants at the time the signal was sent. As a result of the asynchronous updating of the cached participant states, temporary differences between the signal values and the true participant states may occur.
Timing modes¶
On ecu.test side, the tool connection supports real-time and continuous simulation time mode (see Temporal behaviour). The controlled FEP system can run in one of the FEP 2 timing modes (AFAP, SYSTEM_TIME, EXTERNAL_CLOCK) or in the FEP 3 timing modes Continuous Timing or Discrete Timing with Distributed Scheduling.
By default, this tool connetion activates the continuous simulation time mode. This mode ensures in all FEP timing modes that test case time and FEP time run synchronously. The FEP timing mode used by the system is automatically detected.
In continuous simulation time mode, the resolution with which the FEP time is fed into ecu.test can be adjusted. The adjustment is done via the TBC property Time grid. The time grid determines the accuracy of test steps with time specifications. For example, a wait test step of 250ms would wait 300ms with a 100ms time grid. For high accuracy, the smallest possible time grid is desirable. However, small time grids increase the rate of timestamps to be processed by ecu.test, which is limited.
Info
In the FEP 2 timing modes SYSTEM_TIME with fSpeedFactor = 1.0 or EXTERNAL_CLOCK it is recommended to align the time grid to the minimum cycle time used by the StepListeners in the FEP system.
For FEP 3 timing mode Discrete Timing it is recommended to align to the Timing Master’s CycleTime_ms setting.
In other constellations, but also in general, it must be ensured that the timestamp rate to be processed by ecu.test does not exceed 100 timestamps per second. The time stamp rate is the quotient of the system’s fSpeedFactor (or TimeFactor_float for FEP 3 timing) divided by the time grid setting. For example, a time factor of 2.0 (double real time) and a time grid of 50ms (0.05s) result in a rate of 40 timestamps per second.
In real-time mode, the test case time and the FEP time are not synchronized. The real-time mode is therefore only useful for the FEP 2 timing modes SYSTEM_TIME with fSpeedFactor = 1.0 or EXTERNAL_CLOCK and for the FEP 3 timing modes Discrete Timing with TimeFactor_float = 1.0 or Continuous Timing, because otherwise the times in the test case and in the FEP system would diverge.
Properties 🛈¶
Name |
Available if |
Default value |
Valid values |
Type |
Description |
|---|---|---|---|---|---|
Common |
|||||
FEP SDK Participant directory |
Common |
string |
Path to the FEP SDK Participant directory (absolute or relative). Path can be relative to the tool host base path or to the workspace, if no tool host base path is set. |
||
FEP SDK System directory |
Common |
string |
Path to the FEP SDK System directory (absolute or relative). Path can be relative to the tool host base path or to the workspace, if no tool host base path is set. |
||
Launch FEP system |
Common |
☑ |
bool |
Starts the FEP system with the help of the FEP Launcher. If deactivated, the FEP system must already be running. This option is only available when using MetaModel_1. |
|
Launch configuration file |
Common » Launch FEP system |
string |
Path to the configuration file of the meta model to be used for launching (absolute or relative to the working directory, file extension is optional). |
||
Timeout |
Common » Launch FEP system |
60 |
int |
The maximum time in seconds to wait until a single participant has started up and reached the IDLE state. |
|
Accept launched participants |
Common » Launch FEP system |
☐ |
bool |
Accepts already launched participants when starting the FEP system. |
|
Enable Notification Log Strategy |
Common |
☐ |
bool |
By default, participants only transmit critical incidents on the FEP bus. In order to log all incidents, the “Notification Log Strategy” must be activated for the participants. For this purpose, certain properties are set per participant. For more information, see the FEP SDK Help under “Notification Log Strategy”. |
|
Enables signal demultiplexing for FEP-VU signals |
Common |
☐ |
bool |
Enables splitting (demultiplexing) of signals with the signal types tFEP_VU_ObjectState or tFEP_VU_VehicleAppearance. The splitting is carried out according to the values in the signal elements ui32Id or ui32ObjectId. |
|
Number of demultiplexing signals |
Common » Enables signal demultiplexing for FEP-VU signals |
10 |
int |
Number of demultiplexed signals, which should be generated per multiplexed signal, Default: 10 |
|
Time grid |
Common |
100 |
int |
Resolution in ms, with which the FEP time is provided to ecu.test when FEP is used as the time source. Caution: The time grid affects the accuracy of time-based test steps and the performance of ecu.test (see user help). |
|
Metamodel |
|||||
Version |
Metamodel |
MetaModel_1 |
[MetaModel_1, MetaModel_2] |
string |
Version of the metamodel format |
Working directory |
Metamodel » Version: ‘MetaModel_1’ |
string |
Path to the working directory of the FEP system. Path can be absolute or relative to the tool host base path. |
||
System identifier |
Metamodel » Version: ‘MetaModel_1’ |
string |
Unique identifier to reference the FEP system. |
||
System description file |
Metamodel » Version: ‘MetaModel_1’ |
string |
Path to the system description file of the meta model (absolute or relative to the working directory, file extension is optional). |
||
Element description files |
Metamodel » Version: ‘MetaModel_1’ |
text |
List of paths to the element description files of the metamodel of all elements used in the system description file (absolute or relative to the working directory, file extension is optional). |
||
Property description files ❲optional❳ |
Metamodel » Version: ‘MetaModel_1’ |
text |
List of paths to the property description files (absolute or relative to the working directory, file extension is optional). |
||
Use local copy of the signal description files |
Metamodel » Version: ‘MetaModel_1’ |
☐ |
bool |
ecu.test needs the signal description files of all participants to show all signals in the data viewer. If at least one participant runs remotely, the signal description linked in the element description may not exist locally. In this case the signal descriptions of ALL participants must be provided in a local copy. |
|
Signal description files |
Metamodel » Version: ‘MetaModel_1’ » Use local copy of the signal description files |
text |
List of paths to the signal description files of all elements used in the system description file (absolute or relative to the working directory, file extension is optional). |
||
System description file |
Metamodel » Version: ‘MetaModel_2’ |
string |
Path to the system description file of the metamodel (file extension is optional). Path can be absolute or relative to the tool host base path. |
||
Element type description files |
Metamodel » Version: ‘MetaModel_2’ |
text |
List of the paths to the description files of the element types used in the system description file (file extension is optional). Paths can be absolute or relative to the tool host base path. |
||
Timeout for tool call ❲in sec.❳ |
‘600’ |
string |
Timeout after which a tool call is aborted. |
Jobs 🛈¶
GetAggregatedState¶
Returns the aggregated state of all participants.
Parameterization
Parameter
Name |
Available if |
Default value |
Valid values |
Type |
Description |
|---|---|---|---|---|---|
AsText |
True |
[False, True] |
bool |
Return status as text representation instead of numerical code. Possible values are: STARTUP (0), IDLE (1), INITIALIZING (2), READY (3), RUNNING (4), ERROR (5), SHUTDOWN (6), UNKNOWN (7) |
|
Refresh |
False |
[False, True] |
bool |
Updates the cached state before returning by requesting the current state from all participants. The state may be more up-to-date but the query takes longer. |
Return value
Name |
Available if |
Default value |
Valid values |
Type |
Description |
|---|---|---|---|---|---|
result |
int |
GetParticipantState¶
Returns the state of a participant.
Parameterization
Parameter
Name |
Available if |
Default value |
Valid values |
Type |
Description |
|---|---|---|---|---|---|
AsText |
True |
[False, True] |
bool |
Return status as text representation instead of numerical code. Possible values are: STARTUP (0), IDLE (1), INITIALIZING (2), READY (3), RUNNING (4), ERROR (5), SHUTDOWN (6), UNKNOWN (7) |
|
ParticipantName |
string |
Name of the participant. |
|||
Refresh |
False |
[False, True] |
bool |
Updates the cached state before returning by requesting the current state from the participant. The state may be more up-to-date but the query takes longer. |
Return value
Name |
Available if |
Default value |
Valid values |
Type |
Description |
|---|---|---|---|---|---|
result |
int |
Start¶
Transfers the FEP system from IDLE state to RUNNING state.
Parameterization
Parameter
Name |
Available if |
Default value |
Valid values |
Type |
Description |
|---|---|---|---|---|---|
Timeout |
10 |
int |
Time in seconds which must not be exceeded per FEP participant when starting. |
Stop¶
Transfers the FEP system from RUNNING state to IDLE state, from where it can be restarted or shut down.
Parameterization
Parameter
Name |
Available if |
Default value |
Valid values |
Type |
Description |
|---|---|---|---|---|---|
Timeout |
10 |
int |
Time in seconds which must not be exceeded per FEP participant when stopping. |