dSPACE: RTMaps¶
Bisheriger/interner Bezeichner: RTMaps
Herstellerinformationen
Hersteller |
Webseite |
Produktname |
Version |
|---|---|---|---|
Intempora (a dSpace Company) |
RTMaps |
4.9 |
Kategorien
MDL 🛈 |
APL 🛈 |
BAN 🛈 |
BMA 🛈 |
SVC 🛈 |
DGN 🛈 |
FIU 🛈 |
EES 🛈 |
FCT 🛈 |
DBG 🛈 |
IMG 🛈 |
AUDIO 🛈 |
ENVSIM 🛈 |
ENVCOM 🛈 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Plattform
Betriebssystem |
Unterstützung |
|---|---|
Windows |
|
Linux |
✓ |
Besonderheiten¶
RTMaps von Intempora ist eine komponentenbasierte Software-Entwicklungs- und Laufzeitumgebung, mit der Anwender Daten von unterschiedlichen Sensoren und Fahrzeugbussen erfassen, zeitstempeln, synchronisieren und wiedergeben können.
Diese Toolanbindung ermöglicht das Abspielen von RTMaps-Diagrammen (Replay) sowie das Bearbeiten von Komponenten-Eigenschaften.
Laden und Abspielen eines Diagramms¶
Ein Diagramm (.rtd-Datei) lässt sich mit dem Tooljob LoadDiagram laden. Dazu muss der Pfad zum Diagramm angegeben werden. Das Diagramm muss sich auf dem Toolhost befinden.
Das Abspielen des Diagramms (Replay) erfolgt über den Tooljob StartDiagramReplay. Die gewünschte Abspieldauer kann über einen wait-Testschritt eingestellt werden. Das Stoppen des Replays ist mit dem Tooljob StopDiagramReplay möglich.
Lesen und Schreiben von Eigenschaften¶
Ein RTMaps-Diagramm besteht aus verschiedenen Komponenten die unterschiedliche Eigenschaften besitzen.
Info
Eigenschaften von Komponenten in RTMaps können intern einen anderen Namen (propertyID) haben als in RTMaps Studio angezeigt wird. Es ist ratsam, sich nach der jeweiligen Dokumentation zu richten. Die entsprechende propertyID lässt sich außerdem über die Konsolen-Ausgabe in RTMaps Studio ausfindig machen. Dazu muss die Eigenschaft kurzfristig geändert werden. Durch die Änderung entsteht eine Konsolen-Nachricht, die die propertyID enthält. Alternativ lässt sich die propertyID ebenfalls der Diagamm-Datei entnehmen, wenn sie mit einem Text-Editor geöffnet wird.
Die Eigenschaften können mit dem Tooljob ReadProperty gelesen werden. Neben dem Namen der Komponente (componentID) und der Eigenschaft (propertyID) ist dabei der Datentyp der Eigenschaft (propertyType) anzugeben. Dieser lässt sich herausfinden, indem das Diagramm in einem Text-Editor geöffnet wird. Der Wert des Typs, der in der Diagramm-Datei zur componentID und propertyID angegeben ist, korrespondiert wie folgt mit dem anzugebenden Datentyp (propertyType):
Type=“0“ : ‚bool‘
Type=“1“ : ‚int‘
Type=“2“ : ‚float‘
Type=“3“ : ‚str‘
Type=“4“ : ‚enum‘
Das Ändern von Eigenschaften ist mit dem Tooljob WriteProperty möglich. Das Ändern einer enum-Eigenschaft erfolgt durch die Eingabe des Indexes der zu wählenden Option (Indizes starten bei 0) oder des Namens der Option.
Die Änderungen sind nicht persistent.
LogMonitor¶
Um Logs aus RTMaps zu empfangen und zu verarbeiten, können die Tooljobs StartLogMonitor und StopLogMonitor verwendet werden.
Im Folgenden wird anhand von zwei Besipiel-Packages erklärt, wie man diese Tooljobs verwenden kann, um Logs während einer Diagramm-Wiedergabe auszulesen und auf ihren Inhalt zu reagieren (siehe Screenshots). In diesem Fall sind zwei Packages nötig, da das Auswerten der Logs ein Package blockiert.
Das Haupt-Package startet die Diagramm-Wiedergabe für eine bestimmte Zeit. Um parallel dazu ein weiteres Package auszuführen, wurde eine parallele Referenz von dem Package checkLogs eingefügt. Dieses Package wertet die RTMaps Logs aus und bricht beim Auftreten des Stichworts „keyword123“ den Testfall vorzeitig ab. Die Kommunikation zwischen den Packages erfolgt über Inboxen bzw. Outboxen (siehe Nachrichtenaustausch zwischen parallelen Packages). Ein Bespiel dazu ist hier zu sehen: Teil 3: Kommunikation zwischen aufrufenden und aufgerufenem Package
Wenn das checkLogs-Package nicht vorzeitig den Testfall abbricht, wird es über eine Nachricht in seiner doExitInbox von dem Haupt-Package abgebrochen. Die Verbindung zwischen der doExitOutbox des Haupt-Package und der doExitInbox des checkLogs-Package erfolgt über den Parametrierungsdialog des checkLogs-Package.
Im checkLogs-Package wird die Inbox „logsInbox“ mittels dem Tooljob StartLogMonitor für die RTMaps Logs registriert. Mit dem React-On-Testschritt kann auf einkommende Nachrichten in den Inboxen (logsInbox bzw. doExitInbox) nach Belieben reagiert werden.
Haupt-Package: Startet und stoppt RTMaps-Diagramm.¶
checkLogs-Package: Wird parallel zum Haupt-Package ausgeführt, um RTMaps-Logs auszuwerten.¶
Parametrierungsdialog von checkLog.pkg: doExitOutbox (Haupt-Package) und doExitInbox (checkLogs-Package) werden verbunden.¶
Info
Die Standardgröße einer Inbox sind nur 50 Nachrichten. Dieser Wert lässt sich in den Variableneigenschaften der jeweiligen Inbox anpassen.
Eigenschaften 🛈¶
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
Allgemein |
|||||
RTMaps Bibliothek |
Allgemein |
‚/opt/rtmaps/lib/librtmaps.so‘ |
string |
Pfad zur librtmaps.so Datei, z.B. /opt/rtmaps/lib/librtmaps.so |
|
Timeout für Toolzugriffe ❲in Sek.❳ |
‚600‘ |
string |
Zeit nach der eine Anfrage an das Tool abgebrochen wird. |
Jobs 🛈¶
LoadDiagram¶
Lädt ein Diagramm in RTMaps.
Parametrierung
Parameter
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
diagramPath |
string |
Pfad zum Diagramm (rtd-Datei). |
ReadProperty¶
Liest den Wert einer Eigenschaft einer Komponente aus einem RTMaps-Diagramm.
Parametrierung
Parameter
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
componentID |
string |
Name der Komponente im RTMaps-Diagramm |
|||
propertyID |
string |
Name der Eigenschaft |
|||
propertyType |
[‚int‘, ‚bool‘, ‚float‘, ‚str‘, ‚enum‘] |
string |
Typ der Eigenschaft |
Rückgabewert
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
propertyValue |
object |
Wert der Eigenschaft |
StartDiagramReplay¶
Startet den Reply des Diagramms in RTMaps.
StartLogMonitor¶
Registriert eine Inbox, um die Logs von RTMaps zu erhalten.
Parametrierung
Parameter
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
inbox |
object |
Inbox für den Empfang von RTMaps Logs |
|||
logLevel |
‚INFO‘ |
[‚INFO‘, ‚WARNING‘, ‚ERROR‘] |
string |
Mindestloglevel |
StopDiagramReplay¶
Stoppt den Reply des Diagramms in RTMaps.
StopLogMonitor¶
Deregistriert jegliche Inboxen vom RTMaps Logstream.
WriteProperty¶
Schreibt einen Wert in eine Eigenschaft einer Komponente in einem RTMaps-Diagramm.
Parametrierung
Parameter
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
componentID |
string |
Name der Komponente im RTMaps-Diagramm |
|||
propertyID |
string |
Name der Eigenschaft |
|||
value |
object |
Wert |