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.