Zum Hauptinhalt springen

Playback Modul "playback"

Beschreibung

DAS "playback" MODUL STELLT LEDIGLICH EIN TESTMODUL FÜR INTERNE ZWECKE DAR!

Es dient der zeitlich korrekten Produktion von innerhalb einer Playback-Datei spezifizierten Daten. Es verwendet hierbei die einheitliche API zur Kanalkonfiguration des smartCORE und kann von daher nicht nur für Tests von konsumierenden Modulen sondern auch für Tests des smartCORE selbst (z.B. Datenfilterung) eingesetzt werden.

Die Produktion erfolgt hier anhand kompletter Datenblöcke, welche auf Basis eines Mikrosekunden-genauen Gitters festgelegt werden.

Verwendete Schnittstellen & Protokolle

  • KEINE

JSON-Konfiguration

Im folgenden Abschnitt soll die gesamte JSON-Konfiguration des Moduls beschrieben und die einzelnen Parameter erläutert werden.

Hierbei ist die Konfiguration der innerhalb von "channels" spezifizierten Kanäle der Dokumentation zur einheitlichen Kanalkonfiguration zu entnehmen.

Beispielkonfiguration (typische Minimalkonfiguration)

    {
"module":"Playback",
"factory":"playback",
"config":{
"channels:[
{
"channelType": "timestamped",
"name": "Some Speed",
"physicalUnit": "km/h",
"dataType": "float",
"bufferSize": 10,
"cacheSize": 0,
"filter": [
{
"name": "datareduction",
"absTolerance": 0,
"timeoutMs": 10000
}
]
},
{
"channelType": "timestamped",
"name": "Some Revs",
"physicalUnit": "1/min",
"dataType": "float"
},
{
"channelType": "timestamped",
"name": "Some GPS Location",
"dataType": "gpslocation"
},

< More channel specifications >

]
}
}

Beispielkonfiguration (typische Maximalkonfiguration)

    {
"module":"Playback",
"factory":"playback",
"config":{
"gridUs": 5000,
"decimalSep": ".",
"structureSep": " ",
"fieldSep": ",",
"numCycles": 1,
"exitOnEnd": false,
"exitDelay": 0,
"timebase": "absolute",
"channels:[

< Channel specifications >

]
}
}

Aufbau einer Playback-Datei

Das Format einer Playback-Datei entspricht grundsätzlich dem einer CSV Datei, wobei (mit Ausnahme von '=') jedoch frei konfigurierbare Dezimal-, Struktur- sowie Feld-Separatoren möglich sind. Allerdings sind mehrere aufeinanderfolgende Separatoren zur Verbesserung des Erscheinungsbilds NICHT erlaubt.

Fehlt die Konfiguration sämtlicher Separatoren innerhalb der Konfigurationsdatei vollständig, so wird eine Autodetektion (bzgl. Kompatibilität mit aus Excel exportierten CSV Dateien, jeweils englischer und deutscher Lokalisierungen) durchgeführt.

Die Zeitangaben innerhalb der ersten Spalte dieser Datei sind als Sekunden (optional Sekundenbruchteile, getrennt durch den Dezimalseparator "decimalSep") zu verstehen. Sämtliche Trennzeichen müssen auf die richtige Art eingegeben bzw. "escaped" werden.

Beispiele von Playback-Dateien

Zeit [s];Geschwindigkeit;Drehzahl;GPS Position
0,7;60;1500
1,4;85;;60,123456 18,111222333 123,4
2,8;100;2200
Time [s],Speed,Revs,GPS Location
0.7,60,1500
1.4,85,,60.123456 18.111222333 123.4
2.8,100,2200

Globale Modulparameter

ParameternameErforderlichDatentypsinnvoller WertebereichDefaultBeschreibung
gridUsNeinINT1 -5000 (5 ms)Zeitlicher Gitterabstand bzgl. Aufteilung in zu produzierende Datenblöcke
decimalSepNeinSTRING".""."Dezimaltrennzeichen innerhalb von Fließkommazahlen (*)
structureSepNeinSTRING" "" "Trennzeichen, um mehrere Werte einer Struktur (z.B. GPS Location) zu setzen (*)
fieldSepNeinSTRING","","Trennzeichen zwischen mehreren gleichzeitig zu produzierenden Kanälen (*)
numCyclesNeinINT-1, 1 -1für mehrfache (bzw. bei -1 unendliche) Wiederholung der Playback-Datei
exitOnEndNeinBOOLfalse, truefalseHerunterfahren des smartCORE nach Abschluss aller Produktionszyklen
exitDelayNeinINT1 -0Verzögerung vor dem Herunterfahren des smartCORE
timebaseNeinSTRING"absolute", "relative""absolute"Zeitbasis der Zeitstempel produzierter Messdaten ("absolute" für reproduzierbare Ergebnisse)
channelsJAJSON Array of JSON Objectssiehe unten

(*) sind ALLE Parameter 'decimalSep', 'structureSep' und 'fieldSep' undefiniert, so erfolgt eine Auto-Detektion der Separatoren. Es ist außerdem NICHT möglich '=' als Separator zu verwenden.

Konfiguration eines Kanals (JSON Object innerhalb von "channels")

Dies hier stellt lediglich einen Auszug dar (siehe Dokumentation bzgl. einheitlicher Kanalkonfiguration für mehr Details).

ParameternameErforderlichDatentypsinnvoller WertebereichDefaultBeschreibung
nameJASTRINGName des Kanals
channelTypeJASTRING"timestamped", "singlevalue"Typ des Kanals
dataTypeJASTRINGsiehe untenDatentyp des Kanals
bufferSizeNeinINT1 -1024Puffergröße des angelegten Kanals
physicalUnitNeinSTRINGphysikalische Einheit

Unterstützte Kanaldatentypen 'dataType'

  • string (UTF-8 kodiert)
  • bytearray (HEX kodiert OHNE Präfix)
  • double
  • float
  • int64, int32, int16, int8
  • uint64, uint32, uint16, uint8
  • bool
  • gpslocation (drei float Werte durch Strukturtrennzeichen getrennt)

Modul-Informationen

InformationWert
AutorenoptiMEAS Measurement and Automation Systems GmbH
seit smartCORE2.3
ModultypProducer
AbhängigkeitenKEINE