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
Parametername | Erforderlich | Datentyp | sinnvoller Wertebereich | Default-Wert | Beschreibung |
---|---|---|---|---|---|
fmd | Nein | STRING | Name 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) | |
priority | Nein | INT | 20 - 80 | 80 | Priorität des Threads der Abfrageschleife |
port | JA | INT16 | 0 - 65535 | UDP Port bzgl. des Paketempfangs | |
keyBitOffset | Nein | INT | innerhalb der Länge des UDP Pakets | 0 | Offset des Identifizierungsschlüssels falls unterschiedliche UDP Pakete unterschiedlich interpretiert werden sollen |
keyBitLength | Nein | INT | so, dass keyBitOffset + keyBitLength innerhalb des UDP Pakets liegt | 0 | Länge des Identifizierungsschlüssels, falls unterschiedliche UDP Pakete unterschiedlich interpretiert werden sollen |
keyByteOrder | Nein | STRING | "bigendian", "littleendian" | "bigendian" | Byteanordnung des Identifizierungsschlüssels |
Modul-Informationen
Information | Wert |
---|---|
Autoren | optiMEAS Measurement and Automation Systems GmbH |
seit smartCORE | 0.103 |
Modultyp | Producer (Dispatcher) |
Abhängigkeiten | Fast Message Receiver |