OSF UDP Streamer
Beschreibung
Das "osfudpstreamer" Modul konsumiert Kanaldaten und verschickt diese in Form von UDP Paketen über das Netzwerk.
Verwendete Schnittstellen & Protokolle
- OSF UDP Stream Format
- 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 UDP Streamer Beispielkonfiguration dargestellt:
{
"module":"OSFUDPStreamer",
"factory":"osfudpstreamer",
"config":{
"port":12345,
"time":300000,
"streamLastSampleOnly":true
}
}
Beispielkonfiguration (maximal)
Im Folgenden sei eine OSF UDP Streamer Beispielkonfiguration dargestellt:
{
"module":"OSFUDPStreamer",
"factory":"osfudpstreamer",
"config":{
"port":12345,
"maxPacketSize":64000,
"pollingInterval":1000,
"samplesPerConsume":1024,
"senderAddress":"192.168.0.1",
"receiverAddresses":[
"192.168.0.2",
"192.168.0.3"
],
"channels":[
"SomeChannel",
"SomeChannelPrefix*"
],
"time":300000,
"streamLastSampleOnly":true,
"refreshIntervalMs":60000
}
}
Globale Modulparameter
Parametername | Erforderlich | Datentyp | sinnvoller Wertebereich | Default | Beschreibung |
---|---|---|---|---|---|
port | JA | UINT16 | N/A | UDP Port für OSF Übertragung | |
maxPacketSize | Nein | UINT16 | 64000 | Maximale Größe resultierender UDP Pakete | |
pollingInterval | Nein | INT | 1 - | 1000 | Polling Interval [ms] |
samplesPerConsume | Nein | INT | 1 - | 1024 | max. Anzahl konsumierter Samples pro Polling Interval |
senderAddress | Nein | STRING | ALLE Interfaces | dem zum Senden verwendeten Interface zugewiesene IP Adresse | |
receiverAddresses | Nein | ARRAY [ STRING ] | Broadcast | Liste mit Empfängeradressen | |
channels | Nein | ARRAY [ STRING ] | [ "*" ] | JSON Array der übertragenen Kanalnamen als String | |
time | Nein | INT | 1 - | 300000 (5 min) | ungefähres maximales Zeitinterval [ms], bevor OSF Header erneut übertragen wird |
streamLastSampleOnly | Nein | BOOL | true, false | true | Übertrage lediglich letztes konsumiertes Sample (z.B. für Live-Ansicht) |
refreshIntervalMs | Nein | INT | 1 - | 60000 (60 s) | Erneuter Versand 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.
Beschreibung OSF Stream
Wir unterscheiden hier zwischen folgenden Arten von UDP Paketen
- UDP OSF Header-Länge (im folgenden "OSF40")
- UDP OSF Header-Abschnitt (im folgenden "OSF41")
- UDP OSF Daten-Abschnitt (im folgenden "OSF42")
Im Rahmen der periodischen Übertragung des OSF Headers werden zunächst ein einziges OSF40 Paket gefolgt von zumeist mehreren OSF41 Paketen übertragen. Im Rahmen der Übetragung von OSF Datenblöcken werden OSF42 Pakete übertragen.
Bemerkungen:
- Alle Multi-Byte-Werte sind im OSF Stream Format Big Endian kodiert.
- Innerhalb des enthaltenen OSF Formats werden Multi-Byte-Werte hingegen - wie üblich - Little Endian kodiert.
Die Zusammengehörigkeit/Identifizierung von Header- und Datenpaketen erfolgt anhand des Zeitstempels zum Zeitpunkt des Messbetriebs.
Die einzelnen Header-Abschnitte sind aufsteigend von 0, ..., (Anzahl der Pakete)-1 durchnummeriert, so dass eine vollständige Übertragung sichergestellt werden kann.
Beschreibung OSF Stream UDP Pakete
Diese UDP Pakete sind definiert, wie folgt:
UDP OSF Header-Länge (OSF40)
OSF 4 Kennung | Pakettyp | Identifizierung/Zeitstempel | Datenlänge | Daten |
---|---|---|---|---|
4 Byte | 1 Byte | 8 Byte | 16 Byte unsigned | DATA_SZ Bytes unsigned |
"OSF4" | "0" | Start des Messbetriebs | DATA_SZ | Anzahl folgender OSF41 Pakete |
UDP OSF Header-Abschnitt (OSF41)
OSF 4 Kennung | Pakettyp | Identifizierung/Zeitstempel | Datenlänge | Daten | Daten |
---|---|---|---|---|---|
4 Byte | 1 Byte | 8 Byte | 16 Byte unsigned | 4 Bytes unsigned | (DATA_SZ - 4) Bytes |
"OSF4" | "1" | Start des Messbetriebs | DATA_SZ | Index OSF Header Abschnitt | Inhalt OSF Header Abschnitt |
UDP OSF Daten-Abschnitt (OSF42)
OSF 4 Kennung | Pakettyp | Identifizierung/Zeitstempel | Datenlänge | Daten |
---|---|---|---|---|
4 Byte | 1 Byte | 8 Byte | 16 Byte unsigned | DATA_SZ Bytes |
"OSF4" | "2" | Start des Messbetriebs | DATA_SZ | Inhalt OSF Daten Abschnitt |
Modul-Informationen
Information | Wert |
---|---|
Autoren | optiMEAS Measurement and Automation Systems GmbH |
seit smartCORE | 0.88 |
Modultyp | Consumer |
Abhängigkeiten | KEINE |