OSF Writer
Beschreibung
Das "osfwriter" Modul konsumiert Kanaldaten und schreibt diese Daten in OSF Streaming Format V4 Dateien.
Verwendete Schnittstellen & Protokolle
- OSF 4 Dateiformat
JSON-Konfiguration
Im folgenden Abschnitt soll die gesamte JSON-Konfiguration des Moduls beschrieben und die einzelnen Parameter erläutert werden.
Beispielkonfiguration (minimal)
Im Folgenden sei eine OSF Writer Beispielkonfiguration dargestellt:
{
"module":"OSFWriter",
"factory":"osfwriter",
"config":{
}
}
Beispielkonfiguration (maximal)
Im Folgenden sei eine OSF Writer Beispielkonfiguration dargestellt:
{
"module":"OSFWriter",
"factory":"osfwriter",
"config":{
"filename":"/sde/<tag>/<date>/<date>_<time>.osf",
"tag":"preview",
"pollingInterval":1000,
"samplesPerConsume":1024,
"newfile":"time",
"time":900000,
"volume":10000000,
"channels":[
"mvb*",
"can*",
"gps*"
],
"ignore":[
"Some.Ignored.Namespace*",
"someIgnoredChannel"
],
"refreshIntervalMs":60000
}
}
Globale Modulparameter
| Parametername | Erforderlich | Datentyp | sinnvoller Wertebereich | Default | Beschreibung |
|---|---|---|---|---|---|
| filename | Nein | STRING | siehe unten | "/sde/"TAG"/"DATE"/"DATE"_"TIME".osf" | Dateiname bzw. Struktur des Dateinamens (siehe unten) |
| tag | Nein | STRING | "preview" | Tag-Bezeichnung | |
| pollingInterval | Nein | INT | 1 - | 1000 | Polling Interval [ms] |
| samplesPerConsume | Nein | INT 1 - | 1024 | max. Anzahl konsumierter Samples pro Polling Interval | |
| newfile | Nein | STRING | "time", "volume" | "time" | Grund für Aufteilung der Aufzeichnung in mehrere Dateien |
| time | Nein | INT | 1 - | 900000 (15 min) | ungefähres maximales Zeitinterval [ms], bevor neue OSF Datei erstellt wird |
| volume | Nein | INT | 1 - | 10 MB | ungefähre Dateigröße [Bytes], bevor neue OSF Datei erstellt wird |
| maximumAncientRangeMs | Nein | INT | 0 - | 15000 (15 s) | maximal zulässiger Bereich vor Dateibeginn, in dem sich vertrauenswürdige Samples befinden. Liegen diese Samples davor, werden sie an den Beginn dieses Bereichs verschoben. Falls auf -1 gesetzt, so KEINE Verschiebung |
| channels | Nein | JSON Array | [ "*" ] | JSON Array mit Kanalnamen als String | |
| ignore | Nein | JSON Array | [ ] | JSON Array mit ignorierten Kanalnamen als String | |
| refreshIntervalMs | Nein | INT | 1 - | 60000 (60 s) | Erneutes Schreiben gleicher Werte nach Ablauf eines Intervalls, falls ihr zugehöriger vertrauenswürdiger Zeitstempel aktualisiert wurde |
Bei den spezifizierten Kanalnamen können reguläre Ausdrücke in der vereinfachten Schreibweise, d.h. '?' (ersetze ein einzelnes Zeichen) oder '*' (ersetze eine beliebig lange Zeichenkette) benutzt werden.
Spezifikation des Dateinamens 'filename'
Der Dateiname wird hierbei über eine Pfadangabe spezifiziert, z.B.
/sde/<tag>/<date>/<date>_<time>.osf
Mögliche Variablen sind:
<year>(z.B. 2022)<month>(z.B. 01)<day>(z.B. 01)<hour>(z.B. 01, 23)<minute>(z.B. 01)<second>(z.B. 01)<msecond>(z.B. 001)<date>:= "<year><month><day>"<time>:= "<hour><minute><second>"<tag>(siehe Parameter 'tag')
Modul-Informationen
| Information | Wert |
|---|---|
| Autoren | optiMEAS Measurement and Automation Systems GmbH |
| seit smartCORE | 0 |
| Modultyp | Fast Message Receiver, Producer |
| Abhängigkeiten | Fast Message Sendemodul (z.B. fmudp, canbus, smartmvb, ...) |