Zum Hauptinhalt springen

UDP Empfängermodul "fmudp"

Beschreibung

Das 'fmudp' Modul stellt ein UDP Socket bereit. Es wird im Allgemeinen mit dem fmproducer Modul verwendet, welches die "rohen" UDP Paketdaten geeignet extrahiert und in Kanäle produziert. (Es ist jedoch prinzipiell auch möglich, z.B. ein "dbc" Receiver Modul zu verwenden, d.h. die Kanäle als CAN-Bus DBC File zu spezifizieren, ...)

Verwendete Schnittstellen & Protokolle

  • Netzwerkkommunikation UDP

JSON-Konfiguration

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

Beispielkonfiguration (Konfiguration für ein einziges UDP Paketformat)

Falls ein einziges UDP Paketformat empfangen werden soll, ist es lediglich erforderlich, die Registrierung der Fast Message Receiver Funktionen bzw. Module identifizierungsunabhängig festzulegen. Dies erfolgt in der Regel für jedes Fast Message Receiver Modul unterschiedlich. Falls jedoch, wie im Beispiel, ein fmproducer Modul verwendet wird, kann diese Festlegung mittels Parameter "messageKey": 0 erfolgen).

    {
"module":"UDP",
"factory":"fmudp",
"config":{
"port":12345
}
},
{
"module":"Producer",
"factory":"fmproducer",
"config":{
"fmd":"UDP",
"channelPrefix":"UDP",
"channels":[
{
"name":"Some Channel Name",
"dataType":"int8",
"scale":1,
"offset":0,
"physicalUnit":"",
"messageKey":0,
"bitOffset":0,
"bitLength":8,
"imageType":"signed"
},

[...]

]
},

Beispielkonfiguration (Konfiguration für mehrere unterschiedliche UDP Paketformate)

Falls hingegen unterschiedlich formatierte UDP Pakete empfangen werden sollen, ist es erforderlich, dass diese einen gemeinsamen Bereich zur Übertragung eines Identifizierungsschlüssels (key) beinhalten. Dieser Bereich ist im fmudp Modul zu konfigurieren. Zudem müssen sämtliche Receiver Funktionen/Module (evtl. kanalbezogen) mit entsprechenden Werten des Identifizierungsschlüssels (im folgenden Beispiel unter jeweils messageKey festgelegt) konfiguriert werden.

    {
"module":"UDP",
"factory":"fmudp",
"config":{
"port":12345,
"keyBitOffset":0,
"keyBitLength":32,
"keyByteOrder":"bigendian"
}
},
{
"module":"Producer",
"factory":"fmproducer",
"config":{
"fmd":"UDP",
"channelPrefix":"UDP",
"channels":[
{
"name":"Some Channel from Message Format 1 (42) Name",
"dataType":"int8",
"scale":1,
"offset":0,
"physicalUnit":"",
"messageKey":42,
"bitOffset":32,
"bitLength":8,
"imageType":"signed"
},
{
"name":"Some Channel from Message Format 2 (43) Name",
"dataType":"double",
"scale":1,
"offset":0,
"physicalUnit":"",
"messageKey":43,
"bitOffset":32,
"bitLength":64,
"imageType":"float"
},

[...]

]
},

Globale Modulparameter

ParameternameErforderlichDatentypsinnvoller WertebereichDefault-WertBeschreibung
fmdNeinSTRINGName der Modulinstanz (im Konfigurationsabschnitt unter module spezifiziert)Name des bereitgestellten Fast Message Dispatchers zwecks Anbindung eines Fast Message Receivers (wie z.B. eines fmproducer Moduls)
priorityNeinINT20 - 8080Priorität des Threads der Abfrageschleife
portJAINT160 - 65535UDP Port bzgl. des Paketempfangs
keyBitOffsetNeinINTinnerhalb der Länge des UDP Pakets0Offset des Identifizierungsschlüssels falls unterschiedliche UDP Pakete unterschiedlich interpretiert werden sollen
keyBitLengthNeinINTso, dass keyBitOffset + keyBitLength innerhalb des UDP Pakets liegt0Länge des Identifizierungsschlüssels, falls unterschiedliche UDP Pakete unterschiedlich interpretiert werden sollen
keyByteOrderNeinSTRING"bigendian", "littleendian""bigendian"Byteanordnung des Identifizierungsschlüssels

Modul-Informationen

InformationWert
AutorenoptiMEAS Measurement and Automation Systems GmbH
seit smartCORE0.103
ModultypProducer (Dispatcher)
AbhängigkeitenFast Message Receiver