Zum Hauptinhalt springen

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

ParameternameErforderlichDatentypsinnvoller WertebereichDefaultBeschreibung
portJAUINT16N/AUDP Port für OSF Übertragung
maxPacketSizeNeinUINT16<=64000<= 6400064000Maximale Größe resultierender UDP Pakete
pollingIntervalNeinINT1 -1000Polling Interval [ms]
samplesPerConsumeNeinINT1 -1024max. Anzahl konsumierter Samples pro Polling Interval
senderAddressNeinSTRINGALLE Interfacesdem zum Senden verwendeten Interface zugewiesene IP Adresse
receiverAddressesNeinARRAY [ STRING ]BroadcastListe mit Empfängeradressen
channelsNeinARRAY [ STRING ][ "*" ]JSON Array der übertragenen Kanalnamen als String
timeNeinINT1 -300000 (5 min)ungefähres maximales Zeitinterval [ms], bevor OSF Header erneut übertragen wird
streamLastSampleOnlyNeinBOOLtrue, falsetrueÜbertrage lediglich letztes konsumiertes Sample (z.B. für Live-Ansicht)
refreshIntervalMsNeinINT1 -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 KennungPakettypIdentifizierung/ZeitstempelDatenlängeDaten
4 Byte1 Byte8 Byte16 Byte unsignedDATA_SZ Bytes unsigned
"OSF4""0"Start des MessbetriebsDATA_SZAnzahl folgender OSF41 Pakete
UDP OSF Header-Abschnitt (OSF41)
OSF 4 KennungPakettypIdentifizierung/ZeitstempelDatenlängeDatenDaten
4 Byte1 Byte8 Byte16 Byte unsigned4 Bytes unsigned(DATA_SZ - 4) Bytes
"OSF4""1"Start des MessbetriebsDATA_SZIndex OSF Header AbschnittInhalt OSF Header Abschnitt
UDP OSF Daten-Abschnitt (OSF42)
OSF 4 KennungPakettypIdentifizierung/ZeitstempelDatenlängeDaten
4 Byte1 Byte8 Byte16 Byte unsignedDATA_SZ Bytes
"OSF4""2"Start des MessbetriebsDATA_SZInhalt OSF Daten Abschnitt

Modul-Informationen

InformationWert
AutorenoptiMEAS Measurement and Automation Systems GmbH
seit smartCORE0.88
ModultypConsumer
AbhängigkeitenKEINE