Zugriff auf Signalwerte

In der „Read Configuration“ oder der „Write Configuration“ eines Widgets kann eingestellt werden, wie auf Werte in ecu.test zugegriffen werden soll. Welche Zugriffstypen verfügbar sind, ist vom Widget-Typ abhängig.

Globales Mapping

ecu.test lab ermöglicht den Zugriff auf Variablen eines angebundenen Tools über das in ecu.test aktive globale Mapping.

Sobald eine Variable als globales Mapping verfügbar ist, kann sie in Widgets für Lese- oder Schreibzugriffe unter Global mapping konfiguriert werden.

../_images/widget_configuration_read_mapping.png

Widgets, für die in der „Read Configuration“ ein lesender Zugriff auf ein globales Mapping eingestellt wurde, werden im Live-Modus aktualisiert.

Für Widgets, in deren „Write Configuration“ ein globales Mapping für den Schreibzugriff eingestellt wurde, wird der vom Anwender gesetzte Wert auf das Mapping geschrieben.

Info

Bis auf Weiteres werden nur skalare Werte, Bilder und Jobs für den globalen Mappingzugriff unterstützt.

Signal / Parameter

Diese Option ermöglicht den direkten Zugriff auf Modell-, Steuergeräte- oder Bussignale innerhalb der aktiven Konfiguration. Die Funktion heißt Signalzugriff. Sie muss in den Einstellungen für ecu.test lab explizit aktiviert werden.

Nach der Auswahl eines Systems können Sie dessen Signale (Modellvariablen, Messgrößen, Kalibrierparameter oder Bussignale) durchsuchen und eines davon auswählen.

../_images/widget_configuration_read_model_signal.png

Widgets, für die in der „Read Configuration“ ein lesender Zugriff auf ein Signal eingestellt wurde, werden im Live-Modus aktualisiert.

Für Widgets, in deren „Write Configuration“ ein Signal für den Schreibzugriff eingestellt wurde, wird der vom Anwender gesetzte Wert auf das Signal geschrieben.

Package

Wird in der „Read Configuration“ bzw. „Write Configuration“ der Typ Package ausgewählt, kann im Folgenden ein Package inkl. seiner Parameter vorgegeben werden, dass bei einem Klick auf die Ausführungsschaltfläche des Widgets ausgeführt wird.

Für Schreibzugriffe kann, abhängig vom Widget-Typ, einer der Parameter als „dynamic“ gekennzeichnet werden, z.B. für das Number-Widget. Der im Widget vorgegebene Wert wird dann bei der Ausführung des Packages für diesen Parameter verwendet.

../_images/widget_configuration_write_package.png

Für Lesezugriffe muss der Name einer Packagevariablen vom Typ „Rückgabewert“ angegeben werden. Nach der Packageausführung wird der Wert dieser Variablen im Widget angezeigt. Wenn der Live-Modus aktiviert ist, wird das konfigurierte Package entsprechend der „acquisition rate“ zyklisch ausgeführt, um das Widget zu aktualisieren.

../_images/widget_configuration_read_package.png

Die Packageausführung in ecu.test lab verwendet eine minimalistische, aber schnellere Ausführungs-Engine. Dadurch können Packages auch im Live-Modus verwendet werden. Dies bedeutet auch, dass nicht alle Testschritte unterstützt werden. Wenn ein Package einen nicht untersützten Testschritt enthält, wird dies in ecu.test lab als Warnung angezeigt.

Offiziell nicht unterstützt in dieser Version:

Zeitverhalten

Wait Testschritte in Packages, welche aus ecu.test lab heraus ausgeführt werden, führen bei aktiver schrittweiser Ausführung in Simulationszeit nicht dazu, dass die Simulationszeit voranschreitet.

Expression

ecu.test lab kann Expressions von ecu.test auswerten lassen. Diese sind mit den Python-Ausdrücken vergleichbar, die auch in Berechnungsschritten in ecu.test enthalten sein können. In ecu.test lab kann nur auf die Namespaces der internen API (api.) und UserPyModules (user.) zugegriffen werden.

Wenn Expression in der „Read Configuration“ oder „Write Configuration“ ausgewählt wurde, kann eine Expression im darunter liegenden Textfeld eingegeben werden. Falls die Expression für Schreibzugriffe parametriert ausgeführt werden soll, kann optional der Name des Parameters der Funktion angegeben werden. Der eingetragene Wert des Widgets wird dann als Schlüsselwort-Argument an die Funktion übergeben.

../_images/configuration_of_expressions.png

Das obige Beispiel mit „test“ als Eingabe für das Widget würde zu folgendem Aufruf führen:

user.MyModule.SetValue(some_value="test")